@ClearColor(N) declares the framebuffer clear colour (a 0x00RRGGBB integer) so the engine owns the per-frame clear and present: at the top of the Render phase it clears the framebuffer to N, and after all Render handlers run it presents the frame — so a game's Render handler carries no Screen.clear / Screen.show boilerplate, and the colour is configured declaratively rather than written in the handler body. It is opt-in: a program with no @ClearColor is byte-for-byte identical (it clears and presents itself, or the light system owns the present). Place it on the program's Render handler (or any declaration — it is program-wide).
+@ClearColor(N) declares the framebuffer clear colour (a 0x00RRGGBB integer) so the engine owns the per-frame clear and present: at the top of the Render phase it clears the framebuffer to N, and after all Render handlers run it presents the frame — so a game's Render handler carries no Screen.clear / Screen.show boilerplate, and the colour is configured declaratively rather than written in the handler body. It is opt-in: a program with no @ClearColor is byte-for-byte identical (it clears and presents itself, or the light system owns the present). Place it on the program's Render handler (or any declaration — it is program-wide). The argument is any constant expression — a hex literal, a `Color.*` name, or a `const` from your palette.
```ludic
program ClearColorDemo {
diff --git a/docs/language/annotations/annot-ondespawn.md b/docs/language/annotations/annot-ondespawn.md
index 4ab01768..cd6244b6 100644
--- a/docs/language/annotations/annot-ondespawn.md
+++ b/docs/language/annotations/annot-ondespawn.md
@@ -19,7 +19,7 @@ program DespawnHook {
@OnDespawn(Enemy, reason: teardown_reason) handler DropLoot {
match teardown_reason {
- EndReason.Quit => {} # app closing — do not drop loot
+ EndReason.Quit => { } # app closing — do not drop loot
_ => { print(Loot.gold) } # died in-world — award the gold
}
}
diff --git a/docs/language/annotations/annot-sync.md b/docs/language/annotations/annot-sync.md
index e078a299..9e3a8027 100644
--- a/docs/language/annotations/annot-sync.md
+++ b/docs/language/annotations/annot-sync.md
@@ -14,7 +14,7 @@ These are the two declarative switches at the top of Ludic's networking: @
```ludic
program SyncedWorld {
@Sync property Position { column: int = 0, row: int = 0 } # every field replicable
- property Health { @Sync current: int = 0, maximum: int = 0 } # only current replicable
+ property Health { @Sync current: int = 0, maximum: int = 0 } # only current replicable
@Owned model Player { @Sync Position, @Sync Health } # participates -> column,row,current
model Scenery { Position } # not @Sync here -> never replicates
diff --git a/docs/language/builtins/fn-ui_build.md b/docs/language/builtins/fn-ui_build.md
index f7c0a51c..8f9dc526 100644
--- a/docs/language/builtins/fn-ui_build.md
+++ b/docs/language/builtins/fn-ui_build.md
@@ -24,19 +24,19 @@ program TitleMenu {
}
handler Boot phase Start {
- title_font = font_load("/System/Library/Fonts/Supplemental/Arial.ttf")
+ title_font = Font.load("/System/Library/Fonts/Supplemental/Arial.ttf")
ui_build()
- ui_open(UI_MainMenu)
+ Ui.open(UI_MainMenu)
}
handler Navigate phase Update {
- ui_tick(Input.key())
- if ui_clicked(UI_Quit) { quit() }
+ Ui.tick(Input.key())
+ if Ui.clicked(UI_Quit) { quit() }
}
handler DrawWorld phase Render {
Screen.clear(Color.MidnightBlue)
- ui_render()
+ Ui.render()
Screen.show()
}
}
diff --git a/docs/language/hash/hash-crc32.md b/docs/language/hash/hash-crc32.md
index 6cbe65b3..e99aba84 100644
--- a/docs/language/hash/hash-crc32.md
+++ b/docs/language/hash/hash-crc32.md
@@ -22,7 +22,7 @@ program Checksum {
let data = "save:level=3;coins=120"
let ck = Hash.crc32(data) # store this next to the save; recompute on load
print(ck)
- print(Hash.crc32(data) == ck) # 1 — unchanged data checks out
+ print(Hash.crc32(data) == ck) # 1 — unchanged data checks out
}
}
```
diff --git a/docs/language/light/light-clear_gel.md b/docs/language/light/light-clear_gel.md
index 8b613d4b..76d91b8d 100644
--- a/docs/language/light/light-clear_gel.md
+++ b/docs/language/light/light-clear_gel.md
@@ -21,9 +21,9 @@ program Demo {
Screen.clear(0)
Light.ambient(Color.rgb(24, 24, 32))
Light.gel(Color.rgb(40, 60, 160))
- Light.point(60, 60, 60, Color.rgb(255, 200, 120), 1.0) # gelled
+ Light.point(60, 60, 60, Color.rgb(255, 200, 120), 1.0) # gelled
Light.clear_gel()
- Light.point(150, 60, 60, Color.rgb(255, 240, 200), 1.0) # flat again
+ Light.point(150, 60, 60, Color.rgb(255, 240, 200), 1.0) # flat again
Screen.show()
}
}
diff --git a/docs/language/light/light-gel.md b/docs/language/light/light-gel.md
index d51de01c..aed0e18c 100644
--- a/docs/language/light/light-gel.md
+++ b/docs/language/light/light-gel.md
@@ -24,7 +24,7 @@ program Demo {
Screen.clear(0)
Light.ambient(Color.rgb(24, 24, 32))
Light.gel(Color.rgb(40, 60, 160)) # cool blue rim
- Light.point(80, 60, 70, Color.rgb(255, 200, 120), 1.0) # warm core
+ Light.point(80, 60, 70, Color.rgb(255, 200, 120), 1.0) # warm core
Light.clear_gel()
Screen.show()
}
diff --git a/docs/language/operators/op-access.md b/docs/language/operators/op-access.md
index a51af01e..c4a3b1de 100644
--- a/docs/language/operators/op-access.md
+++ b/docs/language/operators/op-access.md
@@ -13,5 +13,5 @@ The access operators reach into a compound value. `value.field` reads or writes
```ludic
let head_column: int = segments[0].column
segments[0].column = head_column + 1
-let extension: string = file_name[len(file_name) - 4 .. len(file_name)]
+let extension: string = file_name[len(file_name) - 4..len(file_name)]
```
diff --git a/docs/language/os/os-pid.md b/docs/language/os/os-pid.md
new file mode 100644
index 00000000..49fabd2f
--- /dev/null
+++ b/docs/language/os/os-pid.md
@@ -0,0 +1,23 @@
+---
+id: os-pid
+name: Os.pid
+category: os
+kind: namespace-method
+tokens: Os.pid
+sig: Os.pid() -> int
+tip: This process's id.
+order: 18
+ns: Os
+member: pid
+---
+
+The operating system's id for this process — unique among the processes alive right now, so it is the natural suffix for scratch files that concurrent runs of the same tool must not share.
+
+```ludic
+program Pid {
+ entry {
+ let scratch = `{Os.temp_dir()}/mytool_{Os.pid()}.log`
+ print(len(scratch) > 0)
+ }
+}
+```
diff --git a/docs/language/phases/phase-overlay.md b/docs/language/phases/phase-overlay.md
new file mode 100644
index 00000000..d8b1cd12
--- /dev/null
+++ b/docs/language/phases/phase-overlay.md
@@ -0,0 +1,41 @@
+---
+id: phase-overlay
+name: Overlay
+category: phases
+kind: phase
+tokens: Overlay
+sig: phase Overlay
+tip: The HUD pass — runs after Render and after every engine-owned drawing system.
+order: 6
+---
+
+`Overlay` runs after `Render` and after every engine-owned drawing system (sprites, lights, the scene's `shows` menu), so a `handler … phase Overlay` paints on top of the finished world: health bars, score, prompts, a boss bar. With `@ClearColor` the engine owns the clear and the present, so an `Overlay` handler only draws — no `Screen.clear`, no `Screen.show`. Like `Render`, it should read the world and never change it.
+
+```ludic
+program OverlayExample {
+ property Position { column: int = 0, row: int = 0 }
+ model Player { Position }
+
+ const TILE_SIZE: int = 16
+ var score: int = 0
+
+ handler PlacePlayer phase Start {
+ spawn Player { Position { column: 5, row: 6 } }
+ }
+
+ @ClearColor(Color.MidnightBlue)
+ handler DrawWorld phase Render {
+ for (current_position) in query [Position, {Player}] {
+ Screen.fill_rectangle(
+ x: current_position.column * TILE_SIZE,
+ y: current_position.row * TILE_SIZE,
+ width: TILE_SIZE, height: TILE_SIZE, color: Color.LimeGreen)
+ }
+ }
+
+ handler DrawHud phase Overlay {
+ Screen.draw_text(x: 6, y: 4, text: "SCORE", color: Color.White, scale: 1)
+ Screen.draw_number(x: 52, y: 4, value: score, color: Color.Gold, scale: 1)
+ }
+}
+```
diff --git a/docs/language/random/random-int.md b/docs/language/random/random-int.md
index 14e896ec..7f7f103b 100644
--- a/docs/language/random/random-int.md
+++ b/docs/language/random/random-int.md
@@ -20,6 +20,6 @@ program Demo {
let idx = Random.int(list_count)
}
}
- }
+}
}
```
diff --git a/docs/language/random/random-sign.md b/docs/language/random/random-sign.md
index 53353340..d8ecc3ad 100644
--- a/docs/language/random/random-sign.md
+++ b/docs/language/random/random-sign.md
@@ -20,6 +20,6 @@ program Demo {
let dir = Random.sign()
}
}
- }
+}
}
```
diff --git a/docs/language/random/random-value.md b/docs/language/random/random-value.md
index a8b4cb5b..374eeb18 100644
--- a/docs/language/random/random-value.md
+++ b/docs/language/random/random-value.md
@@ -20,6 +20,6 @@ program Demo {
let t = Random.value()
}
}
- }
+}
}
```
diff --git a/docs/language/structure/kw-ui.md b/docs/language/structure/kw-ui.md
index abc3292c..f46b139e 100644
--- a/docs/language/structure/kw-ui.md
+++ b/docs/language/structure/kw-ui.md
@@ -9,7 +9,7 @@ tip: Declare a retained widget tree as data; the engine lays it out and draws it
order: 50
---
-A ui block declares a retained widget tree as data — panels, labels and buttons — and hands layout, drawing and keyboard focus to the engine, so you describe the interface once instead of repainting it every frame. Widget types are `panel` (a container with optional skin/background/border), `col`/`row` (pure stacks), `label`, `button` (focusable), `image` and `spacer`, and their props are evaluated at build time, so `font: title_font` reads a value the program set first. Each `id: Name` mints a `UI_Name` handle you drive from handlers: call `ui_build()` then `ui_open(UI_MainMenu)` at start, `ui_tick(Input.key())` each update to move focus and activate, and `ui_clicked(UI_Name)` to react. Draw it during `Render` with `ui_render()` between `Screen.clear` and `Screen.show()`.
+A ui block declares a retained widget tree as data — panels, labels and buttons — and hands layout, drawing and keyboard focus to the engine, so you describe the interface once instead of repainting it every frame. Widget types are `panel` (a container with optional skin/background/border), `col`/`row` (pure stacks), `label`, `button` (focusable), `image` and `spacer`, and their props are evaluated at build time, so `font: title_font` reads a value the program set first. Each `id: Name` mints a `UI_Name` handle you drive from handlers: call `Ui.build()` then `Ui.open(UI_MainMenu)` at start, `Ui.tick(Input.key())` each update to move focus and activate, and `Ui.clicked(UI_Name)` to react. Draw it during `Render` with `Ui.render()` between `Screen.clear` and `Screen.show()`.
```ludic
program TitleScreen {
@@ -24,19 +24,19 @@ program TitleScreen {
}
handler Boot phase Start {
- title_font = font_load("/System/Library/Fonts/Supplemental/Arial.ttf")
- ui_build()
- ui_open(UI_MainMenu)
+ title_font = Font.load("/System/Library/Fonts/Supplemental/Arial.ttf")
+ Ui.build()
+ Ui.open(UI_MainMenu)
}
handler Navigate phase Update {
- ui_tick(Input.key())
- if ui_clicked(UI_Quit) { quit() }
+ Ui.tick(Input.key())
+ if Ui.clicked(UI_Quit) { quit() }
}
handler DrawWorld phase Render {
Screen.clear(Color.MidnightBlue)
- ui_render()
+ Ui.render()
Screen.show()
}
}
diff --git a/examples/README.md b/examples/README.md
index 5b06a103..9e236cd8 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -81,6 +81,7 @@ over the compiler's built-in loopback transport with zero foreign code.
| [`lang/toggle.ludic`](lang/toggle.ludic) | enable/disable at the three ECS scopes. |
| [`lang/scenes.ludic`](lang/scenes.ludic) | One active scene at a time, handlers grouped into layers. |
| [`lang/strings.ludic`](lang/strings.ludic) | Strings as values: compare, join, interpolate, slice. |
+| [`lang/operators.ludic`](lang/operators.ludic) | Compound assignment on every type, unary minus, char escapes, list literals. |
| [`lang/rng_demo.ludic`](lang/rng_demo.ludic) | The `Random.*` extensions (value/int/sign). |
| [`lang/time_demo.ludic`](lang/time_demo.ludic) | `Time.frame` / `elapsed` / `delta`. |
| [`lang/offline_rewards.ludic`](lang/offline_rewards.ludic) | A worked idle-game example over the Time/Date/Duration stdlib. |
diff --git a/examples/lang/annotations.ludic b/examples/lang/annotations.ludic
index 6b2196bb..d3a12a67 100644
--- a/examples/lang/annotations.ludic
+++ b/examples/lang/annotations.ludic
@@ -24,10 +24,10 @@ program RPG2D {
# Move every Actor whose scale is positive and that is actually moving. The
# query is the decorator; each bound property is addressed by its own name.
- @Queries(these: [Transform{scale > 0}, Velocity{dx > 0 or dy > 0}], on: Actor)
+ @Queries(these: [Transform { scale > 0 }, Velocity { dx > 0 or dy > 0 }], on: Actor)
handler Move phase Update {
- Transform.x = Transform.x + Velocity.dx
- Transform.y = Transform.y + Velocity.dy
+ Transform.x += Velocity.dx
+ Transform.y += Velocity.dy
}
handler Report phase Render {
diff --git a/examples/lang/operators.ludic b/examples/lang/operators.ludic
new file mode 100644
index 00000000..e2545550
--- /dev/null
+++ b/examples/lang/operators.ludic
@@ -0,0 +1,40 @@
+# operators.ludic — compound assignment (`+= -= *= /=`) is exactly `x = x op y`,
+# whatever the type: Q16.16 `fixed` multiplies through the 64-bit path, strings
+# concatenate, an `int` added to a `long` widens. Unary minus keeps its operand's
+# type, character literals accept the same escapes as strings, and `[a, b, c]`
+# builds a slice in place. Running it prints: 1 2 3 4 5 6 7 8 9 10
+program Operators {
+ entry {
+ var f: fixed = 1.5
+ f *= 2.0
+ if f == 3.0 { print(1) } # fixed *= is a Q16.16 multiply, not a raw mul
+ f /= 4.0
+ if f == 0.75 { print(2) }
+ let neg: fixed = -f
+ if neg + f == 0.0 { print(3) } # -fixed is still a fixed
+
+ var s = "ab"
+ s += "cd"
+ if s == "abcd" { print(4) } # string += concatenates
+
+ var n = 40
+ n += 2
+ n -= 1
+ n *= 2
+ n /= 3
+ if n == 27 { print(5) }
+
+ var big: long = 1
+ big += n # int widens into the long
+ if big == 28 { print(6) }
+
+ if '\'' == 39 and '\\' == 92 and '\n' == 10 { print(7) } # char escapes mirror string escapes
+ if "q\"b\\c" == `q"b\\c` { print(8) } # "…" and `…` share one escape table
+ if `{Text.length("{")}{Text.length("}")}` != "11" { print(0) } # braces inside a hole's string are text
+
+ let primes = [2, 3, 5, 7] # a list literal is a fresh slice
+ if len(primes) == 4 and primes[3] == 7 { print(9) }
+ let names = ["ember", "depths"]
+ if names[1] == "depths" { print(10) }
+ }
+}
diff --git a/examples/lang/qdecl.ludic b/examples/lang/qdecl.ludic
index 9146a43e..a9082732 100644
--- a/examples/lang/qdecl.ludic
+++ b/examples/lang/qdecl.ludic
@@ -22,7 +22,7 @@ program QueryDecl {
# a per-property constraint `Battle{...}` qualifies its bare fields to that
# property; `on: Foe` adds the {Foe} kind filter.
- @Queries(these: [Battle{hp <= 0 and side == 1}, Pos], on: Foe)
+ @Queries(these: [Battle { hp <= 0 and side == 1 }, Pos], on: Foe)
handler CleanBattle phase LateUpdate {
print(Pos.x)
despawn self()
diff --git a/examples/lang/scenes.ludic b/examples/lang/scenes.ludic
index ed91b50b..d87a20ad 100644
--- a/examples/lang/scenes.ludic
+++ b/examples/lang/scenes.ludic
@@ -24,7 +24,7 @@ program SceneDemo {
on exit { print(2) }
layer Main {
handler Tick phase Update {
- counter = counter + 1
+ counter += 1
print(100 + counter)
if counter >= 2 { become Play }
}
@@ -36,7 +36,7 @@ program SceneDemo {
on exit { print(4) }
layer World {
handler Step phase Update {
- counter = counter + 1
+ counter += 1
print(200 + counter)
if counter >= 2 { quit() }
}
diff --git a/examples/lang/strings.ludic b/examples/lang/strings.ludic
index 30a5ec51..57021dd3 100644
--- a/examples/lang/strings.ludic
+++ b/examples/lang/strings.ludic
@@ -1,5 +1,5 @@
# strings.ludic — strings are values: compare with ==/!=, join with +, or (best)
-# interpolate with `backticks {expr}`. Running it prints: 1 2 3 4 5 6 7
+# interpolate with `backticks {expr}`. Running it prints: 1 2 3 4 5 6 7 8 9
program Strings {
entry {
let greeting = "hello"
@@ -13,7 +13,7 @@ program Strings {
# build up a string in a loop
var line = ""
var i = 0
- while i < 3 { line = line + "ab"; i = i + 1 }
+ while i < 3 { line += "ab"; i += 1 }
if line == "ababab" { print(4) }
if (greeting + who) != greeting { print(5) }
diff --git a/examples/library/os.ludic b/examples/library/os.ludic
index 1582355f..98ce4fa8 100644
--- a/examples/library/os.ludic
+++ b/examples/library/os.ludic
@@ -2,7 +2,7 @@
# host input, so instead of fixed answers we assert the invariants that must hold
# regardless of where it runs: an env var round-trips, env_or falls back when a
# var is unset, unset removes it, args() agrees with arg_count(), and the host
-# facts and known folders are all non-empty. Running it prints: 1 2 3 4 5 6 7 8 9 10 11 12 13
+# facts and known folders are all non-empty. Running it prints: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
program Os {
entry {
# environment variables round-trip through set/get
@@ -30,8 +30,11 @@ program Os {
if len(Os.save_dir("MyGame")) > 0 { print(11) }
if len(Os.temp_dir()) > 0 { print(12) }
+ # the process id is a live, positive OS handle
+ if Os.pid() > 0 { print(13) }
+
# diagnostics go to stderr, so they never disturb this program's stdout
Os.stderr_write("os.ludic: hello from stderr\n")
- print(13)
+ print(14)
}
}
diff --git a/selfhost/backend/emit_call.ludic b/selfhost/backend/emit_call.ludic
index c236ca2e..145f925c 100644
--- a/selfhost/backend/emit_call.ludic
+++ b/selfhost/backend/emit_call.ludic
@@ -28,7 +28,7 @@ function ns_lower(s: pointer) -> pointer {
let n = cstr_len(s)
let b = bytes(n + 1)
var i = 0
- while i < n { var c = s[i]; if (c >= 65) and (c <= 90) { c = c + 32 }; b[i] = c; i = i + 1 }
+ while i < n { var c = s[i]; if (c >= 'A') and (c <= 'Z') { c += 32 }; b[i] = c; i += 1 }
b[n] = 0
return b
}
@@ -437,7 +437,7 @@ function emit_ns_call(ns: pointer, meth: pointer, e: Node) -> Val {
if (meth == "mouse_down") { bare = "input_mouse_down"; push(labels, "button") }
if (meth == "wheel") { bare = "input_wheel" }
if (meth == "set_mouse") { bare = "input_set_mouse"; push(labels, "x"); push(labels, "y"); push(labels, "buttons"); push(labels, "wheel") }
- if (meth == "pad_connected"){ bare = "input_pad_connected"; push(labels, "pad") }
+ if (meth == "pad_connected") { bare = "input_pad_connected"; push(labels, "pad") }
if (meth == "pad_button") { bare = "input_pad_button"; push(labels, "pad"); push(labels, "button") }
if (meth == "pad_axis") { bare = "input_pad_axis"; push(labels, "pad"); push(labels, "axis") }
if (meth == "set_pad") { bare = "input_set_pad"; push(labels, "pad"); push(labels, "connected"); push(labels, "buttons"); push(labels, "lx"); push(labels, "ly"); push(labels, "rx"); push(labels, "ry") }
@@ -475,7 +475,7 @@ function emit_ns_call(ns: pointer, meth: pointer, e: Node) -> Val {
if (meth == "open") { bare = "http_open"; push(labels, "method"); push(labels, "url") }
if (meth == "set") { bare = "http_set_header"; push(labels, "handle"); push(labels, "name"); push(labels, "value") }
if (meth == "body") { bare = "http_body"; push(labels, "handle"); push(labels, "body") }
- if (meth == "body_bytes"){ bare = "http_body_n"; push(labels, "handle"); push(labels, "bytes"); push(labels, "len") }
+ if (meth == "body_bytes") { bare = "http_body_n"; push(labels, "handle"); push(labels, "bytes"); push(labels, "len") }
if (meth == "send") { bare = "http_send_req"; push(labels, "handle") }
if (meth == "poll") { bare = "http_poll"; push(labels, "handle") }
if (meth == "status") { bare = "http_status_of"; push(labels, "handle") }
@@ -863,10 +863,10 @@ function emit_ns_call(ns: pointer, meth: pointer, e: Node) -> Val {
if (meth == "cell_x") { bare = "tmap_cell_sx"; push(labels, "map"); push(labels, "x"); push(labels, "y") }
if (meth == "cell_y") { bare = "tmap_cell_sy"; push(labels, "map"); push(labels, "x"); push(labels, "y") }
if (meth == "layer_kind") { bare = "tmap_layer_kind"; push(labels, "map"); push(labels, "layer") }
- if (meth == "layer_opacity"){ bare = "tmap_layer_opacity"; push(labels, "map"); push(labels, "layer") }
+ if (meth == "layer_opacity") { bare = "tmap_layer_opacity"; push(labels, "map"); push(labels, "layer") }
if (meth == "layer_tint") { bare = "tmap_layer_tint"; push(labels, "map"); push(labels, "layer") }
- if (meth == "layer_offsetx"){ bare = "tmap_layer_offsetx"; push(labels, "map"); push(labels, "layer") }
- if (meth == "layer_offsety"){ bare = "tmap_layer_offsety"; push(labels, "map"); push(labels, "layer") }
+ if (meth == "layer_offsetx") { bare = "tmap_layer_offsetx"; push(labels, "map"); push(labels, "layer") }
+ if (meth == "layer_offsety") { bare = "tmap_layer_offsety"; push(labels, "map"); push(labels, "layer") }
# P6 (#74): .world stitching
if (meth == "world") { bare = "tiled_read_world"; push(labels, "path") }
if (meth == "world_count") { bare = "tiled_world_count"; push(labels, "world") }
@@ -886,7 +886,7 @@ function emit_ns_call(ns: pointer, meth: pointer, e: Node) -> Val {
if (nsfn != null) {
let names = param_labels(nsfn)
var pi2 = 0
- while pi2 < len(names) { push(labels, names[pi2]); pi2 = pi2 + 1 }
+ while pi2 < len(names) { push(labels, names[pi2]); pi2 += 1 }
}
}
if (bare == null) { perr(`unknown builtin {ns}.{meth}`) }
@@ -914,7 +914,7 @@ function emit_variant_new(en: Node, ord: int, args: []Node) -> Val {
let p = nreg(); emit(" "); emit(p); emit(" = getelementptr inbounds i8, ptr "); emit(box)
emit(", i32 "); emit(itoa(8 * (k + 1))); emit("\n")
emit(" store "); emit(llty(pty)); emit(" "); emit(cv); emit(", ptr "); emit(p); emit("\n")
- k = k + 1
+ k += 1
}
return val(box, en.s)
}
@@ -1008,9 +1008,9 @@ function emit_call(e: Node) -> Val {
if (name == "string") { # string(x): int/bool/fixed/long -> text, a string passes through
let a = emit_expr(e.kids[0])
if (llty(a.ty) == "ptr") { return a }
- if (llty(a.ty) == "i64") { g_uses_longstr = true; return val(emit_bind(`call ptr @fn_long_str(i64 {a.code})`), "string") }
+ if (llty(a.ty) == "i64") { g_uses_longstr = true; return val(emit_bind(`call ptr @lp_long_str(i64 {a.code})`), "string") }
g_uses_intstr = true
- return val(emit_bind(`call ptr @fn_int_str(i32 {a.code})`), "string")
+ return val(emit_bind(`call ptr @lp_int_str(i32 {a.code})`), "string")
}
if (name == "print") { # print(x): a value + newline (string, long, or int)
let a = emit_expr(e.kids[0])
@@ -1230,7 +1230,7 @@ function emit_call(e: Node) -> Val {
let eargs = new []pointer
let eatys = new []pointer
var ei = 0
- while ei < len(e.kids) { let v = emit_expr(e.kids[ei]); push(eargs, v.code); push(eatys, v.ty); ei = ei + 1 }
+ while ei < len(e.kids) { let v = emit_expr(e.kids[ei]); push(eargs, v.code); push(eatys, v.ty); ei += 1 }
let erl = llty(ext.ty)
emit(" ")
var erreg = "0"
@@ -1240,7 +1240,7 @@ function emit_call(e: Node) -> Val {
while ei < len(eargs) {
if ei > 0 { emit(", ") }
emit(llty(eatys[ei])); emit(" "); emit(eargs[ei])
- ei = ei + 1
+ ei += 1
}
emit(")\n")
return val(erreg, ext.ty)
@@ -1270,7 +1270,7 @@ function emit_call(e: Node) -> Val {
let v = emit_expr(e.kids[i])
var pty = v.ty
if (i < len(ptys)) { pty = ptys[i] }
- push(args, coerce_code(v, pty)); push(atys, pty); i = i + 1
+ push(args, coerce_code(v, pty)); push(atys, pty); i += 1
}
let rl = llty(fn2.ty)
emit(" ")
@@ -1281,7 +1281,7 @@ function emit_call(e: Node) -> Val {
while i < len(args) {
if i > 0 { emit(", ") }
emit(llty(atys[i])); emit(" "); emit(args[i])
- i = i + 1
+ i += 1
}
emit(")\n")
return val(rreg, fn2.ty)
@@ -1299,13 +1299,14 @@ function emit_expr(e: Node) -> Val {
let lo = emit_expr(e.b)
let hi = emit_expr(e.c)
g_uses_strslice = true
- return val(emit_bind(`call ptr @fn_str_slice(ptr {base.code}, i32 {lo.code}, i32 {hi.code})`), "string")
+ return val(emit_bind(`call ptr @lp_str_slice(ptr {base.code}, i32 {lo.code}, i32 {hi.code})`), "string")
}
if e.kind == E_STR { return val(emit_str_const(e.s), "string") }
if e.kind == E_NEW {
if is_slice_ty(e.s) { return emit_new_slice(e.s) }
return emit_new_struct(e.s, e.a)
}
+ if e.kind == E_LIST { return emit_list(e) } # [a, b, c] -> a fresh slice
if e.kind == E_ID {
let li = loc_find(e.s)
if li >= 0 { return emit_load_at(loc_reg[li], loc_ty[li]) }
@@ -1372,8 +1373,10 @@ function emit_expr(e: Node) -> Val {
if (e.s == ("-")) { return val(emit_bind(`sub i64 0, {a.code}`), "long") }
if (e.s == "~") { return val(emit_bind(`xor i64 {a.code}, -1`), "long") }
}
- if (e.s == ("-")) { return val(emit_bind(`sub i32 0, {a.code}`), "int") }
- if (e.s == "~") { return val(emit_bind(`xor i32 {a.code}, -1`), "int") }
+ # negation keeps the operand's type: -x on a fixed is still a fixed (the Q16.16
+ # bit pattern negates like any two's-complement int)
+ if (e.s == ("-")) { return val(emit_bind(`sub i32 0, {a.code}`), arith_ty(a.ty)) }
+ if (e.s == "~") { return val(emit_bind(`xor i32 {a.code}, -1`), arith_ty(a.ty)) }
let c = emit_bind(`icmp eq i32 {a.code}, 0`)
return val(emit_bind(`zext i1 {c} to i32`), "bool")
}
diff --git a/selfhost/backend/emit_core.ludic b/selfhost/backend/emit_core.ludic
index 67336b15..5916322d 100644
--- a/selfhost/backend/emit_core.ludic
+++ b/selfhost/backend/emit_core.ludic
@@ -31,6 +31,7 @@ var g_uses_uuidrt: bool = false # Uuid.* was emitted -> emit the UUID runtime (
var g_uses_noisert: bool = false # Noise.* was emitted -> emit the fixed-point noise runtime
var g_uses_logrt: bool = false # Log.* was emitted -> emit the log level register + console sink
var g_uses_osrt: bool = false # Os.* (prelude-backed methods) was emitted -> emit the Os runtime
+var g_uses_pid: bool = false # Os.pid() was emitted -> declare libc getpid
var g_uses_unicodert: bool = false # Unicode.* was emitted -> emit the UTF-8 runtime
var g_uses_fsrt: bool = false # Fs.*/Path.*/Mime.* was emitted -> emit the filesystem runtime
var g_uses_datert: bool = false # Date.*/DateTime.* was emitted -> emit the civil<->epoch conversions
@@ -56,7 +57,7 @@ var g_prog_user_end: int = 0 # count of prog decls from the user's source (b
# as the line table dumped at exit.
function cov_slot(line: int) -> int {
var i = 0
- while i < len(g_cov_lines) { if g_cov_lines[i] == line { return i }; i = i + 1 }
+ while i < len(g_cov_lines) { if g_cov_lines[i] == line { return i }; i += 1 }
push(g_cov_lines, line)
return len(g_cov_lines) - 1
}
@@ -93,11 +94,11 @@ var nmach: int = 0
var g_scenes: []Node # every `scene` declaration, in source order (ival = id)
var g_scene_count: int = 0 # parse-time id counter
var g_start_scene: int = 0 # id of the scene marked `start` (else the first)
-var g_cur_scene: Node = null # scene owning the handler being emitted, for `become`
+var g_cur_scene: Node = null # scene owning the handler being emitted, for `become`
function find_scene(name: pointer) -> Node {
var i = 0
- while i < len(g_scenes) { if (g_scenes[i].s == name) { return g_scenes[i] }; i = i + 1 }
+ while i < len(g_scenes) { if (g_scenes[i].s == name) { return g_scenes[i] }; i += 1 }
return null
}
@@ -107,14 +108,14 @@ function emith(s: pointer) -> void { buf_puts(head, s) }
# stack slots MUST live in the entry block (an alloca in a loop walks the stack
# off its end), so they go into a per-function buffer spliced in at entry.
function emit_alloca(llt: pointer) -> pointer {
- let r = `%t{itoa(ll_t)}`; ll_t = ll_t + 1
+ let r = `%t{itoa(ll_t)}`; ll_t += 1
buf_puts(falloc, " "); buf_puts(falloc, r); buf_puts(falloc, " = alloca "); buf_puts(falloc, llt); buf_puts(falloc, "\n")
return r
}
# "%t" fresh register
-function nreg() -> pointer { let r = `%t{itoa(ll_t)}`; ll_t = ll_t + 1; return r }
-function lbl(pfx: pointer) -> pointer { let r = (pfx + itoa(ll_lbl)); ll_lbl = ll_lbl + 1; return r }
+function nreg() -> pointer { let r = `%t{itoa(ll_t)}`; ll_t += 1; return r }
+function lbl(pfx: pointer) -> pointer { let r = (pfx + itoa(ll_lbl)); ll_lbl += 1; return r }
# Ludic type -> LLVM type. int/bool are i32; everything else (ptr/str/struct/
# slice) is a pointer; void is void.
@@ -132,17 +133,17 @@ function llty(t: pointer) -> pointer {
return "ptr"
}
-function is_slice_ty(t: pointer) -> bool { return t[0] == 91 and t[1] == 93 } # "[]"
+function is_slice_ty(t: pointer) -> bool { return t[0] == '[' and t[1] == ']' } # "[]"
function slice_elem(t: pointer) -> pointer { return t[2..len(t)] }
function find_arch(name: pointer) -> Node {
var i = 0
- while i < len(prog) { let d = prog[i]; if d.kind == N_ARCH and (d.s == name) { return d }; i = i + 1 }
+ while i < len(prog) { let d = prog[i]; if d.kind == N_ARCH and (d.s == name) { return d }; i += 1 }
return null
}
function find_comp(name: pointer) -> Node {
var i = 0
- while i < len(prog) { let d = prog[i]; if d.kind == N_COMP and (d.s == name) { return d }; i = i + 1 }
+ while i < len(prog) { let d = prog[i]; if d.kind == N_COMP and (d.s == name) { return d }; i += 1 }
return null
}
# every record is a `property` with a %Cmp_ layout of named fields — whether it
@@ -152,12 +153,12 @@ function layout_ty(name: pointer) -> pointer { return (("%Cmp_") + name) }
function field_index(s: Node, fname: pointer) -> int {
var i = 0
- while i < len(s.kids) { if (s.kids[i].s == fname) { return i }; i = i + 1 }
- return 0 - 1
+ while i < len(s.kids) { if (s.kids[i].s == fname) { return i }; i += 1 }
+ return -1
}
function field_type(s: Node, fname: pointer) -> pointer {
var i = 0
- while i < len(s.kids) { if (s.kids[i].s == fname) { return s.kids[i].ty }; i = i + 1 }
+ while i < len(s.kids) { if (s.kids[i].s == fname) { return s.kids[i].ty }; i += 1 }
return "int"
}
@@ -168,7 +169,7 @@ function find_global(name: pointer) -> Node {
let d = prog[i]
if d.kind == N_VAR and (d.s == name) { return d }
if d.kind == N_CONST and (d.s == name) { return d }
- i = i + 1
+ i += 1
}
return null
}
@@ -181,9 +182,9 @@ function enum_ordinal(ename: pointer, vname: pointer) -> int {
let d = prog[i]
if d.kind == N_ENUM and (d.s == ename) {
var j = 0
- while j < len(d.kids) { if (d.kids[j].s == vname) { return j }; j = j + 1 }
+ while j < len(d.kids) { if (d.kids[j].s == vname) { return j }; j += 1 }
}
- i = i + 1
+ i += 1
}
# LC1: the compiler owns `EndReason` — the reason bound by a reason-carrying
# teardown (`@OnDespawn(M, reason: r)`). Each despawn site passes one of these.
@@ -192,24 +193,24 @@ function enum_ordinal(ename: pointer, vname: pointer) -> int {
if (vname == "SceneExit") { return 1 } # a scene tearing down its owned entities
if (vname == "Quit") { return 2 } # program shutdown
}
- return 0 - 1
+ return -1
}
# an enum none of whose variants carries a payload: a plain int-valued naming layer
function is_bare_enum(name: pointer) -> bool {
let en = find_enum(name)
if (en == null) { return false }
var i = 0
- while i < len(en.kids) { if len(en.kids[i].kids) > 0 { return false }; i = i + 1 }
+ while i < len(en.kids) { if len(en.kids[i].kids) > 0 { return false }; i += 1 }
return true
}
function find_prefab(name: pointer) -> Node {
var i = 0
- while i < len(prog) { let d = prog[i]; if d.kind == N_PREFAB and (d.s == name) { return d }; i = i + 1 }
+ while i < len(prog) { let d = prog[i]; if d.kind == N_PREFAB and (d.s == name) { return d }; i += 1 }
return null
}
function has_prefabs() -> bool {
var i = 0
- while i < len(prog) { if prog[i].kind == N_PREFAB { return true }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_PREFAB { return true }; i += 1 }
return false
}
# does any component declare a `countdown` field?
@@ -217,14 +218,14 @@ function has_countdowns() -> bool {
var i = 0
while i < len(prog) {
let d = prog[i]
- if d.kind == N_COMP { var f = 0; while f < len(d.kids) { if (d.kids[f].ty == "countdown") { return true }; f = f + 1 } }
- i = i + 1
+ if d.kind == N_COMP { var f = 0; while f < len(d.kids) { if (d.kids[f].ty == "countdown") { return true }; f += 1 } }
+ i += 1
}
return false
}
function find_fn(name: pointer) -> Node {
var i = 0
- while i < len(prog) { let d = prog[i]; if d.kind == N_FN and (d.s == name) { return d }; i = i + 1 }
+ while i < len(prog) { let d = prog[i]; if d.kind == N_FN and (d.s == name) { return d }; i += 1 }
return null
}
@@ -238,12 +239,12 @@ var g_var_ord: int = 0
function find_enum(name: pointer) -> Node {
var i = 0
- while i < len(prog) { let d = prog[i]; if d.kind == N_ENUM and (d.s == name) { return d }; i = i + 1 }
+ while i < len(prog) { let d = prog[i]; if d.kind == N_ENUM and (d.s == name) { return d }; i += 1 }
return null
}
function enum_is_tagged(en: Node) -> bool {
var i = 0
- while i < len(en.kids) { if len(en.kids[i].kids) > 0 { return true }; i = i + 1 }
+ while i < len(en.kids) { if len(en.kids[i].kids) > 0 { return true }; i += 1 }
return false
}
# the tagged enum whose type name is `ty`, or null (a plain enum / non-enum type
@@ -257,8 +258,8 @@ function tagged_enum_of(ty: pointer) -> Node {
# the ordinal of variant `vname` within enum `en`, or -1.
function variant_ordinal(en: Node, vname: pointer) -> int {
var j = 0
- while j < len(en.kids) { if (en.kids[j].s == vname) { return j }; j = j + 1 }
- return 0 - 1
+ while j < len(en.kids) { if (en.kids[j].s == vname) { return j }; j += 1 }
+ return -1
}
# find the tagged enum that declares a variant named `vname` (used to resolve a
# bare constructor like `Door(3)` / `Empty`); sets g_var_ord to its ordinal.
@@ -274,7 +275,7 @@ function variant_enum(vname: pointer) -> Node {
if ord >= 0 { g_var_ord = ord; return d }
}
}
- i = i + 1
+ i += 1
}
return null
}
@@ -282,7 +283,7 @@ function variant_enum(vname: pointer) -> Node {
function enum_max_arity(en: Node) -> int {
var m = 0
var i = 0
- while i < len(en.kids) { let a = len(en.kids[i].kids); if a > m { m = a }; i = i + 1 }
+ while i < len(en.kids) { let a = len(en.kids[i].kids); if a > m { m = a }; i += 1 }
return m
}
# byte size of a variant box: an 8-byte tag slot + one 8-byte slot per payload
@@ -296,7 +297,7 @@ function enum_box_size(en: Node) -> int { return 8 * (1 + enum_max_arity(en)) }
# C/Rust/Zig library binding — the same seam NETWORKING-DESIGN §5 names.
function find_extern(name: pointer) -> Node {
var i = 0
- while i < len(prog) { let d = prog[i]; if d.kind == N_EXTERN and (d.s == name) { return d }; i = i + 1 }
+ while i < len(prog) { let d = prog[i]; if d.kind == N_EXTERN and (d.s == name) { return d }; i += 1 }
return null
}
@@ -313,7 +314,7 @@ function computed_expr(prop: pointer, field: pointer) -> Node {
if (prop == null) { return null }
let key = `{prop}.{field}`
var i = 0
- while i < len(g_computed) { if (g_computed[i].s == key) { return g_computed[i].a }; i = i + 1 }
+ while i < len(g_computed) { if (g_computed[i].s == key) { return g_computed[i].a }; i += 1 }
return null
}
# best-effort static type of an expression (for computed-field lookup; emits nothing)
@@ -337,6 +338,19 @@ function static_type(e: Node) -> pointer {
let bt = static_type(e.a)
if (bt != null) { let s = layout_node(bt); if (s != null) { return field_type(s, e.s) } }
}
+ if e.kind == E_INDEX { # slice[i] -> the element type
+ let bt = static_type(e.a)
+ if (bt != null) and is_slice_ty(bt) { return slice_elem(bt) }
+ }
+ if e.kind == E_NEW { return e.s } # new T / new []T
+ if e.kind == E_LIST and len(e.kids) > 0 { # [a, b] -> a slice of the first's type
+ let et = static_type(e.kids[0])
+ if (et != null) { return "[]" + et }
+ }
+ if e.kind == E_STR or e.kind == E_SLICE { return "string" }
+ if e.kind == E_INT { return "int" }
+ if e.kind == E_FLOAT { return "fixed" }
+ if e.kind == E_BOOL { return "bool" }
return null
}
@@ -350,7 +364,7 @@ function register_onspawn(model: pointer, body: Node) -> void {
}
function onspawn_body(model: pointer) -> Node {
var i = 0
- while i < len(g_onspawn) { if (g_onspawn[i].s == model) { return g_onspawn[i].a }; i = i + 1 }
+ while i < len(g_onspawn) { if (g_onspawn[i].s == model) { return g_onspawn[i].a }; i += 1 }
return null
}
@@ -368,7 +382,7 @@ function register_ondespawn(model: pointer, body: Node, reason: pointer) -> void
}
function ondespawn_body(model: pointer) -> Node {
var i = 0
- while i < len(g_ondespawn) { if (g_ondespawn[i].s == model) { return g_ondespawn[i].a }; i = i + 1 }
+ while i < len(g_ondespawn) { if (g_ondespawn[i].s == model) { return g_ondespawn[i].a }; i += 1 }
return null
}
function register_onattach(prop: pointer, body: Node) -> void {
@@ -376,7 +390,7 @@ function register_onattach(prop: pointer, body: Node) -> void {
}
function onattach_body(prop: pointer) -> Node {
var i = 0
- while i < len(g_onattach) { if (g_onattach[i].s == prop) { return g_onattach[i].a }; i = i + 1 }
+ while i < len(g_onattach) { if (g_onattach[i].s == prop) { return g_onattach[i].a }; i += 1 }
return null
}
@@ -389,7 +403,7 @@ function register_ondetach(prop: pointer, body: Node) -> void {
}
function ondetach_body(prop: pointer) -> Node {
var i = 0
- while i < len(g_ondetach) { if (g_ondetach[i].s == prop) { return g_ondetach[i].a }; i = i + 1 }
+ while i < len(g_ondetach) { if (g_ondetach[i].s == prop) { return g_ondetach[i].a }; i += 1 }
return null
}
@@ -401,12 +415,12 @@ function register_onenable(prop: pointer, body: Node) -> void { let n = node(N_B
function register_ondisable(prop: pointer, body: Node) -> void { let n = node(N_BLOCK); n.s = prop; n.a = body; push(g_ondisable, n) }
function onenable_body(prop: pointer) -> Node {
var i = 0
- while i < len(g_onenable) { if (g_onenable[i].s == prop) { return g_onenable[i].a }; i = i + 1 }
+ while i < len(g_onenable) { if (g_onenable[i].s == prop) { return g_onenable[i].a }; i += 1 }
return null
}
function ondisable_body(prop: pointer) -> Node {
var i = 0
- while i < len(g_ondisable) { if (g_ondisable[i].s == prop) { return g_ondisable[i].a }; i = i + 1 }
+ while i < len(g_ondisable) { if (g_ondisable[i].s == prop) { return g_ondisable[i].a }; i += 1 }
return null
}
@@ -422,7 +436,7 @@ var g_cancel_addr: pointer = null # EV3: address of the current cancellable di
function register_event(n: Node) -> void { push(g_events, n) }
function find_event(name: pointer) -> Node {
var i = 0
- while i < len(g_events) { if (g_events[i].s == name) { return g_events[i] }; i = i + 1 }
+ while i < len(g_events) { if (g_events[i].s == name) { return g_events[i] }; i += 1 }
return null
}
function register_onlisten(evt: pointer, body: Node) -> void {
@@ -454,12 +468,12 @@ function ensure_event_empty(name: pointer) -> void {
var g_toggled_layers: []pointer
function note_toggled_layer(name: pointer) -> void {
var i = 0
- while i < len(g_toggled_layers) { if (g_toggled_layers[i] == name) { return }; i = i + 1 }
+ while i < len(g_toggled_layers) { if (g_toggled_layers[i] == name) { return }; i += 1 }
push(g_toggled_layers, name)
}
function is_toggled_layer(name: pointer) -> bool {
var i = 0
- while i < len(g_toggled_layers) { if (g_toggled_layers[i] == name) { return true }; i = i + 1 }
+ while i < len(g_toggled_layers) { if (g_toggled_layers[i] == name) { return true }; i += 1 }
return false
}
@@ -474,11 +488,11 @@ function loc_reset() -> void { nloc = 0 }
function loc_push(name: pointer, r: pointer, ty: pointer) -> void {
if nloc < len(loc_name) { loc_name[nloc] = name; loc_reg[nloc] = r; loc_ty[nloc] = ty; loc_mut[nloc] = 1 }
else { push(loc_name, name); push(loc_reg, r); push(loc_ty, ty); push(loc_mut, 1) }
- nloc = nloc + 1
+ nloc += 1
}
function loc_set_mut(m: int) -> void { if nloc > 0 { loc_mut[nloc - 1] = m } }
function loc_find(name: pointer) -> int {
var i = nloc - 1
- while i >= 0 { if (loc_name[i] == name) { return i }; i = i - 1 }
- return 0 - 1
+ while i >= 0 { if (loc_name[i] == name) { return i }; i -= 1 }
+ return -1
}
diff --git a/selfhost/backend/emit_decl.ludic b/selfhost/backend/emit_decl.ludic
index 1452a7b1..168d08d7 100644
--- a/selfhost/backend/emit_decl.ludic
+++ b/selfhost/backend/emit_decl.ludic
@@ -7,7 +7,7 @@ function emit_params_sig(d: Node) -> void {
while i < len(d.kids) {
if i > 0 { emit(", ") }
emit(llty(d.kids[i].ty)); emit(" %arg_"); emit(d.kids[i].s)
- i = i + 1
+ i += 1
}
}
@@ -28,7 +28,7 @@ function emit_fn(d: Node) -> void {
let slot = emit_alloca(llty(p.ty))
emit(" store "); emit(llty(p.ty)); emit(" %arg_"); emit(p.s); emit(", ptr "); emit(slot); emit("\n")
loc_push(p.s, slot, p.ty)
- i = i + 1
+ i += 1
}
emit_block(d.a)
if not g_term { emit(" br label %ret\n") }
@@ -99,7 +99,7 @@ function emit_test_runner() -> void {
emith("@L_test_fail = internal global i32 0\n")
emith("@.fmt_test_sum = private unnamed_addr constant [28 x i8] c\"== %d passed, %d failed ==\\0A\\00\"\n")
var i = 0
- while i < len(g_tests) { emit_test_fn(g_tests[i], i); i = i + 1 }
+ while i < len(g_tests) { emit_test_fn(g_tests[i], i); i += 1 }
if g_uses_expect { emith("@.fmt_expect = private unnamed_addr constant [22 x i8] c\"%s (got %d, want %d)\\0A\\00\"\n") }
ll_t = 0; ll_lbl = 0
@@ -129,7 +129,7 @@ function emit_test_runner() -> void {
emit(` call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr {failmsg})\n`)
emit(` br label %{ldone}\n`)
emit(`{ldone}:\n`)
- i = i + 1
+ i += 1
}
let totf = emit_bind("load i32, ptr %failed")
let passed = emit_bind(`sub i32 {itoa(len(g_tests))}, {totf}`)
@@ -139,7 +139,29 @@ function emit_test_runner() -> void {
emit(` ret i32 {rc}\n}\n`)
}
+# two `function`s with one name would collide in the object file; say so in
+# source terms (and name both files) instead of leaving it to the IR assembler.
+function check_duplicate_fns() -> void {
+ var i = 0
+ while i < len(prog) {
+ let d = prog[i]
+ if d.kind == N_FN {
+ var j = i + 1
+ while j < len(prog) {
+ let o = prog[j]
+ if o.kind == N_FN and (o.s == d.s) {
+ g_err_file = o.file; g_err_line = o.line
+ perr(`function '{d.s}' is defined twice (first in {d.file}:{itoa(d.line)})`)
+ }
+ j += 1
+ }
+ }
+ i += 1
+ }
+}
+
function emit_program() -> void {
+ check_duplicate_fns()
head = buf_new()
code = buf_new()
g_uses_str = false
@@ -167,7 +189,7 @@ function emit_program() -> void {
emit_fn(prog[i])
g_cov_active = true
}
- i = i + 1
+ i += 1
}
emit_global_init_fn() # @L_init_globals: the non-constant `var` initializers
if len(g_events) > 0 { emit_event_fns() } # EV0: @ev_ event-dispatch functions
@@ -182,31 +204,32 @@ function emit_program() -> void {
else { if has_systems() and has_entry() { # N5: game owns its loop via `entry`
emit_game_defs() # system fns, hooks, tick helpers
i = 0
- while i < len(prog) { if prog[i].kind == N_MAIN { emit_main(prog[i]) }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_MAIN { emit_main(prog[i]) }; i += 1 }
}
else { if has_systems() { emit_game_main() } # the auto frame loop
else {
i = 0
- while i < len(prog) { if prog[i].kind == N_MAIN { emit_main(prog[i]) }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_MAIN { emit_main(prog[i]) }; i += 1 }
} } }
if g_uses_world_despawn { emit_world_despawn_fn() } # #84: @fn_world_despawn, after all World.despawn / esys_bounds-kill uses are seen
if g_uses_loopback { emit_loopback() } # built-in transport, after all net_send/net_poll uses are seen
- if g_uses_str { emit_str_prelude() } # @fn_str_eq / @fn_str_concat, after all uses are seen
- if g_uses_intstr { emit_int_str() } # @fn_int_str, for string(int) in interpolation
- if g_uses_longstr { emit_long_str() } # @fn_long_str, for string(long) / long interpolation
- if g_uses_strslice { emit_str_slice() } # @fn_str_slice, for s[a..b]
- if g_uses_mathrt { emit_math_prelude() } # @fn_fx_sqrt / @fn_fx_sin + the sine table
- if g_uses_textrt { emit_text_prelude() } # @fn_str_upper/lower/trim/repeat/pad builders
- if g_uses_textrt2 { emit_text2_prelude() } # @fn_str_replace/join/split builders
- if g_uses_hashrt { emit_hash_prelude() } # @fn_hash_fnv1a / @fn_hash_crc32 byte hashers
- if g_uses_cryptort { emit_crypto_prelude() } # @fn_sha256_hex / @fn_hmac_sha256_hex + constant-time compare + CSPRNG
- if g_uses_uuidrt { emit_uuid_prelude() } # @fn_uuid_v4 / @fn_uuid_v7 / parse / equals (over the crypto CSPRNG)
- if g_uses_noisert { emit_noise_prelude() } # @fn_noise_value2/perlin2/simplex2/fbm2/cellular2 (Q16.16)
- if g_uses_logrt { emit_log_prelude() } # @L_log_level + @fn_log_emit (levelled stderr sink)
- if g_uses_osrt { emit_os_prelude() } # @fn_os_args/platform/arch/save_dir/... (libc env + uname)
- if g_uses_unicodert { emit_unicode_prelude() } # @fn_uni_len/valid/decode/case/truncate/grapheme (UTF-8)
+ if g_uses_str { emit_str_prelude() } # @lp_str_eq / @lp_str_concat, after all uses are seen
+ if g_uses_intstr { emit_int_str() } # @lp_int_str, for string(int) in interpolation
+ if g_uses_longstr { emit_long_str() } # @lp_long_str, for string(long) / long interpolation
+ if g_uses_strslice { emit_str_slice() } # @lp_str_slice, for s[a..b]
+ if g_uses_mathrt { emit_math_prelude() } # @lp_fx_sqrt / @lp_fx_sin + the sine table
+ if g_uses_textrt { emit_text_prelude() } # @lp_str_upper/lower/trim/repeat/pad builders
+ if g_uses_textrt2 { emit_text2_prelude() } # @lp_str_replace/join/split builders
+ if g_uses_hashrt { emit_hash_prelude() } # @lp_hash_fnv1a / @lp_hash_crc32 byte hashers
+ if g_uses_cryptort { emit_crypto_prelude() } # @lp_sha256_hex / @lp_hmac_sha256_hex + constant-time compare + CSPRNG
+ if g_uses_uuidrt { emit_uuid_prelude() } # @lp_uuid_v4 / @lp_uuid_v7 / parse / equals (over the crypto CSPRNG)
+ if g_uses_noisert { emit_noise_prelude() } # @lp_noise_value2/perlin2/simplex2/fbm2/cellular2 (Q16.16)
+ if g_uses_logrt { emit_log_prelude() } # @L_log_level + @lp_log_emit (levelled stderr sink)
+ if g_uses_osrt { emit_os_prelude() } # @lp_os_args/platform/arch/save_dir/... (libc env + uname)
+ if g_uses_pid { emith("declare i32 @getpid()\n") }
+ if g_uses_unicodert { emit_unicode_prelude() } # @lp_uni_len/valid/decode/case/truncate/grapheme (UTF-8)
if g_uses_fsrt { emit_fs_prelude() } # @fn_fs_*/fn_path_*/fn_mime_* (libc + string ops)
- if g_uses_datert { emit_datetime_prelude() } # @fn_days_from_civil / @fn_civil_from_days conversions
+ if g_uses_datert { emit_datetime_prelude() } # @lp_days_from_civil / @lp_civil_from_days conversions
if g_uses_panic { # panic/assert: located abort to stderr
emith("declare i32 @fprintf(ptr, ptr, ...)\n")
emith("@.fmt_panic = private unnamed_addr constant [6 x i8] c\"%s%s\\0A\\00\"\n")
@@ -234,7 +257,7 @@ function emit_cov_runtime() -> void {
while i < n {
if i > 0 { emith(", ") }
emith("i32 "); emith(itoa(g_cov_lines[i]))
- i = i + 1
+ i += 1
}
emith("]\n")
emith("@L_cov_hits = internal global ["); emith(sn); emith(" x i32] zeroinitializer\n")
diff --git a/selfhost/backend/emit_expr.ludic b/selfhost/backend/emit_expr.ludic
index 24fc3481..aea19294 100644
--- a/selfhost/backend/emit_expr.ludic
+++ b/selfhost/backend/emit_expr.ludic
@@ -14,7 +14,7 @@ function emit_try_body(b: Node, slot: pointer) -> void {
let v = emit_expr(st.a)
emit(` store i32 {coerce_code(v, "int")}, ptr {slot}\n`)
} else { emit_stmt(st) }
- i = i + 1
+ i += 1
}
}
@@ -127,9 +127,9 @@ function to_long(v: Val) -> pointer {
function emit_str_op(op: pointer, a: Val, b: Val) -> Val {
g_uses_str = true
if (op == ("+")) {
- return val(emit_bind(`call ptr @fn_str_concat(ptr {a.code}, ptr {b.code})`), "string")
+ return val(emit_bind(`call ptr @lp_str_concat(ptr {a.code}, ptr {b.code})`), "string")
}
- let r = emit_bind(`call i32 @fn_str_eq(ptr {a.code}, ptr {b.code})`)
+ let r = emit_bind(`call i32 @lp_str_eq(ptr {a.code}, ptr {b.code})`)
if (op == ("!=")) {
let c = emit_bind(`icmp eq i32 {r}, 0`)
return val(emit_bind(`zext i1 {c} to i32`), "bool")
@@ -137,56 +137,72 @@ function emit_str_op(op: pointer, a: Val, b: Val) -> Val {
return val(r, "bool")
}
+# the result type of a unary arithmetic operator on a value of type `ty`: fixed
+# and long survive, every other 32-bit scalar (int/bool/enum) collapses to int
+function arith_ty(ty: pointer) -> pointer {
+ if (ty == "fixed") or (ty == "long") { return ty }
+ return "int"
+}
+
function emit_bin(e: Node) -> Val {
if (e.s == "and") or (e.s == "or") { return emit_logic(e) }
let a = emit_expr(e.a)
let b = emit_expr(e.b)
+ let isnull = e.a.kind == E_NULL or e.b.kind == E_NULL
+ return emit_bin_vals(e.s, a, b, isnull)
+}
+
+# lower `a b` on two already-evaluated operands. Shared by binary expressions
+# and compound assignment (`x += y` is exactly `x = x + y`), so both agree on
+# string concatenation, Q16.16 multiply/divide, and int->long promotion.
+# `isnull` marks a comparison against the literal null (pointer identity, not
+# string content).
+function emit_bin_vals(op: pointer, a: Val, b: Val, isnull: bool) -> Val {
# strings are pointer-typed, so any `+` with a pointer operand is concatenation,
# and `==`/`!=` between pointers is content comparison — except `x == null`,
# which is a pointer-identity test and falls through to the icmp below.
let ptrish = (llty(a.ty) == "ptr") or (llty(b.ty) == "ptr")
- let isnull = e.a.kind == E_NULL or e.b.kind == E_NULL
if ptrish {
- if (e.s == ("+")) { return emit_str_op("+", a, b) }
- if ((e.s == ("==")) or (e.s == ("!="))) and not isnull { return emit_str_op(e.s, a, b) }
+ if (op == ("+")) { return emit_str_op("+", a, b) }
+ if ((op == ("==")) or (op == ("!="))) and not isnull { return emit_str_op(op, a, b) }
}
let fx = (a.ty == "fixed") or (b.ty == "fixed")
# a 64-bit operand (and no fixed/ptr involved) promotes the whole expression to
# i64: the other side widens with sext, and the result stays `long`.
let lng = ((llty(a.ty) == "i64") or (llty(b.ty) == "i64")) and not fx and not ptrish
- if is_cmp(e.s) {
+ if is_cmp(op) {
var ac = a.code; var bc = b.code
var ct = "i32"
if fx { ac = to_fixed(a); bc = to_fixed(b) }
else { if lng { ct = "i64"; ac = to_long(a); bc = to_long(b) }
else { if (llty(a.ty) == "ptr") or (llty(b.ty) == "ptr") { ct = "ptr" } } } # `p == null`, str/record identity
- let c = emit_bind(`icmp {cmp_code(e.s)} {ct} {ac}, {bc}`)
+ let c = emit_bind(`icmp {cmp_code(op)} {ct} {ac}, {bc}`)
return val(emit_bind(`zext i1 {c} to i32`), "bool")
}
if lng {
let al = to_long(a); let bl = to_long(b)
- return val(emit_bind(`{arith_code(e.s)} i64 {al}, {bl}`), "long")
+ return val(emit_bind(`{arith_code(op)} i64 {al}, {bl}`), "long")
}
if fx {
let af = to_fixed(a); let bf = to_fixed(b)
- if (e.s == ("*")) {
+ if (op == ("*")) {
let a64 = emit_bind(`sext i32 {af} to i64`)
let b64 = emit_bind(`sext i32 {bf} to i64`)
let m = emit_bind(`mul i64 {a64}, {b64}`)
let sh = emit_bind(`ashr i64 {m}, 16`)
return val(emit_bind(`trunc i64 {sh} to i32`), "fixed")
}
- if (e.s == ("/")) {
+ if (op == ("/")) {
let a64 = emit_bind(`sext i32 {af} to i64`)
let ash = emit_bind(`shl i64 {a64}, 16`)
let b64 = emit_bind(`sext i32 {bf} to i64`)
let dv = emit_bind(`sdiv i64 {ash}, {b64}`)
return val(emit_bind(`trunc i64 {dv} to i32`), "fixed")
}
- let r = emit_bind(`{arith_code(e.s)} i32 {af}, {bf}`)
+ let r = emit_bind(`{arith_code(op)} i32 {af}, {bf}`)
return val(r, "fixed")
}
- let r = emit_bind(`{arith_code(e.s)} i32 {a.code}, {b.code}`)
+ let r = emit_bind(`{arith_code(op)} i32 {a.code}, {b.code}`)
return val(r, "int")
}
@@ -197,7 +213,7 @@ function emit_bin(e: Node) -> Val {
# oblivious to whether the caller used names.
function args_are_named(e: Node) -> bool {
var i = 0
- while i < len(e.kids) { if e.kids[i].kind == E_FINIT { return true }; i = i + 1 }
+ while i < len(e.kids) { if e.kids[i].kind == E_FINIT { return true }; i += 1 }
return false
}
function reorder_named(e: Node, labels: []pointer) -> void {
@@ -205,7 +221,7 @@ function reorder_named(e: Node, labels: []pointer) -> void {
var i = 0
while i < len(e.kids) {
if e.kids[i].kind != E_FINIT { perr("named and positional arguments cannot be mixed in one call") }
- i = i + 1
+ i += 1
}
if len(e.kids) != len(labels) { perr("wrong number of arguments") }
let out = new []Node
@@ -213,10 +229,10 @@ function reorder_named(e: Node, labels: []pointer) -> void {
while li < len(labels) {
var found: Node = null
var k = 0
- while k < len(e.kids) { if (e.kids[k].s == labels[li]) { found = e.kids[k] }; k = k + 1 }
+ while k < len(e.kids) { if (e.kids[k].s == labels[li]) { found = e.kids[k] }; k += 1 }
if (found == null) { perr(`no argument named {labels[li]}`) }
push(out, found.a)
- li = li + 1
+ li += 1
}
e.kids = out
}
@@ -224,14 +240,13 @@ function reorder_named(e: Node, labels: []pointer) -> void {
function param_labels(fn: Node) -> []pointer {
let out = new []pointer
var i = 0
- while i < len(fn.kids) { if fn.kids[i].kind == N_PARAM { push(out, fn.kids[i].s) }; i = i + 1 }
+ while i < len(fn.kids) { if fn.kids[i].kind == N_PARAM { push(out, fn.kids[i].s) }; i += 1 }
return out
}
function param_types(fn: Node) -> []pointer {
let out = new []pointer
var i = 0
- while i < len(fn.kids) { if fn.kids[i].kind == N_PARAM { push(out, fn.kids[i].ty) }; i = i + 1 }
+ while i < len(fn.kids) { if fn.kids[i].kind == N_PARAM { push(out, fn.kids[i].ty) }; i += 1 }
return out
}
-
diff --git a/selfhost/backend/emit_head.ludic b/selfhost/backend/emit_head.ludic
index 86e05c9c..d145ab14 100644
--- a/selfhost/backend/emit_head.ludic
+++ b/selfhost/backend/emit_head.ludic
@@ -6,19 +6,19 @@ function hexdig(n: int) -> int { if n < 10 { return 48 + n }; return 55 + n }
# emit `@.strN = ... c"escaped\00"` and return its name; % and non-print -> \XX
function emit_str_const(s: pointer) -> pointer {
let name = `@.str{itoa(ll_str)}`
- ll_str = ll_str + 1
+ ll_str += 1
let n = len(s)
emith(name); emith(" = private unnamed_addr constant [")
emith(itoa(n + 1)); emith(" x i8] c\"")
var i = 0
while i < n {
let c = s[i]
- if c == 34 or c == 92 or c < 32 or c > 126 {
- buf_putc(head, 92) # backslash
+ if c == '"' or c == CH_BACKSLASH or c < ' ' or c > '~' {
+ buf_putc(head, CH_BACKSLASH) # \XX hex escape
buf_putc(head, hexdig(c / 16))
buf_putc(head, hexdig(c % 16))
} else { buf_putc(head, c) }
- i = i + 1
+ i += 1
}
emith("\\00\"\n")
return name
@@ -64,7 +64,7 @@ function emit_global_init_fn() -> void {
let v = emit_expr(d.a)
emit(" store "); emit(llty(d.ty)); emit(" "); emit(coerce_code(v, d.ty)); emit(", ptr @g_"); emit(d.s); emit("\n")
}
- i = i + 1
+ i += 1
}
emit(" ret void\n")
code = saved
@@ -149,7 +149,7 @@ function emit_header() -> void {
if (j < g_prog_user_end) and (i >= g_prog_user_end) { perr(`property {d.s} is also a property of the engine runtime; choose another name`) }
perr(`property {d.s} is declared twice`)
}
- j = j + 1
+ j += 1
}
emith(layout_ty(d.s)); emith(" = type { ")
if len(d.kids) == 0 { emith("i32") }
@@ -157,11 +157,11 @@ function emit_header() -> void {
while f < len(d.kids) {
if f > 0 { emith(", ") }
emith(llty(d.kids[f].ty))
- f = f + 1
+ f += 1
}
emith(" }\n")
}
- i = i + 1
+ i += 1
}
# globals (vars) — aggregates/pointers default to null, scalars to 0
i = 0
@@ -174,14 +174,14 @@ function emit_header() -> void {
if (j < g_prog_user_end) and (i >= g_prog_user_end) { perr(`variable {d.s} is also a variable of the engine runtime; choose another name`) }
perr(`variable {d.s} is declared twice`)
}
- j = j + 1
+ j += 1
}
emith("@g_"); emith(d.s); emith(" = internal global ")
emith(llty(d.ty)); emith(" ")
emith(global_init(d))
emith("\n")
}
- i = i + 1
+ i += 1
}
}
@@ -198,11 +198,11 @@ function emit_extern_decls() -> void {
while f < len(d.kids) {
if f > 0 { emith(", ") }
emith(llty(d.kids[f].ty))
- f = f + 1
+ f += 1
}
emith(")\n")
}
- i = i + 1
+ i += 1
}
}
@@ -211,7 +211,7 @@ function emit_extern_decls() -> void {
# until a mismatch or a shared terminator; str_concat measures both, mallocs
# len+len+1, copies each half, and NUL-terminates. @malloc is always declared.
function emit_str_prelude() -> void {
- emith("define i32 @fn_str_eq(ptr %a, ptr %b) {\n")
+ emith("define i32 @lp_str_eq(ptr %a, ptr %b) {\n")
emith("entry:\n br label %loop\n")
emith("loop:\n %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\n")
emith(" %pa = getelementptr inbounds i8, ptr %a, i32 %i\n")
@@ -222,7 +222,7 @@ function emit_str_prelude() -> void {
emith("cont:\n %i1 = add i32 %i, 1\n br label %loop\n")
emith("ret1:\n ret i32 1\nret0:\n ret i32 0\n}\n")
- emith("define ptr @fn_str_concat(ptr %a, ptr %b) {\n")
+ emith("define ptr @lp_str_concat(ptr %a, ptr %b) {\n")
emith("entry:\n br label %al\n")
emith("al:\n %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\n")
emith(" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\n %cca = load i8, ptr %pa\n")
@@ -253,7 +253,7 @@ function emit_str_prelude() -> void {
# (string interpolation of a number). Writes digits from the end of a 24-byte
# buffer, prepends '-' for negatives, and returns a pointer into the buffer.
function emit_int_str() -> void {
- emith("define ptr @fn_int_str(i32 %n0) {\n")
+ emith("define ptr @lp_int_str(i32 %n0) {\n")
emith("entry:\n %buf = call ptr @malloc(i64 24)\n")
emith(" %isneg = icmp slt i32 %n0, 0\n %neg = sub i32 0, %n0\n")
emith(" %n = select i1 %isneg, i32 %neg, i32 %n0\n")
@@ -276,7 +276,7 @@ function emit_int_str() -> void {
# once per program that stringifies a `long` (g_uses_longstr). A 64-bit value is
# at most 20 digits plus sign and NUL, so the 24-byte scratch buffer still fits.
function emit_long_str() -> void {
- emith("define ptr @fn_long_str(i64 %n0) {\n")
+ emith("define ptr @lp_long_str(i64 %n0) {\n")
emith("entry:\n %buf = call ptr @malloc(i64 24)\n")
emith(" %isneg = icmp slt i64 %n0, 0\n %neg = sub i64 0, %n0\n")
emith(" %n = select i1 %isneg, i64 %neg, i64 %n0\n")
@@ -298,7 +298,7 @@ function emit_long_str() -> void {
# s[a..b] -> a fresh NUL-terminated copy of the bytes [a, b), emitted (once) into
# any program that slices a string. Mallocs (b-a)+1, copies, terminates.
function emit_str_slice() -> void {
- emith("define ptr @fn_str_slice(ptr %s, i32 %start, i32 %end) {\n")
+ emith("define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) {\n")
emith("entry:\n %len = sub i32 %end, %start\n %sz = add i32 %len, 1\n")
emith(" %sz64 = sext i32 %sz to i64\n %out = call ptr @malloc(i64 %sz64)\n br label %loop\n")
emith("loop:\n %i = phi i32 [ 0, %entry ], [ %i1, %body ]\n")
diff --git a/selfhost/backend/emit_new.ludic b/selfhost/backend/emit_new.ludic
index 8e3ecc72..26759bdb 100644
--- a/selfhost/backend/emit_new.ludic
+++ b/selfhost/backend/emit_new.ludic
@@ -15,7 +15,7 @@ function rec_field(rec: Node, fname: pointer) -> Node {
while i < len(rec.kids) {
let fi = rec.kids[i]
if (fi.s == fname) { return fi.a }
- i = i + 1
+ i += 1
}
return null
}
@@ -42,7 +42,7 @@ function emit_new_struct(name: pointer, rec: Node) -> Val {
let ov = rec_field(rec, fd.s) # explicit override wins over the default
if (ov != null) { let dv = emit_expr(ov); v = dv.code }
emit(" store "); emit(lt); emit(" "); emit(v); emit(", ptr "); emit(addr); emit("\n")
- f = f + 1
+ f += 1
}
return val(obj, name)
}
@@ -78,9 +78,32 @@ function emit_len(e: Node) -> Val {
function emit_push(e: Node) -> Val {
let s = emit_expr(e.kids[0])
- let el = slice_elem(s.ty)
- let elt = llty(el)
- let h = s.code
+ emit_push_into(s.code, llty(slice_elem(s.ty)), emit_expr(e.kids[1]))
+ return val("0", "void")
+}
+
+# `[a, b, c]` — a fresh slice holding the elements in order. The element type
+# is the first element's; an empty literal has none, so it is spelled `new []T`.
+function emit_list(e: Node) -> Val {
+ if len(e.kids) == 0 { perr("an empty list literal has no element type: write `new []T` instead") }
+ let first = emit_expr(e.kids[0])
+ let ty = "[]" + first.ty
+ let elt = llty(first.ty)
+ let s = emit_new_slice(ty)
+ emit_push_into(s.code, elt, first)
+ var i = 1
+ while i < len(e.kids) {
+ let v = emit_expr(e.kids[i])
+ if not (v.ty == first.ty) { perr(`list literal mixes element types {first.ty} and {v.ty}`) }
+ emit_push_into(s.code, elt, v)
+ i += 1
+ }
+ return s
+}
+
+# append the already-emitted value `v` (of LLVM element type `elt`) to the slice
+# whose header is `h`, growing the storage when it is full
+function emit_push_into(h: pointer, elt: pointer, v: Val) -> void {
let lp = slice_field(h, 1); let cp = slice_field(h, 2); let dp = slice_field(h, 0)
let l = emit_bind(`load i32, ptr {lp}`)
let c = emit_bind(`load i32, ptr {cp}`)
@@ -100,12 +123,10 @@ function emit_push(e: Node) -> Val {
emit(" store i32 "); emit(nc); emit(", ptr "); emit(cp); emit("\n")
emit(" br label %"); emit(put); emit("\n")
emit(put); emit(":\n")
- let v = emit_expr(e.kids[1])
let data = emit_bind(`load ptr, ptr {dp}`)
let slot = nreg()
emit(" "); emit(slot); emit(" = getelementptr inbounds "); emit(elt); emit(", ptr "); emit(data); emit(", i32 "); emit(l); emit("\n")
emit(" store "); emit(elt); emit(" "); emit(v.code); emit(", ptr "); emit(slot); emit("\n")
let l1 = emit_bind(`add i32 {l}, 1`)
emit(" store i32 "); emit(l1); emit(", ptr "); emit(lp); emit("\n")
- return val("0", "void")
}
diff --git a/selfhost/backend/emit_stmt.ludic b/selfhost/backend/emit_stmt.ludic
index aeacaa98..464b2794 100644
--- a/selfhost/backend/emit_stmt.ludic
+++ b/selfhost/backend/emit_stmt.ludic
@@ -6,7 +6,7 @@ function emit_block(b: Node) -> void {
while i < len(b.kids) {
if g_term { return }
emit_stmt(b.kids[i])
- i = i + 1
+ i += 1
}
}
@@ -15,6 +15,11 @@ function store_at(lt: pointer, v: pointer, addr: pointer) -> void {
emit(" store "); emit(lt); emit(" "); emit(v); emit(", ptr "); emit(addr); emit("\n")
}
+# the binary operator behind a compound assignment token: "+=" -> "+"
+function compound_op(tok: pointer) -> pointer {
+ return tok[0..1]
+}
+
function emit_assign(st: Node) -> void {
# resolve the target's address and type
let t = st.a
@@ -39,17 +44,16 @@ function emit_assign(st: Node) -> void {
else { perr("bad assignment target") } }
}
let lt = llty(ty)
- let rv = emit_expr(st.b)
+ var rv = emit_expr(st.b)
+ if not (st.s == "=") {
+ # `x op= y` is `x = x op y`: reload the target and lower through the same
+ # path as a binary expression, so fixed `*=`, string `+=` and long promotion
+ # all behave exactly like their spelled-out forms.
+ let cur = val(emit_bind(`load {lt}, ptr {addr}`), ty)
+ rv = emit_bin_vals(compound_op(st.s), cur, rv, false)
+ }
var v = coerce_code(rv, ty)
if (lt == "i8") { v = emit_bind(`trunc i32 {v} to i8`) } # narrow to a byte for p[i] = v
- if not (st.s == "=") {
- let cur = emit_bind(`load {lt}, ptr {addr}`)
- var opc = "add"
- if (st.s == ("-=")) { opc = "sub" }
- if (st.s == ("*=")) { opc = "mul" }
- if (st.s == ("/=")) { opc = "sdiv" }
- v = emit_bind(`{opc} {lt} {cur}, {v}`)
- }
store_at(lt, v, addr)
}
@@ -123,7 +127,7 @@ function emit_return(st: Node) -> void {
function arm_is_default(arm: Node) -> bool {
var p = 0
- while p < len(arm.kids) { if arm.kids[p].kind == E_ID and (arm.kids[p].s == "_") { return true }; p = p + 1 }
+ while p < len(arm.kids) { if arm.kids[p].kind == E_ID and (arm.kids[p].s == "_") { return true }; p += 1 }
return false
}
@@ -147,7 +151,7 @@ function emit_bind_payload(en: Node, pat: Node, sv: Val) -> void {
let lv = emit_bind(`load {lt}, ptr {p}`)
let slot = emit_alloca(lt); store_at(lt, lv, slot)
loc_push(pat.kids[k].s, slot, pty)
- k = k + 1
+ k += 1
}
}
@@ -178,7 +182,7 @@ function emit_match_tagged(st: Node, sv: Val, en: Node) -> void {
covered = covered | (1 << ord)
let c = emit_bind(`icmp eq i32 {tag}, {itoa(ord)}`)
if first { acc = c; first = false } else { acc = emit_bind(`or i1 {acc}, {c}`) }
- p = p + 1
+ p += 1
}
let bodyl = lbl("mbody"); let nextl = lbl("marm")
emit(" br i1 "); emit(acc); emit(", label %"); emit(bodyl); emit(", label %"); emit(nextl); emit("\n")
@@ -190,7 +194,7 @@ function emit_match_tagged(st: Node, sv: Val, en: Node) -> void {
if not g_term { emit(" br label %"); emit(endl); emit("\n") }
emit(nextl); emit(":\n"); g_term = false
}
- i = i + 1
+ i += 1
}
if (deflt != null) { emit_block(deflt.a) }
else {
@@ -199,7 +203,7 @@ function emit_match_tagged(st: Node, sv: Val, en: Node) -> void {
var m = 0
while m < len(en.kids) {
if (covered & (1 << m)) == 0 { perr(`match on {en.s} is not exhaustive: variant {en.kids[m].s} is unhandled (add it or a _ arm)`) }
- m = m + 1
+ m += 1
}
}
}
@@ -226,7 +230,7 @@ function emit_match(st: Node) -> void {
let c = emit_bind(`icmp eq i32 {sv.code}, {pv.code}`)
if first { acc = c; first = false }
else { acc = emit_bind(`or i1 {acc}, {c}`) }
- p = p + 1
+ p += 1
}
let bodyl = lbl("mbody"); let nextl = lbl("marm")
emit(" br i1 "); emit(acc); emit(", label %"); emit(bodyl); emit(", label %"); emit(nextl); emit("\n")
@@ -235,7 +239,7 @@ function emit_match(st: Node) -> void {
if not g_term { emit(" br label %"); emit(endl); emit("\n") }
emit(nextl); emit(":\n"); g_term = false
}
- i = i + 1
+ i += 1
}
if (deflt != null) { emit_block(deflt.a) }
if not g_term { emit(" br label %"); emit(endl); emit("\n") }
@@ -256,14 +260,14 @@ function emit_emit(st: Node) -> Val {
let fd = ev.kids[f]
var av: Node = null # the caller's value for this field, if given
var j = 0
- while j < len(st.a.kids) { if (st.a.kids[j].s == fd.s) { av = st.a.kids[j].a }; j = j + 1 }
+ while j < len(st.a.kids) { if (st.a.kids[j].s == fd.s) { av = st.a.kids[j].a }; j += 1 }
let lt = llty(fd.ty)
var code = "0"
if (lt == "ptr") { code = "null" }
if (av != null) { let v = emit_expr(av); code = v.code }
else { if (fd.a != null) { let dv = emit_expr(fd.a); code = dv.code } } # declared default
push(fcodes, code); push(ftys, lt)
- f = f + 1
+ f += 1
}
# N4: a remote event (@ToServer/@ToClients) serializes its payload as
# [i32 event_id][packed fields] and net_send in its direction — the far side's
@@ -276,8 +280,8 @@ function emit_emit(st: Node) -> Val {
while k < len(ev.kids) {
let dp = nreg(); emit(" "); emit(dp); emit(" = getelementptr inbounds i8, ptr @L_sendbuf, i32 "); emit(itoa(off)); emit("\n")
emit(" store "); emit(ftys[k]); emit(" "); emit(fcodes[k]); emit(", ptr "); emit(dp); emit("\n")
- off = off + net_field_ibytes(ev.kids[k].ty)
- k = k + 1
+ off += net_field_ibytes(ev.kids[k].ty)
+ k += 1
}
var peer = "0"
if (ev.ty == "toclients") { peer = "-1" } # broadcast (loopback ignores the peer id)
@@ -292,7 +296,7 @@ function emit_emit(st: Node) -> Val {
while g < len(fcodes) {
if g > 0 { buf_puts(args, ", ") }
buf_puts(args, ftys[g]); buf_puts(args, " "); buf_puts(args, fcodes[g])
- g = g + 1
+ g += 1
}
if ev.ival == 1 {
let r = nreg()
@@ -304,6 +308,7 @@ function emit_emit(st: Node) -> Val {
}
function emit_stmt(st: Node) -> void {
+ g_err_file = st.file; g_err_line = st.line # so a lowering error names its statement
emit_cov_hit(st.line) # --coverage: bump this line's hit counter (no-op otherwise)
if st.kind == S_LET {
var ty = st.ty
@@ -347,6 +352,6 @@ function emit_stmt(st: Node) -> void {
function loop_push(cont: pointer, brk: pointer) -> void {
if nloop < len(cnt_lbl) { cnt_lbl[nloop] = cont; brk_lbl[nloop] = brk }
else { push(cnt_lbl, cont); push(brk_lbl, brk) }
- nloop = nloop + 1
+ nloop += 1
}
-function loop_pop() -> void { nloop = nloop - 1 }
+function loop_pop() -> void { nloop -= 1 }
diff --git a/selfhost/backend/game/emit_ecs.ludic b/selfhost/backend/game/emit_ecs.ludic
index dc6c6251..e1bf2d0f 100644
--- a/selfhost/backend/game/emit_ecs.ludic
+++ b/selfhost/backend/game/emit_ecs.ludic
@@ -7,7 +7,7 @@ const MAX_ENT: int = 1024
function has_systems() -> bool {
var i = 0
- while i < len(prog) { if prog[i].kind == N_SYS { return true }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_SYS { return true }; i += 1 }
# a game with no hand-written handler but a well-known engine component still
# runs a frame loop — the engine owns the system that ticks that component
# (#43/#47). Treat it as a systems game so the loop / tick helpers are emitted.
@@ -16,7 +16,7 @@ function has_systems() -> bool {
}
function has_models() -> bool {
var i = 0
- while i < len(prog) { if prog[i].kind == N_ARCH { return true }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_ARCH { return true }; i += 1 }
return false
}
# does the program declare a well-known engine component? Each one is auto-ticked
@@ -30,7 +30,7 @@ function uses_engine_systems() -> bool {
# Motion / Light2D; packages append via @EngineSystem), or an Occluder (which
# feeds the Light2D pass without an esys of its own).
var i = 0
- while i < len(g_esys_comp) { if find_comp(g_esys_comp[i]) != null { return true }; i = i + 1 }
+ while i < len(g_esys_comp) { if find_comp(g_esys_comp[i]) != null { return true }; i += 1 }
if find_comp("Occluder") != null { return true }
return false
}
@@ -39,7 +39,7 @@ function uses_engine_systems() -> bool {
# compiler's auto frame loop. A game with handlers and no entry uses the auto-loop.
function has_entry() -> bool {
var i = 0
- while i < len(prog) { if prog[i].kind == N_MAIN { return true }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_MAIN { return true }; i += 1 }
return false
}
# Does this program run the ECS? A property alone no longer answers that — the
@@ -82,11 +82,11 @@ function emit_ecs_storage() -> void {
# one enabled-flag global per model and per handler (default enabled)
if c.kind == N_ARCH { emith(`@ME_{c.s} = internal global i32 1\n`) }
if c.kind == N_SYS { emith(`@HE_{c.s} = internal global i32 1\n`) }
- i = i + 1
+ i += 1
}
# one enabled-flag global per toggled layer (default shown)
var li = 0
- while li < len(g_toggled_layers) { emith(`@LE_{g_toggled_layers[li]} = internal global i32 1\n`); li = li + 1 }
+ while li < len(g_toggled_layers) { emith(`@LE_{g_toggled_layers[li]} = internal global i32 1\n`); li += 1 }
}
# L_reset(e): clear every has-flag and the archetype kind for entity e
@@ -100,7 +100,7 @@ function emit_ecs_allocator() -> void {
emit(" "); emit(hn); emit(" = getelementptr inbounds ["); emit(me); emit(" x i8], ptr @H_"); emit(prog[i].s); emit(", i32 0, i32 %e\n")
emit(" store i8 0, ptr "); emit(hn); emit("\n")
}
- i = i + 1
+ i += 1
}
emit(" %k = getelementptr inbounds ["); emit(me); emit(" x i32], ptr @L_kind, i32 0, i32 %e\n")
emit(" store i32 0, ptr %k\n")
diff --git a/selfhost/backend/game/emit_game.ludic b/selfhost/backend/game/emit_game.ludic
index d1d91ba4..e69260ea 100644
--- a/selfhost/backend/game/emit_game.ludic
+++ b/selfhost/backend/game/emit_game.ludic
@@ -68,7 +68,7 @@ function emit_engine_systems_for_phase(phase: pointer) -> void {
var i = 0
while i < len(g_esys_comp) {
if (g_esys_phase[i] == phase) { emit_one_engine_system(g_esys_comp[i], g_esys_fn[i]) }
- i = i + 1
+ i += 1
}
if (phase == "Update") {
# Tween.* fluent handles (#48): advanced each Update tick when the game uses
@@ -100,7 +100,7 @@ function emit_countdown_system() -> void {
if d.kind == N_COMP {
var any = false
var f = 0
- while f < len(d.kids) { if (d.kids[f].ty == "countdown") { any = true }; f = f + 1 }
+ while f < len(d.kids) { if (d.kids[f].ty == "countdown") { any = true }; f += 1 }
if any {
let sk = itoa(k); let nk = itoa(k + 1)
emit("c"); emit(sk); emit(":\n")
@@ -121,13 +121,13 @@ function emit_countdown_system() -> void {
emit(" %fn"); emit(fk); emit(" = select i1 %fp"); emit(fk); emit(", i32 %fd"); emit(fk); emit(", i32 %fv"); emit(fk); emit("\n")
emit(" store i32 %fn"); emit(fk); emit(", ptr %fa"); emit(fk); emit("\n")
}
- f = f + 1
+ f += 1
}
emit(" br label %c"); emit(nk); emit("\n")
- k = k + 1
+ k += 1
}
}
- i = i + 1
+ i += 1
}
emit("c"); emit(itoa(k)); emit(":\n br label %next\n")
emit("next:\n %i1 = add i32 %i, 1\n br label %loop\ndone:\n ret void\n}\n\n")
@@ -154,7 +154,7 @@ function emit_prefab_fn(pre: Node) -> void {
}
function emit_prefab_fns() -> void {
var i = 0
- while i < len(prog) { if prog[i].kind == N_PREFAB { emit_prefab_fn(prog[i]) }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_PREFAB { emit_prefab_fn(prog[i]) }; i += 1 }
g_uses_str = true
ll_t = 0; ll_lbl = 0; g_term = false; loc_reset(); nloop = 0; nself = 0
let fbody = buf_new()
@@ -167,7 +167,7 @@ function emit_prefab_fns() -> void {
if d.kind == N_PREFAB {
let lit = node(E_STR); lit.s = d.s
let sv = emit_expr(lit)
- let same = emit_bind(`call i32 @fn_str_eq(ptr %name, ptr {sv.code})`)
+ let same = emit_bind(`call i32 @lp_str_eq(ptr %name, ptr {sv.code})`)
let hit = emit_bind(`icmp ne i32 {same}, 0`)
let yes = lbl("pf"); let no = lbl("pfn")
emit(" br i1 "); emit(hit); emit(", label %"); emit(yes); emit(", label %"); emit(no); emit("\n")
@@ -176,7 +176,7 @@ function emit_prefab_fns() -> void {
emit(" ret i32 "); emit(r); emit("\n")
emit(no); emit(":\n")
}
- i = i + 1
+ i += 1
}
emit(" ret i32 -1\n")
code = saved
@@ -209,11 +209,20 @@ function phase_id(phase: pointer) -> int {
if phase == "LateUpdate" { return 3 }
if phase == "Render" { return 4 }
if phase == "Start" { return 5 }
- if phase == "OnQuit" { return 6 }
+ if phase == "OnQuit" { return 6 } # the @OnQuit hook's internal slot, never written as `phase OnQuit`
if phase == "Overlay" { return 7 } # HUD/UI pass after the engine drew sprites
+ perr(`unknown phase '{phase}'`) # the parser rejects these; a desugaring bug if we get here
return 7
}
+# the phases a handler may declare — the frame loop's buckets, in the order the
+# frame runs them (Start once, then Input … Overlay every tick)
+function is_phase_name(name: pointer) -> bool {
+ if name == "Start" or name == "Input" or name == "FixedUpdate" or name == "Update" { return true }
+ if name == "LateUpdate" or name == "Render" or name == "Overlay" { return true }
+ return false
+}
+
# --- binary-module glue (issue #64) ------------------------------------------
# A module compiled with --emit-module carries no main and no world table (the
# consumer owns them). It references the host's reflection ABI, so we (1) declare
@@ -248,7 +257,7 @@ function emit_module_glue() -> void {
var i = 0
while i < len(g_mod_sys_fn) {
emit(" call i32 @ludic_register_system(ptr @fn_"); emit(g_mod_sys_fn[i]); emit(", i32 "); emit(itoa(phase_id(g_mod_sys_phase[i]))); emit(")\n")
- i = i + 1
+ i += 1
}
emit(" ret void\n}\n\n")
# run @__ludic_mod_init at image load (dyld runs constructors before main)
@@ -309,12 +318,12 @@ function emit_calls_for_phase(phase: pointer) -> void {
while i < len(prog) {
let d = prog[i]
if d.kind == N_SYS and (d.ty == phase) and (d.c == null) { emit_call_one(d) }
- i = i + 1
+ i += 1
}
# any scene-owned handlers in this phase? gate them on one @L_scene snapshot.
var has_sc = false
i = 0
- while i < len(prog) { let d = prog[i]; if d.kind == N_SYS and (d.ty == phase) and (d.c != null) { has_sc = true }; i = i + 1 }
+ while i < len(prog) { let d = prog[i]; if d.kind == N_SYS and (d.ty == phase) and (d.c != null) { has_sc = true }; i += 1 }
if has_sc {
let cs = emit_bind("load i32, ptr @L_scene")
i = 0
@@ -328,7 +337,7 @@ function emit_calls_for_phase(phase: pointer) -> void {
emit_call_one(d)
emit(" br label %"); emit(skip); emit("\n"); emit(skip); emit(":\n")
}
- i = i + 1
+ i += 1
}
}
emit_engine_systems_for_phase(phase) # engine-owned systems run after every user handler
@@ -340,7 +349,7 @@ function emit_calls_for_phase(phase: pointer) -> void {
function emit_scene_menu_render() -> void {
var any = false
var i = 0
- while i < len(g_scenes) { if (g_scenes[i].ty != null) { any = true }; i = i + 1 }
+ while i < len(g_scenes) { if (g_scenes[i].ty != null) { any = true }; i += 1 }
if not any { return }
let cs = emit_bind("load i32, ptr @L_scene")
i = 0
@@ -353,7 +362,7 @@ function emit_scene_menu_render() -> void {
emit(run); emit(":\n call void @fn_rt_ui_render()\n")
emit(" br label %"); emit(skip); emit("\n"); emit(skip); emit(":\n")
}
- i = i + 1
+ i += 1
}
}
@@ -393,7 +402,7 @@ function emit_scene_hooks() -> void {
g_cur_scene = sc
emit_scene_fn(sc.s, "enter", sc.a, sc.ty)
emit_scene_fn(sc.s, "exit", sc.b, sc.ty)
- i = i + 1
+ i += 1
}
g_cur_scene = null
if len(g_scenes) > 0 { emit_scene_leave_fn() } # a program without scenes has no @L_scene
@@ -413,7 +422,7 @@ function emit_scene_leave_fn() -> void {
emit(" br i1 %is"); emit(k); emit(", label %leave"); emit(k); emit(", label %next"); emit(k); emit("\n")
emit("leave"); emit(k); emit(":\n call void @scene_exit_"); emit(sc.s); emit("()\n ret void\n")
emit("next"); emit(k); emit(":\n")
- i = i + 1
+ i += 1
}
emit(" ret void\n}\n\n")
}
@@ -447,7 +456,7 @@ function emit_despawn_hooks() -> void {
emit(buf_str(falloc))
emit(buf_str(fbody))
emit("}\n\n")
- i = i + 1
+ i += 1
}
emit_despawn_all_fn()
}
@@ -475,7 +484,7 @@ function emit_world_despawn_fn() -> void {
if (find_event(dev) != null) { emit(" call void @ev_"); emit(dev); emit("(i32 %e, i32 0)\n") }
emit(" br label %next"); emit(si); emit("\n")
emit("next"); emit(si); emit(":\n")
- i = i + 1
+ i += 1
}
}
if len(g_events) > 0 { emit(" call void @ludic_sweep_entity(i32 %e)\n") } # EV5: drop entity-scoped listeners
@@ -512,7 +521,7 @@ function emit_despawn_all_fn() -> void {
if (find_event(dev) != null) { emit(" call void @ev_"); emit(dev); emit("(i32 %i, i32 %reason)\n") }
emit(" br label %next"); emit(si); emit("\n")
emit("next"); emit(si); emit(":\n")
- i = i + 1
+ i += 1
}
emit(" br label %cont\n")
emit("cont:\n %i1 = add i32 %i, 1\n br label %loop\n")
@@ -557,7 +566,7 @@ function emit_event_fns() -> void {
while t < len(ev.kids) {
if t > 0 { emith(", ") }
emith(llty(ev.kids[t].ty))
- t = t + 1
+ t += 1
}
if ev.ival == 1 { if len(ev.kids) > 0 { emith(", ") }; emith("i32") }
emith(" }\n")
@@ -629,7 +638,7 @@ function emit_event_fns() -> void {
let slot = emit_alloca(lt)
emit(" store "); emit(lt); emit(" %p"); emit(itoa(f)); emit(", ptr "); emit(slot); emit("\n")
loc_push(fd.s, slot, fd.ty)
- f = f + 1
+ f += 1
}
# cancellable: zero the flag and expose its address to `cancel` in the listeners
var caddr = null
@@ -642,7 +651,7 @@ function emit_event_fns() -> void {
var i = 0
while i < len(g_onlisten) {
if (g_onlisten[i].s == en) { nloc = base; g_term = false; emit_block(g_onlisten[i].a) }
- i = i + 1
+ i += 1
}
# the open half: walk the foreign callback array in registration order
if not g_term {
@@ -684,13 +693,13 @@ function emit_event_fns() -> void {
while g < len(ev.kids) {
if g > 0 { emit(", ") }
emit(llty(ev.kids[g].ty)); emit(" %p"); emit(itoa(g))
- g = g + 1
+ g += 1
}
emit(") {\nentry:\n")
emit(buf_str(falloc))
emit(buf_str(fbody))
emit("}\n\n")
- e = e + 1
+ e += 1
}
# EV5: @ludic_sweep_entity(owner) — remove every entity-scoped listener owned by
@@ -719,8 +728,7 @@ function emit_event_fns() -> void {
emit("swd"); emit(sk); emit(":\n store i32 0, ptr %ci\n")
if (e2 + 1) < len(g_events) { emit(" br label %sw"); emit(itoa(e2 + 1)); emit("\n") }
else { emit(" ret void\n") }
- e2 = e2 + 1
+ e2 += 1
}
emit("}\n\n")
}
-
diff --git a/selfhost/backend/game/emit_machine.ludic b/selfhost/backend/game/emit_machine.ludic
index a1b7ce0b..76952d1a 100644
--- a/selfhost/backend/game/emit_machine.ludic
+++ b/selfhost/backend/game/emit_machine.ludic
@@ -37,7 +37,7 @@ function emit_machine(st: Node) -> void {
s = emit_bind(`call i32 @fn_rt_reg(i32 {regv.code})`)
}
if nmach < len(mach_stk) { mach_stk[nmach] = st } else { push(mach_stk, st) }
- nmach = nmach + 1
+ nmach += 1
let endl = lbl("smend")
var i = 0
while i < len(st.kids) {
@@ -50,11 +50,11 @@ function emit_machine(st: Node) -> void {
emit_block(state.a)
if not g_term { emit(" br label %"); emit(endl); emit("\n") }
emit(nxt); emit(":\n"); g_term = false
- i = i + 1
+ i += 1
}
if not g_term { emit(" br label %"); emit(endl); emit("\n") }
emit(endl); emit(":\n"); g_term = false
- nmach = nmach - 1
+ nmach -= 1
}
# `become Name` — a machine state transition when Name is a state of an
@@ -66,7 +66,7 @@ function emit_become(st: Node) -> void {
let m = mach_stk[nmach - 1]
var target: Node = null
var i = 0
- while i < len(m.kids) { if (m.kids[i].s == st.s) { target = m.kids[i] }; i = i + 1 }
+ while i < len(m.kids) { if (m.kids[i].s == st.s) { target = m.kids[i] }; i += 1 }
if (target != null) {
let gv = machine_var(m.a)
let sv = machine_state_value(m, target)
diff --git a/selfhost/backend/game/emit_query.ludic b/selfhost/backend/game/emit_query.ludic
index 49713735..9674504f 100644
--- a/selfhost/backend/game/emit_query.ludic
+++ b/selfhost/backend/game/emit_query.ludic
@@ -4,7 +4,7 @@
function find_arch_id(name: pointer) -> int {
var i = 0; var n = 1
- while i < len(prog) { if prog[i].kind == N_ARCH { if (prog[i].s == name) { return n }; n = n + 1 }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_ARCH { if (prog[i].s == name) { return n }; n += 1 }; i += 1 }
return 0
}
@@ -13,7 +13,7 @@ function emit_query(st: Node) -> void {
let ip = emit_alloca("i32")
store_at("i32", "0", ip)
if nself < len(self_stk) { self_stk[nself] = ip } else { push(self_stk, ip) }
- nself = nself + 1
+ nself += 1
let cond = lbl("qcond"); let body = lbl("qbody"); let nxt = lbl("qnext"); let endl = lbl("qend")
emit(" br label %"); emit(cond); emit("\n")
@@ -54,7 +54,7 @@ function emit_query(st: Node) -> void {
let keep = lbl("qt")
emit(" br i1 "); emit(ok); emit(", label %"); emit(keep); emit(", label %"); emit(nxt); emit("\n")
emit(keep); emit(":\n")
- t = t + 1
+ t += 1
}
# bind the requested components to the loop variables, in order
@@ -70,10 +70,10 @@ function emit_query(st: Node) -> void {
let vslot = emit_alloca("ptr")
emit(" store ptr "); emit(slot); emit(", ptr "); emit(vslot); emit("\n")
loc_push(st.kids[vi].s, vslot, tm.s)
- vi = vi + 1
+ vi += 1
}
}
- t = t + 1
+ t += 1
}
# optional where-clause
@@ -97,5 +97,5 @@ function emit_query(st: Node) -> void {
store_at("i32", i3, ip)
emit(" br label %"); emit(cond); emit("\n")
emit(endl); emit(":\n"); g_term = false
- nself = nself - 1
+ nself -= 1
}
diff --git a/selfhost/backend/game/emit_save.ludic b/selfhost/backend/game/emit_save.ludic
index 9252c597..a58da7d5 100644
--- a/selfhost/backend/game/emit_save.ludic
+++ b/selfhost/backend/game/emit_save.ludic
@@ -18,7 +18,7 @@ var g_off: pointer = null # current byte-offset register, buffer mode
function emit_io(fn2: pointer, p: pointer, bytes: pointer) -> void {
if (g_snap_mode == "file") {
- let r = `%io{itoa(g_iok)}`; g_iok = g_iok + 1
+ let r = `%io{itoa(g_iok)}`; g_iok += 1
emit(" "); emit(r); emit(" = call i64 @"); emit(fn2); emit("(ptr "); emit(p); emit(", i64 1, i64 "); emit(bytes); emit(", ptr %f)\n")
return
}
@@ -26,7 +26,7 @@ function emit_io(fn2: pointer, p: pointer, bytes: pointer) -> void {
let noff = `%ioff{itoa(g_iok)}`
emit(" "); emit(noff); emit(" = add i64 "); emit(g_off); emit(", "); emit(bytes); emit("\n")
g_off = noff
- g_iok = g_iok + 1
+ g_iok += 1
return
}
# buffer mode: dst/src is %buf + g_off, copy `bytes`, then advance the cursor
@@ -40,7 +40,7 @@ function emit_io(fn2: pointer, p: pointer, bytes: pointer) -> void {
let noff = `%ioff{itoa(g_iok)}`
emit(" "); emit(noff); emit(" = add i64 "); emit(g_off); emit(", "); emit(bytes); emit("\n")
g_off = noff
- g_iok = g_iok + 1
+ g_iok += 1
}
function emit_snapshot_blocks(fn2: pointer) -> void {
@@ -57,7 +57,7 @@ function emit_snapshot_blocks(fn2: pointer) -> void {
# round-trips ownership (like @L_kind). Gated, so non-@Owned snapshots are unchanged.
if net_has_owned() { emit_io(fn2, "@L_owner_arr", "%nalive") }
var i = 0
- while i < len(prog) { if prog[i].kind == N_VAR { emit_io(fn2, `@g_{prog[i].s}`, "4") }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_VAR { emit_io(fn2, `@g_{prog[i].s}`, "4") }; i += 1 }
var ci = 0
i = 0
while i < len(prog) {
@@ -67,9 +67,9 @@ function emit_snapshot_blocks(fn2: pointer) -> void {
emit(" "); emit(csz); emit(" = ptrtoint ptr getelementptr (%Cmp_"); emit(c); emit(", ptr null, i32 "); emit(me); emit(") to i64\n")
emit_io(fn2, `@S_{c}`, csz)
emit_io(fn2, `@H_{c}`, me)
- ci = ci + 1
+ ci += 1
}
- i = i + 1
+ i += 1
}
}
diff --git a/selfhost/backend/game/emit_spawn.ludic b/selfhost/backend/game/emit_spawn.ludic
index 2a2d641f..3808f576 100644
--- a/selfhost/backend/game/emit_spawn.ludic
+++ b/selfhost/backend/game/emit_spawn.ludic
@@ -6,9 +6,9 @@ function emit_hook_with_self(e: pointer, body: Node) -> void {
let sslot = emit_alloca("i32")
emit(" store i32 "); emit(e); emit(", ptr "); emit(sslot); emit("\n")
if nself < len(self_stk) { self_stk[nself] = sslot } else { push(self_stk, sslot) }
- nself = nself + 1
+ nself += 1
emit_block(body)
- nself = nself - 1
+ nself -= 1
}
function emit_init_component(e: pointer, comp: pointer, rec: Node) -> void {
@@ -30,7 +30,7 @@ function emit_init_component(e: pointer, comp: pointer, rec: Node) -> void {
if (lt == "ptr") { v = "null" }
if (fd.a != null) { let dv = emit_expr(fd.a); v = dv.code }
emit(" store "); emit(lt); emit(" "); emit(v); emit(", ptr "); emit(addr); emit("\n")
- f = f + 1
+ f += 1
}
# per-spawn overrides
if (rec != null) {
@@ -44,7 +44,7 @@ function emit_init_component(e: pointer, comp: pointer, rec: Node) -> void {
let dv = emit_expr(fi.a)
emit(" store "); emit(llty(field_type(c, fi.s))); emit(" "); emit(dv.code); emit(", ptr "); emit(addr); emit("\n")
}
- j = j + 1
+ j += 1
}
}
# @OnAttach(Property) runs once the property is attached and seeded
@@ -74,7 +74,7 @@ function emit_bind_props(model: Node, e: pointer) -> void {
let vslot = emit_alloca("ptr")
emit(" store ptr "); emit(slot); emit(", ptr "); emit(vslot); emit("\n")
loc_push(pname, vslot, pname)
- c = c + 1
+ c += 1
}
}
@@ -82,7 +82,7 @@ function emit_bind_props(model: Node, e: pointer) -> void {
function spawn_record(n: Node, cn: pointer) -> Node {
if (n == null) { return null }
var i = 0
- while i < len(n.kids) { if (n.kids[i].s == cn) { return n.kids[i].a }; i = i + 1 }
+ while i < len(n.kids) { if (n.kids[i].s == cn) { return n.kids[i].a }; i += 1 }
return null
}
# a prefab's preset fields with the spawn's own overrides after them (later wins)
@@ -91,9 +91,9 @@ function merge_records(base: Node, over: Node) -> Node {
if (over == null) { return base }
let m = node(E_REC)
var i = 0
- while i < len(base.kids) { push(m.kids, base.kids[i]); i = i + 1 }
+ while i < len(base.kids) { push(m.kids, base.kids[i]); i += 1 }
i = 0
- while i < len(over.kids) { push(m.kids, over.kids[i]); i = i + 1 }
+ while i < len(over.kids) { push(m.kids, over.kids[i]); i += 1 }
return m
}
@@ -106,7 +106,7 @@ function spawn_model(name: pointer) -> pointer {
let p = find_prefab(n)
if (p == null) { return n }
n = p.ty
- depth = depth + 1
+ depth += 1
if depth > 16 { perr(`prefab {name}: the chain of prefabs never reaches a model`) }
}
return n
@@ -132,7 +132,7 @@ function emit_spawn(st: Node) -> pointer {
while c < len(arch.kids) {
let cn = arch.kids[c].s
emit_init_component(e, cn, merge_records(prefab_record(st.s, cn), spawn_record(st, cn)))
- c = c + 1
+ c += 1
}
let ob = onspawn_body(model) # @OnSpawn(Model) hook runs after init
if (ob != null) {
@@ -147,7 +147,7 @@ function emit_spawn(st: Node) -> pointer {
if (find_event(sev) != null) { emit(" call void @ev_"); emit(sev); emit("(i32 "); emit(e); emit(")\n") }
} else {
var i = 0
- while i < len(st.kids) { emit_init_component(e, st.kids[i].s, st.kids[i].a); i = i + 1 }
+ while i < len(st.kids) { emit_init_component(e, st.kids[i].s, st.kids[i].a); i += 1 }
}
return e # the new entity id (for ludic_spawn_)
}
@@ -169,7 +169,7 @@ function emit_despawn(st: Node) -> void {
let dev = `model_{mname}_despawn` # EV1: @Public despawn event
if (find_event(dev) != null) { emit(" call void @ev_"); emit(dev); emit("(i32 "); emit(v.code); emit(", i32 0)\n") }
emit(" br label %"); emit(no); emit("\n"); emit(no); emit(":\n")
- i = i + 1
+ i += 1
}
}
if len(g_events) > 0 { emit(" call void @ludic_sweep_entity(i32 "); emit(v.code); emit(")\n") } # EV5: drop entity-scoped listeners
@@ -229,7 +229,7 @@ function emit_detach(st: Node) -> void {
# flag). A bare `` / `` flips a global enabled flag.
function find_sys(name: pointer) -> Node {
var i = 0
- while i < len(prog) { let d = prog[i]; if d.kind == N_SYS and (d.s == name) { return d }; i = i + 1 }
+ while i < len(prog) { let d = prog[i]; if d.kind == N_SYS and (d.s == name) { return d }; i += 1 }
return null
}
function emit_toggle(st: Node) -> void {
diff --git a/selfhost/backend/game/emit_ui.ludic b/selfhost/backend/game/emit_ui.ludic
index 8e1c0729..aca3ac9c 100644
--- a/selfhost/backend/game/emit_ui.ludic
+++ b/selfhost/backend/game/emit_ui.ludic
@@ -16,7 +16,7 @@ function ui_wtype(w: Node) -> int {
}
function ui_prop(w: Node, key: pointer) -> Node {
var i = 0
- while i < len(w.b.kids) { if (w.b.kids[i].s == key) { return w.b.kids[i].a }; i = i + 1 }
+ while i < len(w.b.kids) { if (w.b.kids[i].s == key) { return w.b.kids[i].a }; i += 1 }
return null
}
# a widget's props plus the text props (font, size, fg, align) it inherits from the
@@ -25,7 +25,7 @@ function ui_props_with_inherited(i: int) -> []Node {
let w = uiw[i]
let out = new []Node
var p = 0
- while p < len(w.b.kids) { push(out, w.b.kids[p]); p = p + 1 }
+ while p < len(w.b.kids) { push(out, w.b.kids[p]); p += 1 }
let keys = new []pointer
push(keys, "font"); push(keys, "size"); push(keys, "fg"); push(keys, "align")
var k = 0
@@ -34,11 +34,11 @@ function ui_props_with_inherited(i: int) -> []Node {
var a = uiw_parent[i]
while a >= 0 {
let v = ui_prop(uiw[a], keys[k])
- if (v != null) { let fi = node(E_FINIT); fi.s = keys[k]; fi.a = v; push(out, fi); a = 0 - 1 }
+ if (v != null) { let fi = node(E_FINIT); fi.s = keys[k]; fi.a = v; push(out, fi); a = -1 }
else { a = uiw_parent[a] }
}
}
- k = k + 1
+ k += 1
}
return out
}
@@ -46,19 +46,19 @@ function ui_flatten(w: Node, parent: int) -> void {
let idx = len(uiw)
push(uiw, w); push(uiw_parent, parent)
var i = 0
- while i < len(w.kids) { ui_flatten(w.kids[i], idx); i = i + 1 }
+ while i < len(w.kids) { ui_flatten(w.kids[i], idx); i += 1 }
}
function ui_flatten_all() -> void {
uiw = new []Node; uiw_parent = new []int; ui_roots = new []int
var i = 0
while i < len(prog) {
- if prog[i].kind == N_UI and prog[i].ival == 1 { push(ui_roots, len(uiw)); ui_flatten(prog[i].a, 0 - 1) }
- i = i + 1
+ if prog[i].kind == N_UI and prog[i].ival == 1 { push(ui_roots, len(uiw)); ui_flatten(prog[i].a, -1) }
+ i += 1
}
}
function has_ui() -> bool {
var i = 0
- while i < len(prog) { if prog[i].kind == N_UI and prog[i].ival == 1 { return true }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_UI and prog[i].ival == 1 { return true }; i += 1 }
return false
}
@@ -69,19 +69,19 @@ function ui_index_of(nm: pointer) -> int {
let u = 0; var bi = 0
var i = 0
while i < len(prog) {
- if prog[i].kind == N_UI and prog[i].ival == 1 { if (prog[i].s == s) { return ui_roots[bi] }; bi = bi + 1 }
- i = i + 1
+ if prog[i].kind == N_UI and prog[i].ival == 1 { if (prog[i].s == s) { return ui_roots[bi] }; bi += 1 }
+ i += 1
}
i = 0
while i < len(uiw) {
let idp = ui_prop(uiw[i], "id")
if (idp != null) { if idp.kind == E_ID and (idp.s == s) { return i } }
- i = i + 1
+ i += 1
}
return 0
}
function is_ui_ident(nm: pointer) -> bool {
- return len(nm) > 3 and nm[0] == 85 and nm[1] == 73 and nm[2] == 95 # "UI_"
+ return len(nm) > 3 and nm[0] == 'U' and nm[1] == 'I' and nm[2] == '_' # "UI_"
}
function ll_ui_set(idx: int, key: int, val: pointer) -> void {
@@ -92,7 +92,7 @@ function ui_prop_key(k: pointer) -> int {
if (k == "pad") { return 7 }; if (k == "gap") { return 8 }; if (k == "bg") { return 9 }; if (k == "fg") { return 10 }
if (k == "border") { return 11 }; if (k == "grow") { return 13 }; if (k == "font") { return 14 }; if (k == "size") { return 15 }
if (k == "inset") { return 16 }; if (k == "focus") { return 17 }
- return 0 - 1
+ return -1
}
function emit_ui_build() -> void {
@@ -116,7 +116,7 @@ function emit_ui_build() -> void {
let pr = props[p]
let k = pr.s
let v = pr.a
- if (k == "id") or (k == "goto") { p = p + 1; continue }
+ if (k == "id") or (k == "goto") { p += 1; continue }
if (k == "text") {
let sv = emit_expr(v)
emit(" call void @fn_rt_ui_static_text(i32 "); emit(itoa(i)); emit(", ptr "); emit(sv.code); emit(")\n")
@@ -138,9 +138,9 @@ function emit_ui_build() -> void {
if key == 4 or key == 5 { ll_ui_set(i, 6, "1") }
}
} } }
- p = p + 1
+ p += 1
}
- i = i + 1
+ i += 1
}
code = saved
emit("define void @ui_build() {\nentry:\n")
diff --git a/selfhost/backend/game/emit_world.ludic b/selfhost/backend/game/emit_world.ludic
index b4a90352..1a2bd094 100644
--- a/selfhost/backend/game/emit_world.ludic
+++ b/selfhost/backend/game/emit_world.ludic
@@ -23,7 +23,7 @@ function emit_world_table() -> void {
# and prop_id fall through to this table for a prop id >= NC.
var ncomp = 0
var ci0 = 0
- while ci0 < len(prog) { if prog[ci0].kind == N_COMP { ncomp = ncomp + 1 }; ci0 = ci0 + 1 }
+ while ci0 < len(prog) { if prog[ci0].kind == N_COMP { ncomp += 1 }; ci0 += 1 }
let NC = itoa(ncomp)
emith("@dyn_count = global i32 0\n")
emith("@dynS = global [32 x ptr] zeroinitializer\n") # storage base per dyn component
@@ -43,9 +43,9 @@ function emit_world_table() -> void {
emit(" br i1 %e"); emit(sk); emit(", label %h"); emit(sk); emit(", label %n"); emit(sk); emit("\n")
emit("h"); emit(sk); emit(":\n ret i32 "); emit(sk); emit("\n")
emit("n"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
# EV7: not a compile-time component — search the dynamic (mod-registered) names
emit(" %dpi = alloca i32\n store i32 0, ptr %dpi\n br label %dpl\n")
@@ -72,13 +72,13 @@ function emit_world_table() -> void {
emit(" br i1 %fe"); emit(fk); emit(", label %fh"); emit(fk); emit(", label %fn"); emit(fk); emit("\n")
emit("fh"); emit(fk); emit(":\n ret i32 "); emit(itoa(f)); emit("\n")
emit("fn"); emit(fk); emit(":\n")
- f = f + 1
+ f += 1
}
emit(" ret i32 -1\n")
emit("pn"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
emit(" ret i32 -1\n}\n\n")
@@ -115,13 +115,13 @@ function emit_world_table() -> void {
emit(" %gr"); emit(fk); emit(" = sext i32 %gl"); emit(fk); emit(" to i64\n ret i64 %gr"); emit(fk); emit("\n")
} }
emit("gk"); emit(fk); emit(":\n")
- fj = fj + 1
+ fj += 1
}
emit(" ret i64 0\n")
emit("gn"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
# EV7: prop id >= NC -> a mod-registered component; index its flat storage
emit(" %gdyn = sub i32 %p, "); emit(NC); emit("\n")
@@ -158,13 +158,13 @@ function emit_world_table() -> void {
emit(" store i32 %sw"); emit(fk); emit(", ptr %sa"); emit(fk); emit("\n ret void\n")
} }
emit("sk"); emit(fk); emit(":\n")
- fj = fj + 1
+ fj += 1
}
emit(" ret void\n")
emit("gn"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
# EV7: prop id >= NC -> a mod-registered component
emit(" %sdyn = sub i32 %p, "); emit(NC); emit("\n")
@@ -186,9 +186,9 @@ function emit_world_table() -> void {
emit(" %hv"); emit(sk); emit(" = load i8, ptr %hp"); emit(sk); emit("\n")
emit(" %hr"); emit(sk); emit(" = zext i8 %hv"); emit(sk); emit(" to i32\n ret i32 %hr"); emit(sk); emit("\n")
emit("gn"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
# EV7: prop id >= NC -> a mod-registered component's has-flag array
emit(" %hdyn = sub i32 %p, "); emit(NC); emit("\n")
@@ -234,9 +234,9 @@ function emit_world_table() -> void {
emit(" br i1 %mde"); emit(sk); emit(", label %mdh"); emit(sk); emit(", label %mdn"); emit(sk); emit("\n")
emit("mdh"); emit(sk); emit(":\n ret i32 "); emit(itoa(find_arch_id(prog[i].s))); emit("\n")
emit("mdn"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
emit(" ret i32 -1\n}\n\n")
@@ -263,7 +263,7 @@ function emit_world_table() -> void {
emit(buf_str(fbody))
emit("}\n\n")
}
- i = i + 1
+ i += 1
}
emit("define i32 @ludic_spawn(i32 %m) {\nentry:\n")
k = 0; i = 0
@@ -274,9 +274,9 @@ function emit_world_table() -> void {
emit(" br i1 %sm"); emit(sk); emit(", label %sh"); emit(sk); emit(", label %sn"); emit(sk); emit("\n")
emit("sh"); emit(sk); emit(":\n %sr"); emit(sk); emit(" = call i32 @ludic_spawn_"); emit(m); emit("()\n ret i32 %sr"); emit(sk); emit("\n")
emit("sn"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
emit(" ret i32 -1\n}\n\n")
@@ -309,7 +309,7 @@ function emit_world_reflect_enum() -> void {
# count the compile-time components (== the first dynamic prop id)
var ncomp = 0
var i = 0
- while i < len(prog) { if prog[i].kind == N_COMP { ncomp = ncomp + 1 }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_COMP { ncomp += 1 }; i += 1 }
let NC = itoa(ncomp)
# ludic_prop_count() -> total property count (compile-time + mod-registered)
@@ -326,9 +326,9 @@ function emit_world_reflect_enum() -> void {
emit(" br i1 %pe"); emit(sk); emit(", label %ph"); emit(sk); emit(", label %pn"); emit(sk); emit("\n")
emit("ph"); emit(sk); emit(":\n ret ptr "); emit(sc); emit("\n")
emit("pn"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
emit(" %dyn = sub i32 %i, "); emit(NC); emit("\n %dc = load i32, ptr @dyn_count\n")
emit(" %ib = icmp uge i32 %dyn, %dc\n br i1 %ib, label %pbad, label %pdyn\n")
@@ -345,9 +345,9 @@ function emit_world_reflect_enum() -> void {
emit(" br i1 %fce"); emit(sk); emit(", label %fch"); emit(sk); emit(", label %fcn"); emit(sk); emit("\n")
emit("fch"); emit(sk); emit(":\n ret i32 "); emit(itoa(len(c.kids))); emit("\n")
emit("fcn"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
emit(" %dyn = sub i32 %p, "); emit(NC); emit("\n %dc = load i32, ptr @dyn_count\n")
emit(" %ib = icmp uge i32 %dyn, %dc\n br i1 %ib, label %fcbad, label %fcdyn\n")
@@ -370,13 +370,13 @@ function emit_world_reflect_enum() -> void {
emit(" br i1 %fnfe"); emit(fk); emit(", label %fnfh"); emit(fk); emit(", label %fnfn"); emit(fk); emit("\n")
emit("fnfh"); emit(fk); emit(":\n ret ptr "); emit(fc); emit("\n")
emit("fnfn"); emit(fk); emit(":\n")
- f = f + 1
+ f += 1
}
emit(" ret ptr "); emit(empty); emit("\n")
emit("fnn"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
emit(" ret ptr "); emit(empty); emit("\n}\n\n")
@@ -396,13 +396,13 @@ function emit_world_reflect_enum() -> void {
emit(" br i1 %ftfe"); emit(fk); emit(", label %ftfh"); emit(fk); emit(", label %ftfn"); emit(fk); emit("\n")
emit("ftfh"); emit(fk); emit(":\n ret ptr "); emit(tc); emit("\n")
emit("ftfn"); emit(fk); emit(":\n")
- f = f + 1
+ f += 1
}
emit(" ret ptr "); emit(tint); emit("\n")
emit("ftn"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
emit(" ret ptr "); emit(tint); emit("\n}\n\n")
}
@@ -431,7 +431,7 @@ function emit_tick_helpers() -> void {
function emit_game_defs() -> void {
emit_system_registry() # #64: @ludic_register_system + the registry globals
var i = 0
- while i < len(prog) { if prog[i].kind == N_SYS { emit_system_fn(prog[i]) }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_SYS { emit_system_fn(prog[i]) }; i += 1 }
emit_despawn_hooks()
emit_scene_hooks()
if has_countdowns() { emit_countdown_system() } # `countdown` fields (see emit_game.ludic)
@@ -454,7 +454,7 @@ function emit_game_main() -> void {
var si = 0
while si < len(g_scenes) {
if (g_scenes[si].ival == g_start_scene) { emit(" call void @scene_enter_"); emit(g_scenes[si].s); emit("()\n") }
- si = si + 1
+ si += 1
}
}
if (find_event("program_start") != null) { emit(" call void @ev_program_start()\n") } # EV1: @Public @OnStart
@@ -502,7 +502,8 @@ function emit_game_main() -> void {
# with no @ClearColor is byte-identical (it clears/shows itself, or the light
# system owns the present).
if g_has_clear_color and (find_fn("rt_clear") != null) {
- emit(" call void @fn_rt_clear(i32 "); emit(itoa(g_clear_color)); emit(")\n")
+ let colour = emit_expr(g_clear_color) # a literal, a const, or a Color.Name
+ emit(" call void @fn_rt_clear(i32 "); emit(colour.code); emit(")\n")
}
emit_calls_for_phase("Render")
# Overlay: HUD / menus drawn after every engine Render system (sprites, lights), so
diff --git a/selfhost/backend/stdlib/emit_color.ludic b/selfhost/backend/stdlib/emit_color.ludic
index 4ceaa973..e4fe632e 100644
--- a/selfhost/backend/stdlib/emit_color.ludic
+++ b/selfhost/backend/stdlib/emit_color.ludic
@@ -233,4 +233,3 @@ function color_lookup(name: pointer) -> int {
if (name == "Orchid2") { return 0xAF69EF }
return -1
}
-
diff --git a/selfhost/backend/stdlib/emit_crypto.ludic b/selfhost/backend/stdlib/emit_crypto.ludic
index 2efa1d79..b8180f73 100644
--- a/selfhost/backend/stdlib/emit_crypto.ludic
+++ b/selfhost/backend/stdlib/emit_crypto.ludic
@@ -45,19 +45,19 @@ function emit_crypto_ns(meth: pointer, e: Node) -> Val {
g_uses_cryptort = true
if (meth == "sha256") { # SHA-256 -> 64-char hex string
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call ptr @fn_sha256_hex(ptr {s.code})`), "string")
+ return val(emit_bind(`call ptr @lp_sha256_hex(ptr {s.code})`), "string")
}
if (meth == "hmac_sha256") { # HMAC-SHA256 -> 64-char hex string
let k = emit_expr(e.kids[0]); let m = emit_expr(e.kids[1])
- return val(emit_bind(`call ptr @fn_hmac_sha256_hex(ptr {k.code}, ptr {m.code})`), "string")
+ return val(emit_bind(`call ptr @lp_hmac_sha256_hex(ptr {k.code}, ptr {m.code})`), "string")
}
if (meth == "hex") { # lowercase hex of a string's bytes
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call ptr @fn_str_hex(ptr {s.code})`), "string")
+ return val(emit_bind(`call ptr @lp_str_hex(ptr {s.code})`), "string")
}
if (meth == "ct_equal") { # constant-time string equality -> bool
let a = emit_expr(e.kids[0]); let b = emit_expr(e.kids[1])
- return val(emit_bind(`call i32 @fn_ct_streq(ptr {a.code}, ptr {b.code})`), "bool")
+ return val(emit_bind(`call i32 @lp_ct_streq(ptr {a.code}, ptr {b.code})`), "bool")
}
# random_bytes(n) / random_hex(n): n bytes from the OS CSPRNG, returned as a
# 2n-char lowercase hex string. A digest of raw bytes can contain NUL and a
@@ -65,21 +65,21 @@ function emit_crypto_ns(meth: pointer, e: Node) -> Val {
if (meth == "random_bytes") or (meth == "random_hex") {
let n = emit_expr(e.kids[0])
let n64 = emit_bind(`sext i32 {n.code} to i64`)
- return val(emit_bind(`call ptr @fn_random_hex(i64 {n64})`), "string")
+ return val(emit_bind(`call ptr @lp_random_hex(i64 {n64})`), "string")
}
if (meth == "random_u32") { # one CSPRNG-drawn 32-bit int
- return val(emit_bind(`call i32 @fn_random_u32()`), "int")
+ return val(emit_bind(`call i32 @lp_random_u32()`), "int")
}
if (meth == "base64") { # standard base64 (RFC 4648) of a string's bytes
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call ptr @fn_base64(ptr {s.code})`), "string")
+ return val(emit_bind(`call ptr @lp_base64(ptr {s.code})`), "string")
}
# verify_hmac(key, msg, mac): recompute HMAC-SHA256(key, msg) and compare it to
# the supplied hex `mac` in constant time. This is the safe way to check a MAC —
# `==` would leak, byte by byte, how much of a forged MAC was correct.
let k = emit_expr(e.kids[0]); let m = emit_expr(e.kids[1]); let mac = emit_expr(e.kids[2])
- let computed = emit_bind(`call ptr @fn_hmac_sha256_hex(ptr {k.code}, ptr {m.code})`)
- return val(emit_bind(`call i32 @fn_ct_streq(ptr {computed}, ptr {mac.code})`), "bool")
+ let computed = emit_bind(`call ptr @lp_hmac_sha256_hex(ptr {k.code}, ptr {m.code})`)
+ return val(emit_bind(`call i32 @lp_ct_streq(ptr {computed}, ptr {mac.code})`), "bool")
}
# emit_crypto_prelude — the SHA-256 / HMAC-SHA256 runtime, emitted once per program
@@ -91,13 +91,13 @@ function emit_crypto_prelude() -> void {
emith("@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]\n")
# rotate a 32-bit word right by %n (1..31)
- emith("define i32 @fn_rotr32(i32 %x, i32 %n) {\n")
+ emith("define i32 @lp_rotr32(i32 %x, i32 %n) {\n")
emith(" %r = lshr i32 %x, %n\n %m = sub i32 32, %n\n %l = shl i32 %x, %m\n %o = or i32 %r, %l\n ret i32 %o\n}\n")
# SHA-256 of %len bytes at %msg -> the 32 raw digest bytes at %out. Pads into a
# fresh malloc'd buffer (append 0x80, zero-fill, 64-bit big-endian bit length),
# then runs the standard 64-round compression over each 512-bit block.
- emith("define void @fn_sha256_buf(ptr %msg, i64 %len, ptr %out) {\n")
+ emith("define void @lp_sha256_buf(ptr %msg, i64 %len, ptr %out) {\n")
emith("entry:\n")
emith(" %H = alloca [8 x i32]\n %W = alloca [64 x i32]\n")
emith(" %a = alloca i32\n %b = alloca i32\n %c = alloca i32\n %d = alloca i32\n %e = alloca i32\n %f = alloca i32\n %g = alloca i32\n %h = alloca i32\n")
@@ -149,10 +149,10 @@ function emit_crypto_prelude() -> void {
emith("w2c:\n %xi = load i64, ptr %ip\n %xilt = icmp slt i64 %xi, 64\n br i1 %xilt, label %w2b, label %compinit\n")
emith("w2b:\n")
emith(" %im15 = sub i64 %xi, 15\n %pm15 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im15\n %w15 = load i32, ptr %pm15\n")
- emith(" %r7 = call i32 @fn_rotr32(i32 %w15, i32 7)\n %r18 = call i32 @fn_rotr32(i32 %w15, i32 18)\n %sh3 = lshr i32 %w15, 3\n")
+ emith(" %r7 = call i32 @lp_rotr32(i32 %w15, i32 7)\n %r18 = call i32 @lp_rotr32(i32 %w15, i32 18)\n %sh3 = lshr i32 %w15, 3\n")
emith(" %x01 = xor i32 %r7, %r18\n %s0 = xor i32 %x01, %sh3\n")
emith(" %im2 = sub i64 %xi, 2\n %pm2 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im2\n %w2v = load i32, ptr %pm2\n")
- emith(" %r17 = call i32 @fn_rotr32(i32 %w2v, i32 17)\n %r19 = call i32 @fn_rotr32(i32 %w2v, i32 19)\n %sh10 = lshr i32 %w2v, 10\n")
+ emith(" %r17 = call i32 @lp_rotr32(i32 %w2v, i32 17)\n %r19 = call i32 @lp_rotr32(i32 %w2v, i32 19)\n %sh10 = lshr i32 %w2v, 10\n")
emith(" %x02 = xor i32 %r17, %r19\n %s1 = xor i32 %x02, %sh10\n")
emith(" %im16 = sub i64 %xi, 16\n %pm16 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im16\n %w16 = load i32, ptr %pm16\n")
emith(" %im7 = sub i64 %xi, 7\n %pm7 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im7\n %w7 = load i32, ptr %pm7\n")
@@ -176,7 +176,7 @@ function emit_crypto_prelude() -> void {
emith(" %av = load i32, ptr %a\n %bv = load i32, ptr %b\n %cvv = load i32, ptr %c\n %dv = load i32, ptr %d\n")
emith(" %ev = load i32, ptr %e\n %fv = load i32, ptr %f\n %gv = load i32, ptr %g\n %hv = load i32, ptr %h\n")
# S1 = rotr(e,6) ^ rotr(e,11) ^ rotr(e,25); ch = (e & f) ^ (~e & g)
- emith(" %e6 = call i32 @fn_rotr32(i32 %ev, i32 6)\n %e11 = call i32 @fn_rotr32(i32 %ev, i32 11)\n %e25 = call i32 @fn_rotr32(i32 %ev, i32 25)\n")
+ emith(" %e6 = call i32 @lp_rotr32(i32 %ev, i32 6)\n %e11 = call i32 @lp_rotr32(i32 %ev, i32 11)\n %e25 = call i32 @lp_rotr32(i32 %ev, i32 25)\n")
emith(" %S1a = xor i32 %e6, %e11\n %S1 = xor i32 %S1a, %e25\n")
emith(" %ef = and i32 %ev, %fv\n %ne = xor i32 %ev, -1\n %neg = and i32 %ne, %gv\n %ch = xor i32 %ef, %neg\n")
emith(" %kp = getelementptr [64 x i32], ptr @sha256_K, i64 0, i64 %ri\n %kv = load i32, ptr %kp\n")
@@ -184,7 +184,7 @@ function emit_crypto_prelude() -> void {
# temp1 = h + S1 + ch + K[i] + W[i]
emith(" %t1a = add i32 %hv, %S1\n %t1b = add i32 %t1a, %ch\n %t1c = add i32 %t1b, %kv\n %temp1 = add i32 %t1c, %wvr\n")
# S0 = rotr(a,2) ^ rotr(a,13) ^ rotr(a,22); maj = (a&b) ^ (a&c) ^ (b&c)
- emith(" %a2r = call i32 @fn_rotr32(i32 %av, i32 2)\n %a13 = call i32 @fn_rotr32(i32 %av, i32 13)\n %a22 = call i32 @fn_rotr32(i32 %av, i32 22)\n")
+ emith(" %a2r = call i32 @lp_rotr32(i32 %av, i32 2)\n %a13 = call i32 @lp_rotr32(i32 %av, i32 13)\n %a22 = call i32 @lp_rotr32(i32 %av, i32 22)\n")
emith(" %S0a = xor i32 %a2r, %a13\n %S0 = xor i32 %S0a, %a22\n")
emith(" %ab = and i32 %av, %bv\n %ac = and i32 %av, %cvv\n %bc = and i32 %bv, %cvv\n %mj1 = xor i32 %ab, %ac\n %maj = xor i32 %mj1, %bc\n")
emith(" %temp2 = add i32 %S0, %maj\n")
@@ -218,37 +218,37 @@ function emit_crypto_prelude() -> void {
emith("freeb:\n call void @free(ptr %buf)\n ret void\n}\n")
# one hex digit (0..15) -> its lowercase ASCII byte
- emith("define i8 @fn_hex_digit(i32 %d) {\n")
+ emith("define i8 @lp_hex_digit(i32 %d) {\n")
emith(" %lt = icmp ult i32 %d, 10\n %base = select i1 %lt, i32 48, i32 87\n %v = add i32 %base, %d\n %c = trunc i32 %v to i8\n ret i8 %c\n}\n")
# hex-encode %n bytes at %in -> a fresh null-terminated 2n-char string
- emith("define ptr @fn_hex_encode(ptr %in, i64 %n) {\n")
+ emith("define ptr @lp_hex_encode(ptr %in, i64 %n) {\n")
emith("entry:\n %ip = alloca i64\n %olen = shl i64 %n, 1\n %olen1 = add i64 %olen, 1\n %s = call ptr @malloc(i64 %olen1)\n store i64 0, ptr %ip\n br label %c\n")
emith("c:\n %i = load i64, ptr %ip\n %lt = icmp ult i64 %i, %n\n br i1 %lt, label %bdy, label %done\n")
emith("bdy:\n %pp = getelementptr i8, ptr %in, i64 %i\n %byte = load i8, ptr %pp\n %bz = zext i8 %byte to i32\n")
- emith(" %hi = lshr i32 %bz, 4\n %lo = and i32 %bz, 15\n %hc = call i8 @fn_hex_digit(i32 %hi)\n %lc = call i8 @fn_hex_digit(i32 %lo)\n")
+ emith(" %hi = lshr i32 %bz, 4\n %lo = and i32 %bz, 15\n %hc = call i8 @lp_hex_digit(i32 %hi)\n %lc = call i8 @lp_hex_digit(i32 %lo)\n")
emith(" %oi = shl i64 %i, 1\n %o0 = getelementptr i8, ptr %s, i64 %oi\n store i8 %hc, ptr %o0\n %oi1 = add i64 %oi, 1\n %o1 = getelementptr i8, ptr %s, i64 %oi1\n store i8 %lc, ptr %o1\n")
emith(" %in1 = add i64 %i, 1\n store i64 %in1, ptr %ip\n br label %c\n")
emith("done:\n %tp = getelementptr i8, ptr %s, i64 %olen\n store i8 0, ptr %tp\n ret ptr %s\n}\n")
# SHA-256 of a null-terminated string -> 64-char hex
- emith("define ptr @fn_sha256_hex(ptr %s) {\n")
+ emith("define ptr @lp_sha256_hex(ptr %s) {\n")
emith("entry:\n %dig = alloca [32 x i8]\n %len = call i64 @strlen(ptr %s)\n %dp = getelementptr [32 x i8], ptr %dig, i64 0, i64 0\n")
- emith(" call void @fn_sha256_buf(ptr %s, i64 %len, ptr %dp)\n %hex = call ptr @fn_hex_encode(ptr %dp, i64 32)\n ret ptr %hex\n}\n")
+ emith(" call void @lp_sha256_buf(ptr %s, i64 %len, ptr %dp)\n %hex = call ptr @lp_hex_encode(ptr %dp, i64 32)\n ret ptr %hex\n}\n")
# hex of a whole null-terminated string's bytes
- emith("define ptr @fn_str_hex(ptr %s) {\n")
- emith(" %n = call i64 @strlen(ptr %s)\n %h = call ptr @fn_hex_encode(ptr %s, i64 %n)\n ret ptr %h\n}\n")
+ emith("define ptr @lp_str_hex(ptr %s) {\n")
+ emith(" %n = call i64 @strlen(ptr %s)\n %h = call ptr @lp_hex_encode(ptr %s, i64 %n)\n ret ptr %h\n}\n")
# xor 64 bytes of %src with the byte %pad into %dst (the HMAC key padding step)
- emith("define void @fn_xor64(ptr %dst, ptr %src, i32 %pad) {\n")
+ emith("define void @lp_xor64(ptr %dst, ptr %src, i32 %pad) {\n")
emith("entry:\n %ip = alloca i64\n store i64 0, ptr %ip\n br label %c\n")
emith("c:\n %i = load i64, ptr %ip\n %lt = icmp ult i64 %i, 64\n br i1 %lt, label %b, label %d\n")
emith("b:\n %sp = getelementptr i8, ptr %src, i64 %i\n %sv = load i8, ptr %sp\n %sz = zext i8 %sv to i32\n %xr = xor i32 %sz, %pad\n %xb = trunc i32 %xr to i8\n %dp = getelementptr i8, ptr %dst, i64 %i\n store i8 %xb, ptr %dp\n %in = add i64 %i, 1\n store i64 %in, ptr %ip\n br label %c\n")
emith("d:\n ret void\n}\n")
# HMAC-SHA256(key, msg) -> 64-char hex (RFC 2104, block size 64).
- emith("define ptr @fn_hmac_sha256_hex(ptr %key, ptr %msg) {\n")
+ emith("define ptr @lp_hmac_sha256_hex(ptr %key, ptr %msg) {\n")
emith("entry:\n")
emith(" %k0 = alloca [64 x i8]\n %inner = alloca [32 x i8]\n %outbuf = alloca [96 x i8]\n %fin = alloca [32 x i8]\n")
emith(" %klen = call i64 @strlen(ptr %key)\n %mlen = call i64 @strlen(ptr %msg)\n")
@@ -256,24 +256,24 @@ function emit_crypto_prelude() -> void {
# K0: a key longer than the block is replaced by its own hash; otherwise it is
# right-zero-padded to 64 bytes.
emith(" %big = icmp ugt i64 %klen, 64\n br i1 %big, label %hashk, label %copyk\n")
- emith("hashk:\n call void @fn_sha256_buf(ptr %key, i64 %klen, ptr %k0p)\n br label %pads\n")
+ emith("hashk:\n call void @lp_sha256_buf(ptr %key, i64 %klen, ptr %k0p)\n br label %pads\n")
emith("copyk:\n call ptr @memcpy(ptr %k0p, ptr %key, i64 %klen)\n br label %pads\n")
emith("pads:\n")
# inner = SHA-256( (K0 ^ ipad) || msg ), ipad = 0x36
emith(" %inlen = add i64 64, %mlen\n %inbuf = call ptr @malloc(i64 %inlen)\n")
- emith(" call void @fn_xor64(ptr %inbuf, ptr %k0p, i32 54)\n")
+ emith(" call void @lp_xor64(ptr %inbuf, ptr %k0p, i32 54)\n")
emith(" %inmsg = getelementptr i8, ptr %inbuf, i64 64\n call ptr @memcpy(ptr %inmsg, ptr %msg, i64 %mlen)\n")
- emith(" %innerp = getelementptr [32 x i8], ptr %inner, i64 0, i64 0\n call void @fn_sha256_buf(ptr %inbuf, i64 %inlen, ptr %innerp)\n call void @free(ptr %inbuf)\n")
+ emith(" %innerp = getelementptr [32 x i8], ptr %inner, i64 0, i64 0\n call void @lp_sha256_buf(ptr %inbuf, i64 %inlen, ptr %innerp)\n call void @free(ptr %inbuf)\n")
# digest = SHA-256( (K0 ^ opad) || inner ), opad = 0x5c
- emith(" %outp = getelementptr [96 x i8], ptr %outbuf, i64 0, i64 0\n call void @fn_xor64(ptr %outp, ptr %k0p, i32 92)\n")
+ emith(" %outp = getelementptr [96 x i8], ptr %outbuf, i64 0, i64 0\n call void @lp_xor64(ptr %outp, ptr %k0p, i32 92)\n")
emith(" %outmsg = getelementptr i8, ptr %outbuf, i64 64\n call ptr @memcpy(ptr %outmsg, ptr %innerp, i64 32)\n")
- emith(" %finp = getelementptr [32 x i8], ptr %fin, i64 0, i64 0\n call void @fn_sha256_buf(ptr %outp, i64 96, ptr %finp)\n")
- emith(" %hex = call ptr @fn_hex_encode(ptr %finp, i64 32)\n ret ptr %hex\n}\n")
+ emith(" %finp = getelementptr [32 x i8], ptr %fin, i64 0, i64 0\n call void @lp_sha256_buf(ptr %outp, i64 96, ptr %finp)\n")
+ emith(" %hex = call ptr @lp_hex_encode(ptr %finp, i64 32)\n ret ptr %hex\n}\n")
# constant-time equality of two null-terminated strings. Length is not secret,
# so an unequal length returns early; equal-length inputs are compared with a
# data-independent XOR-accumulate that never short-circuits.
- emith("define i32 @fn_ct_streq(ptr %a, ptr %b) {\n")
+ emith("define i32 @lp_ct_streq(ptr %a, ptr %b) {\n")
emith("entry:\n %accp = alloca i32\n %ip = alloca i64\n %la = call i64 @strlen(ptr %a)\n %lb = call i64 @strlen(ptr %b)\n %eqlen = icmp eq i64 %la, %lb\n br i1 %eqlen, label %go, label %ne\n")
emith("ne:\n ret i32 0\n")
emith("go:\n store i32 0, ptr %accp\n store i64 0, ptr %ip\n br label %c\n")
@@ -295,7 +295,7 @@ function emit_secure_rand_prelude() -> void {
# fill %n bytes at %out from the OS CSPRNG. If /dev/urandom cannot be opened the
# buffer is zeroed (documented degraded mode — e.g. wasm), never left uninit.
- emith("define void @fn_secure_bytes(ptr %out, i64 %n) {\n")
+ emith("define void @lp_secure_bytes(ptr %out, i64 %n) {\n")
emith("entry:\n call ptr @memset(ptr %out, i32 0, i64 %n)\n")
emith(" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\n")
emith(" %isnull = icmp eq ptr %fp, null\n br i1 %isnull, label %fail, label %ok\n")
@@ -303,13 +303,13 @@ function emit_secure_rand_prelude() -> void {
emith("fail:\n ret void\n}\n")
# %n secure bytes -> a fresh 2n-char lowercase hex string
- emith("define ptr @fn_random_hex(i64 %n) {\n")
- emith("entry:\n %buf = call ptr @malloc(i64 %n)\n call void @fn_secure_bytes(ptr %buf, i64 %n)\n")
- emith(" %hex = call ptr @fn_hex_encode(ptr %buf, i64 %n)\n call void @free(ptr %buf)\n ret ptr %hex\n}\n")
+ emith("define ptr @lp_random_hex(i64 %n) {\n")
+ emith("entry:\n %buf = call ptr @malloc(i64 %n)\n call void @lp_secure_bytes(ptr %buf, i64 %n)\n")
+ emith(" %hex = call ptr @lp_hex_encode(ptr %buf, i64 %n)\n call void @free(ptr %buf)\n ret ptr %hex\n}\n")
# one CSPRNG-drawn i32 (little-endian assembly of four secure bytes)
- emith("define i32 @fn_random_u32() {\n")
- emith("entry:\n %b = alloca [4 x i8]\n %bp = getelementptr [4 x i8], ptr %b, i64 0, i64 0\n call void @fn_secure_bytes(ptr %bp, i64 4)\n")
+ emith("define i32 @lp_random_u32() {\n")
+ emith("entry:\n %b = alloca [4 x i8]\n %bp = getelementptr [4 x i8], ptr %b, i64 0, i64 0\n call void @lp_secure_bytes(ptr %bp, i64 4)\n")
emith(" %p0 = getelementptr i8, ptr %bp, i64 0\n %c0 = load i8, ptr %p0\n %z0 = zext i8 %c0 to i32\n")
emith(" %p1 = getelementptr i8, ptr %bp, i64 1\n %c1 = load i8, ptr %p1\n %z1 = zext i8 %c1 to i32\n %s1 = shl i32 %z1, 8\n")
emith(" %p2 = getelementptr i8, ptr %bp, i64 2\n %c2 = load i8, ptr %p2\n %z2 = zext i8 %c2 to i32\n %s2 = shl i32 %z2, 16\n")
@@ -319,7 +319,7 @@ function emit_secure_rand_prelude() -> void {
# standard base64 (RFC 4648, '+' '/' alphabet, '=' padding). The input is copied
# into a zero-padded buffer rounded up to a multiple of 3, so the 3-byte group
# loop never reads past the string; trailing '=' are written per the remainder.
- emith("define ptr @fn_base64(ptr %s) {\n")
+ emith("define ptr @lp_base64(ptr %s) {\n")
emith("entry:\n %n = call i64 @strlen(ptr %s)\n")
emith(" %n2 = add i64 %n, 2\n %grp = udiv i64 %n2, 3\n %bufn = mul i64 %grp, 3\n")
emith(" %olen = mul i64 %grp, 4\n %olen1 = add i64 %olen, 1\n %out = call ptr @malloc(i64 %olen1)\n")
diff --git a/selfhost/backend/stdlib/emit_datetime.ludic b/selfhost/backend/stdlib/emit_datetime.ludic
index bbc9c071..f186e21c 100644
--- a/selfhost/backend/stdlib/emit_datetime.ludic
+++ b/selfhost/backend/stdlib/emit_datetime.ludic
@@ -9,7 +9,7 @@
# (UTC), matching Time.now().
# The two civil<->epoch conversions are Howard Hinnant's public-domain algorithms
# (chrono-compatible, proleptic Gregorian), emitted once per program as the
-# @fn_days_from_civil / @fn_civil_from_days prelude and gated by g_uses_datert.
+# @lp_days_from_civil / @lp_civil_from_days prelude and gated by g_uses_datert.
# v1 is UTC-only with no leap seconds; instants are assumed non-negative (dates
# at or after 1970). Timezones, format/parse and a game-controlled simulated
# clock are tracked follow-ups.
@@ -42,7 +42,7 @@ function date_component(ed: pointer, which: int) -> pointer {
let yp = emit_alloca("i32")
let mp = emit_alloca("i32")
let dp = emit_alloca("i32")
- emit(` call void @fn_civil_from_days(i32 {ed}, ptr {yp}, ptr {mp}, ptr {dp})\n`)
+ emit(` call void @lp_civil_from_days(i32 {ed}, ptr {yp}, ptr {mp}, ptr {dp})\n`)
var p = yp
if (which == 1) { p = mp }
if (which == 2) { p = dp }
@@ -60,7 +60,7 @@ function emit_date_ns(meth: pointer, e: Node) -> Val {
if (meth == "new") { # new(year, month, day) -> Date (epoch-day)
g_uses_datert = true
let y = emit_expr(e.kids[0]); let m = emit_expr(e.kids[1]); let d = emit_expr(e.kids[2])
- return val(emit_bind(`call i32 @fn_days_from_civil(i32 {y.code}, i32 {m.code}, i32 {d.code})`), "int")
+ return val(emit_bind(`call i32 @lp_days_from_civil(i32 {y.code}, i32 {m.code}, i32 {d.code})`), "int")
}
if (meth == "year") { let ed = emit_expr(e.kids[0]); return val(date_component(ed.code, 0), "int") }
if (meth == "month") { let ed = emit_expr(e.kids[0]); return val(date_component(ed.code, 1), "int") }
@@ -84,13 +84,13 @@ function emit_date_ns(meth: pointer, e: Node) -> Val {
if (meth == "days_in_month") { # length of (year, month) = next month's day 0
g_uses_datert = true
let y = emit_expr(e.kids[0]); let m = emit_expr(e.kids[1])
- let this = emit_bind(`call i32 @fn_days_from_civil(i32 {y.code}, i32 {m.code}, i32 1)`)
- let dec = emit_bind(`icmp eq i32 {m.code}, 12`) # December rolls over to next January
+ let this = emit_bind(`call i32 @lp_days_from_civil(i32 {y.code}, i32 {m.code}, i32 1)`)
+ let dec = emit_bind(`icmp eq i32 {m.code}, 12`) # December rolls over to next January
let ny = emit_bind(`add i32 {y.code}, 1`)
let ny2 = emit_bind(`select i1 {dec}, i32 {ny}, i32 {y.code}`)
let nm = emit_bind(`add i32 {m.code}, 1`)
let nm2 = emit_bind(`select i1 {dec}, i32 1, i32 {nm}`)
- let next = emit_bind(`call i32 @fn_days_from_civil(i32 {ny2}, i32 {nm2}, i32 1)`)
+ let next = emit_bind(`call i32 @lp_days_from_civil(i32 {ny2}, i32 {nm2}, i32 1)`)
return val(emit_bind(`sub i32 {next}, {this}`), "int")
}
if (meth == "to_epoch") { # midnight UTC of the day, as a DateTime instant
@@ -132,21 +132,21 @@ function is_datetime_ns(meth: pointer) -> bool {
# concat two runtime string codes -> a fresh string code
function dt_concat(a: pointer, b: pointer) -> pointer {
- return emit_bind(`call ptr @fn_str_concat(ptr {a}, ptr {b})`)
+ return emit_bind(`call ptr @lp_str_concat(ptr {a}, ptr {b})`)
}
# does the pattern have token `tok` (length tlen) starting at index i?
function dt_tok_at(pat: pointer, n: int, i: int, tok: pointer, tlen: int) -> bool {
if (i + tlen) > n { return false }
var k = 0
- while k < tlen { if pat[i + k] != tok[k] { return false }; k = k + 1 }
+ while k < tlen { if pat[i + k] != tok[k] { return false }; k += 1 }
return true
}
# DateTime.format(t, "pattern") -> string. The pattern MUST be a string literal;
# the tokens YYYY / YY / MM / DD / HH / mm / ss expand to zero-padded fields and
# every other character is copied through verbatim. Expanded at compile time into
-# a fold of @fn_str_concat over literal runs and @fn_dt_pad0 field conversions.
+# a fold of @lp_str_concat over literal runs and @lp_dt_pad0 field conversions.
function emit_datetime_format(e: Node) -> Val {
g_uses_datert = true
g_uses_str = true
@@ -157,7 +157,7 @@ function emit_datetime_format(e: Node) -> Val {
# compute all six components once
let ed = dt_epochday(t.code)
let yp = emit_alloca("i32"); let mp = emit_alloca("i32"); let dp = emit_alloca("i32")
- emit(` call void @fn_civil_from_days(i32 {ed}, ptr {yp}, ptr {mp}, ptr {dp})\n`)
+ emit(` call void @lp_civil_from_days(i32 {ed}, ptr {yp}, ptr {mp}, ptr {dp})\n`)
let yv = emit_bind(`load i32, ptr {yp}`)
let mv = emit_bind(`load i32, ptr {mp}`)
let dv = emit_bind(`load i32, ptr {dp}`)
@@ -179,14 +179,14 @@ function emit_datetime_format(e: Node) -> Val {
else { if dt_tok_at(pat, n, i, "HH", 2) { field = hh; width = 2; tlen = 2 }
else { if dt_tok_at(pat, n, i, "mm", 2) { field = mi; width = 2; tlen = 2 }
else { if dt_tok_at(pat, n, i, "ss", 2) { field = ss; width = 2; tlen = 2 } } } } } } }
- if (field == null) { buf_putc(lit, pat[i]); i = i + 1 }
+ if (field == null) { buf_putc(lit, pat[i]); i += 1 }
else {
let ls = buf_str(lit)
if len(ls) > 0 { acc = dt_concat(acc, emit_str_const(ls)) }
- let piece = emit_bind(`call ptr @fn_dt_pad0(i32 {field}, i32 {width})`)
+ let piece = emit_bind(`call ptr @lp_dt_pad0(i32 {field}, i32 {width})`)
acc = dt_concat(acc, piece)
lit.len = 0 # start a fresh literal run
- i = i + tlen
+ i += tlen
}
}
let tail = buf_str(lit)
@@ -223,12 +223,12 @@ function emit_datetime_parse(e: Node) -> Val {
else { if dt_tok_at(pat, n, i, "HH", 2) { slot = hp; width = 2; tlen = 2 }
else { if dt_tok_at(pat, n, i, "mm", 2) { slot = np; width = 2; tlen = 2 }
else { if dt_tok_at(pat, n, i, "ss", 2) { slot = sp; width = 2; tlen = 2 } } } } } }
- if (slot == null) { off = off + 1; i = i + 1 }
+ if (slot == null) { off += 1; i += 1 }
else {
- let rd = emit_bind(`call i32 @fn_dt_rd(ptr {s.code}, i32 {itoa(off)}, i32 {width}, ptr {failp})`)
+ let rd = emit_bind(`call i32 @lp_dt_rd(ptr {s.code}, i32 {itoa(off)}, i32 {width}, ptr {failp})`)
store_at("i32", rd, slot)
- off = off + width
- i = i + tlen
+ off += width
+ i += tlen
}
}
let y = emit_bind(`load i32, ptr {yp}`)
@@ -237,7 +237,7 @@ function emit_datetime_parse(e: Node) -> Val {
let h = emit_bind(`load i32, ptr {hp}`)
let mn = emit_bind(`load i32, ptr {np}`)
let sc = emit_bind(`load i32, ptr {sp}`)
- let ed = emit_bind(`call i32 @fn_days_from_civil(i32 {y}, i32 {mo}, i32 {d})`)
+ let ed = emit_bind(`call i32 @lp_days_from_civil(i32 {y}, i32 {mo}, i32 {d})`)
let days = emit_bind(`mul i32 {ed}, 86400`)
let hs = emit_bind(`mul i32 {h}, 3600`)
let ns = emit_bind(`mul i32 {mn}, 60`)
@@ -256,7 +256,7 @@ function emit_datetime_ns(meth: pointer, e: Node) -> Val {
g_uses_datert = true
let y = emit_expr(e.kids[0]); let mo = emit_expr(e.kids[1]); let d = emit_expr(e.kids[2])
let h = emit_expr(e.kids[3]); let mi = emit_expr(e.kids[4]); let s = emit_expr(e.kids[5])
- let ed = emit_bind(`call i32 @fn_days_from_civil(i32 {y.code}, i32 {mo.code}, i32 {d.code})`)
+ let ed = emit_bind(`call i32 @lp_days_from_civil(i32 {y.code}, i32 {mo.code}, i32 {d.code})`)
let days = emit_bind(`mul i32 {ed}, 86400`)
let hh = emit_bind(`mul i32 {h.code}, 3600`)
let mm = emit_bind(`mul i32 {mi.code}, 60`)
@@ -306,8 +306,8 @@ function emit_datetime_ns(meth: pointer, e: Node) -> Val {
# are deterministic and bit-identical everywhere. 719468 is the day count from
# 0000-03-01 to 1970-01-01; 146097 is the days in a 400-year era.
function emit_datetime_prelude() -> void {
- # @fn_days_from_civil(y, m, d) -> days since 1970-01-01
- emith("define i32 @fn_days_from_civil(i32 %y0, i32 %m, i32 %d) {\n")
+ # @lp_days_from_civil(y, m, d) -> days since 1970-01-01
+ emith("define i32 @lp_days_from_civil(i32 %y0, i32 %m, i32 %d) {\n")
emith(" %mle2 = icmp sle i32 %m, 2\n")
emith(" %ysub = select i1 %mle2, i32 1, i32 0\n")
emith(" %y = sub i32 %y0, %ysub\n")
@@ -336,9 +336,9 @@ function emit_datetime_prelude() -> void {
emith(" %r = sub i32 %r0, 719468\n")
emith(" ret i32 %r\n")
emith("}\n")
- # @fn_civil_from_days(z0, yp, mp, dp): write the civil (year, month, day) of
+ # @lp_civil_from_days(z0, yp, mp, dp): write the civil (year, month, day) of
# the epoch-day z0 through the three out-pointers.
- emith("define void @fn_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\n")
+ emith("define void @lp_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\n")
emith(" %z = add i32 %z0, 719468\n")
emith(" %zneg = icmp slt i32 %z, 0\n")
emith(" %zm = sub i32 %z, 146096\n")
@@ -381,9 +381,9 @@ function emit_datetime_prelude() -> void {
emith(" store i32 %dd, ptr %dp\n")
emith(" ret void\n")
emith("}\n")
- # @fn_dt_pad0(v, w): a fresh, malloc'd, w-digit zero-padded decimal of v
+ # @lp_dt_pad0(v, w): a fresh, malloc'd, w-digit zero-padded decimal of v
# (v assumed non-negative). Backs DateTime.format's numeric fields.
- emith("define ptr @fn_dt_pad0(i32 %v, i32 %w) {\n")
+ emith("define ptr @lp_dt_pad0(i32 %v, i32 %w) {\n")
emith(" %we = zext i32 %w to i64\n")
emith(" %sz = add i64 %we, 1\n")
emith(" %buf = call ptr @malloc(i64 %sz)\n")
@@ -397,9 +397,9 @@ function emit_datetime_prelude() -> void {
emith(" %cp = getelementptr i8, ptr %buf, i32 %k\n store i8 %ch8, ptr %cp\n")
emith(" %vn = sdiv i32 %vv, 10\n store i32 %vn, ptr %vp\n %kn = sub i32 %k, 1\n store i32 %kn, ptr %kp\n br label %loop\n")
emith("done:\n ret ptr %buf\n}\n")
- # @fn_dt_rd(s, off, w, failp): read w decimal digits of s starting at off into an
+ # @lp_dt_rd(s, off, w, failp): read w decimal digits of s starting at off into an
# int; on any non-digit set *failp = 1. Backs DateTime.parse's fixed-width fields.
- emith("define i32 @fn_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\n")
+ emith("define i32 @lp_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\n")
emith(" %accp = alloca i32\n store i32 0, ptr %accp\n %kp = alloca i32\n store i32 0, ptr %kp\n")
emith(" br label %loop\n")
emith("loop:\n %k = load i32, ptr %kp\n %kok = icmp slt i32 %k, %w\n br i1 %kok, label %body, label %done\n")
diff --git a/selfhost/backend/stdlib/emit_ease.ludic b/selfhost/backend/stdlib/emit_ease.ludic
index c59c238d..65c9f015 100644
--- a/selfhost/backend/stdlib/emit_ease.ludic
+++ b/selfhost/backend/stdlib/emit_ease.ludic
@@ -65,10 +65,10 @@ function ease_eval(mode: int, t: pointer) -> pointer {
g_uses_mathrt = true # 2^(-10t) * sin((10t - 0.75) * 2pi/3) + 1
let tt = emit_bind(`mul i32 {t}, 10`) # 10t
let ntt = emit_bind(`sub i32 0, {tt}`) # -10t (exp2 exponent, Q16.16)
- let decay = emit_bind(`call i32 @fn_fx_exp2(i32 {ntt})`)
+ let decay = emit_bind(`call i32 @lp_fx_exp2(i32 {ntt})`)
let ph = emit_bind(`sub i32 {tt}, 49152`) # 10t - 0.75
let ang = fx_mul_code(ph, "137258") # * (2pi/3), 2pi/3 = 137258 fixed
- let s = emit_bind(`call i32 @fn_fx_sin(i32 {ang})`)
+ let s = emit_bind(`call i32 @lp_fx_sin(i32 {ang})`)
let osc = fx_mul_code(decay, s)
return emit_bind(`add i32 {osc}, 65536`)
}
@@ -82,6 +82,6 @@ function emit_ease_ns(meth: pointer, e: Node) -> Val {
if (meth == "out") { return val(ease_eval(2, t.code), "fixed") }
if (meth == "in_out") { return val(ease_eval(3, t.code), "fixed") }
if (meth == "back") { return val(ease_eval(4, t.code), "fixed") }
- if (meth == "elastic"){ return val(ease_eval(5, t.code), "fixed") }
+ if (meth == "elastic") { return val(ease_eval(5, t.code), "fixed") }
return val(ease_eval(6, t.code), "fixed") # bounce
}
diff --git a/selfhost/backend/stdlib/emit_fs.ludic b/selfhost/backend/stdlib/emit_fs.ludic
index 20d822e8..c98f74e4 100644
--- a/selfhost/backend/stdlib/emit_fs.ludic
+++ b/selfhost/backend/stdlib/emit_fs.ludic
@@ -54,38 +54,38 @@ function is_mime_ns(meth: pointer) -> bool {
function emit_fs_ns(meth: pointer, e: Node) -> Val {
g_uses_fsrt = true
let a = emit_expr(e.kids[0])
- if (meth == "exists") { return val(emit_bind(`call i32 @fn_fs_exists(ptr {a.code})`), "bool") }
- if (meth == "is_dir") { return val(emit_bind(`call i32 @fn_fs_is_dir(ptr {a.code})`), "bool") }
- if (meth == "read_text") { return val(emit_bind(`call ptr @fn_fs_read_text(ptr {a.code})`), "string") }
- if (meth == "remove") { return val(emit_bind(`call i32 @fn_fs_remove(ptr {a.code})`), "bool") }
- if (meth == "size") { return val(emit_bind(`call i32 @fn_fs_size(ptr {a.code})`), "int") }
- if (meth == "mkdir") { return val(emit_bind(`call i32 @fn_fs_mkdir(ptr {a.code})`), "bool") }
- if (meth == "list") { return val(emit_bind(`call ptr @fn_fs_list(ptr {a.code})`), "[]string") }
+ if (meth == "exists") { return val(emit_bind(`call i32 @lp_fs_exists(ptr {a.code})`), "bool") }
+ if (meth == "is_dir") { return val(emit_bind(`call i32 @lp_fs_is_dir(ptr {a.code})`), "bool") }
+ if (meth == "read_text") { return val(emit_bind(`call ptr @lp_fs_read_text(ptr {a.code})`), "string") }
+ if (meth == "remove") { return val(emit_bind(`call i32 @lp_fs_remove(ptr {a.code})`), "bool") }
+ if (meth == "size") { return val(emit_bind(`call i32 @lp_fs_size(ptr {a.code})`), "int") }
+ if (meth == "mkdir") { return val(emit_bind(`call i32 @lp_fs_mkdir(ptr {a.code})`), "bool") }
+ if (meth == "list") { return val(emit_bind(`call ptr @lp_fs_list(ptr {a.code})`), "[]string") }
let b = emit_expr(e.kids[1])
- if (meth == "write_text") { return val(emit_bind(`call i32 @fn_fs_write_text(ptr {a.code}, ptr {b.code})`), "bool") }
- if (meth == "append_text") { return val(emit_bind(`call i32 @fn_fs_append_text(ptr {a.code}, ptr {b.code})`), "bool") }
+ if (meth == "write_text") { return val(emit_bind(`call i32 @lp_fs_write_text(ptr {a.code}, ptr {b.code})`), "bool") }
+ if (meth == "append_text") { return val(emit_bind(`call i32 @lp_fs_append_text(ptr {a.code}, ptr {b.code})`), "bool") }
# copy
- return val(emit_bind(`call i32 @fn_fs_copy(ptr {a.code}, ptr {b.code})`), "bool")
+ return val(emit_bind(`call i32 @lp_fs_copy(ptr {a.code}, ptr {b.code})`), "bool")
}
function emit_path_ns(meth: pointer, e: Node) -> Val {
g_uses_fsrt = true
let a = emit_expr(e.kids[0])
- if (meth == "dir") { return val(emit_bind(`call ptr @fn_path_dir(ptr {a.code})`), "string") }
- if (meth == "base") { return val(emit_bind(`call ptr @fn_path_base(ptr {a.code})`), "string") }
- if (meth == "ext") { return val(emit_bind(`call ptr @fn_path_ext(ptr {a.code})`), "string") }
- if (meth == "stem") { return val(emit_bind(`call ptr @fn_path_stem(ptr {a.code})`), "string") }
- if (meth == "normalize") { return val(emit_bind(`call ptr @fn_path_norm(ptr {a.code})`), "string") }
+ if (meth == "dir") { return val(emit_bind(`call ptr @lp_path_dir(ptr {a.code})`), "string") }
+ if (meth == "base") { return val(emit_bind(`call ptr @lp_path_base(ptr {a.code})`), "string") }
+ if (meth == "ext") { return val(emit_bind(`call ptr @lp_path_ext(ptr {a.code})`), "string") }
+ if (meth == "stem") { return val(emit_bind(`call ptr @lp_path_stem(ptr {a.code})`), "string") }
+ if (meth == "normalize") { return val(emit_bind(`call ptr @lp_path_norm(ptr {a.code})`), "string") }
# join
let b = emit_expr(e.kids[1])
- return val(emit_bind(`call ptr @fn_path_join(ptr {a.code}, ptr {b.code})`), "string")
+ return val(emit_bind(`call ptr @lp_path_join(ptr {a.code}, ptr {b.code})`), "string")
}
function emit_mime_ns(meth: pointer, e: Node) -> Val {
g_uses_fsrt = true
let a = emit_expr(e.kids[0])
- if (meth == "sniff") { return val(emit_bind(`call ptr @fn_mime_sniff(ptr {a.code})`), "string") }
- return val(emit_bind(`call ptr @fn_mime_of(ptr {a.code})`), "string")
+ if (meth == "sniff") { return val(emit_bind(`call ptr @lp_mime_sniff(ptr {a.code})`), "string") }
+ return val(emit_bind(`call ptr @lp_mime_of(ptr {a.code})`), "string")
}
# emit_fs_prelude — the Fs/Path/Mime runtime, emitted once per program that uses
@@ -108,15 +108,15 @@ function emit_fs_prelude() -> void {
# ---- shared helpers --------------------------------------------------------
function emit_fs_common() -> void {
# duplicate %n bytes of %s into a fresh NUL-terminated buffer
- emith("define ptr @fn_fs_dup(ptr %s, i32 %n) {\n")
+ emith("define ptr @lp_fs_dup(ptr %s, i32 %n) {\n")
emith("entry:\n %nz = zext i32 %n to i64\n %t = add i64 %nz, 1\n %m = call ptr @malloc(i64 %t)\n call ptr @memcpy(ptr %m, ptr %s, i64 %nz)\n")
emith(" %end = getelementptr i8, ptr %m, i32 %n\n store i8 0, ptr %end\n ret ptr %m\n}\n")
- emith("define ptr @fn_fs_strdup(ptr %s) {\n")
- emith("entry:\n %l = call i64 @strlen(ptr %s)\n %li = trunc i64 %l to i32\n %r = call ptr @fn_fs_dup(ptr %s, i32 %li)\n ret ptr %r\n}\n")
+ emith("define ptr @lp_fs_strdup(ptr %s) {\n")
+ emith("entry:\n %l = call i64 @strlen(ptr %s)\n %li = trunc i64 %l to i32\n %r = call ptr @lp_fs_dup(ptr %s, i32 %li)\n ret ptr %r\n}\n")
# index of the last '/' in %s, or -1 if none
- emith("define i32 @fn_fs_lastslash(ptr %s) {\n")
+ emith("define i32 @lp_fs_lastslash(ptr %s) {\n")
emith("entry:\n %ip = alloca i32\n %rp = alloca i32\n store i32 0, ptr %ip\n store i32 -1, ptr %rp\n br label %lp\n")
emith("lp:\n %i = load i32, ptr %ip\n %p = getelementptr i8, ptr %s, i32 %i\n %b = load i8, ptr %p\n %c = zext i8 %b to i32\n")
emith(" %z = icmp eq i32 %c, 0\n br i1 %z, label %done, label %go\n")
@@ -130,14 +130,14 @@ function emit_fs_common() -> void {
function emit_fs_path() -> void {
# join(a, b): b absolute -> b; a empty -> b; b empty -> a; else a + "/" + b
# (avoiding a doubled separator when a already ends with one).
- emith("define ptr @fn_path_join(ptr %a, ptr %b) {\n")
+ emith("define ptr @lp_path_join(ptr %a, ptr %b) {\n")
emith("entry:\n %la64 = call i64 @strlen(ptr %a)\n %la = trunc i64 %la64 to i32\n %lb64 = call i64 @strlen(ptr %b)\n %lb = trunc i64 %lb64 to i32\n")
emith(" %b0 = load i8, ptr %b\n %b0i = zext i8 %b0 to i32\n %babs = icmp eq i32 %b0i, 47\n br i1 %babs, label %retb, label %ka\n")
- emith("retb:\n %rb = call ptr @fn_fs_strdup(ptr %b)\n ret ptr %rb\n")
+ emith("retb:\n %rb = call ptr @lp_fs_strdup(ptr %b)\n ret ptr %rb\n")
emith("ka:\n %aemp = icmp eq i32 %la, 0\n br i1 %aemp, label %retb2, label %kb\n")
- emith("retb2:\n %rb2 = call ptr @fn_fs_strdup(ptr %b)\n ret ptr %rb2\n")
+ emith("retb2:\n %rb2 = call ptr @lp_fs_strdup(ptr %b)\n ret ptr %rb2\n")
emith("kb:\n %bemp = icmp eq i32 %lb, 0\n br i1 %bemp, label %reta, label %chk\n")
- emith("reta:\n %ra = call ptr @fn_fs_strdup(ptr %a)\n ret ptr %ra\n")
+ emith("reta:\n %ra = call ptr @lp_fs_strdup(ptr %a)\n ret ptr %ra\n")
emith("chk:\n %lam1 = sub i32 %la, 1\n %pe = getelementptr i8, ptr %a, i32 %lam1\n %ae = load i8, ptr %pe\n %aei = zext i8 %ae to i32\n %ends = icmp eq i32 %aei, 47\n")
emith(" %sep = select i1 %ends, i32 0, i32 1\n %tot = add i32 %la, %lb\n %tot2 = add i32 %tot, %sep\n %tot3 = add i32 %tot2, 1\n %totz = zext i32 %tot3 to i64\n %m = call ptr @malloc(i64 %totz)\n")
emith(" %laz = zext i32 %la to i64\n call ptr @memcpy(ptr %m, ptr %a, i64 %laz)\n")
@@ -149,39 +149,39 @@ function emit_fs_path() -> void {
emith(" %endoff = add i32 %boff, %lb\n %ep = getelementptr i8, ptr %m, i32 %endoff\n store i8 0, ptr %ep\n ret ptr %m\n}\n")
# base(p): the component after the last '/', or p itself
- emith("define ptr @fn_path_base(ptr %s) {\n")
- emith("entry:\n %ls = call i32 @fn_fs_lastslash(ptr %s)\n %none = icmp eq i32 %ls, -1\n br i1 %none, label %whole, label %tail\n")
- emith("whole:\n %r = call ptr @fn_fs_strdup(ptr %s)\n ret ptr %r\n")
- emith("tail:\n %st = add i32 %ls, 1\n %p = getelementptr i8, ptr %s, i32 %st\n %r2 = call ptr @fn_fs_strdup(ptr %p)\n ret ptr %r2\n}\n")
+ emith("define ptr @lp_path_base(ptr %s) {\n")
+ emith("entry:\n %ls = call i32 @lp_fs_lastslash(ptr %s)\n %none = icmp eq i32 %ls, -1\n br i1 %none, label %whole, label %tail\n")
+ emith("whole:\n %r = call ptr @lp_fs_strdup(ptr %s)\n ret ptr %r\n")
+ emith("tail:\n %st = add i32 %ls, 1\n %p = getelementptr i8, ptr %s, i32 %st\n %r2 = call ptr @lp_fs_strdup(ptr %p)\n ret ptr %r2\n}\n")
# dir(p): everything before the last '/', or "." if none; "/" stays "/"
- emith("define ptr @fn_path_dir(ptr %s) {\n")
- emith("entry:\n %ls = call i32 @fn_fs_lastslash(ptr %s)\n %none = icmp eq i32 %ls, -1\n br i1 %none, label %dot, label %chk0\n")
- emith("dot:\n %d = call ptr @fn_fs_strdup(ptr @fn_str_dot)\n ret ptr %d\n")
+ emith("define ptr @lp_path_dir(ptr %s) {\n")
+ emith("entry:\n %ls = call i32 @lp_fs_lastslash(ptr %s)\n %none = icmp eq i32 %ls, -1\n br i1 %none, label %dot, label %chk0\n")
+ emith("dot:\n %d = call ptr @lp_fs_strdup(ptr @fn_str_dot)\n ret ptr %d\n")
emith("chk0:\n %isroot = icmp eq i32 %ls, 0\n br i1 %isroot, label %root, label %cut\n")
- emith("root:\n %r = call ptr @fn_fs_strdup(ptr @fn_str_slash)\n ret ptr %r\n")
- emith("cut:\n %r2 = call ptr @fn_fs_dup(ptr %s, i32 %ls)\n ret ptr %r2\n}\n")
+ emith("root:\n %r = call ptr @lp_fs_strdup(ptr @fn_str_slash)\n ret ptr %r\n")
+ emith("cut:\n %r2 = call ptr @lp_fs_dup(ptr %s, i32 %ls)\n ret ptr %r2\n}\n")
# ext(p): from the last '.' in the base component to the end, incl. the dot;
# "" when the base has no '.' or begins with '.' (a dotfile has no extension)
- emith("define ptr @fn_path_ext(ptr %s) {\n")
- emith("entry:\n %ls = call i32 @fn_fs_lastslash(ptr %s)\n %bstart = add i32 %ls, 1\n") # ls=-1 -> bstart=0
+ emith("define ptr @lp_path_ext(ptr %s) {\n")
+ emith("entry:\n %ls = call i32 @lp_fs_lastslash(ptr %s)\n %bstart = add i32 %ls, 1\n") # ls=-1 -> bstart=0
emith(" %dp = alloca i32\n %ip = alloca i32\n store i32 -1, ptr %dp\n store i32 %bstart, ptr %ip\n br label %lp\n")
emith("lp:\n %i = load i32, ptr %ip\n %p = getelementptr i8, ptr %s, i32 %i\n %b = load i8, ptr %p\n %c = zext i8 %b to i32\n %z = icmp eq i32 %c, 0\n br i1 %z, label %done, label %go\n")
emith("go:\n %dot = icmp eq i32 %c, 46\n br i1 %dot, label %sd, label %nx\n")
emith("sd:\n store i32 %i, ptr %dp\n br label %nx\n")
emith("nx:\n %i1 = add i32 %i, 1\n store i32 %i1, ptr %ip\n br label %lp\n")
emith("done:\n %d = load i32, ptr %dp\n %nod = icmp eq i32 %d, -1\n br i1 %nod, label %empty, label %chkpos\n")
- emith("empty:\n %e = call ptr @fn_fs_strdup(ptr @fn_str_empty)\n ret ptr %e\n")
+ emith("empty:\n %e = call ptr @lp_fs_strdup(ptr @fn_str_empty)\n ret ptr %e\n")
emith("chkpos:\n %atstart = icmp eq i32 %d, %bstart\n br i1 %atstart, label %empty2, label %take\n")
- emith("empty2:\n %e2 = call ptr @fn_fs_strdup(ptr @fn_str_empty)\n ret ptr %e2\n")
- emith("take:\n %pp = getelementptr i8, ptr %s, i32 %d\n %r = call ptr @fn_fs_strdup(ptr %pp)\n ret ptr %r\n}\n")
+ emith("empty2:\n %e2 = call ptr @lp_fs_strdup(ptr @fn_str_empty)\n ret ptr %e2\n")
+ emith("take:\n %pp = getelementptr i8, ptr %s, i32 %d\n %r = call ptr @lp_fs_strdup(ptr %pp)\n ret ptr %r\n}\n")
# stem(p): the base component without its extension
- emith("define ptr @fn_path_stem(ptr %s) {\n")
- emith("entry:\n %base = call ptr @fn_path_base(ptr %s)\n %ext = call ptr @fn_path_ext(ptr %s)\n")
+ emith("define ptr @lp_path_stem(ptr %s) {\n")
+ emith("entry:\n %base = call ptr @lp_path_base(ptr %s)\n %ext = call ptr @lp_path_ext(ptr %s)\n")
emith(" %bl64 = call i64 @strlen(ptr %base)\n %bl = trunc i64 %bl64 to i32\n %el64 = call i64 @strlen(ptr %ext)\n %el = trunc i64 %el64 to i32\n")
- emith(" %keep = sub i32 %bl, %el\n %r = call ptr @fn_fs_dup(ptr %base, i32 %keep)\n ret ptr %r\n}\n")
+ emith(" %keep = sub i32 %bl, %el\n %r = call ptr @lp_fs_dup(ptr %base, i32 %keep)\n ret ptr %r\n}\n")
emit_fs_normalize()
}
@@ -190,7 +190,7 @@ function emit_fs_path() -> void {
# popping the previous kept segment (never above an absolute root). Preserves a
# leading '/'. An empty result becomes ".".
function emit_fs_normalize() -> void {
- emith("define ptr @fn_path_norm(ptr %s) {\n")
+ emith("define ptr @lp_path_norm(ptr %s) {\n")
emith("entry:\n %len64 = call i64 @strlen(ptr %s)\n %len = trunc i64 %len64 to i32\n %cap = add i32 %len, 2\n %capz = zext i32 %cap to i64\n")
emith(" %out = call ptr @malloc(i64 %capz)\n")
# segst holds output offsets (i32) of each kept segment's start; size cap ints
@@ -240,17 +240,17 @@ function emit_fs_normalize() -> void {
# ---- Fs.* (libc) -----------------------------------------------------------
function emit_fs_io() -> void {
- emith("define i32 @fn_fs_exists(ptr %p) {\n")
+ emith("define i32 @lp_fs_exists(ptr %p) {\n")
emith("entry:\n %r = call i32 @access(ptr %p, i32 0)\n %ok = icmp eq i32 %r, 0\n %z = zext i1 %ok to i32\n ret i32 %z\n}\n")
# is_dir: opendir succeeds iff it is a directory
- emith("define i32 @fn_fs_is_dir(ptr %p) {\n")
+ emith("define i32 @lp_fs_is_dir(ptr %p) {\n")
emith("entry:\n %d = call ptr @opendir(ptr %p)\n %nz = icmp ne ptr %d, null\n br i1 %nz, label %yes, label %no\n")
emith("yes:\n call i32 @closedir(ptr %d)\n ret i32 1\n")
emith("no:\n ret i32 0\n}\n")
# size: bytes via fseek/ftell, or -1 if it cannot be opened
- emith("define i32 @fn_fs_size(ptr %p) {\n")
+ emith("define i32 @lp_fs_size(ptr %p) {\n")
emith("entry:\n %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\n %nz = icmp ne ptr %f, null\n br i1 %nz, label %ok, label %bad\n")
emith("bad:\n ret i32 -1\n")
emith("ok:\n call i32 @fseek(ptr %f, i64 0, i32 2)\n %n = call i64 @ftell(ptr %f)\n call i32 @fclose(ptr %f)\n %ni = trunc i64 %n to i32\n ret i32 %ni\n}\n")
@@ -258,54 +258,54 @@ function emit_fs_io() -> void {
# readall: whole file into a fresh buffer; store byte length to %lenout; null on
# failure. The buffer is NUL-terminated (one past the length) so text callers
# can use it directly while binary callers use the length.
- emith("define ptr @fn_fs_readall(ptr %p, ptr %lenout) {\n")
+ emith("define ptr @lp_fs_readall(ptr %p, ptr %lenout) {\n")
emith("entry:\n store i32 0, ptr %lenout\n %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\n %nz = icmp ne ptr %f, null\n br i1 %nz, label %ok, label %bad\n")
emith("bad:\n ret ptr null\n")
emith("ok:\n call i32 @fseek(ptr %f, i64 0, i32 2)\n %n64 = call i64 @ftell(ptr %f)\n call i32 @fseek(ptr %f, i64 0, i32 0)\n %n = trunc i64 %n64 to i32\n")
emith(" %cap = add i64 %n64, 1\n %m = call ptr @malloc(i64 %cap)\n %rd = call i64 @fread(ptr %m, i64 1, i64 %n64, ptr %f)\n call i32 @fclose(ptr %f)\n")
emith(" %rdi = trunc i64 %rd to i32\n %endp = getelementptr i8, ptr %m, i32 %rdi\n store i8 0, ptr %endp\n store i32 %rdi, ptr %lenout\n ret ptr %m\n}\n")
- emith("define ptr @fn_fs_read_text(ptr %p) {\n")
- emith("entry:\n %lp = alloca i32\n %r = call ptr @fn_fs_readall(ptr %p, ptr %lp)\n ret ptr %r\n}\n")
+ emith("define ptr @lp_fs_read_text(ptr %p) {\n")
+ emith("entry:\n %lp = alloca i32\n %r = call ptr @lp_fs_readall(ptr %p, ptr %lp)\n ret ptr %r\n}\n")
# write_text: write to ".tmp" then rename over %p, so a crash mid-write
# never truncates the previous file. Returns 1 on success.
- emith("define i32 @fn_fs_write_text(ptr %p, ptr %s) {\n")
- emith("entry:\n %tmp = call ptr @fn_path_join_ext(ptr %p, ptr @fn_str_dottmp)\n %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\n %nz = icmp ne ptr %f, null\n br i1 %nz, label %ok, label %bad\n")
+ emith("define i32 @lp_fs_write_text(ptr %p, ptr %s) {\n")
+ emith("entry:\n %tmp = call ptr @lp_path_join_ext(ptr %p, ptr @fn_str_dottmp)\n %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\n %nz = icmp ne ptr %f, null\n br i1 %nz, label %ok, label %bad\n")
emith("bad:\n ret i32 0\n")
emith("ok:\n %n = call i64 @strlen(ptr %s)\n %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f)\n call i32 @fclose(ptr %f)\n")
emith(" %rr = call i32 @rename(ptr %tmp, ptr %p)\n %ok2 = icmp eq i32 %rr, 0\n %z = zext i1 %ok2 to i32\n ret i32 %z\n}\n")
# concat two strings (used to build "
.tmp"); local so write_text needs no
# dependency on the Os prelude
- emith("define ptr @fn_path_join_ext(ptr %a, ptr %b) {\n")
+ emith("define ptr @lp_path_join_ext(ptr %a, ptr %b) {\n")
emith("entry:\n %la = call i64 @strlen(ptr %a)\n %lb = call i64 @strlen(ptr %b)\n %sum = add i64 %la, %lb\n %tot = add i64 %sum, 1\n %m = call ptr @malloc(i64 %tot)\n")
emith(" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\n %m2 = getelementptr i8, ptr %m, i64 %la\n call ptr @memcpy(ptr %m2, ptr %b, i64 %lb)\n %ep = getelementptr i8, ptr %m, i64 %sum\n store i8 0, ptr %ep\n ret ptr %m\n}\n")
- emith("define i32 @fn_fs_append_text(ptr %p, ptr %s) {\n")
+ emith("define i32 @lp_fs_append_text(ptr %p, ptr %s) {\n")
emith("entry:\n %f = call ptr @fopen(ptr %p, ptr @fn_str_ab)\n %nz = icmp ne ptr %f, null\n br i1 %nz, label %ok, label %bad\n")
emith("bad:\n ret i32 0\n")
emith("ok:\n %n = call i64 @strlen(ptr %s)\n call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f)\n call i32 @fclose(ptr %f)\n ret i32 1\n}\n")
- emith("define i32 @fn_fs_remove(ptr %p) {\n")
+ emith("define i32 @lp_fs_remove(ptr %p) {\n")
emith("entry:\n %r = call i32 @remove(ptr %p)\n %ok = icmp eq i32 %r, 0\n %z = zext i1 %ok to i32\n ret i32 %z\n}\n")
# copy: byte-for-byte via readall + a sized write. Returns 1 on success.
- emith("define i32 @fn_fs_copy(ptr %src, ptr %dst) {\n")
- emith("entry:\n %lp = alloca i32\n %buf = call ptr @fn_fs_readall(ptr %src, ptr %lp)\n %nz = icmp ne ptr %buf, null\n br i1 %nz, label %ok, label %bad\n")
+ emith("define i32 @lp_fs_copy(ptr %src, ptr %dst) {\n")
+ emith("entry:\n %lp = alloca i32\n %buf = call ptr @lp_fs_readall(ptr %src, ptr %lp)\n %nz = icmp ne ptr %buf, null\n br i1 %nz, label %ok, label %bad\n")
emith("bad:\n ret i32 0\n")
- emith("ok:\n %tmp = call ptr @fn_path_join_ext(ptr %dst, ptr @fn_str_dottmp)\n %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\n %fnz = icmp ne ptr %f, null\n br i1 %fnz, label %w, label %bad\n")
+ emith("ok:\n %tmp = call ptr @lp_path_join_ext(ptr %dst, ptr @fn_str_dottmp)\n %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\n %fnz = icmp ne ptr %f, null\n br i1 %fnz, label %w, label %bad\n")
emith("w:\n %n = load i32, ptr %lp\n %nz64 = zext i32 %n to i64\n call i64 @fwrite(ptr %buf, i64 1, i64 %nz64, ptr %f)\n call i32 @fclose(ptr %f)\n %rr = call i32 @rename(ptr %tmp, ptr %dst)\n %ok2 = icmp eq i32 %rr, 0\n %z = zext i1 %ok2 to i32\n ret i32 %z\n}\n")
# mkdir: create %p and any missing parents (mkdir -p). Returns 1 if the
# directory exists afterwards. Intermediate EEXIST errors are ignored.
- emith("define i32 @fn_fs_mkdir(ptr %p) {\n")
- emith("entry:\n %dup = call ptr @fn_fs_strdup(ptr %p)\n %ip = alloca i32\n store i32 1, ptr %ip\n br label %lp\n")
+ emith("define i32 @lp_fs_mkdir(ptr %p) {\n")
+ emith("entry:\n %dup = call ptr @lp_fs_strdup(ptr %p)\n %ip = alloca i32\n store i32 1, ptr %ip\n br label %lp\n")
emith("lp:\n %i = load i32, ptr %ip\n %pp = getelementptr i8, ptr %dup, i32 %i\n %c = load i8, ptr %pp\n %ci = zext i8 %c to i32\n %z = icmp eq i32 %ci, 0\n br i1 %z, label %fin, label %go\n")
emith("go:\n %sl = icmp eq i32 %ci, 47\n br i1 %sl, label %cut, label %nx\n")
emith("cut:\n store i8 0, ptr %pp\n call i32 @mkdir(ptr %dup, i32 493)\n store i8 47, ptr %pp\n br label %nx\n")
emith("nx:\n %i1 = add i32 %i, 1\n store i32 %i1, ptr %ip\n br label %lp\n")
- emith("fin:\n call i32 @mkdir(ptr %dup, i32 493)\n %r = call i32 @fn_fs_is_dir(ptr %p)\n ret i32 %r\n}\n")
+ emith("fin:\n call i32 @mkdir(ptr %dup, i32 493)\n %r = call i32 @lp_fs_is_dir(ptr %p)\n ret i32 %r\n}\n")
}
# ---- Fs.list (+ sort) ------------------------------------------------------
@@ -314,7 +314,7 @@ function emit_fs_dir() -> void {
# by byte value for a stable, reproducible order. Each name is copied out of
# the readdir buffer before the next call. macOS/BSD dirent: d_name at offset
# 21 (documented native layout).
- emith("define ptr @fn_fs_list(ptr %path) {\n")
+ emith("define ptr @lp_fs_list(ptr %path) {\n")
emith("entry:\n %h = call ptr @malloc(i64 16)\n %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\n %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\n %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\n")
emith(" %datap = alloca ptr\n %cntp = alloca i32\n %capp = alloca i32\n %init = call ptr @malloc(i64 128)\n store ptr %init, ptr %datap\n store i32 0, ptr %cntp\n store i32 16, ptr %capp\n")
emith(" %dir = call ptr @opendir(ptr %path)\n %dnz = icmp ne ptr %dir, null\n br i1 %dnz, label %rd, label %empty\n")
@@ -325,7 +325,7 @@ function emit_fs_dir() -> void {
emith("chkdots:\n %n1p = getelementptr i8, ptr %namep, i32 1\n %n1 = load i8, ptr %n1p\n %n1i = zext i8 %n1 to i32\n %n1z = icmp eq i32 %n1i, 0\n br i1 %n1z, label %rd, label %chkdd\n") # "." -> skip
emith("chkdd:\n %isdot1 = icmp eq i32 %n1i, 46\n br i1 %isdot1, label %chkdd2, label %keep\n")
emith("chkdd2:\n %n2p = getelementptr i8, ptr %namep, i32 2\n %n2 = load i8, ptr %n2p\n %n2i = zext i8 %n2 to i32\n %n2z = icmp eq i32 %n2i, 0\n br i1 %n2z, label %rd, label %keep\n") # ".." -> skip
- emith("keep:\n %nm = call ptr @fn_fs_strdup(ptr %namep)\n")
+ emith("keep:\n %nm = call ptr @lp_fs_strdup(ptr %namep)\n")
# grow if full
emith(" %cnt = load i32, ptr %cntp\n %cap = load i32, ptr %capp\n %full = icmp sge i32 %cnt, %cap\n br i1 %full, label %grow, label %put\n")
emith("grow:\n %nc = mul i32 %cap, 2\n store i32 %nc, ptr %capp\n %ncz = zext i32 %nc to i64\n %nb = mul i64 %ncz, 8\n %old = load ptr, ptr %datap\n %new = call ptr @realloc(ptr %old, i64 %nb)\n store ptr %new, ptr %datap\n br label %put\n")
@@ -376,7 +376,7 @@ function emit_fs_mime() -> void {
# create the string constants FIRST (as module globals), then reference them
let en = new []pointer; let tn = new []pointer
var i = 0
- while i < len(exts) { push(en, emit_str_const(exts[i])); push(tn, emit_str_const(tys[i])); i = i + 1 }
+ while i < len(exts) { push(en, emit_str_const(exts[i])); push(tn, emit_str_const(tys[i])); i += 1 }
let k_octet = emit_str_const("application/octet-stream")
let n = len(exts)
@@ -386,21 +386,21 @@ function emit_fs_mime() -> void {
while i < len(exts) {
if i > 0 { emith(", ") }
emith(`{{ ptr, ptr }} {{ ptr {en[i]}, ptr {tn[i]} }}`)
- i = i + 1
+ i += 1
}
emith("]\n")
# of(path): lowercased extension, then a linear scan of the table
- emith("define ptr @fn_mime_of(ptr %path) {\n")
- emith("entry:\n %ext = call ptr @fn_path_ext(ptr %path)\n %lc = call ptr @fn_mime_lc(ptr %ext)\n %ip = alloca i32\n store i32 0, ptr %ip\n br label %lp\n")
+ emith("define ptr @lp_mime_of(ptr %path) {\n")
+ emith("entry:\n %ext = call ptr @lp_path_ext(ptr %path)\n %lc = call ptr @lp_mime_lc(ptr %ext)\n %ip = alloca i32\n store i32 0, ptr %ip\n br label %lp\n")
emith(`lp:\n %i = load i32, ptr %ip\n %lt = icmp slt i32 %i, {itoa(n)}\n br i1 %lt, label %body, label %def\n`)
emith(`body:\n %kp = getelementptr [{itoa(n)} x {{ ptr, ptr }}], ptr @mime_tbl, i32 0, i32 %i, i32 0\n %k = load ptr, ptr %kp\n %c = call i32 @strcmp(ptr %lc, ptr %k)\n %eq = icmp eq i32 %c, 0\n br i1 %eq, label %hit, label %nx\n`)
- emith(`hit:\n %vp = getelementptr [{itoa(n)} x {{ ptr, ptr }}], ptr @mime_tbl, i32 0, i32 %i, i32 1\n %v = load ptr, ptr %vp\n %r = call ptr @fn_fs_strdup(ptr %v)\n ret ptr %r\n`)
+ emith(`hit:\n %vp = getelementptr [{itoa(n)} x {{ ptr, ptr }}], ptr @mime_tbl, i32 0, i32 %i, i32 1\n %v = load ptr, ptr %vp\n %r = call ptr @lp_fs_strdup(ptr %v)\n ret ptr %r\n`)
emith("nx:\n %i1 = add i32 %i, 1\n store i32 %i1, ptr %ip\n br label %lp\n")
- emith(`def:\n %d = call ptr @fn_fs_strdup(ptr {k_octet})\n ret ptr %d\n}}\n`)
+ emith(`def:\n %d = call ptr @lp_fs_strdup(ptr {k_octet})\n ret ptr %d\n}}\n`)
# lowercase an extension, dropping a leading '.' (ASCII only, for table lookup)
- emith("define ptr @fn_mime_lc(ptr %s) {\n")
+ emith("define ptr @lp_mime_lc(ptr %s) {\n")
emith("entry:\n %l64 = call i64 @strlen(ptr %s)\n %l = trunc i64 %l64 to i32\n %cap = add i64 %l64, 1\n %out = call ptr @malloc(i64 %cap)\n")
emith(" %b0 = load i8, ptr %s\n %b0i = zext i8 %b0 to i32\n %isdot = icmp eq i32 %b0i, 46\n %start = select i1 %isdot, i32 1, i32 0\n")
emith(" %ip = alloca i32\n %op = alloca i32\n store i32 %start, ptr %ip\n store i32 0, ptr %op\n br label %lp\n")
@@ -414,23 +414,23 @@ function emit_fs_mime() -> void {
# sniff(path): read the first bytes and recognise a few well-known signatures,
# otherwise fall back to the extension. Covers PNG/JPEG/GIF/PDF for now.
function emit_fs_sniff() -> void {
- emith("define ptr @fn_mime_sniff(ptr %path) {\n")
+ emith("define ptr @lp_mime_sniff(ptr %path) {\n")
emith("entry:\n %f = call ptr @fopen(ptr %path, ptr @fn_str_rb)\n %nz = icmp ne ptr %f, null\n br i1 %nz, label %ok, label %fallback\n")
emith("ok:\n %buf = call ptr @malloc(i64 16)\n %rd = call i64 @fread(ptr %buf, i64 1, i64 8, ptr %f)\n call i32 @fclose(ptr %f)\n %rdi = trunc i64 %rd to i32\n %has4 = icmp sge i32 %rdi, 4\n br i1 %has4, label %chk, label %fallback\n")
emith("chk:\n %b0p = getelementptr i8, ptr %buf, i32 0\n %b0 = load i8, ptr %b0p\n %b0i = zext i8 %b0 to i32\n %b1p = getelementptr i8, ptr %buf, i32 1\n %b1 = load i8, ptr %b1p\n %b1i = zext i8 %b1 to i32\n %b2p = getelementptr i8, ptr %buf, i32 2\n %b2 = load i8, ptr %b2p\n %b2i = zext i8 %b2 to i32\n %b3p = getelementptr i8, ptr %buf, i32 3\n %b3 = load i8, ptr %b3p\n %b3i = zext i8 %b3 to i32\n")
# PNG: 89 50 4E 47
emith(" %p0 = icmp eq i32 %b0i, 137\n %p1 = icmp eq i32 %b1i, 80\n %p2 = icmp eq i32 %b2i, 78\n %p3 = icmp eq i32 %b3i, 71\n %pa = and i1 %p0, %p1\n %pb = and i1 %pa, %p2\n %pc = and i1 %pb, %p3\n br i1 %pc, label %png, label %cj\n")
- emith("png:\n %rpng = call ptr @fn_fs_strdup(ptr @fn_sig_png)\n ret ptr %rpng\n")
+ emith("png:\n %rpng = call ptr @lp_fs_strdup(ptr @fn_sig_png)\n ret ptr %rpng\n")
# JPEG: FF D8 FF
emith("cj:\n %j0 = icmp eq i32 %b0i, 255\n %j1 = icmp eq i32 %b1i, 216\n %j2 = icmp eq i32 %b2i, 255\n %ja = and i1 %j0, %j1\n %jb = and i1 %ja, %j2\n br i1 %jb, label %jpg, label %cg\n")
- emith("jpg:\n %rjpg = call ptr @fn_fs_strdup(ptr @fn_sig_jpg)\n ret ptr %rjpg\n")
+ emith("jpg:\n %rjpg = call ptr @lp_fs_strdup(ptr @fn_sig_jpg)\n ret ptr %rjpg\n")
# GIF: 47 49 46
emith("cg:\n %g0 = icmp eq i32 %b0i, 71\n %g1 = icmp eq i32 %b1i, 73\n %g2 = icmp eq i32 %b2i, 70\n %ga = and i1 %g0, %g1\n %gb = and i1 %ga, %g2\n br i1 %gb, label %gif, label %cp\n")
- emith("gif:\n %rgif = call ptr @fn_fs_strdup(ptr @fn_sig_gif)\n ret ptr %rgif\n")
+ emith("gif:\n %rgif = call ptr @lp_fs_strdup(ptr @fn_sig_gif)\n ret ptr %rgif\n")
# PDF: 25 50 44 46
emith("cp:\n %q0 = icmp eq i32 %b0i, 37\n %q1 = icmp eq i32 %b1i, 80\n %q2 = icmp eq i32 %b2i, 68\n %q3 = icmp eq i32 %b3i, 70\n %qa = and i1 %q0, %q1\n %qb = and i1 %qa, %q2\n %qc = and i1 %qb, %q3\n br i1 %qc, label %pdf, label %fallback\n")
- emith("pdf:\n %rpdf = call ptr @fn_fs_strdup(ptr @fn_sig_pdf)\n ret ptr %rpdf\n")
- emith("fallback:\n %r = call ptr @fn_mime_of(ptr %path)\n ret ptr %r\n}\n")
+ emith("pdf:\n %rpdf = call ptr @lp_fs_strdup(ptr @fn_sig_pdf)\n ret ptr %rpdf\n")
+ emith("fallback:\n %r = call ptr @lp_mime_of(ptr %path)\n ret ptr %r\n}\n")
# the small string constants the Fs/Path/Mime runtime references
emith("@fn_str_rb = private unnamed_addr constant [3 x i8] c\"rb\\00\"\n")
diff --git a/selfhost/backend/stdlib/emit_hash.ludic b/selfhost/backend/stdlib/emit_hash.ludic
index 765e5632..8b5a1e38 100644
--- a/selfhost/backend/stdlib/emit_hash.ludic
+++ b/selfhost/backend/stdlib/emit_hash.ludic
@@ -50,12 +50,12 @@ function emit_hash_ns(meth: pointer, e: Node) -> Val {
if (meth == "of") or (meth == "fnv1a") { # FNV-1a 32-bit over the bytes
g_uses_hashrt = true
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call i32 @fn_hash_fnv1a(ptr {s.code})`), "int")
+ return val(emit_bind(`call i32 @lp_hash_fnv1a(ptr {s.code})`), "int")
}
if (meth == "of64") or (meth == "fnv1a_64") { # FNV-1a 64-bit -> a `long`
g_uses_hashrt = true
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call i64 @fn_hash_fnv1a_64(ptr {s.code})`), "long")
+ return val(emit_bind(`call i64 @lp_hash_fnv1a_64(ptr {s.code})`), "long")
}
if (meth == "mix64") { # fmix64 avalanche of one long
let x = emit_expr(e.kids[0])
@@ -64,7 +64,7 @@ function emit_hash_ns(meth: pointer, e: Node) -> Val {
if (meth == "crc32") { # CRC-32 (IEEE) checksum
g_uses_hashrt = true
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call i32 @fn_hash_crc32(ptr {s.code})`), "int")
+ return val(emit_bind(`call i32 @lp_hash_crc32(ptr {s.code})`), "int")
}
if (meth == "mix") { # fmix32 avalanche of one int
let x = emit_expr(e.kids[0])
@@ -84,7 +84,7 @@ function emit_hash_ns(meth: pointer, e: Node) -> Val {
let t1 = emit_bind(`add i32 {g}, {sl}`)
let t2 = emit_bind(`add i32 {t1}, {sr}`)
seed = emit_bind(`xor i32 {seed}, {t2}`)
- i = i + 1
+ i += 1
}
return val(seed, "int")
}
@@ -95,7 +95,7 @@ function emit_hash_ns(meth: pointer, e: Node) -> Val {
# prime, and a bitwise CRC-32 with the reflected poly 0xEDB88320. No libc, no
# allocation, bit-identical on every target.
function emit_hash_prelude() -> void {
- emith("define i32 @fn_hash_fnv1a(ptr %s) {\n")
+ emith("define i32 @lp_hash_fnv1a(ptr %s) {\n")
emith("entry:\n")
emith(" %hp = alloca i32\n")
emith(" store i32 -2128831035, ptr %hp\n") # 0x811c9dc5 offset basis
@@ -121,7 +121,7 @@ function emit_hash_prelude() -> void {
emith(" %hr = load i32, ptr %hp\n")
emith(" ret i32 %hr\n")
emith("}\n")
- emith("define i64 @fn_hash_fnv1a_64(ptr %s) {\n") # 64-bit FNV-1a, same shape, i64
+ emith("define i64 @lp_hash_fnv1a_64(ptr %s) {\n") # 64-bit FNV-1a, same shape, i64
emith("entry:\n")
emith(" %hp = alloca i64\n")
emith(" store i64 -3750763034362895579, ptr %hp\n") # 0xcbf29ce484222325 offset basis
@@ -147,7 +147,7 @@ function emit_hash_prelude() -> void {
emith(" %hr = load i64, ptr %hp\n")
emith(" ret i64 %hr\n")
emith("}\n")
- emith("define i32 @fn_hash_crc32(ptr %s) {\n")
+ emith("define i32 @lp_hash_crc32(ptr %s) {\n")
emith("entry:\n")
emith(" %cp = alloca i32\n")
emith(" store i32 -1, ptr %cp\n") # init 0xFFFFFFFF
diff --git a/selfhost/backend/stdlib/emit_key.ludic b/selfhost/backend/stdlib/emit_key.ludic
index e79ae15b..a238bb95 100644
--- a/selfhost/backend/stdlib/emit_key.ludic
+++ b/selfhost/backend/stdlib/emit_key.ludic
@@ -28,7 +28,7 @@ function key_lookup(name: pointer) -> int {
# a single capital letter names that letter key: Key.A .. Key.Z
if (name[1] == 0) {
let c = name[0]
- if (c >= 65) and (c <= 90) { return c + 32 }
+ if (c >= 'A') and (c <= 'Z') { return c + 32 }
}
- return 0 - 1
+ return -1
}
diff --git a/selfhost/backend/stdlib/emit_log.ludic b/selfhost/backend/stdlib/emit_log.ludic
index 7b388e9d..0911ce45 100644
--- a/selfhost/backend/stdlib/emit_log.ludic
+++ b/selfhost/backend/stdlib/emit_log.ludic
@@ -33,9 +33,9 @@ function is_log_ns(meth: pointer) -> bool {
# and an int are converted the same way the `string(...)` builtin does.
function log_stringify(v: Val) -> pointer {
if (llty(v.ty) == "ptr") { return v.code }
- if (llty(v.ty) == "i64") { g_uses_longstr = true; return emit_bind(`call ptr @fn_long_str(i64 {v.code})`) }
+ if (llty(v.ty) == "i64") { g_uses_longstr = true; return emit_bind(`call ptr @lp_long_str(i64 {v.code})`) }
g_uses_intstr = true
- return emit_bind(`call ptr @fn_int_str(i32 {v.code})`)
+ return emit_bind(`call ptr @lp_int_str(i32 {v.code})`)
}
function emit_log_ns(meth: pointer, e: Node) -> Val {
@@ -67,19 +67,19 @@ function emit_log_ns(meth: pointer, e: Node) -> Val {
line = emit_str_op("+", line, val(log_stringify(k), "string"))
line = emit_str_op("+", line, val(emit_str_const("="), "string"))
line = emit_str_op("+", line, val(log_stringify(v), "string"))
- i = i + 2
+ i += 2
}
- emit(` call void @fn_log_emit(i32 {lvl}, ptr {line.code})\n`)
+ emit(` call void @lp_log_emit(i32 {lvl}, ptr {line.code})\n`)
return val("0", "void")
}
# emit_log_prelude — the log level register and the console sink, emitted once per
-# program that uses Log.* (g_uses_logrt). @fn_log_emit checks the threshold and,
+# program that uses Log.* (g_uses_logrt). @lp_log_emit checks the threshold and,
# if the message is at or above it, writes the line + newline to stderr.
function emit_log_prelude() -> void {
emith("@L_log_level = global i32 0\n")
emith("@.log_nl = private unnamed_addr constant [2 x i8] c\"\\0A\\00\"\n")
- emith("define void @fn_log_emit(i32 %lvl, ptr %s) {\n")
+ emith("define void @lp_log_emit(i32 %lvl, ptr %s) {\n")
emith("entry:\n %th = load i32, ptr @L_log_level\n %skip = icmp slt i32 %lvl, %th\n br i1 %skip, label %done, label %go\n")
emith("go:\n %e = load ptr, ptr @__stderrp\n %n = call i64 @strlen(ptr %s)\n")
emith(" %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %e)\n %w2 = call i64 @fwrite(ptr @.log_nl, i64 1, i64 1, ptr %e)\n br label %done\n")
diff --git a/selfhost/backend/stdlib/emit_math.ludic b/selfhost/backend/stdlib/emit_math.ludic
index 221924e2..dbd12e2f 100644
--- a/selfhost/backend/stdlib/emit_math.ludic
+++ b/selfhost/backend/stdlib/emit_math.ludic
@@ -1,8 +1,8 @@
# emit_math.ludic — the Math.* namespace, all deterministic Q16.16 fixed-point.
# min/max/abs/clamp lower to inline IR (and stay bare too); sign/floor/ceil/
# round/lerp/inverse_lerp/remap and the geometry/interp helpers are inline; and
-# sqrt/sin/cos/tan call the runtime prelude below (@fn_fx_sqrt is a bit-by-bit
-# integer root, @fn_fx_sin a 256-entry interpolated sine table). Everything is
+# sqrt/sin/cos/tan call the runtime prelude below (@lp_fx_sqrt is a bit-by-bit
+# integer root, @lp_fx_sin a 256-entry interpolated sine table). Everything is
# plain integer IR, so it is bit-identical on every platform.
function is_math_builtin(name: pointer) -> bool {
@@ -115,54 +115,54 @@ function emit_math_ns(meth: pointer, e: Node) -> Val {
if (meth == "sqrt") { # sqrt(fixed) -> fixed (deterministic isqrt)
g_uses_mathrt = true
let a = emit_expr(e.kids[0])
- return val(emit_bind(`call i32 @fn_fx_sqrt(i32 {a.code})`), "fixed")
+ return val(emit_bind(`call i32 @lp_fx_sqrt(i32 {a.code})`), "fixed")
}
if (meth == "sin") { # sin(radians: fixed) -> fixed
g_uses_mathrt = true
let a = emit_expr(e.kids[0])
- return val(emit_bind(`call i32 @fn_fx_sin(i32 {a.code})`), "fixed")
+ return val(emit_bind(`call i32 @lp_fx_sin(i32 {a.code})`), "fixed")
}
if (meth == "cos") { # cos(x) = sin(x + pi/2), pi/2 = 102944 fixed
g_uses_mathrt = true
let a = emit_expr(e.kids[0])
let sh = emit_bind(`add i32 {a.code}, 102944`)
- return val(emit_bind(`call i32 @fn_fx_sin(i32 {sh})`), "fixed")
+ return val(emit_bind(`call i32 @lp_fx_sin(i32 {sh})`), "fixed")
}
if (meth == "tan") { # tan(x) = sin(x) / cos(x)
g_uses_mathrt = true
let a = emit_expr(e.kids[0])
- let s = emit_bind(`call i32 @fn_fx_sin(i32 {a.code})`)
+ let s = emit_bind(`call i32 @lp_fx_sin(i32 {a.code})`)
let sh = emit_bind(`add i32 {a.code}, 102944`)
- let c = emit_bind(`call i32 @fn_fx_sin(i32 {sh})`)
+ let c = emit_bind(`call i32 @lp_fx_sin(i32 {sh})`)
return val(fx_div_code(s, c), "fixed")
}
if (meth == "atan2") { # atan2(y, x) -> angle in radians
g_uses_mathrt = true
let y = emit_expr(e.kids[0]); let x = emit_expr(e.kids[1])
- return val(emit_bind(`call i32 @fn_fx_atan2(i32 {y.code}, i32 {x.code})`), "fixed")
+ return val(emit_bind(`call i32 @lp_fx_atan2(i32 {y.code}, i32 {x.code})`), "fixed")
}
if (meth == "asin") { # asin(x) = atan2(x, sqrt(1 - x^2))
g_uses_mathrt = true
let x = emit_expr(e.kids[0])
let xx = fx_mul_code(x.code, x.code)
let om = emit_bind(`sub i32 65536, {xx}`)
- let root = emit_bind(`call i32 @fn_fx_sqrt(i32 {om})`)
- return val(emit_bind(`call i32 @fn_fx_atan2(i32 {x.code}, i32 {root})`), "fixed")
+ let root = emit_bind(`call i32 @lp_fx_sqrt(i32 {om})`)
+ return val(emit_bind(`call i32 @lp_fx_atan2(i32 {x.code}, i32 {root})`), "fixed")
}
if (meth == "acos") { # acos(x) = atan2(sqrt(1 - x^2), x)
g_uses_mathrt = true
let x = emit_expr(e.kids[0])
let xx = fx_mul_code(x.code, x.code)
let om = emit_bind(`sub i32 65536, {xx}`)
- let root = emit_bind(`call i32 @fn_fx_sqrt(i32 {om})`)
- return val(emit_bind(`call i32 @fn_fx_atan2(i32 {root}, i32 {x.code})`), "fixed")
+ let root = emit_bind(`call i32 @lp_fx_sqrt(i32 {om})`)
+ return val(emit_bind(`call i32 @lp_fx_atan2(i32 {root}, i32 {x.code})`), "fixed")
}
if (meth == "hypot") { # hypot(x, y) = sqrt(x*x + y*y)
g_uses_mathrt = true
let x = emit_expr(e.kids[0]); let y = emit_expr(e.kids[1])
let xx = fx_mul_code(x.code, x.code); let yy = fx_mul_code(y.code, y.code)
let s = emit_bind(`add i32 {xx}, {yy}`)
- return val(emit_bind(`call i32 @fn_fx_sqrt(i32 {s})`), "fixed")
+ return val(emit_bind(`call i32 @lp_fx_sqrt(i32 {s})`), "fixed")
}
if (meth == "dist2") { # dist2(x0,y0,x1,y1) = dx*dx + dy*dy
let x0 = emit_expr(e.kids[0]); let y0 = emit_expr(e.kids[1])
@@ -180,26 +180,26 @@ function emit_math_ns(meth: pointer, e: Node) -> Val {
let dy = emit_bind(`sub i32 {y1.code}, {y0.code}`)
let xx = fx_mul_code(dx, dx); let yy = fx_mul_code(dy, dy)
let s = emit_bind(`add i32 {xx}, {yy}`)
- return val(emit_bind(`call i32 @fn_fx_sqrt(i32 {s})`), "fixed")
+ return val(emit_bind(`call i32 @lp_fx_sqrt(i32 {s})`), "fixed")
}
if (meth == "exp") { # e^x = 2^(x * log2 e), log2 e = 94548 fixed
g_uses_mathrt = true
let a = emit_expr(e.kids[0])
let t = fx_mul_code(a.code, "94548")
- return val(emit_bind(`call i32 @fn_fx_exp2(i32 {t})`), "fixed")
+ return val(emit_bind(`call i32 @lp_fx_exp2(i32 {t})`), "fixed")
}
if (meth == "log") { # natural log: ln(x) = log2(x) * ln 2, ln 2 = 45426 fixed
g_uses_mathrt = true
let a = emit_expr(e.kids[0])
- let l2 = emit_bind(`call i32 @fn_fx_log2(i32 {a.code})`)
+ let l2 = emit_bind(`call i32 @lp_fx_log2(i32 {a.code})`)
return val(fx_mul_code(l2, "45426"), "fixed")
}
if (meth == "pow") { # a^b = 2^(b * log2 a); needs a > 0
g_uses_mathrt = true
let a = emit_expr(e.kids[0]); let b = emit_expr(e.kids[1])
- let l2 = emit_bind(`call i32 @fn_fx_log2(i32 {a.code})`)
+ let l2 = emit_bind(`call i32 @lp_fx_log2(i32 {a.code})`)
let t = fx_mul_code(b.code, l2)
- return val(emit_bind(`call i32 @fn_fx_exp2(i32 {t})`), "fixed")
+ return val(emit_bind(`call i32 @lp_fx_exp2(i32 {t})`), "fixed")
}
if (meth == "deg_to_rad") { # d * (pi/180), pi/180 = 1144 fixed
let d = emit_expr(e.kids[0])
@@ -279,14 +279,14 @@ function emit_math_ns(meth: pointer, e: Node) -> Val {
}
# emit_math_prelude — the deterministic fixed-point math runtime, emitted once
-# per program that uses Math.sqrt/sin/cos/tan/exp/log/pow. @fn_fx_sqrt is a
-# 64-bit integer square root (bit-by-bit); @fn_fx_sin reads a 256-entry Q16.16
-# sine table with linear interpolation; @fn_fx_exp2/@fn_fx_log2 are range-reduced
+# per program that uses Math.sqrt/sin/cos/tan/exp/log/pow. @lp_fx_sqrt is a
+# 64-bit integer square root (bit-by-bit); @lp_fx_sin reads a 256-entry Q16.16
+# sine table with linear interpolation; @lp_fx_exp2/@lp_fx_log2 are range-reduced
# Q16.16 polynomials (base-2 exp and log) that back exp/log/pow. All are pure
# integer IR, so bit-identical on every platform.
function emit_math_prelude() -> void {
emith("@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]\n")
- emith("define i32 @fn_fx_sqrt(i32 %x) {\n")
+ emith("define i32 @lp_fx_sqrt(i32 %x) {\n")
emith("entry:\n %neg = icmp slt i32 %x, 0\n br i1 %neg, label %ret0, label %go\n")
emith("ret0:\n ret i32 0\n")
emith("go:\n %x64 = sext i32 %x to i64\n %n0 = shl i64 %x64, 16\n")
@@ -300,14 +300,14 @@ function emit_math_prelude() -> void {
emith("shift:\n %rsh2 = lshr i64 %r1, 1\n store i64 %rsh2, ptr %rp\n br label %next\n")
emith("next:\n %b4 = lshr i64 %b3, 2\n store i64 %b4, ptr %bp\n br label %loop\n")
emith("done:\n %rf = load i64, ptr %rp\n %r32 = trunc i64 %rf to i32\n ret i32 %r32\n}\n")
- emith("define i32 @fn_fx_sin(i32 %x) {\n")
+ emith("define i32 @lp_fx_sin(i32 %x) {\n")
emith(" %xe = sext i32 %x to i64\n %m = mul i64 %xe, 2670177\n %idxf = ashr i64 %m, 16\n")
emith(" %i0 = ashr i64 %idxf, 16\n %i0m = and i64 %i0, 255\n %frac = and i64 %idxf, 65535\n")
emith(" %i1 = add i64 %i0m, 1\n %i1m = and i64 %i1, 255\n")
emith(" %p0 = getelementptr [256 x i32], ptr @L_sin_tab, i64 0, i64 %i0m\n %v0 = load i32, ptr %p0\n")
emith(" %p1 = getelementptr [256 x i32], ptr @L_sin_tab, i64 0, i64 %i1m\n %v1 = load i32, ptr %p1\n")
emith(" %d = sub i32 %v1, %v0\n %de = sext i32 %d to i64\n %dm = mul i64 %de, %frac\n %dsh = ashr i64 %dm, 16\n %dsh32 = trunc i64 %dsh to i32\n %res = add i32 %v0, %dsh32\n ret i32 %res\n}\n")
- emith("define i32 @fn_fx_atan2(i32 %y, i32 %x) {\n")
+ emith("define i32 @lp_fx_atan2(i32 %y, i32 %x) {\n")
emith("entry:\n")
emith(" %xz = icmp eq i32 %x, 0\n")
emith(" %yz = icmp eq i32 %y, 0\n")
@@ -363,11 +363,11 @@ function emit_math_prelude() -> void {
emith(" %res = select i1 %yneg, i32 %angneg, i32 %angle\n")
emith(" ret i32 %res\n")
emith("}\n")
- # @fn_fx_exp2(x) = 2^x, Q16.16. Split x into integer part i and fraction f in
+ # @lp_fx_exp2(x) = 2^x, Q16.16. Split x into integer part i and fraction f in
# [0,1); 2^f is a 5th-order Taylor polynomial (Horner, coefficients (ln2)^k/k!
# in Q16.16), then shift by i. Shift amounts are clamped to a safe [0,31] so a
# huge exponent saturates instead of hitting an undefined shift.
- emith("define i32 @fn_fx_exp2(i32 %x) {\n")
+ emith("define i32 @lp_fx_exp2(i32 %x) {\n")
emith(" %i = ashr i32 %x, 16\n %f = and i32 %x, 65535\n %fe = sext i32 %f to i64\n")
emith(" %m5 = mul i64 %fe, 87\n %s5 = ashr i64 %m5, 16\n %p5 = add i64 %s5, 630\n")
emith(" %m4 = mul i64 %fe, %p5\n %s4 = ashr i64 %m4, 16\n %p4 = add i64 %s4, 3638\n")
@@ -381,12 +381,12 @@ function emit_math_prelude() -> void {
emith(" %ni = sub i32 0, %i\n %ra0 = select i1 %ipos, i32 0, i32 %ni\n %rahi = icmp sgt i32 %ra0, 31\n %ra = select i1 %rahi, i32 31, i32 %ra0\n")
emith(" %shr = ashr i32 %p, %ra\n")
emith(" %res = select i1 %ipos, i32 %shl, i32 %shr\n ret i32 %res\n}\n")
- # @fn_fx_log2(x) = log2(x), Q16.16, for x > 0 (x <= 0 saturates to the most
+ # @lp_fx_log2(x) = log2(x), Q16.16, for x > 0 (x <= 0 saturates to the most
# negative i32). ctlz finds the MSB, giving the integer part e and a mantissa
# m in [1,2); ln(m) uses the fast-converging atanh series on r = (m-1)/(m+1),
# then log2(m) = ln(m)/ln2. Result is e + log2(m).
emith("declare i32 @llvm.ctlz.i32(i32, i1)\n")
- emith("define i32 @fn_fx_log2(i32 %x) {\n")
+ emith("define i32 @lp_fx_log2(i32 %x) {\n")
emith("entry:\n %pos = icmp sgt i32 %x, 0\n br i1 %pos, label %go, label %neg\n")
emith("neg:\n ret i32 -2147483648\n")
emith("go:\n %lz = call i32 @llvm.ctlz.i32(i32 %x, i1 true)\n %pmsb = sub i32 31, %lz\n")
diff --git a/selfhost/backend/stdlib/emit_net.ludic b/selfhost/backend/stdlib/emit_net.ludic
index 7bcbbb11..afc14d1f 100644
--- a/selfhost/backend/stdlib/emit_net.ludic
+++ b/selfhost/backend/stdlib/emit_net.ludic
@@ -31,10 +31,10 @@ function net_model_bytes(m: Node) -> int {
let c = find_comp(m.kids[ci].s)
if (c != null) {
var fj = 0
- while fj < len(c.kids) { if c.kids[fj].ival == 1 { total = total + net_field_ibytes(c.kids[fj].ty) }; fj = fj + 1 }
+ while fj < len(c.kids) { if c.kids[fj].ival == 1 { total += net_field_ibytes(c.kids[fj].ty) }; fj += 1 }
}
}
- ci = ci + 1
+ ci += 1
}
return total
}
@@ -43,14 +43,14 @@ function net_model_syncs(m: Node) -> bool { return net_model_bytes(m) > 0 }
function net_has_sync() -> bool {
var i = 0
- while i < len(prog) { if prog[i].kind == N_ARCH { if net_model_syncs(prog[i]) { return true } }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_ARCH { if net_model_syncs(prog[i]) { return true } }; i += 1 }
return false
}
# ---- N3: ownership -----------------------------------------------------------
function net_has_owned() -> bool {
var i = 0
- while i < len(prog) { if prog[i].kind == N_ARCH and (prog[i].ival == 1) { return true }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_ARCH and (prog[i].ival == 1) { return true }; i += 1 }
return false
}
@@ -58,7 +58,7 @@ function net_has_owned() -> bool {
# A handler tagged @Server (ival==1) or @Predicted (ival==2) has a network role.
function net_has_role() -> bool {
var i = 0
- while i < len(prog) { if prog[i].kind == N_SYS and (prog[i].ival != 0) { return true }; i = i + 1 }
+ while i < len(prog) { if prog[i].kind == N_SYS and (prog[i].ival != 0) { return true }; i += 1 }
return false
}
@@ -95,15 +95,15 @@ function net_check() -> void {
any = true
if (llty(c.kids[fj].ty) == "ptr") { perr(`@Sync field {cn}.{c.kids[fj].s} is not a POD scalar (networked fields must be int/bool/fixed/byte)`) }
}
- fj = fj + 1
+ fj += 1
}
if not any { net_warn(`model {m.s} @Syncs {cn} but it has no @Sync fields — nothing replicates`) }
}
}
- ci = ci + 1
+ ci += 1
}
}
- i = i + 1
+ i += 1
}
}
@@ -129,13 +129,13 @@ function emit_net_serialize(m: Node) -> void {
let fa = nreg(); emit(" "); emit(fa); emit(" = getelementptr inbounds %Cmp_"); emit(cn); emit(", ptr "); emit(s); emit(", i32 0, i32 "); emit(itoa(fj)); emit("\n")
let dst = nreg(); emit(" "); emit(dst); emit(" = getelementptr inbounds i8, ptr %buf, i32 "); emit(itoa(off)); emit("\n")
emit(" call ptr @memcpy(ptr "); emit(dst); emit(", ptr "); emit(fa); emit(", i64 "); emit(bytes); emit(")\n")
- off = off + net_field_ibytes(c.kids[fj].ty)
+ off += net_field_ibytes(c.kids[fj].ty)
}
- fj = fj + 1
+ fj += 1
}
}
}
- ci = ci + 1
+ ci += 1
}
emit(" ret i32 "); emit(itoa(off)); emit("\n}\n\n")
}
@@ -162,13 +162,13 @@ function emit_net_apply(m: Node) -> void {
let fa = nreg(); emit(" "); emit(fa); emit(" = getelementptr inbounds %Cmp_"); emit(cn); emit(", ptr "); emit(s); emit(", i32 0, i32 "); emit(itoa(fj)); emit("\n")
let src = nreg(); emit(" "); emit(src); emit(" = getelementptr inbounds i8, ptr %buf, i32 "); emit(itoa(off)); emit("\n")
emit(" call ptr @memcpy(ptr "); emit(fa); emit(", ptr "); emit(src); emit(", i64 "); emit(bytes); emit(")\n")
- off = off + net_field_ibytes(c.kids[fj].ty)
+ off += net_field_ibytes(c.kids[fj].ty)
}
- fj = fj + 1
+ fj += 1
}
}
}
- ci = ci + 1
+ ci += 1
}
emit(" ret void\n}\n\n")
}
@@ -191,9 +191,9 @@ function emit_net_dispatch() -> void {
emit(" br i1 %c"); emit(sk); emit(", label %h"); emit(sk); emit(", label %n"); emit(sk); emit("\n")
emit("h"); emit(sk); emit(":\n %r"); emit(sk); emit(" = call i32 @L_serialize_"); emit(mn); emit("(i32 %e, ptr %buf)\n ret i32 %r"); emit(sk); emit("\n")
emit("n"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
emit(" ret i32 0\n}\n\n")
@@ -207,9 +207,9 @@ function emit_net_dispatch() -> void {
emit(" br i1 %c"); emit(sk); emit(", label %h"); emit(sk); emit(", label %n"); emit(sk); emit("\n")
emit("h"); emit(sk); emit(":\n call void @L_apply_"); emit(mn); emit("(i32 %e, ptr %buf, i32 %len)\n ret void\n")
emit("n"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
emit(" ret void\n}\n\n")
@@ -225,9 +225,9 @@ function emit_net_dispatch() -> void {
emit(" br i1 %c"); emit(sk); emit(", label %h"); emit(sk); emit(", label %n"); emit(sk); emit("\n")
emit("h"); emit(sk); emit(":\n ret i32 "); emit(itoa(net_model_bytes(prog[i]))); emit("\n")
emit("n"); emit(sk); emit(":\n")
- k = k + 1
+ k += 1
}
- i = i + 1
+ i += 1
}
emit(" ret i32 0\n}\n\n")
}
@@ -296,14 +296,14 @@ function emit_loopback() -> void {
function net_has_remote() -> bool {
var i = 0
- while i < len(g_events) { if (g_events[i].ty != null) { return true }; i = i + 1 }
+ while i < len(g_events) { if (g_events[i].ty != null) { return true }; i += 1 }
return false
}
# stable wire id for an event = its index in g_events (same program both peers)
function net_event_id(name: pointer) -> int {
var i = 0
- while i < len(g_events) { if (g_events[i].s == name) { return i }; i = i + 1 }
- return 0 - 1
+ while i < len(g_events) { if (g_events[i].s == name) { return i }; i += 1 }
+ return -1
}
# the transport symbols: an `extern fn` override, else the built-in loopback.
function net_send_sym() -> pointer { let x = find_extern("net_send"); if (x != null) { return x.a.s }; return "L_net_send" }
@@ -338,14 +338,14 @@ function emit_net_pump() -> void {
emit(" %fv"); emit(fk); emit(" = load "); emit(ft); emit(", ptr %fa"); emit(fk); emit("\n")
if f > 0 { buf_puts(acc, ", ") }
buf_puts(acc, ft); buf_puts(acc, " %fv"); buf_puts(acc, fk)
- off = off + net_field_ibytes(ev.kids[f].ty)
- f = f + 1
+ off += net_field_ibytes(ev.kids[f].ty)
+ f += 1
}
emit(" call void @ev_"); emit(ev.s); emit("("); emit(buf_str(acc)); emit(")\n")
emit(" br label %loop\n")
emit("x"); emit(sk); emit(":\n")
}
- e = e + 1
+ e += 1
}
emit(" br label %loop\n") # unknown id: skip, keep draining
emit("fin:\n ret void\n}\n\n")
@@ -361,7 +361,7 @@ function emit_net() -> void {
emit_net_serialize(prog[i])
emit_net_apply(prog[i])
}
- i = i + 1
+ i += 1
}
emit_net_dispatch()
}
diff --git a/selfhost/backend/stdlib/emit_noise.ludic b/selfhost/backend/stdlib/emit_noise.ludic
index cd5941a1..c3967fe8 100644
--- a/selfhost/backend/stdlib/emit_noise.ludic
+++ b/selfhost/backend/stdlib/emit_noise.ludic
@@ -36,114 +36,114 @@ function emit_noise_ns(meth: pointer, e: Node) -> Val {
g_uses_noisert = true
if (meth == "value2") {
let x = emit_expr(e.kids[0]); let y = emit_expr(e.kids[1]); let s = emit_expr(e.kids[2])
- return val(emit_bind(`call i32 @fn_noise_value2(i32 {x.code}, i32 {y.code}, i32 {s.code})`), "fixed")
+ return val(emit_bind(`call i32 @lp_noise_value2(i32 {x.code}, i32 {y.code}, i32 {s.code})`), "fixed")
}
if (meth == "perlin2") {
let x = emit_expr(e.kids[0]); let y = emit_expr(e.kids[1]); let s = emit_expr(e.kids[2])
- return val(emit_bind(`call i32 @fn_noise_perlin2(i32 {x.code}, i32 {y.code}, i32 {s.code})`), "fixed")
+ return val(emit_bind(`call i32 @lp_noise_perlin2(i32 {x.code}, i32 {y.code}, i32 {s.code})`), "fixed")
}
if (meth == "simplex2") {
let x = emit_expr(e.kids[0]); let y = emit_expr(e.kids[1]); let s = emit_expr(e.kids[2])
- return val(emit_bind(`call i32 @fn_noise_simplex2(i32 {x.code}, i32 {y.code}, i32 {s.code})`), "fixed")
+ return val(emit_bind(`call i32 @lp_noise_simplex2(i32 {x.code}, i32 {y.code}, i32 {s.code})`), "fixed")
}
if (meth == "fbm2") {
g_uses_mathrt = true # simplex path is standalone; fbm needs fx_div only (local)
let x = emit_expr(e.kids[0]); let y = emit_expr(e.kids[1]); let s = emit_expr(e.kids[2]); let o = emit_expr(e.kids[3])
- return val(emit_bind(`call i32 @fn_noise_fbm2(i32 {x.code}, i32 {y.code}, i32 {s.code}, i32 {o.code})`), "fixed")
+ return val(emit_bind(`call i32 @lp_noise_fbm2(i32 {x.code}, i32 {y.code}, i32 {s.code}, i32 {o.code})`), "fixed")
}
if (meth == "cellular2") {
- g_uses_mathrt = true # F1 distance needs @fn_fx_sqrt
+ g_uses_mathrt = true # F1 distance needs @lp_fx_sqrt
let x = emit_expr(e.kids[0]); let y = emit_expr(e.kids[1]); let s = emit_expr(e.kids[2])
- return val(emit_bind(`call i32 @fn_noise_cellular2(i32 {x.code}, i32 {y.code}, i32 {s.code})`), "fixed")
+ return val(emit_bind(`call i32 @lp_noise_cellular2(i32 {x.code}, i32 {y.code}, i32 {s.code})`), "fixed")
}
# cellular2_id: the hash id of the nearest feature cell (stable per cell -> use
# it to pick a biome/material). Distances come from cellular2.
let x = emit_expr(e.kids[0]); let y = emit_expr(e.kids[1]); let s = emit_expr(e.kids[2])
- return val(emit_bind(`call i32 @fn_noise_cellular2_id(i32 {x.code}, i32 {y.code}, i32 {s.code})`), "int")
+ return val(emit_bind(`call i32 @lp_noise_cellular2_id(i32 {x.code}, i32 {y.code}, i32 {s.code})`), "int")
}
# emit_noise_prelude — the noise runtime, emitted once per program that uses
# Noise.* (g_uses_noisert). Pure Q16.16 integer IR; cellular/fbm additionally use
-# the math prelude (@fn_fx_sqrt), pulled in by setting g_uses_mathrt at the call.
+# the math prelude (@lp_fx_sqrt), pulled in by setting g_uses_mathrt at the call.
function emit_noise_prelude() -> void {
# Q16.16 helpers (local to noise so the prelude is self-contained for the
# gradient/value paths). fx multiply, divide, lerp, and a [-1,1] clamp.
- emith("define i32 @fn_nfx_mul(i32 %a, i32 %b) {\n")
+ emith("define i32 @lp_nfx_mul(i32 %a, i32 %b) {\n")
emith(" %a64 = sext i32 %a to i64\n %b64 = sext i32 %b to i64\n %m = mul i64 %a64, %b64\n %s = ashr i64 %m, 16\n %r = trunc i64 %s to i32\n ret i32 %r\n}\n")
- emith("define i32 @fn_nfx_div(i32 %a, i32 %b) {\n")
+ emith("define i32 @lp_nfx_div(i32 %a, i32 %b) {\n")
emith(" %z = icmp eq i32 %b, 0\n br i1 %z, label %zero, label %go\n")
emith("zero:\n ret i32 0\n")
emith("go:\n %a64 = sext i32 %a to i64\n %ash = shl i64 %a64, 16\n %b64 = sext i32 %b to i64\n %d = sdiv i64 %ash, %b64\n %r = trunc i64 %d to i32\n ret i32 %r\n}\n")
- emith("define i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %t) {\n")
- emith(" %d = sub i32 %b, %a\n %dt = call i32 @fn_nfx_mul(i32 %d, i32 %t)\n %r = add i32 %a, %dt\n ret i32 %r\n}\n")
- emith("define i32 @fn_noise_clamp(i32 %v) {\n")
+ emith("define i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %t) {\n")
+ emith(" %d = sub i32 %b, %a\n %dt = call i32 @lp_nfx_mul(i32 %d, i32 %t)\n %r = add i32 %a, %dt\n ret i32 %r\n}\n")
+ emith("define i32 @lp_noise_clamp(i32 %v) {\n")
emith(" %hi = icmp sgt i32 %v, 65536\n %v1 = select i1 %hi, i32 65536, i32 %v\n %lo = icmp slt i32 %v1, -65536\n %r = select i1 %lo, i32 -65536, i32 %v1\n ret i32 %r\n}\n")
# integer lattice hash: mix seed + cell coords with large odd constants, then a
# MurmurHash3-style fmix32 finalizer. Deterministic and well-distributed.
- emith("define i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\n")
+ emith("define i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\n")
emith(" %a = mul i32 %xi, 374761393\n %b = mul i32 %yi, -1028477387\n %c = add i32 %seed, %a\n %d0 = add i32 %c, %b\n")
emith(" %e = lshr i32 %d0, 16\n %f = xor i32 %d0, %e\n %g = mul i32 %f, -2048144789\n")
emith(" %h = lshr i32 %g, 13\n %i = xor i32 %g, %h\n %j = mul i32 %i, -1028477387\n")
emith(" %k = lshr i32 %j, 16\n %l = xor i32 %j, %k\n ret i32 %l\n}\n")
# quintic fade 6t^5 - 15t^4 + 10t^3 (Q16.16); t in [0,1]
- emith("define i32 @fn_noise_fade(i32 %t) {\n")
- emith(" %t2 = call i32 @fn_nfx_mul(i32 %t, i32 %t)\n %t3 = call i32 @fn_nfx_mul(i32 %t2, i32 %t)\n")
- emith(" %t4 = call i32 @fn_nfx_mul(i32 %t3, i32 %t)\n %t5 = call i32 @fn_nfx_mul(i32 %t4, i32 %t)\n")
+ emith("define i32 @lp_noise_fade(i32 %t) {\n")
+ emith(" %t2 = call i32 @lp_nfx_mul(i32 %t, i32 %t)\n %t3 = call i32 @lp_nfx_mul(i32 %t2, i32 %t)\n")
+ emith(" %t4 = call i32 @lp_nfx_mul(i32 %t3, i32 %t)\n %t5 = call i32 @lp_nfx_mul(i32 %t4, i32 %t)\n")
emith(" %c6 = mul i32 %t5, 6\n %c15 = mul i32 %t4, 15\n %c10 = mul i32 %t3, 10\n")
emith(" %s1 = sub i32 %c6, %c15\n %r = add i32 %s1, %c10\n ret i32 %r\n}\n")
# value noise: bilinear-interpolate the four corner random values (each mapped
# to [-1,1]) with the faded fractional coordinates.
- emith("define i32 @fn_noise_value2(i32 %x, i32 %y, i32 %seed) {\n")
+ emith("define i32 @lp_noise_value2(i32 %x, i32 %y, i32 %seed) {\n")
emith(" %xi = ashr i32 %x, 16\n %yi = ashr i32 %y, 16\n %xf = and i32 %x, 65535\n %yf = and i32 %y, 65535\n")
- emith(" %u = call i32 @fn_noise_fade(i32 %xf)\n %v = call i32 @fn_noise_fade(i32 %yf)\n")
+ emith(" %u = call i32 @lp_noise_fade(i32 %xf)\n %v = call i32 @lp_noise_fade(i32 %yf)\n")
emith(" %xi1 = add i32 %xi, 1\n %yi1 = add i32 %yi, 1\n")
- emith(" %h00 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi)\n %m00 = and i32 %h00, 131071\n %n00 = sub i32 %m00, 65536\n")
- emith(" %h10 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\n %m10 = and i32 %h10, 131071\n %n10 = sub i32 %m10, 65536\n")
- emith(" %h01 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\n %m01 = and i32 %h01, 131071\n %n01 = sub i32 %m01, 65536\n")
- emith(" %h11 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\n %m11 = and i32 %h11, 131071\n %n11 = sub i32 %m11, 65536\n")
- emith(" %a = call i32 @fn_nfx_lerp(i32 %n00, i32 %n10, i32 %u)\n %b = call i32 @fn_nfx_lerp(i32 %n01, i32 %n11, i32 %u)\n")
- emith(" %n = call i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %v)\n %r = call i32 @fn_noise_clamp(i32 %n)\n ret i32 %r\n}\n")
+ emith(" %h00 = call i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi)\n %m00 = and i32 %h00, 131071\n %n00 = sub i32 %m00, 65536\n")
+ emith(" %h10 = call i32 @lp_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\n %m10 = and i32 %h10, 131071\n %n10 = sub i32 %m10, 65536\n")
+ emith(" %h01 = call i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\n %m01 = and i32 %h01, 131071\n %n01 = sub i32 %m01, 65536\n")
+ emith(" %h11 = call i32 @lp_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\n %m11 = and i32 %h11, 131071\n %n11 = sub i32 %m11, 65536\n")
+ emith(" %a = call i32 @lp_nfx_lerp(i32 %n00, i32 %n10, i32 %u)\n %b = call i32 @lp_nfx_lerp(i32 %n01, i32 %n11, i32 %u)\n")
+ emith(" %n = call i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %v)\n %r = call i32 @lp_noise_clamp(i32 %n)\n ret i32 %r\n}\n")
# 8 gradient directions (axis + diagonal, the diagonals scaled by 1/sqrt2), as
# packed (gx, gy) Q16.16 pairs; grad2 dots the selected gradient with (dx, dy).
emith("@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]\n")
- emith("define i32 @fn_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\n")
+ emith("define i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\n")
emith(" %h = and i32 %hash, 7\n %idx = shl i32 %h, 1\n %idx64 = sext i32 %idx to i64\n")
emith(" %gxp = getelementptr [16 x i32], ptr @noise_grad2, i64 0, i64 %idx64\n %gx = load i32, ptr %gxp\n")
emith(" %idy = add i32 %idx, 1\n %idy64 = sext i32 %idy to i64\n %gyp = getelementptr [16 x i32], ptr @noise_grad2, i64 0, i64 %idy64\n %gy = load i32, ptr %gyp\n")
- emith(" %px = call i32 @fn_nfx_mul(i32 %gx, i32 %dx)\n %py = call i32 @fn_nfx_mul(i32 %gy, i32 %dy)\n %r = add i32 %px, %py\n ret i32 %r\n}\n")
+ emith(" %px = call i32 @lp_nfx_mul(i32 %gx, i32 %dx)\n %py = call i32 @lp_nfx_mul(i32 %gy, i32 %dy)\n %r = add i32 %px, %py\n ret i32 %r\n}\n")
# Perlin gradient noise: interpolate the four corner gradient dots, then scale
# the ~[-0.707,0.707] result by sqrt2 into [-1,1] (and clamp for safety).
- emith("define i32 @fn_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\n")
+ emith("define i32 @lp_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\n")
emith(" %xi = ashr i32 %x, 16\n %yi = ashr i32 %y, 16\n %xf = and i32 %x, 65535\n %yf = and i32 %y, 65535\n")
emith(" %xf1 = sub i32 %xf, 65536\n %yf1 = sub i32 %yf, 65536\n")
- emith(" %u = call i32 @fn_noise_fade(i32 %xf)\n %v = call i32 @fn_noise_fade(i32 %yf)\n")
+ emith(" %u = call i32 @lp_noise_fade(i32 %xf)\n %v = call i32 @lp_noise_fade(i32 %yf)\n")
emith(" %xi1 = add i32 %xi, 1\n %yi1 = add i32 %yi, 1\n")
- emith(" %h00 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi)\n %h10 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\n")
- emith(" %h01 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\n %h11 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\n")
- emith(" %g00 = call i32 @fn_noise_grad2(i32 %h00, i32 %xf, i32 %yf)\n %g10 = call i32 @fn_noise_grad2(i32 %h10, i32 %xf1, i32 %yf)\n")
- emith(" %g01 = call i32 @fn_noise_grad2(i32 %h01, i32 %xf, i32 %yf1)\n %g11 = call i32 @fn_noise_grad2(i32 %h11, i32 %xf1, i32 %yf1)\n")
- emith(" %a = call i32 @fn_nfx_lerp(i32 %g00, i32 %g10, i32 %u)\n %b = call i32 @fn_nfx_lerp(i32 %g01, i32 %g11, i32 %u)\n")
- emith(" %n = call i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %v)\n %sc = call i32 @fn_nfx_mul(i32 %n, i32 92682)\n %r = call i32 @fn_noise_clamp(i32 %sc)\n ret i32 %r\n}\n")
+ emith(" %h00 = call i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi)\n %h10 = call i32 @lp_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\n")
+ emith(" %h01 = call i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\n %h11 = call i32 @lp_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\n")
+ emith(" %g00 = call i32 @lp_noise_grad2(i32 %h00, i32 %xf, i32 %yf)\n %g10 = call i32 @lp_noise_grad2(i32 %h10, i32 %xf1, i32 %yf)\n")
+ emith(" %g01 = call i32 @lp_noise_grad2(i32 %h01, i32 %xf, i32 %yf1)\n %g11 = call i32 @lp_noise_grad2(i32 %h11, i32 %xf1, i32 %yf1)\n")
+ emith(" %a = call i32 @lp_nfx_lerp(i32 %g00, i32 %g10, i32 %u)\n %b = call i32 @lp_nfx_lerp(i32 %g01, i32 %g11, i32 %u)\n")
+ emith(" %n = call i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %v)\n %sc = call i32 @lp_nfx_mul(i32 %n, i32 92682)\n %r = call i32 @lp_noise_clamp(i32 %sc)\n ret i32 %r\n}\n")
# one simplex corner contribution: t = 0.5 - x^2 - y^2; if t <= 0 -> 0, else
# t^4 * grad(hash, x, y). Kept as a helper so simplex2 reads as three corners.
- emith("define i32 @fn_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\n")
- emith(" %xx = call i32 @fn_nfx_mul(i32 %dx, i32 %dx)\n %yy = call i32 @fn_nfx_mul(i32 %dy, i32 %dy)\n")
+ emith("define i32 @lp_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\n")
+ emith(" %xx = call i32 @lp_nfx_mul(i32 %dx, i32 %dx)\n %yy = call i32 @lp_nfx_mul(i32 %dy, i32 %dy)\n")
emith(" %s0 = sub i32 32768, %xx\n %t = sub i32 %s0, %yy\n %neg = icmp sle i32 %t, 0\n br i1 %neg, label %zero, label %go\n")
emith("zero:\n ret i32 0\n")
- emith("go:\n %t2 = call i32 @fn_nfx_mul(i32 %t, i32 %t)\n %t4 = call i32 @fn_nfx_mul(i32 %t2, i32 %t2)\n")
- emith(" %g = call i32 @fn_noise_grad2(i32 %hash, i32 %dx, i32 %dy)\n %r = call i32 @fn_nfx_mul(i32 %t4, i32 %g)\n ret i32 %r\n}\n")
+ emith("go:\n %t2 = call i32 @lp_nfx_mul(i32 %t, i32 %t)\n %t4 = call i32 @lp_nfx_mul(i32 %t2, i32 %t2)\n")
+ emith(" %g = call i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy)\n %r = call i32 @lp_nfx_mul(i32 %t4, i32 %g)\n ret i32 %r\n}\n")
# 2D simplex noise (skewed triangular lattice). F2 = (sqrt3-1)/2 = 23994,
# G2 = (3-sqrt3)/6 = 13849 in Q16.16. Sum of three corner contributions, scaled
# into [-1,1] and clamped.
- emith("define i32 @fn_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\n")
- emith(" %sum0 = add i32 %x, %y\n %skew = call i32 @fn_nfx_mul(i32 %sum0, i32 23994)\n")
+ emith("define i32 @lp_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\n")
+ emith(" %sum0 = add i32 %x, %y\n %skew = call i32 @lp_nfx_mul(i32 %sum0, i32 23994)\n")
emith(" %xs = add i32 %x, %skew\n %ys = add i32 %y, %skew\n %i = ashr i32 %xs, 16\n %j = ashr i32 %ys, 16\n")
emith(" %ij = add i32 %i, %j\n %tt = mul i32 %ij, 13849\n") # t = (i+j)*G2, fixed
emith(" %if0 = shl i32 %i, 16\n %jf0 = shl i32 %j, 16\n")
@@ -153,30 +153,30 @@ function emit_noise_prelude() -> void {
emith(" %x1a = sub i32 %x0, %i1f\n %x1 = add i32 %x1a, 13849\n %y1a = sub i32 %y0, %j1f\n %y1 = add i32 %y1a, 13849\n")
emith(" %x2a = sub i32 %x0, 65536\n %x2 = add i32 %x2a, 27698\n %y2a = sub i32 %y0, 65536\n %y2 = add i32 %y2a, 27698\n")
emith(" %i1p = add i32 %i, %i1\n %j1p = add i32 %j, %j1\n %i2 = add i32 %i, 1\n %j2 = add i32 %j, 1\n")
- emith(" %gi0 = call i32 @fn_noise_hash(i32 %seed, i32 %i, i32 %j)\n %gi1 = call i32 @fn_noise_hash(i32 %seed, i32 %i1p, i32 %j1p)\n %gi2 = call i32 @fn_noise_hash(i32 %seed, i32 %i2, i32 %j2)\n")
- emith(" %n0 = call i32 @fn_noise_scorner(i32 %gi0, i32 %x0, i32 %y0)\n %n1 = call i32 @fn_noise_scorner(i32 %gi1, i32 %x1, i32 %y1)\n %n2 = call i32 @fn_noise_scorner(i32 %gi2, i32 %x2, i32 %y2)\n")
+ emith(" %gi0 = call i32 @lp_noise_hash(i32 %seed, i32 %i, i32 %j)\n %gi1 = call i32 @lp_noise_hash(i32 %seed, i32 %i1p, i32 %j1p)\n %gi2 = call i32 @lp_noise_hash(i32 %seed, i32 %i2, i32 %j2)\n")
+ emith(" %n0 = call i32 @lp_noise_scorner(i32 %gi0, i32 %x0, i32 %y0)\n %n1 = call i32 @lp_noise_scorner(i32 %gi1, i32 %x1, i32 %y1)\n %n2 = call i32 @lp_noise_scorner(i32 %gi2, i32 %x2, i32 %y2)\n")
emith(" %sa = add i32 %n0, %n1\n %sb = add i32 %sa, %n2\n")
- emith(" %sc = mul i32 %sb, 45\n %r = call i32 @fn_noise_clamp(i32 %sc)\n ret i32 %r\n}\n")
+ emith(" %sc = mul i32 %sb, 45\n %r = call i32 @lp_noise_clamp(i32 %sc)\n ret i32 %r\n}\n")
# fractal Brownian motion: sum `oct` octaves of simplex at rising frequency
# (lacunarity 2.0) and falling amplitude (gain 0.5), normalised by total
# amplitude so the result stays in [-1,1]. seed varies per octave.
- emith("define i32 @fn_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\n")
+ emith("define i32 @lp_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\n")
emith("entry:\n %sump = alloca i32\n %normp = alloca i32\n %ampp = alloca i32\n %freqp = alloca i32\n %op = alloca i32\n")
emith(" store i32 0, ptr %sump\n store i32 0, ptr %normp\n store i32 65536, ptr %ampp\n store i32 65536, ptr %freqp\n store i32 0, ptr %op\n br label %cond\n")
emith("cond:\n %o = load i32, ptr %op\n %lt = icmp slt i32 %o, %oct\n br i1 %lt, label %body, label %done\n")
emith("body:\n %freq = load i32, ptr %freqp\n %amp = load i32, ptr %ampp\n")
- emith(" %fx = call i32 @fn_nfx_mul(i32 %x, i32 %freq)\n %fy = call i32 @fn_nfx_mul(i32 %y, i32 %freq)\n")
- emith(" %so = add i32 %seed, %o\n %n = call i32 @fn_noise_simplex2(i32 %fx, i32 %fy, i32 %so)\n")
- emith(" %na = call i32 @fn_nfx_mul(i32 %n, i32 %amp)\n %sum = load i32, ptr %sump\n %sum2 = add i32 %sum, %na\n store i32 %sum2, ptr %sump\n")
+ emith(" %fx = call i32 @lp_nfx_mul(i32 %x, i32 %freq)\n %fy = call i32 @lp_nfx_mul(i32 %y, i32 %freq)\n")
+ emith(" %so = add i32 %seed, %o\n %n = call i32 @lp_noise_simplex2(i32 %fx, i32 %fy, i32 %so)\n")
+ emith(" %na = call i32 @lp_nfx_mul(i32 %n, i32 %amp)\n %sum = load i32, ptr %sump\n %sum2 = add i32 %sum, %na\n store i32 %sum2, ptr %sump\n")
emith(" %norm = load i32, ptr %normp\n %norm2 = add i32 %norm, %amp\n store i32 %norm2, ptr %normp\n")
- emith(" %amp2 = call i32 @fn_nfx_mul(i32 %amp, i32 32768)\n store i32 %amp2, ptr %ampp\n")
- emith(" %freq2 = call i32 @fn_nfx_mul(i32 %freq, i32 131072)\n store i32 %freq2, ptr %freqp\n")
+ emith(" %amp2 = call i32 @lp_nfx_mul(i32 %amp, i32 32768)\n store i32 %amp2, ptr %ampp\n")
+ emith(" %freq2 = call i32 @lp_nfx_mul(i32 %freq, i32 131072)\n store i32 %freq2, ptr %freqp\n")
emith(" %o1 = add i32 %o, 1\n store i32 %o1, ptr %op\n br label %cond\n")
emith("done:\n %fsum = load i32, ptr %sump\n %fnorm = load i32, ptr %normp\n")
emith(" %nz = icmp eq i32 %fnorm, 0\n br i1 %nz, label %z, label %div\n")
emith("z:\n ret i32 0\n")
- emith("div:\n %d = call i32 @fn_nfx_div(i32 %fsum, i32 %fnorm)\n %r = call i32 @fn_noise_clamp(i32 %d)\n ret i32 %r\n}\n")
+ emith("div:\n %d = call i32 @lp_nfx_div(i32 %fsum, i32 %fnorm)\n %r = call i32 @lp_noise_clamp(i32 %d)\n ret i32 %r\n}\n")
# Worley / cellular noise: scan the 3x3 neighbourhood of cells, each holding one
# feature point placed by its cell hash, and return the distance to (and id of)
@@ -188,7 +188,7 @@ function emit_noise_prelude() -> void {
function emit_noise_cellular() -> void {
# core scan -> writes the min squared distance to %d2out and the winning id to
# %idout (both caller-allocated), so both public entry points share one loop.
- emith("define void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2out, ptr %idout) {\n")
+ emith("define void @lp_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2out, ptr %idout) {\n")
emith("entry:\n %xi = ashr i32 %x, 16\n %yi = ashr i32 %y, 16\n")
emith(" %bestp = alloca i32\n %idp = alloca i32\n %dyp = alloca i32\n %dxp = alloca i32\n")
emith(" store i32 2147483647, ptr %bestp\n store i32 0, ptr %idp\n store i32 -1, ptr %dyp\n br label %yc\n")
@@ -196,22 +196,22 @@ function emit_noise_cellular() -> void {
emith("yb:\n store i32 -1, ptr %dxp\n br label %xc\n")
emith("xc:\n %ox = load i32, ptr %dxp\n %xok = icmp sle i32 %ox, 1\n br i1 %xok, label %xb, label %xdone\n")
emith("xb:\n %cx = add i32 %xi, %ox\n %cy = add i32 %yi, %oy\n")
- emith(" %h = call i32 @fn_noise_hash(i32 %seed, i32 %cx, i32 %cy)\n")
+ emith(" %h = call i32 @lp_noise_hash(i32 %seed, i32 %cx, i32 %cy)\n")
emith(" %fxr = and i32 %h, 65535\n %hs = lshr i32 %h, 16\n %fyr = and i32 %hs, 65535\n")
emith(" %cxf = shl i32 %cx, 16\n %cyf = shl i32 %cy, 16\n %pxr = add i32 %cxf, %fxr\n %pyr = add i32 %cyf, %fyr\n")
emith(" %ddx = sub i32 %pxr, %x\n %ddy = sub i32 %pyr, %y\n")
- emith(" %dxx = call i32 @fn_nfx_mul(i32 %ddx, i32 %ddx)\n %dyy = call i32 @fn_nfx_mul(i32 %ddy, i32 %ddy)\n %d2 = add i32 %dxx, %dyy\n")
+ emith(" %dxx = call i32 @lp_nfx_mul(i32 %ddx, i32 %ddx)\n %dyy = call i32 @lp_nfx_mul(i32 %ddy, i32 %ddy)\n %d2 = add i32 %dxx, %dyy\n")
emith(" %best = load i32, ptr %bestp\n %less = icmp slt i32 %d2, %best\n br i1 %less, label %upd, label %skip\n")
emith("upd:\n store i32 %d2, ptr %bestp\n store i32 %h, ptr %idp\n br label %skip\n")
emith("skip:\n %ox1 = add i32 %ox, 1\n store i32 %ox1, ptr %dxp\n br label %xc\n")
emith("xdone:\n %oy1 = add i32 %oy, 1\n store i32 %oy1, ptr %dyp\n br label %yc\n")
emith("ydone:\n %fb = load i32, ptr %bestp\n store i32 %fb, ptr %d2out\n %fi = load i32, ptr %idp\n store i32 %fi, ptr %idout\n ret void\n}\n")
- emith("define i32 @fn_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\n")
- emith(" %d2 = alloca i32\n %id = alloca i32\n call void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\n")
- emith(" %v = load i32, ptr %d2\n %r = call i32 @fn_fx_sqrt(i32 %v)\n ret i32 %r\n}\n")
+ emith("define i32 @lp_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\n")
+ emith(" %d2 = alloca i32\n %id = alloca i32\n call void @lp_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\n")
+ emith(" %v = load i32, ptr %d2\n %r = call i32 @lp_fx_sqrt(i32 %v)\n ret i32 %r\n}\n")
- emith("define i32 @fn_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\n")
- emith(" %d2 = alloca i32\n %id = alloca i32\n call void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\n")
+ emith("define i32 @lp_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\n")
+ emith(" %d2 = alloca i32\n %id = alloca i32\n call void @lp_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\n")
emith(" %r = load i32, ptr %id\n ret i32 %r\n}\n")
}
diff --git a/selfhost/backend/stdlib/emit_os.ludic b/selfhost/backend/stdlib/emit_os.ludic
index 190c8a00..094e4519 100644
--- a/selfhost/backend/stdlib/emit_os.ludic
+++ b/selfhost/backend/stdlib/emit_os.ludic
@@ -13,6 +13,7 @@
# Os.set_env(name, val) -> bool set it (true on success)
# Os.unset_env(name) -> bool remove it (true on success)
# Os.exit(code) terminate the process with a status code
+# Os.pid() -> int this process's id (unique among live processes)
# Os.platform() -> string "macos" | "linux" | ...(raw uname sysname)
# Os.arch() -> string machine arch, e.g. "arm64" | "x86_64"
# Os.stdout_write(s) write a string to standard output
@@ -35,15 +36,15 @@ function is_os_ns(meth: pointer) -> bool {
if (meth == "args") or (meth == "arg_count") or (meth == "arg") { return true }
if (meth == "env") or (meth == "env_or") or (meth == "has_env") { return true }
if (meth == "set_env") or (meth == "unset_env") { return true }
- if (meth == "exit") or (meth == "platform") or (meth == "arch") { return true }
+ if (meth == "exit") or (meth == "pid") or (meth == "platform") or (meth == "arch") { return true }
if (meth == "stdout_write") or (meth == "stderr_write") { return true }
if (meth == "save_dir") or (meth == "config_dir") or (meth == "cache_dir") or (meth == "temp_dir") { return true }
return false
}
function emit_os_ns(meth: pointer, e: Node) -> Val {
- # arg_count / arg / exit stay light — they mirror the bare intrinsics and need
- # no Os runtime prelude, so a program using only these emits no extra IR.
+ # arg_count / arg / exit / pid stay light — they mirror the bare intrinsics and
+ # need no Os runtime prelude, so a program using only these emits no extra IR.
if (meth == "arg_count") { return val(emit_bind("load i32, ptr @L_argc"), "int") }
if (meth == "arg") {
let i = emit_expr(e.kids[0])
@@ -51,6 +52,7 @@ function emit_os_ns(meth: pointer, e: Node) -> Val {
let q = emit_bind(`getelementptr ptr, ptr {v}, i32 {i.code}`)
return val(emit_bind(`load ptr, ptr {q}`), "string")
}
+ if (meth == "pid") { g_uses_pid = true; return val(emit_bind("call i32 @getpid()"), "int") }
if (meth == "exit") {
let n = emit_expr(e.kids[0])
emit(` call void @exit(i32 {n.code})\n`)
@@ -79,10 +81,10 @@ function emit_os_ns(meth: pointer, e: Node) -> Val {
}
# everything below is served by the Os runtime prelude
g_uses_osrt = true
- if (meth == "args") { return val(emit_bind("call ptr @fn_os_args()"), "[]string") }
+ if (meth == "args") { return val(emit_bind("call ptr @lp_os_args()"), "[]string") }
if (meth == "env_or") {
let nm = emit_expr(e.kids[0]); let fb = emit_expr(e.kids[1])
- return val(emit_bind(`call ptr @fn_os_getenv_or(ptr {nm.code}, ptr {fb.code})`), "string")
+ return val(emit_bind(`call ptr @lp_os_getenv_or(ptr {nm.code}, ptr {fb.code})`), "string")
}
if (meth == "set_env") {
let nm = emit_expr(e.kids[0]); let v = emit_expr(e.kids[1])
@@ -96,22 +98,22 @@ function emit_os_ns(meth: pointer, e: Node) -> Val {
let ok = emit_bind(`icmp eq i32 {r}, 0`)
return val(emit_bind(`zext i1 {ok} to i32`), "bool")
}
- if (meth == "platform") { return val(emit_bind("call ptr @fn_os_platform()"), "string") }
- if (meth == "arch") { return val(emit_bind("call ptr @fn_os_arch()"), "string") }
+ if (meth == "platform") { return val(emit_bind("call ptr @lp_os_platform()"), "string") }
+ if (meth == "arch") { return val(emit_bind("call ptr @lp_os_arch()"), "string") }
if (meth == "save_dir") {
let a = emit_expr(e.kids[0])
- return val(emit_bind(`call ptr @fn_os_save_dir(ptr {a.code})`), "string")
+ return val(emit_bind(`call ptr @lp_os_save_dir(ptr {a.code})`), "string")
}
if (meth == "config_dir") {
let a = emit_expr(e.kids[0])
- return val(emit_bind(`call ptr @fn_os_config_dir(ptr {a.code})`), "string")
+ return val(emit_bind(`call ptr @lp_os_config_dir(ptr {a.code})`), "string")
}
if (meth == "cache_dir") {
let a = emit_expr(e.kids[0])
- return val(emit_bind(`call ptr @fn_os_cache_dir(ptr {a.code})`), "string")
+ return val(emit_bind(`call ptr @lp_os_cache_dir(ptr {a.code})`), "string")
}
# temp_dir
- return val(emit_bind("call ptr @fn_os_temp_dir()"), "string")
+ return val(emit_bind("call ptr @lp_os_temp_dir()"), "string")
}
# emit_os_prelude — the Os runtime, emitted once per program that uses the
@@ -135,34 +137,34 @@ function emit_os_prelude() -> void {
let k_linux = emit_str_const("linux")
# getenv(name) or a fallback when it is unset
- emith("define ptr @fn_os_getenv_or(ptr %name, ptr %fb) {\n")
+ emith("define ptr @lp_os_getenv_or(ptr %name, ptr %fb) {\n")
emith("entry:\n %r = call ptr @getenv(ptr %name)\n %z = icmp eq ptr %r, null\n br i1 %z, label %use, label %got\n")
emith("use:\n ret ptr %fb\n")
emith("got:\n ret ptr %r\n}\n")
# concatenate two NUL-terminated strings into a fresh malloc'd buffer
- emith("define ptr @fn_os_join2(ptr %a, ptr %b) {\n")
+ emith("define ptr @lp_os_join2(ptr %a, ptr %b) {\n")
emith("entry:\n %la = call i64 @strlen(ptr %a)\n %lb = call i64 @strlen(ptr %b)\n")
emith(" %sum = add i64 %la, %lb\n %tot = add i64 %sum, 1\n %m = call ptr @malloc(i64 %tot)\n")
emith(" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\n")
emith(" %m2 = getelementptr i8, ptr %m, i64 %la\n call ptr @memcpy(ptr %m2, ptr %b, i64 %lb)\n")
emith(" %end = getelementptr i8, ptr %m, i64 %sum\n store i8 0, ptr %end\n ret ptr %m\n}\n")
- emith("define ptr @fn_os_join3(ptr %a, ptr %b, ptr %c) {\n")
- emith("entry:\n %ab = call ptr @fn_os_join2(ptr %a, ptr %b)\n %r = call ptr @fn_os_join2(ptr %ab, ptr %c)\n ret ptr %r\n}\n")
+ emith("define ptr @lp_os_join3(ptr %a, ptr %b, ptr %c) {\n")
+ emith("entry:\n %ab = call ptr @lp_os_join2(ptr %a, ptr %b)\n %r = call ptr @lp_os_join2(ptr %ab, ptr %c)\n ret ptr %r\n}\n")
# the user's home directory, or "." when HOME is unset
- emith(`define ptr @fn_os_home() {{\n %r = call ptr @fn_os_getenv_or(ptr {k_home}, ptr {k_dot})\n ret ptr %r\n}}\n`)
+ emith(`define ptr @lp_os_home() {{\n %r = call ptr @lp_os_getenv_or(ptr {k_home}, ptr {k_dot})\n ret ptr %r\n}}\n`)
# per-user known folders (macOS/BSD layout)
- emith(`define ptr @fn_os_save_dir(ptr %app) {{\n %h = call ptr @fn_os_home()\n %r = call ptr @fn_os_join3(ptr %h, ptr {k_appsp}, ptr %app)\n ret ptr %r\n}}\n`)
- emith(`define ptr @fn_os_config_dir(ptr %app) {{\n %h = call ptr @fn_os_home()\n %r = call ptr @fn_os_join3(ptr %h, ptr {k_appsp}, ptr %app)\n ret ptr %r\n}}\n`)
- emith(`define ptr @fn_os_cache_dir(ptr %app) {{\n %h = call ptr @fn_os_home()\n %r = call ptr @fn_os_join3(ptr %h, ptr {k_cache}, ptr %app)\n ret ptr %r\n}}\n`)
- emith(`define ptr @fn_os_temp_dir() {{\n %r = call ptr @fn_os_getenv_or(ptr {k_tmpk}, ptr {k_tmp})\n ret ptr %r\n}}\n`)
+ emith(`define ptr @lp_os_save_dir(ptr %app) {{\n %h = call ptr @lp_os_home()\n %r = call ptr @lp_os_join3(ptr %h, ptr {k_appsp}, ptr %app)\n ret ptr %r\n}}\n`)
+ emith(`define ptr @lp_os_config_dir(ptr %app) {{\n %h = call ptr @lp_os_home()\n %r = call ptr @lp_os_join3(ptr %h, ptr {k_appsp}, ptr %app)\n ret ptr %r\n}}\n`)
+ emith(`define ptr @lp_os_cache_dir(ptr %app) {{\n %h = call ptr @lp_os_home()\n %r = call ptr @lp_os_join3(ptr %h, ptr {k_cache}, ptr %app)\n ret ptr %r\n}}\n`)
+ emith(`define ptr @lp_os_temp_dir() {{\n %r = call ptr @lp_os_getenv_or(ptr {k_tmpk}, ptr {k_tmp})\n ret ptr %r\n}}\n`)
# Os.args() -> a %LSlice of the argv strings (data = argv, len = cap = argc), a
# snapshot the caller may iterate or index like any other []string.
- emith("define ptr @fn_os_args() {\n")
+ emith("define ptr @lp_os_args() {\n")
emith("entry:\n %c = load i32, ptr @L_argc\n %v = load ptr, ptr @L_argv\n")
emith(" %h = call ptr @malloc(i64 16)\n")
emith(" %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\n store ptr %v, ptr %d0\n")
@@ -171,7 +173,7 @@ function emit_os_prelude() -> void {
emith(" ret ptr %h\n}\n")
# platform(): uname sysname (field 0, portable) mapped to a short id
- emith("define ptr @fn_os_platform() {\n")
+ emith("define ptr @lp_os_platform() {\n")
emith("entry:\n %buf = call ptr @malloc(i64 8192)\n call i32 @uname(ptr %buf)\n")
emith(` %cd = call i32 @strncmp(ptr %buf, ptr {k_darw}, i64 6)\n %isd = icmp eq i32 %cd, 0\n br i1 %isd, label %mac, label %chkl\n`)
emith(`mac:\n ret ptr {k_macos}\n`)
@@ -182,7 +184,7 @@ function emit_os_prelude() -> void {
# arch(): the uname `machine` field. On macOS/BSD utsname each field is 256
# bytes, so `machine` (index 4) sits at offset 1024. Documented BSD-layout
# assumption (see the header note); other layouts are a follow-up.
- emith("define ptr @fn_os_arch() {\n")
+ emith("define ptr @lp_os_arch() {\n")
emith("entry:\n %buf = call ptr @malloc(i64 8192)\n call i32 @uname(ptr %buf)\n")
emith(" %m = getelementptr i8, ptr %buf, i64 1024\n ret ptr %m\n}\n")
}
diff --git a/selfhost/backend/stdlib/emit_text.ludic b/selfhost/backend/stdlib/emit_text.ludic
index b50c1419..a893afdd 100644
--- a/selfhost/backend/stdlib/emit_text.ludic
+++ b/selfhost/backend/stdlib/emit_text.ludic
@@ -18,22 +18,22 @@ function emit_text_ns(meth: pointer, e: Node) -> Val {
if (meth == "from_int") { # int -> string, same as string(n)
let n = emit_expr(e.kids[0])
g_uses_intstr = true
- return val(emit_bind(`call ptr @fn_int_str(i32 {n.code})`), "string")
+ return val(emit_bind(`call ptr @lp_int_str(i32 {n.code})`), "string")
}
if (meth == "slice") { # s[a..b], same substring helper
let s0 = emit_expr(e.kids[0]); let a = emit_expr(e.kids[1]); let b = emit_expr(e.kids[2])
g_uses_strslice = true
- return val(emit_bind(`call ptr @fn_str_slice(ptr {s0.code}, i32 {a.code}, i32 {b.code})`), "string")
+ return val(emit_bind(`call ptr @lp_str_slice(ptr {s0.code}, i32 {a.code}, i32 {b.code})`), "string")
}
if (meth == "equals") { # byte-wise equality, same as ==
let a = emit_expr(e.kids[0]); let b = emit_expr(e.kids[1])
g_uses_str = true
- return val(emit_bind(`call i32 @fn_str_eq(ptr {a.code}, ptr {b.code})`), "bool")
+ return val(emit_bind(`call i32 @lp_str_eq(ptr {a.code}, ptr {b.code})`), "bool")
}
if (meth == "concat") { # a + b, same as the + operator
let a = emit_expr(e.kids[0]); let b = emit_expr(e.kids[1])
g_uses_str = true
- return val(emit_bind(`call ptr @fn_str_concat(ptr {a.code}, ptr {b.code})`), "string")
+ return val(emit_bind(`call ptr @lp_str_concat(ptr {a.code}, ptr {b.code})`), "string")
}
let s = emit_expr(e.kids[0])
@@ -52,45 +52,45 @@ function emit_text_ns(meth: pointer, e: Node) -> Val {
}
if (meth == "upper") { # ASCII a-z -> A-Z, fresh string
g_uses_textrt = true
- return val(emit_bind(`call ptr @fn_str_upper(ptr {s.code})`), "string")
+ return val(emit_bind(`call ptr @lp_str_upper(ptr {s.code})`), "string")
}
if (meth == "lower") { # ASCII A-Z -> a-z, fresh string
g_uses_textrt = true
- return val(emit_bind(`call ptr @fn_str_lower(ptr {s.code})`), "string")
+ return val(emit_bind(`call ptr @lp_str_lower(ptr {s.code})`), "string")
}
if (meth == "trim") { # drop leading/trailing whitespace
g_uses_textrt = true
- return val(emit_bind(`call ptr @fn_str_trim(ptr {s.code})`), "string")
+ return val(emit_bind(`call ptr @lp_str_trim(ptr {s.code})`), "string")
}
if (meth == "repeat") { # s repeated n times
g_uses_textrt = true
let n = emit_expr(e.kids[1])
- return val(emit_bind(`call ptr @fn_str_repeat(ptr {s.code}, i32 {n.code})`), "string")
+ return val(emit_bind(`call ptr @lp_str_repeat(ptr {s.code}, i32 {n.code})`), "string")
}
if (meth == "pad_left") { # pad with spaces to width, on the left
g_uses_textrt = true
let w = emit_expr(e.kids[1])
- return val(emit_bind(`call ptr @fn_str_pad(ptr {s.code}, i32 {w.code}, i1 1)`), "string")
+ return val(emit_bind(`call ptr @lp_str_pad(ptr {s.code}, i32 {w.code}, i1 1)`), "string")
}
if (meth == "pad_right") { # pad with spaces to width, on the right
g_uses_textrt = true
let w = emit_expr(e.kids[1])
- return val(emit_bind(`call ptr @fn_str_pad(ptr {s.code}, i32 {w.code}, i1 0)`), "string")
+ return val(emit_bind(`call ptr @lp_str_pad(ptr {s.code}, i32 {w.code}, i1 0)`), "string")
}
if (meth == "replace") { # replace every `from` with `to`
g_uses_textrt2 = true
let from = emit_expr(e.kids[1]); let to = emit_expr(e.kids[2])
- return val(emit_bind(`call ptr @fn_str_replace(ptr {s.code}, ptr {from.code}, ptr {to.code})`), "string")
+ return val(emit_bind(`call ptr @lp_str_replace(ptr {s.code}, ptr {from.code}, ptr {to.code})`), "string")
}
if (meth == "split") { # split on a separator -> []string
g_uses_textrt2 = true
let sep = emit_expr(e.kids[1])
- return val(emit_bind(`call ptr @fn_str_split(ptr {s.code}, ptr {sep.code})`), "[]string")
+ return val(emit_bind(`call ptr @lp_str_split(ptr {s.code}, ptr {sep.code})`), "[]string")
}
if (meth == "join") { # join a []string with a separator (s is the slice)
g_uses_textrt2 = true
let sep = emit_expr(e.kids[1])
- return val(emit_bind(`call ptr @fn_str_join(ptr {s.code}, ptr {sep.code})`), "string")
+ return val(emit_bind(`call ptr @lp_str_join(ptr {s.code}, ptr {sep.code})`), "string")
}
if (meth == "contains") or (meth == "index_of") { # substring search
let sub = emit_expr(e.kids[1])
@@ -134,4 +134,3 @@ function emit_text_ns(meth: pointer, e: Node) -> Val {
emit(en); emit(":\n")
return val(emit_bind(`load i32, ptr {res}`), "bool")
}
-
diff --git a/selfhost/backend/stdlib/emit_text_prelude.ludic b/selfhost/backend/stdlib/emit_text_prelude.ludic
index cbe703c3..795de997 100644
--- a/selfhost/backend/stdlib/emit_text_prelude.ludic
+++ b/selfhost/backend/stdlib/emit_text_prelude.ludic
@@ -3,7 +3,7 @@
# repeat/pad. Emitted once per program that uses them (g_uses_textrt). Plain
# libc (strlen/malloc/memcpy), deterministic, C-string in and out.
function emit_text_prelude() -> void {
- emith("define ptr @fn_str_upper(ptr %s) {\n")
+ emith("define ptr @lp_str_upper(ptr %s) {\n")
emith("entry:\n")
emith(" %n = call i64 @strlen(ptr %s)\n")
emith(" %sz = add i64 %n, 1\n")
@@ -33,7 +33,7 @@ function emit_text_prelude() -> void {
emith(" store i8 0, ptr %tp\n")
emith(" ret ptr %out\n")
emith("}\n")
- emith("define ptr @fn_str_lower(ptr %s) {\n")
+ emith("define ptr @lp_str_lower(ptr %s) {\n")
emith("entry:\n")
emith(" %n = call i64 @strlen(ptr %s)\n")
emith(" %sz = add i64 %n, 1\n")
@@ -63,7 +63,7 @@ function emit_text_prelude() -> void {
emith(" store i8 0, ptr %tp\n")
emith(" ret ptr %out\n")
emith("}\n")
- emith("define ptr @fn_str_trim(ptr %s) {\n")
+ emith("define ptr @lp_str_trim(ptr %s) {\n")
emith("entry:\n")
emith(" %n = call i64 @strlen(ptr %s)\n")
emith(" %sp = alloca i64\n")
@@ -79,7 +79,7 @@ function emit_text_prelude() -> void {
emith("lchk:\n")
emith(" %p0 = getelementptr i8, ptr %s, i64 %a0\n")
emith(" %c0 = load i8, ptr %p0\n")
- emith(" %ws0 = call i1 @fn_is_ws(i8 %c0)\n")
+ emith(" %ws0 = call i1 @lp_is_ws(i8 %c0)\n")
emith(" br i1 %ws0, label %linc, label %rcond\n")
emith("linc:\n")
emith(" %a1 = add i64 %a0, 1\n")
@@ -94,7 +94,7 @@ function emit_text_prelude() -> void {
emith(" %em1 = sub i64 %e2, 1\n")
emith(" %p1 = getelementptr i8, ptr %s, i64 %em1\n")
emith(" %c1 = load i8, ptr %p1\n")
- emith(" %ws1 = call i1 @fn_is_ws(i8 %c1)\n")
+ emith(" %ws1 = call i1 @lp_is_ws(i8 %c1)\n")
emith(" br i1 %ws1, label %rdec, label %build\n")
emith("rdec:\n")
emith(" store i64 %em1, ptr %ep\n")
@@ -111,7 +111,7 @@ function emit_text_prelude() -> void {
emith(" store i8 0, ptr %tp\n")
emith(" ret ptr %out\n")
emith("}\n")
- emith("define i1 @fn_is_ws(i8 %c) {\n")
+ emith("define i1 @lp_is_ws(i8 %c) {\n")
emith(" %a = icmp eq i8 %c, 32\n")
emith(" %b = icmp eq i8 %c, 9\n")
emith(" %d = icmp eq i8 %c, 10\n")
@@ -121,7 +121,7 @@ function emit_text_prelude() -> void {
emith(" %r = or i1 %ab, %de\n")
emith(" ret i1 %r\n")
emith("}\n")
- emith("define ptr @fn_str_repeat(ptr %s, i32 %n32) {\n")
+ emith("define ptr @lp_str_repeat(ptr %s, i32 %n32) {\n")
emith("entry:\n")
emith(" %nneg = icmp slt i32 %n32, 0\n")
emith(" %nn = select i1 %nneg, i32 0, i32 %n32\n")
@@ -149,7 +149,7 @@ function emit_text_prelude() -> void {
emith(" store i8 0, ptr %tp\n")
emith(" ret ptr %out\n")
emith("}\n")
- emith("define ptr @fn_str_pad(ptr %s, i32 %w32, i1 %left) {\n")
+ emith("define ptr @lp_str_pad(ptr %s, i32 %w32, i1 %left) {\n")
emith("entry:\n")
emith(" %L = call i64 @strlen(ptr %s)\n")
emith(" %w0 = sext i32 %w32 to i64\n")
@@ -169,20 +169,20 @@ function emit_text_prelude() -> void {
emith(" %out = call ptr @malloc(i64 %sz)\n")
emith(" br i1 %left, label %padleft, label %padright\n")
emith("padleft:\n")
- emith(" call void @fn_fill_sp(ptr %out, i64 0, i64 %pad)\n")
+ emith(" call void @lp_fill_sp(ptr %out, i64 0, i64 %pad)\n")
emith(" %dstL = getelementptr i8, ptr %out, i64 %pad\n")
emith(" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\n")
emith(" br label %term\n")
emith("padright:\n")
emith(" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\n")
- emith(" call void @fn_fill_sp(ptr %out, i64 %L, i64 %pad)\n")
+ emith(" call void @lp_fill_sp(ptr %out, i64 %L, i64 %pad)\n")
emith(" br label %term\n")
emith("term:\n")
emith(" %tp = getelementptr i8, ptr %out, i64 %w0\n")
emith(" store i8 0, ptr %tp\n")
emith(" ret ptr %out\n")
emith("}\n")
- emith("define void @fn_fill_sp(ptr %buf, i64 %start, i64 %count) {\n")
+ emith("define void @lp_fill_sp(ptr %buf, i64 %start, i64 %count) {\n")
emith("entry:\n")
emith(" %ip = alloca i64\n")
emith(" store i64 0, ptr %ip\n")
@@ -208,7 +208,7 @@ function emit_text_prelude() -> void {
# program that uses them (g_uses_textrt2). Slices are the {data,len,cap}
# %LSlice with str (ptr) elements.
function emit_text2_prelude() -> void {
- emith("define ptr @fn_str_replace(ptr %s, ptr %from, ptr %to) {\n")
+ emith("define ptr @lp_str_replace(ptr %s, ptr %from, ptr %to) {\n")
emith("entry:\n")
emith(" %lf = call i64 @strlen(ptr %from)\n")
emith(" %lz = icmp eq i64 %lf, 0\n")
@@ -277,7 +277,7 @@ function emit_text2_prelude() -> void {
emith(" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\n")
emith(" ret ptr %out\n")
emith("}\n")
- emith("define ptr @fn_str_join(ptr %h, ptr %sep) {\n")
+ emith("define ptr @lp_str_join(ptr %h, ptr %sep) {\n")
emith("entry:\n")
emith(" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\n")
emith(" %len32 = load i32, ptr %lp\n")
@@ -347,7 +347,7 @@ function emit_text2_prelude() -> void {
emith(" store i8 0, ptr %dsf\n")
emith(" ret ptr %out\n")
emith("}\n")
- emith("define ptr @fn_str_split(ptr %s, ptr %sep) {\n")
+ emith("define ptr @lp_str_split(ptr %s, ptr %sep) {\n")
emith("entry:\n")
emith(" %lsep = call i64 @strlen(ptr %sep)\n")
emith(" %cntp = alloca i64\n")
diff --git a/selfhost/backend/stdlib/emit_unicode.ludic b/selfhost/backend/stdlib/emit_unicode.ludic
index 888381f8..dec48d8e 100644
--- a/selfhost/backend/stdlib/emit_unicode.ludic
+++ b/selfhost/backend/stdlib/emit_unicode.ludic
@@ -43,35 +43,35 @@ function emit_unicode_ns(meth: pointer, e: Node) -> Val {
}
if (meth == "len") {
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call i32 @fn_uni_len(ptr {s.code})`), "int")
+ return val(emit_bind(`call i32 @lp_uni_len(ptr {s.code})`), "int")
}
if (meth == "is_valid_utf8") {
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call i32 @fn_uni_valid(ptr {s.code})`), "bool")
+ return val(emit_bind(`call i32 @lp_uni_valid(ptr {s.code})`), "bool")
}
if (meth == "char_at") {
let s = emit_expr(e.kids[0]); let i = emit_expr(e.kids[1])
- return val(emit_bind(`call i32 @fn_uni_char_at(ptr {s.code}, i32 {i.code})`), "int")
+ return val(emit_bind(`call i32 @lp_uni_char_at(ptr {s.code}, i32 {i.code})`), "int")
}
if (meth == "chars") {
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call ptr @fn_uni_chars(ptr {s.code})`), "[]int")
+ return val(emit_bind(`call ptr @lp_uni_chars(ptr {s.code})`), "[]int")
}
if (meth == "upper") {
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call ptr @fn_uni_case(ptr {s.code}, i32 1)`), "string")
+ return val(emit_bind(`call ptr @lp_uni_case(ptr {s.code}, i32 1)`), "string")
}
if (meth == "lower") {
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call ptr @fn_uni_case(ptr {s.code}, i32 0)`), "string")
+ return val(emit_bind(`call ptr @lp_uni_case(ptr {s.code}, i32 0)`), "string")
}
if (meth == "truncate") {
let s = emit_expr(e.kids[0]); let n = emit_expr(e.kids[1])
- return val(emit_bind(`call ptr @fn_uni_truncate(ptr {s.code}, i32 {n.code})`), "string")
+ return val(emit_bind(`call ptr @lp_uni_truncate(ptr {s.code}, i32 {n.code})`), "string")
}
# grapheme_len
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call i32 @fn_uni_grapheme_len(ptr {s.code})`), "int")
+ return val(emit_bind(`call i32 @lp_uni_grapheme_len(ptr {s.code})`), "int")
}
# emit_unicode_prelude — the UTF-8 runtime, emitted once per program that uses
@@ -87,7 +87,7 @@ function emit_uni_core() -> void {
# code-point count: every byte that is NOT a UTF-8 continuation byte
# (0b10xxxxxx) begins a new code point. Walks byte-by-byte, so it is safe on
# truncated/invalid input and stops exactly at the NUL.
- emith("define i32 @fn_uni_len(ptr %s) {\n")
+ emith("define i32 @lp_uni_len(ptr %s) {\n")
emith("entry:\n %ip = alloca i32\n %np = alloca i32\n store i32 0, ptr %ip\n store i32 0, ptr %np\n br label %lp\n")
emith("lp:\n %i = load i32, ptr %ip\n %p = getelementptr i8, ptr %s, i32 %i\n %b = load i8, ptr %p\n %c = zext i8 %b to i32\n")
emith(" %z = icmp eq i32 %c, 0\n br i1 %z, label %done, label %go\n")
@@ -100,7 +100,7 @@ function emit_uni_core() -> void {
# offset just past it. Lenient and overrun-safe: a truncated multibyte sequence
# (a continuation byte that is NUL) or an invalid lead byte decodes as a single
# byte, so the walk always makes progress and never reads past the terminator.
- emith("define i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cpout) {\n")
+ emith("define i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cpout) {\n")
emith("entry:\n %p0 = getelementptr i8, ptr %s, i32 %i\n %b0 = load i8, ptr %p0\n %c0 = zext i8 %b0 to i32\n")
emith(" %a1 = icmp ult i32 %c0, 128\n br i1 %a1, label %one, label %multi\n")
emith("one:\n store i32 %c0, ptr %cpout\n %oi = add i32 %i, 1\n ret i32 %oi\n")
@@ -135,7 +135,7 @@ function emit_uni_core() -> void {
# strict UTF-8 validation: correct continuation bytes, no overlong encodings,
# no surrogates (U+D800..U+DFFF), and nothing above U+10FFFF. Returns 1/0.
- emith("define i32 @fn_uni_valid(ptr %s) {\n")
+ emith("define i32 @lp_uni_valid(ptr %s) {\n")
emith("entry:\n %ip = alloca i32\n store i32 0, ptr %ip\n br label %lp\n")
emith("lp:\n %i = load i32, ptr %ip\n %p = getelementptr i8, ptr %s, i32 %i\n %b = load i8, ptr %p\n %c = zext i8 %b to i32\n")
emith(" %z = icmp eq i32 %c, 0\n br i1 %z, label %good, label %g\n")
@@ -180,26 +180,26 @@ function emit_uni_core() -> void {
function emit_uni_case_fns() -> void {
# uppercase one code point: ASCII a-z and Latin-1 a-with-diacritic .. thorn
# (0xE0..0xFE except 0xF7). Other code points pass through unchanged (v1).
- emith("define i32 @fn_uni_upcp(i32 %c) {\n")
+ emith("define i32 @lp_uni_upcp(i32 %c) {\n")
emith(" %la = icmp uge i32 %c, 97\n %lb = icmp ule i32 %c, 122\n %asc = and i1 %la, %lb\n")
emith(" %da = icmp uge i32 %c, 224\n %db = icmp ule i32 %c, 254\n %dd = icmp ne i32 %c, 247\n %d1 = and i1 %da, %db\n %d2 = and i1 %d1, %dd\n")
emith(" %map = or i1 %asc, %d2\n %up = sub i32 %c, 32\n %r = select i1 %map, i32 %up, i32 %c\n ret i32 %r\n}\n")
# lowercase one code point: ASCII A-Z and Latin-1 A-with-diacritic .. Thorn
# (0xC0..0xDE except 0xD7). Other code points pass through unchanged (v1).
- emith("define i32 @fn_uni_locp(i32 %c) {\n")
+ emith("define i32 @lp_uni_locp(i32 %c) {\n")
emith(" %ua = icmp uge i32 %c, 65\n %ub = icmp ule i32 %c, 90\n %asc = and i1 %ua, %ub\n")
emith(" %da = icmp uge i32 %c, 192\n %db = icmp ule i32 %c, 222\n %dd = icmp ne i32 %c, 215\n %d1 = and i1 %da, %db\n %d2 = and i1 %d1, %dd\n")
emith(" %map = or i1 %asc, %d2\n %lo = add i32 %c, 32\n %r = select i1 %map, i32 %lo, i32 %c\n ret i32 %r\n}\n")
# UTF-8 byte width needed to encode a code point
- emith("define i32 @fn_uni_cpwidth(i32 %cp) {\n")
+ emith("define i32 @lp_uni_cpwidth(i32 %cp) {\n")
emith(" %a = icmp ult i32 %cp, 128\n %b = icmp ult i32 %cp, 2048\n %c = icmp ult i32 %cp, 65536\n")
emith(" %w34 = select i1 %c, i32 3, i32 4\n %w234 = select i1 %b, i32 2, i32 %w34\n %w = select i1 %a, i32 1, i32 %w234\n ret i32 %w\n}\n")
# encode a code point into %dst at byte offset %off; return the new offset
- emith("define i32 @fn_uni_encode(ptr %dst, i32 %off, i32 %cp) {\n")
- emith("entry:\n %w = call i32 @fn_uni_cpwidth(i32 %cp)\n %is1 = icmp eq i32 %w, 1\n br i1 %is1, label %e1, label %k2\n")
+ emith("define i32 @lp_uni_encode(ptr %dst, i32 %off, i32 %cp) {\n")
+ emith("entry:\n %w = call i32 @lp_uni_cpwidth(i32 %cp)\n %is1 = icmp eq i32 %w, 1\n br i1 %is1, label %e1, label %k2\n")
emith("e1:\n %d0 = getelementptr i8, ptr %dst, i32 %off\n %b0 = trunc i32 %cp to i8\n store i8 %b0, ptr %d0\n %o1 = add i32 %off, 1\n ret i32 %o1\n")
emith("k2:\n %is2 = icmp eq i32 %w, 2\n br i1 %is2, label %e2, label %k3\n")
emith("e2:\n %hi2 = lshr i32 %cp, 6\n %by0 = or i32 %hi2, 192\n %lo2 = and i32 %cp, 63\n %by1 = or i32 %lo2, 128\n")
@@ -220,35 +220,35 @@ function emit_uni_case_fns() -> void {
# is this code point a grapheme "extend" (a combining mark or variation
# selector that joins the preceding base)? An approximation of the common
# ranges; ZWJ and regional indicators are handled by grapheme_len itself.
- emith("define i32 @fn_uni_is_extend(i32 %c) {\n")
- emith(" %r1 = call i32 @fn_uni_inrange(i32 %c, i32 768, i32 879)\n") # 0300-036F combining diacritics
- emith(" %r2 = call i32 @fn_uni_inrange(i32 %c, i32 6832, i32 6911)\n") # 1AB0-1AFF
- emith(" %r3 = call i32 @fn_uni_inrange(i32 %c, i32 7616, i32 7679)\n") # 1DC0-1DFF
- emith(" %r4 = call i32 @fn_uni_inrange(i32 %c, i32 8400, i32 8447)\n") # 20D0-20FF
- emith(" %r5 = call i32 @fn_uni_inrange(i32 %c, i32 65056, i32 65071)\n") # FE20-FE2F
- emith(" %r6 = call i32 @fn_uni_inrange(i32 %c, i32 65024, i32 65039)\n") # FE00-FE0F variation selectors
- emith(" %r7 = call i32 @fn_uni_inrange(i32 %c, i32 917760, i32 917999)\n") # E0100-E01EF
+ emith("define i32 @lp_uni_is_extend(i32 %c) {\n")
+ emith(" %r1 = call i32 @lp_uni_inrange(i32 %c, i32 768, i32 879)\n") # 0300-036F combining diacritics
+ emith(" %r2 = call i32 @lp_uni_inrange(i32 %c, i32 6832, i32 6911)\n") # 1AB0-1AFF
+ emith(" %r3 = call i32 @lp_uni_inrange(i32 %c, i32 7616, i32 7679)\n") # 1DC0-1DFF
+ emith(" %r4 = call i32 @lp_uni_inrange(i32 %c, i32 8400, i32 8447)\n") # 20D0-20FF
+ emith(" %r5 = call i32 @lp_uni_inrange(i32 %c, i32 65056, i32 65071)\n") # FE20-FE2F
+ emith(" %r6 = call i32 @lp_uni_inrange(i32 %c, i32 65024, i32 65039)\n") # FE00-FE0F variation selectors
+ emith(" %r7 = call i32 @lp_uni_inrange(i32 %c, i32 917760, i32 917999)\n") # E0100-E01EF
emith(" %o1 = or i32 %r1, %r2\n %o2 = or i32 %o1, %r3\n %o3 = or i32 %o2, %r4\n %o4 = or i32 %o3, %r5\n %o5 = or i32 %o4, %r6\n %o6 = or i32 %o5, %r7\n ret i32 %o6\n}\n")
- emith("define i32 @fn_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\n")
+ emith("define i32 @lp_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\n")
emith(" %a = icmp uge i32 %c, %lo\n %b = icmp ule i32 %c, %hi\n %x = and i1 %a, %b\n %r = zext i1 %x to i32\n ret i32 %r\n}\n")
}
# ---- code-point access + string builders -----------------------------------
function emit_uni_str_fns() -> void {
# the idx-th code point, or -1 when idx is past the end
- emith("define i32 @fn_uni_char_at(ptr %s, i32 %idx) {\n")
+ emith("define i32 @lp_uni_char_at(ptr %s, i32 %idx) {\n")
emith("entry:\n %ip = alloca i32\n %kp = alloca i32\n %cp = alloca i32\n store i32 0, ptr %ip\n store i32 0, ptr %kp\n br label %lp\n")
emith("lp:\n %i = load i32, ptr %ip\n %p = getelementptr i8, ptr %s, i32 %i\n %b = load i8, ptr %p\n %c = zext i8 %b to i32\n")
emith(" %z = icmp eq i32 %c, 0\n br i1 %z, label %none, label %go\n")
- emith("go:\n %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\n %k = load i32, ptr %kp\n %hit = icmp eq i32 %k, %idx\n br i1 %hit, label %found, label %next\n")
+ emith("go:\n %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\n %k = load i32, ptr %kp\n %hit = icmp eq i32 %k, %idx\n br i1 %hit, label %found, label %next\n")
emith("found:\n %v = load i32, ptr %cp\n ret i32 %v\n")
emith("next:\n %k1 = add i32 %k, 1\n store i32 %k1, ptr %kp\n store i32 %ni, ptr %ip\n br label %lp\n")
emith("none:\n ret i32 -1\n}\n")
# chars(s) -> []int : a fresh %LSlice of every code point, in order
- emith("define ptr @fn_uni_chars(ptr %s) {\n")
- emith("entry:\n %n = call i32 @fn_uni_len(ptr %s)\n %h = call ptr @malloc(i64 16)\n")
+ emith("define ptr @lp_uni_chars(ptr %s) {\n")
+ emith("entry:\n %n = call i32 @lp_uni_len(ptr %s)\n %h = call ptr @malloc(i64 16)\n")
emith(" %nz = zext i32 %n to i64\n %bytes = mul i64 %nz, 4\n %data = call ptr @malloc(i64 %bytes)\n")
emith(" %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\n store ptr %data, ptr %d0\n")
emith(" %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\n store i32 %n, ptr %d1\n")
@@ -256,31 +256,31 @@ function emit_uni_str_fns() -> void {
emith(" %ip = alloca i32\n %kp = alloca i32\n %cp = alloca i32\n store i32 0, ptr %ip\n store i32 0, ptr %kp\n br label %lp\n")
emith("lp:\n %i = load i32, ptr %ip\n %p = getelementptr i8, ptr %s, i32 %i\n %b = load i8, ptr %p\n %c = zext i8 %b to i32\n")
emith(" %z = icmp eq i32 %c, 0\n br i1 %z, label %done, label %go\n")
- emith("go:\n %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\n %v = load i32, ptr %cp\n %k = load i32, ptr %kp\n")
+ emith("go:\n %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\n %v = load i32, ptr %cp\n %k = load i32, ptr %kp\n")
emith(" %slot = getelementptr i32, ptr %data, i32 %k\n store i32 %v, ptr %slot\n %k1 = add i32 %k, 1\n store i32 %k1, ptr %kp\n store i32 %ni, ptr %ip\n br label %lp\n")
emith("done:\n ret ptr %h\n}\n")
# case map the whole string. %up != 0 -> uppercase, else lowercase. Decodes,
# maps each code point, and re-encodes into a fresh buffer (worst case 4 bytes
# per code point, though ASCII/Latin-1 mapping preserves byte length).
- emith("define ptr @fn_uni_case(ptr %s, i32 %up) {\n")
+ emith("define ptr @lp_uni_case(ptr %s, i32 %up) {\n")
emith("entry:\n %bl = call i64 @strlen(ptr %s)\n %cap0 = mul i64 %bl, 4\n %cap = add i64 %cap0, 4\n %out = call ptr @malloc(i64 %cap)\n")
emith(" %ip = alloca i32\n %op = alloca i32\n %cp = alloca i32\n store i32 0, ptr %ip\n store i32 0, ptr %op\n br label %lp\n")
emith("lp:\n %i = load i32, ptr %ip\n %p = getelementptr i8, ptr %s, i32 %i\n %b = load i8, ptr %p\n %c = zext i8 %b to i32\n")
emith(" %z = icmp eq i32 %c, 0\n br i1 %z, label %done, label %go\n")
- emith("go:\n %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\n %v = load i32, ptr %cp\n")
- emith(" %mu = call i32 @fn_uni_upcp(i32 %v)\n %ml = call i32 @fn_uni_locp(i32 %v)\n %isup = icmp ne i32 %up, 0\n %m = select i1 %isup, i32 %mu, i32 %ml\n")
- emith(" %o = load i32, ptr %op\n %no = call i32 @fn_uni_encode(ptr %out, i32 %o, i32 %m)\n store i32 %no, ptr %op\n store i32 %ni, ptr %ip\n br label %lp\n")
+ emith("go:\n %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\n %v = load i32, ptr %cp\n")
+ emith(" %mu = call i32 @lp_uni_upcp(i32 %v)\n %ml = call i32 @lp_uni_locp(i32 %v)\n %isup = icmp ne i32 %up, 0\n %m = select i1 %isup, i32 %mu, i32 %ml\n")
+ emith(" %o = load i32, ptr %op\n %no = call i32 @lp_uni_encode(ptr %out, i32 %o, i32 %m)\n store i32 %no, ptr %op\n store i32 %ni, ptr %ip\n br label %lp\n")
emith("done:\n %fo = load i32, ptr %op\n %endp = getelementptr i8, ptr %out, i32 %fo\n store i8 0, ptr %endp\n ret ptr %out\n}\n")
# truncate(s, n) -> the first n code points as a fresh string (never splits a
# multibyte character). n <= 0 yields the empty string.
- emith("define ptr @fn_uni_truncate(ptr %s, i32 %n) {\n")
+ emith("define ptr @lp_uni_truncate(ptr %s, i32 %n) {\n")
emith("entry:\n %ip = alloca i32\n %kp = alloca i32\n %cp = alloca i32\n store i32 0, ptr %ip\n store i32 0, ptr %kp\n br label %lp\n")
emith("lp:\n %k = load i32, ptr %kp\n %enough = icmp sge i32 %k, %n\n br i1 %enough, label %cut, label %chk\n")
emith("chk:\n %i = load i32, ptr %ip\n %p = getelementptr i8, ptr %s, i32 %i\n %b = load i8, ptr %p\n %c = zext i8 %b to i32\n")
emith(" %z = icmp eq i32 %c, 0\n br i1 %z, label %cut, label %go\n")
- emith("go:\n %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\n %k1 = add i32 %k, 1\n store i32 %k1, ptr %kp\n store i32 %ni, ptr %ip\n br label %lp\n")
+ emith("go:\n %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\n %k1 = add i32 %k, 1\n store i32 %k1, ptr %kp\n store i32 %ni, ptr %ip\n br label %lp\n")
emith("cut:\n %len = load i32, ptr %ip\n %lz = zext i32 %len to i64\n %cap = add i64 %lz, 1\n %out = call ptr @malloc(i64 %cap)\n %lz2 = zext i32 %len to i64\n call ptr @memcpy(ptr %out, ptr %s, i64 %lz2)\n")
emith(" %endp = getelementptr i8, ptr %out, i32 %len\n store i8 0, ptr %endp\n ret ptr %out\n}\n")
@@ -292,26 +292,26 @@ function emit_uni_str_fns() -> void {
# ZWJ emoji sequences count as one); and the second regional indicator of a flag
# pair. Simple state carried in allocas.
function emit_uni_grapheme() -> void {
- emith("define i32 @fn_uni_grapheme_len(ptr %s) {\n")
+ emith("define i32 @lp_uni_grapheme_len(ptr %s) {\n")
emith("entry:\n %ip = alloca i32\n %np = alloca i32\n %zp = alloca i32\n %rp = alloca i32\n %cp = alloca i32\n")
emith(" store i32 0, ptr %ip\n store i32 0, ptr %np\n store i32 0, ptr %zp\n store i32 0, ptr %rp\n br label %lp\n")
emith("lp:\n %i = load i32, ptr %ip\n %p = getelementptr i8, ptr %s, i32 %i\n %b = load i8, ptr %p\n %c = zext i8 %b to i32\n")
emith(" %z = icmp eq i32 %c, 0\n br i1 %z, label %done, label %go\n")
- emith("go:\n %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\n %v = load i32, ptr %cp\n store i32 %ni, ptr %ip\n")
+ emith("go:\n %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\n %v = load i32, ptr %cp\n store i32 %ni, ptr %ip\n")
# ZWJ (U+200D): extends the cluster and arms the join for the next code point
emith(" %iszwj = icmp eq i32 %v, 8205\n br i1 %iszwj, label %zwj, label %notzwj\n")
emith("zwj:\n %n0 = load i32, ptr %np\n %n0z = icmp eq i32 %n0, 0\n %n0b = zext i1 %n0z to i32\n %n0n = add i32 %n0, %n0b\n store i32 %n0n, ptr %np\n") # leading ZWJ still opens one cluster
emith(" store i32 1, ptr %zp\n store i32 0, ptr %rp\n br label %lp\n")
emith("notzwj:\n %n = load i32, ptr %np\n %first = icmp eq i32 %n, 0\n br i1 %first, label %open, label %cont\n")
# first cluster
- emith("open:\n store i32 1, ptr %np\n store i32 0, ptr %zp\n %ri0 = call i32 @fn_uni_inrange(i32 %v, i32 127462, i32 127487)\n store i32 %ri0, ptr %rp\n br label %lp\n")
+ emith("open:\n store i32 1, ptr %np\n store i32 0, ptr %zp\n %ri0 = call i32 @lp_uni_inrange(i32 %v, i32 127462, i32 127487)\n store i32 %ri0, ptr %rp\n br label %lp\n")
emith("cont:\n %zj = load i32, ptr %zp\n %afterz = icmp ne i32 %zj, 0\n br i1 %afterz, label %joinz, label %chkext\n")
# code point right after a ZWJ joins the current cluster
emith("joinz:\n store i32 0, ptr %zp\n store i32 0, ptr %rp\n br label %lp\n")
- emith("chkext:\n %ext = call i32 @fn_uni_is_extend(i32 %v)\n %isext = icmp ne i32 %ext, 0\n br i1 %isext, label %joinext, label %chkri\n")
+ emith("chkext:\n %ext = call i32 @lp_uni_is_extend(i32 %v)\n %isext = icmp ne i32 %ext, 0\n br i1 %isext, label %joinext, label %chkri\n")
emith("joinext:\n store i32 0, ptr %rp\n br label %lp\n")
# regional indicator: joins only as the second of a pair
- emith("chkri:\n %ri = call i32 @fn_uni_inrange(i32 %v, i32 127462, i32 127487)\n %isri = icmp ne i32 %ri, 0\n %ropen = load i32, ptr %rp\n %ropenb = icmp ne i32 %ropen, 0\n %pair = and i1 %isri, %ropenb\n br i1 %pair, label %joinri, label %newcl\n")
+ emith("chkri:\n %ri = call i32 @lp_uni_inrange(i32 %v, i32 127462, i32 127487)\n %isri = icmp ne i32 %ri, 0\n %ropen = load i32, ptr %rp\n %ropenb = icmp ne i32 %ropen, 0\n %pair = and i1 %isri, %ropenb\n br i1 %pair, label %joinri, label %newcl\n")
emith("joinri:\n store i32 0, ptr %rp\n br label %lp\n")
emith("newcl:\n %nn = load i32, ptr %np\n %nn1 = add i32 %nn, 1\n store i32 %nn1, ptr %np\n store i32 0, ptr %zp\n %riset = select i1 %isri, i32 1, i32 0\n store i32 %riset, ptr %rp\n br label %lp\n")
emith("done:\n %r = load i32, ptr %np\n ret i32 %r\n}\n")
diff --git a/selfhost/backend/stdlib/emit_uuid.ludic b/selfhost/backend/stdlib/emit_uuid.ludic
index 7de49134..68d49cac 100644
--- a/selfhost/backend/stdlib/emit_uuid.ludic
+++ b/selfhost/backend/stdlib/emit_uuid.ludic
@@ -37,17 +37,17 @@ function emit_uuid_ns(meth: pointer, e: Node) -> Val {
g_uses_cryptort = true
g_uses_uuidrt = true
if (meth == "new") or (meth == "v4") { # v4: 122 random bits
- return val(emit_bind("call ptr @fn_uuid_v4()"), "string")
+ return val(emit_bind("call ptr @lp_uuid_v4()"), "string")
}
if (meth == "new_v7") or (meth == "v7") { # v7: ms timestamp + random
- return val(emit_bind("call ptr @fn_uuid_v7()"), "string")
+ return val(emit_bind("call ptr @lp_uuid_v7()"), "string")
}
if (meth == "nil") { # the all-zero UUID
- return val(emit_bind("call ptr @fn_uuid_nil()"), "string")
+ return val(emit_bind("call ptr @lp_uuid_nil()"), "string")
}
if (meth == "is_valid") { # well-formed UUID? -> bool
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call i32 @fn_uuid_valid(ptr {s.code})`), "bool")
+ return val(emit_bind(`call i32 @lp_uuid_valid(ptr {s.code})`), "bool")
}
if (meth == "to_text") { # already canonical text: identity
let s = emit_expr(e.kids[0])
@@ -55,13 +55,13 @@ function emit_uuid_ns(meth: pointer, e: Node) -> Val {
}
if (meth == "equals") { # case-insensitive equality -> bool
let a = emit_expr(e.kids[0]); let b = emit_expr(e.kids[1])
- return val(emit_bind(`call i32 @fn_uuid_eq(ptr {a.code}, ptr {b.code})`), "bool")
+ return val(emit_bind(`call i32 @lp_uuid_eq(ptr {a.code}, ptr {b.code})`), "bool")
}
# parse(s): normalise an untrusted string to a lowercase UUID, or the nil UUID
# when it is not well-formed. Callers that must reject bad input should gate on
# Uuid.is_valid(s) first; this never faults on garbage.
let s = emit_expr(e.kids[0])
- return val(emit_bind(`call ptr @fn_uuid_parse(ptr {s.code})`), "string")
+ return val(emit_bind(`call ptr @lp_uuid_parse(ptr {s.code})`), "string")
}
# emit_uuid_prelude — the UUID runtime, emitted once per program that uses Uuid.*
@@ -71,8 +71,8 @@ function emit_uuid_ns(meth: pointer, e: Node) -> Val {
function emit_uuid_prelude() -> void {
# 16 raw bytes -> a fresh canonical 36-char string. hex-encode all 16 bytes,
# then splice the four hyphens between the 8/4/4/4/12 groups.
- emith("define ptr @fn_uuid_format(ptr %b16) {\n")
- emith("entry:\n %hex = call ptr @fn_hex_encode(ptr %b16, i64 16)\n %out = call ptr @malloc(i64 37)\n")
+ emith("define ptr @lp_uuid_format(ptr %b16) {\n")
+ emith("entry:\n %hex = call ptr @lp_hex_encode(ptr %b16, i64 16)\n %out = call ptr @malloc(i64 37)\n")
emith(" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\n")
emith(" %o8 = getelementptr i8, ptr %out, i64 8\n store i8 45, ptr %o8\n")
emith(" %h8 = getelementptr i8, ptr %hex, i64 8\n %o9 = getelementptr i8, ptr %out, i64 9\n call ptr @memcpy(ptr %o9, ptr %h8, i64 4)\n")
@@ -87,18 +87,18 @@ function emit_uuid_prelude() -> void {
# v4: 16 CSPRNG bytes, then set version (0x4x in byte 6) and variant (0b10xx in
# byte 8). 0x80 does not fit an i8 immediate, so it is written as -128.
- emith("define ptr @fn_uuid_v4() {\n")
- emith("entry:\n %b = alloca [16 x i8]\n %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\n call void @fn_secure_bytes(ptr %bp, i64 16)\n")
+ emith("define ptr @lp_uuid_v4() {\n")
+ emith("entry:\n %b = alloca [16 x i8]\n %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\n call void @lp_secure_bytes(ptr %bp, i64 16)\n")
emith(" %p6 = getelementptr i8, ptr %bp, i64 6\n %v6 = load i8, ptr %p6\n %v6a = and i8 %v6, 15\n %v6b = or i8 %v6a, 64\n store i8 %v6b, ptr %p6\n")
emith(" %p8 = getelementptr i8, ptr %bp, i64 8\n %v8 = load i8, ptr %p8\n %v8a = and i8 %v8, 63\n %v8b = or i8 %v8a, -128\n store i8 %v8b, ptr %p8\n")
- emith(" %s = call ptr @fn_uuid_format(ptr %bp)\n ret ptr %s\n}\n")
+ emith(" %s = call ptr @lp_uuid_format(ptr %bp)\n ret ptr %s\n}\n")
# v7: random fill, then overwrite the first 6 bytes with a 48-bit big-endian
# Unix-millisecond timestamp; set version 7 (0x7x) and the variant. Sub-second
# resolution is derived from time() seconds * 1000 — monotonic per second, with
# the random tail keeping same-millisecond IDs distinct.
- emith("define ptr @fn_uuid_v7() {\n")
- emith("entry:\n %b = alloca [16 x i8]\n %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\n call void @fn_secure_bytes(ptr %bp, i64 16)\n")
+ emith("define ptr @lp_uuid_v7() {\n")
+ emith("entry:\n %b = alloca [16 x i8]\n %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\n call void @lp_secure_bytes(ptr %bp, i64 16)\n")
emith(" %t = call i64 @time(ptr null)\n %ms = mul i64 %t, 1000\n")
emith(" %s40 = lshr i64 %ms, 40\n %t0 = trunc i64 %s40 to i8\n %q0 = getelementptr i8, ptr %bp, i64 0\n store i8 %t0, ptr %q0\n")
emith(" %s32 = lshr i64 %ms, 32\n %t1 = trunc i64 %s32 to i8\n %q1 = getelementptr i8, ptr %bp, i64 1\n store i8 %t1, ptr %q1\n")
@@ -108,10 +108,10 @@ function emit_uuid_prelude() -> void {
emith(" %t5 = trunc i64 %ms to i8\n %q5 = getelementptr i8, ptr %bp, i64 5\n store i8 %t5, ptr %q5\n")
emith(" %p6 = getelementptr i8, ptr %bp, i64 6\n %v6 = load i8, ptr %p6\n %v6a = and i8 %v6, 15\n %v6b = or i8 %v6a, 112\n store i8 %v6b, ptr %p6\n")
emith(" %p8 = getelementptr i8, ptr %bp, i64 8\n %v8 = load i8, ptr %p8\n %v8a = and i8 %v8, 63\n %v8b = or i8 %v8a, -128\n store i8 %v8b, ptr %p8\n")
- emith(" %s = call ptr @fn_uuid_format(ptr %bp)\n ret ptr %s\n}\n")
+ emith(" %s = call ptr @lp_uuid_format(ptr %bp)\n ret ptr %s\n}\n")
# the nil UUID: 36 '0' with hyphens spliced in
- emith("define ptr @fn_uuid_nil() {\n")
+ emith("define ptr @lp_uuid_nil() {\n")
emith("entry:\n %out = call ptr @malloc(i64 37)\n call ptr @memset(ptr %out, i32 48, i64 36)\n")
emith(" %o8 = getelementptr i8, ptr %out, i64 8\n store i8 45, ptr %o8\n")
emith(" %o13 = getelementptr i8, ptr %out, i64 13\n store i8 45, ptr %o13\n")
@@ -120,7 +120,7 @@ function emit_uuid_prelude() -> void {
emith(" %o36 = getelementptr i8, ptr %out, i64 36\n store i8 0, ptr %o36\n ret ptr %out\n}\n")
# is %s a well-formed UUID? length 36, hyphens at 8/13/18/23, hex elsewhere.
- emith("define i32 @fn_uuid_valid(ptr %s) {\n")
+ emith("define i32 @lp_uuid_valid(ptr %s) {\n")
emith("entry:\n %n = call i64 @strlen(ptr %s)\n %ne = icmp eq i64 %n, 36\n br i1 %ne, label %go, label %bad\n")
emith("go:\n %ip = alloca i64\n store i64 0, ptr %ip\n br label %cond\n")
emith("cond:\n %i = load i64, ptr %ip\n %lt = icmp ult i64 %i, 36\n br i1 %lt, label %body, label %good\n")
@@ -138,7 +138,7 @@ function emit_uuid_prelude() -> void {
emith("bad:\n ret i32 0\n}\n")
# case-insensitive equality of two null-terminated strings -> i32 bool
- emith("define i32 @fn_uuid_eq(ptr %a, ptr %b) {\n")
+ emith("define i32 @lp_uuid_eq(ptr %a, ptr %b) {\n")
emith("entry:\n %la = call i64 @strlen(ptr %a)\n %lb = call i64 @strlen(ptr %b)\n %eq = icmp eq i64 %la, %lb\n br i1 %eq, label %go, label %ne\n")
emith("go:\n %ip = alloca i64\n store i64 0, ptr %ip\n br label %cond\n")
emith("cond:\n %i = load i64, ptr %ip\n %lt = icmp ult i64 %i, %la\n br i1 %lt, label %body, label %eqret\n")
@@ -151,8 +151,8 @@ function emit_uuid_prelude() -> void {
emith("ne:\n ret i32 0\n}\n")
# parse: lowercase-normalise a valid UUID, else return the nil UUID.
- emith("define ptr @fn_uuid_parse(ptr %s) {\n")
- emith("entry:\n %ok = call i32 @fn_uuid_valid(ptr %s)\n %isok = icmp ne i32 %ok, 0\n br i1 %isok, label %dup, label %nilb\n")
+ emith("define ptr @lp_uuid_parse(ptr %s) {\n")
+ emith("entry:\n %ok = call i32 @lp_uuid_valid(ptr %s)\n %isok = icmp ne i32 %ok, 0\n br i1 %isok, label %dup, label %nilb\n")
emith("dup:\n %out = call ptr @malloc(i64 37)\n %ip = alloca i64\n store i64 0, ptr %ip\n br label %cond\n")
emith("cond:\n %i = load i64, ptr %ip\n %lt = icmp ult i64 %i, 36\n br i1 %lt, label %body, label %fin\n")
emith("body:\n %p = getelementptr i8, ptr %s, i64 %i\n %c = load i8, ptr %p\n")
@@ -160,5 +160,5 @@ function emit_uuid_prelude() -> void {
emith(" %op = getelementptr i8, ptr %out, i64 %i\n store i8 %cl, ptr %op\n")
emith(" %i1 = add i64 %i, 1\n store i64 %i1, ptr %ip\n br label %cond\n")
emith("fin:\n %o36 = getelementptr i8, ptr %out, i64 36\n store i8 0, ptr %o36\n ret ptr %out\n")
- emith("nilb:\n %nn = call ptr @fn_uuid_nil()\n ret ptr %nn\n}\n")
+ emith("nilb:\n %nn = call ptr @lp_uuid_nil()\n ret ptr %nn\n}\n")
}
diff --git a/selfhost/backend/stdlib/emit_vector.ludic b/selfhost/backend/stdlib/emit_vector.ludic
index 368f346e..da8d96f3 100644
--- a/selfhost/backend/stdlib/emit_vector.ludic
+++ b/selfhost/backend/stdlib/emit_vector.ludic
@@ -85,7 +85,7 @@ function emit_vector_ns(meth: pointer, e: Node) -> Val {
let vx = vec_x(v.code); let vy = vec_y(v.code)
let xx = fx_mul_code(vx, vx); let yy = fx_mul_code(vy, vy)
let s = emit_bind(`add i32 {xx}, {yy}`)
- return val(emit_bind(`call i32 @fn_fx_sqrt(i32 {s})`), "fixed")
+ return val(emit_bind(`call i32 @lp_fx_sqrt(i32 {s})`), "fixed")
}
if (meth == "distance") { # length(a - b) -> fixed
g_uses_mathrt = true
@@ -95,7 +95,7 @@ function emit_vector_ns(meth: pointer, e: Node) -> Val {
let dy = emit_bind(`sub i32 {ay}, {by}`)
let xx = fx_mul_code(dx, dx); let yy = fx_mul_code(dy, dy)
let s = emit_bind(`add i32 {xx}, {yy}`)
- return val(emit_bind(`call i32 @fn_fx_sqrt(i32 {s})`), "fixed")
+ return val(emit_bind(`call i32 @lp_fx_sqrt(i32 {s})`), "fixed")
}
if (meth == "normalize") { # v / length(v); the zero vector maps to itself
g_uses_mathrt = true
@@ -103,7 +103,7 @@ function emit_vector_ns(meth: pointer, e: Node) -> Val {
let vx = vec_x(v.code); let vy = vec_y(v.code)
let xx = fx_mul_code(vx, vx); let yy = fx_mul_code(vy, vy)
let s = emit_bind(`add i32 {xx}, {yy}`)
- let len = emit_bind(`call i32 @fn_fx_sqrt(i32 {s})`)
+ let len = emit_bind(`call i32 @lp_fx_sqrt(i32 {s})`)
let zero = emit_bind(`icmp eq i32 {len}, 0`)
let denom = emit_bind(`select i1 {zero}, i32 65536, i32 {len}`) # avoid divide-by-zero
let inv = fx_div_code("65536", denom)
@@ -113,9 +113,9 @@ function emit_vector_ns(meth: pointer, e: Node) -> Val {
if (meth == "rotate") { # rotate by angle (radians, fixed)
g_uses_mathrt = true
let v = emit_expr(e.kids[0]); let ang = emit_expr(e.kids[1])
- let sn = emit_bind(`call i32 @fn_fx_sin(i32 {ang.code})`)
+ let sn = emit_bind(`call i32 @lp_fx_sin(i32 {ang.code})`)
let ca = emit_bind(`add i32 {ang.code}, 102944`) # cos(a) = sin(a + pi/2)
- let cs = emit_bind(`call i32 @fn_fx_sin(i32 {ca})`)
+ let cs = emit_bind(`call i32 @lp_fx_sin(i32 {ca})`)
let vx = vec_x(v.code); let vy = vec_y(v.code)
let xc = fx_mul_code(vx, cs); let ys = fx_mul_code(vy, sn)
let xs = fx_mul_code(vx, sn); let yc = fx_mul_code(vy, cs)
@@ -127,14 +127,14 @@ function emit_vector_ns(meth: pointer, e: Node) -> Val {
g_uses_mathrt = true
let v = emit_expr(e.kids[0])
let vx = vec_x(v.code); let vy = vec_y(v.code)
- return val(emit_bind(`call i32 @fn_fx_atan2(i32 {vy}, i32 {vx})`), "fixed")
+ return val(emit_bind(`call i32 @lp_fx_atan2(i32 {vy}, i32 {vx})`), "fixed")
}
if (meth == "from_angle") { # unit vector at angle a: (cos a, sin a)
g_uses_mathrt = true
let ang = emit_expr(e.kids[0])
- let sn = emit_bind(`call i32 @fn_fx_sin(i32 {ang.code})`)
+ let sn = emit_bind(`call i32 @lp_fx_sin(i32 {ang.code})`)
let ca = emit_bind(`add i32 {ang.code}, 102944`)
- let cs = emit_bind(`call i32 @fn_fx_sin(i32 {ca})`)
+ let cs = emit_bind(`call i32 @lp_fx_sin(i32 {ca})`)
return val(vec_pack(cs, sn), "Vector")
}
# lerp(a, b, t: fixed) -> Vector — component-wise linear interpolation
diff --git a/selfhost/frontend/ast.ludic b/selfhost/frontend/ast.ludic
index 9505db57..e22604e9 100644
--- a/selfhost/frontend/ast.ludic
+++ b/selfhost/frontend/ast.ludic
@@ -1,5 +1,5 @@
# ast.ludic — the node kinds and the single Node shape they share, plus the
-# declaration tables the emitter reads. Mirrors compiler/front/ast.h + sem/.
+# declaration tables the emitter reads.
# declarations
const N_STRUCT: int = 0
@@ -36,6 +36,7 @@ const N_PREFAB: int = 53 # prefab Name: Model { Comp { field: v }, … }
const E_TRY: int = 52 # try EXPR else { ... } — recover a fallible result as a value (issue #46)
# a=the fallible (result-typed) expression b=else block (its
# trailing expression is the fallback) line=source line
+const E_LIST: int = 54 # [a, b, c] — a slice literal; kids=the elements, all of one type
# statements
const S_LET: int = 10
const S_ASSIGN: int = 11
@@ -81,11 +82,16 @@ property Node {
c: Node
kids: []Node # variadic children
line: int = 0
+ file: pointer = null # the source file the node was parsed from (for diagnostics)
}
+# every node remembers where it was parsed (file + the line of the token the
+# parser is looking at), so any later diagnostic can point at real source
function node(kind: int) -> Node {
let n = new Node
n.kind = kind
n.kids = new []Node
+ n.file = g_parse_file
+ if g_parsing and pi < len(toks) { n.line = toks[pi].line }
return n
}
diff --git a/selfhost/frontend/lex.ludic b/selfhost/frontend/lex.ludic
index 1120444f..2fabc0ee 100644
--- a/selfhost/frontend/lex.ludic
+++ b/selfhost/frontend/lex.ludic
@@ -1,6 +1,6 @@
-# lex.ludic — source text -> a token slice. Mirrors compiler/front/lex.c.
-# Tokens carry their kind, their text (identifiers, strings, operators),
-# an integer value (numbers, char literals) and a line for diagnostics.
+# lex.ludic — source text -> a token slice. Tokens carry their kind, their
+# text (identifiers, strings, operators), an integer value (numbers, char
+# literals) and a line for diagnostics.
const TK_ID: int = 0
const TK_INT: int = 1
@@ -28,102 +28,125 @@ function two_at(src: pointer, i: int, a: int, b: int) -> bool {
function is_op1(c: int) -> bool {
# + - * / % < > = ( ) { } [ ] , : . ! @
- if c == 43 or c == 45 or c == 42 or c == 47 or c == 37 { return true }
- if c == 60 or c == 62 or c == 61 { return true }
- if c == 40 or c == 41 or c == 123 or c == 125 { return true }
- if c == 91 or c == 93 or c == 44 or c == 58 or c == 46 { return true }
- if c == 33 or c == 64 { return true }
- if c == 38 or c == 124 or c == 94 or c == 126 { return true } # & | ^ ~
+ if c == '+' or c == '-' or c == '*' or c == '/' or c == '%' { return true }
+ if c == '<' or c == '>' or c == '=' { return true }
+ if c == '(' or c == ')' or c == '{' or c == '}' { return true }
+ if c == '[' or c == ']' or c == ',' or c == ':' or c == '.' { return true }
+ if c == '!' or c == '@' { return true }
+ if c == '&' or c == '|' or c == '^' or c == '~' { return true } # & | ^ ~
return false
}
-function lex(src: pointer) -> void {
+# The two bytes that delimit escapes, spelled numerically on purpose: this file
+# is what teaches the compiler to read `'\''` and `'\\'`, and the seed that
+# bootstraps it must lex it without already knowing those spellings.
+const CH_SQUOTE: int = 39 # '
+const CH_BACKSLASH: int = 92 # \
+
+# the byte an escape sequence `\e` stands for, shared by "strings" and 'chars':
+# \n \r \t \0 are the named ones; anything else (\\ \' \" \`) is itself.
+function unescape(e: int) -> int {
+ if e == 'n' { return 10 }
+ if e == 'r' { return 13 }
+ if e == 't' { return 9 }
+ if e == '0' { return 0 }
+ return e
+}
+
+# a character the language has no use for is an error, never silently dropped:
+# `x = 5 $ 3` must not compile as `x = 5 3`.
+function lex_error(line: int, c: int) -> void {
+ let ch = bytes(2); ch[0] = c; ch[1] = 0
+ lex_fail(line, `unexpected character '{ch}' (byte {c})`)
+}
+
+# report a lexical error in the standard `file:line: error: msg` shape and stop
+function lex_fail(line: int, msg: pointer) -> void {
+ let m = `{g_parse_file}:{line}: error: {msg}\n`
+ file_write(file_stderr(), m, len(m))
+ exit(1)
+}
+
+function lex(src: pointer) -> void { lex_at(src, 1) }
+
+# lex `src` with its first line numbered `first_line` (an interpolation hole is
+# re-lexed on its own, and keeps the line of the string it sits in)
+function lex_at(src: pointer, first_line: int) -> void {
toks = new []Tok
var i = 0
- var line = 1
+ var line = first_line
let n = len(src)
while i < n {
let c = src[i]
- if c == 10 { tok_push(TK_NL, null, 0, line); line = line + 1; i = i + 1; continue }
- if c == 32 or c == 9 or c == 13 { i = i + 1; continue }
- if c == 35 { # '#' comment to end of line
- while i < n and src[i] != 10 { i = i + 1 }
+ if c == '\n' { tok_push(TK_NL, null, 0, line); line += 1; i += 1; continue }
+ if c == ' ' or c == '\t' or c == '\r' { i += 1; continue }
+ if c == '#' { # '#' comment to end of line
+ while i < n and src[i] != '\n' { i += 1 }
continue
}
- if c == 34 { # "string"
- i = i + 1
+ if c == '"' { # "string"
+ i += 1
let start = i
let out = bytes(n)
var j = 0
- while i < n and src[i] != 34 {
- if src[i] == 92 { # backslash escape
- let e = src[i + 1]
- var r = e
- if e == 110 { r = 10 }
- if e == 114 { r = 13 }
- if e == 116 { r = 9 }
- if e == 48 { r = 0 }
- out[j] = r; j = j + 1; i = i + 2
- } else { out[j] = src[i]; j = j + 1; i = i + 1 }
+ while i < n and src[i] != '"' {
+ if src[i] == CH_BACKSLASH { # backslash escape
+ out[j] = unescape(src[i + 1]); j += 1; i += 2
+ } else { out[j] = src[i]; j += 1; i += 1 }
}
- i = i + 1
+ i += 1
out[j] = 0
tok_push(TK_STR, out, 0, line)
continue
}
- if c == 96 { # `interpolated string` — captured raw
- i = i + 1
+ if c == '`' { # `interpolated string` — captured raw
+ i += 1
let out = bytes(n)
var j = 0
- while i < n and src[i] != 96 { out[j] = src[i]; j = j + 1; i = i + 1 }
- i = i + 1
+ while i < n and src[i] != '`' { out[j] = src[i]; j += 1; i += 1 }
+ i += 1
out[j] = 0
tok_push(TK_INTERP, out, 0, line)
continue
}
- if c == 39 { # 'c' char literal -> int
- i = i + 1
+ if c == CH_SQUOTE { # 'c' char literal -> int
+ i += 1
var v = 0
- if src[i] == 92 {
- let e = src[i + 1]
- if e == 110 { v = 10 }
- if e == 114 { v = 13 }
- if e == 116 { v = 9 }
- if e == 48 { v = 0 }
- i = i + 2
- } else { v = src[i]; i = i + 1 }
- if src[i] == 39 { i = i + 1 }
+ if src[i] == CH_BACKSLASH { v = unescape(src[i + 1]); i += 2 }
+ else { v = src[i]; i += 1 }
+ if src[i] != CH_SQUOTE { lex_fail(line, "unterminated character literal (expected closing ')") }
+ i += 1
tok_push(TK_INT, null, v, line)
continue
}
if char_is_digit(c) {
- if c == 48 and src[i + 1] == 120 { # 0x hex
+ if c == '0' and src[i + 1] == 'x' { # 0x hex
var v = 0
- i = i + 2
+ i += 2
while i < n {
let h = src[i]
var d = 0
if char_is_digit(h) { d = h - 48 }
- else { if h >= 97 and h <= 102 { d = h - 87 }
- else { if h >= 65 and h <= 70 { d = h - 55 } else { break } } }
+ else { if h >= 'a' and h <= 'f' { d = h - 87 }
+ else { if h >= 'A' and h <= 'F' { d = h - 55 } else { break } } }
v = v * 16 + d
- i = i + 1
+ i += 1
}
tok_push(TK_INT, null, v, line)
continue
}
var v = 0
- while i < n and char_is_digit(src[i]) { v = v * 10 + (src[i] - 48); i = i + 1 }
+ while i < n and char_is_digit(src[i]) { v = v * 10 + (src[i] - 48); i += 1 }
# a fractional part makes it a Q16.16 fixed literal
- if i < n and src[i] == 46 and char_is_digit(src[i + 1]) {
- i = i + 1
+ if i < n and src[i] == '.' and char_is_digit(src[i + 1]) {
+ i += 1
# Accumulate only the first 4 fractional digits: `fnum << 16` must stay
# in i32 (5+ digits overflow), and Q16.16 resolves ~4-5 decimals anyway.
# Extra digits are still consumed so they don't become a stray token.
var fnum = 0; var fden = 1
while i < n and char_is_digit(src[i]) {
- if fden < 10000 { fnum = fnum * 10 + (src[i] - 48); fden = fden * 10 }
- i = i + 1
+ if fden < 10000 { fnum = fnum * 10 + (src[i] - 48); fden *= 10 }
+ i += 1
}
let bits = (v << 16) + ((fnum << 16) + (fden >> 1)) / fden
tok_push(TK_FLOAT, null, bits, line)
@@ -134,27 +157,27 @@ function lex(src: pointer) -> void {
}
if char_is_alpha(c) {
let start = i
- while i < n and char_is_alnum(src[i]) { i = i + 1 }
+ while i < n and char_is_alnum(src[i]) { i += 1 }
tok_push(TK_ID, src[start..i], 0, line)
continue
}
- if c == 59 { tok_push(TK_NL, null, 0, line); i = i + 1; continue } # ';'
+ if c == ';' { tok_push(TK_NL, null, 0, line); i += 1; continue } # ';'
# two-character operators
- if two_at(src, i, 45, 62) { tok_push(TK_OP, src[i..i + 2], 0, line); i = i + 2; continue } # ->
- if two_at(src, i, 61, 62) { tok_push(TK_OP, src[i..i + 2], 0, line); i = i + 2; continue } # =>
- if two_at(src, i, 61, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i = i + 2; continue } # ==
- if two_at(src, i, 33, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i = i + 2; continue } # !=
- if two_at(src, i, 60, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i = i + 2; continue } # <=
- if two_at(src, i, 62, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i = i + 2; continue } # >=
- if two_at(src, i, 43, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i = i + 2; continue } # +=
- if two_at(src, i, 45, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i = i + 2; continue } # -=
- if two_at(src, i, 42, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i = i + 2; continue } # *=
- if two_at(src, i, 47, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i = i + 2; continue } # /=
- if two_at(src, i, 46, 46) { tok_push(TK_OP, src[i..i + 2], 0, line); i = i + 2; continue } # ..
- if two_at(src, i, 60, 60) { tok_push(TK_OP, src[i..i + 2], 0, line); i = i + 2; continue } # <<
- if two_at(src, i, 62, 62) { tok_push(TK_OP, src[i..i + 2], 0, line); i = i + 2; continue } # >>
- if is_op1(c) { tok_push(TK_OP, src[i..i + 1], 0, line); i = i + 1; continue }
- i = i + 1 # skip anything unrecognised
+ if two_at(src, i, 45, 62) { tok_push(TK_OP, src[i..i + 2], 0, line); i += 2; continue } # ->
+ if two_at(src, i, 61, 62) { tok_push(TK_OP, src[i..i + 2], 0, line); i += 2; continue } # =>
+ if two_at(src, i, 61, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i += 2; continue } # ==
+ if two_at(src, i, 33, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i += 2; continue } # !=
+ if two_at(src, i, 60, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i += 2; continue } # <=
+ if two_at(src, i, 62, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i += 2; continue } # >=
+ if two_at(src, i, 43, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i += 2; continue } # +=
+ if two_at(src, i, 45, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i += 2; continue } # -=
+ if two_at(src, i, 42, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i += 2; continue } # *=
+ if two_at(src, i, 47, 61) { tok_push(TK_OP, src[i..i + 2], 0, line); i += 2; continue } # /=
+ if two_at(src, i, 46, 46) { tok_push(TK_OP, src[i..i + 2], 0, line); i += 2; continue } # ..
+ if two_at(src, i, 60, 60) { tok_push(TK_OP, src[i..i + 2], 0, line); i += 2; continue } # <<
+ if two_at(src, i, 62, 62) { tok_push(TK_OP, src[i..i + 2], 0, line); i += 2; continue } # >>
+ if is_op1(c) { tok_push(TK_OP, src[i..i + 1], 0, line); i += 1; continue }
+ lex_error(line, c)
}
tok_push(TK_EOF, null, 0, line)
}
diff --git a/selfhost/frontend/parse.ludic b/selfhost/frontend/parse.ludic
index 4aed6d52..d1d1d017 100644
--- a/selfhost/frontend/parse.ludic
+++ b/selfhost/frontend/parse.ludic
@@ -4,7 +4,16 @@
var pi: int = 0
var prog: []Node # the top-level declarations
-var g_game_name: pointer # the `game`/`module` name
+var g_game_name: pointer # the `program` name
+
+# ---- diagnostics -----------------------------------------------------------
+# Every compiler error is `file:line: error: message` — the form editors and
+# build tools parse. While parsing, the location is the current token's; while
+# lowering, it is the statement being emitted (emit_stmt records it).
+var g_parse_file: pointer = "" # the file whose tokens are being parsed
+var g_parsing: bool = true # false once lowering starts
+var g_err_file: pointer = "" # the statement being lowered
+var g_err_line: int = 0
function cur() -> Tok { return toks[pi] }
function pk(o: int) -> Tok { return toks[pi + o] }
@@ -13,32 +22,47 @@ function is_id(v: pointer) -> bool { let t = toks[pi]; return t.kind == TK_ID a
function is_kw(v: pointer) -> bool { return is_id(v) }
function perr(msg: pointer) -> void {
- let e = file_stderr()
- file_write(e, "ludicc(self): parse error: ", 27)
- file_write(e, msg, len(msg))
- file_write(e, "\n", 1)
+ var file = g_err_file
+ var line = g_err_line
+ if g_parsing {
+ file = g_parse_file
+ line = 0
+ if pi < len(toks) { line = toks[pi].line }
+ }
+ if file == null { file = "" }
+ let m = `{file}:{line}: error: {msg}\n`
+ file_write(file_stderr(), m, len(m))
exit(1)
}
-function eat_op(v: pointer) -> void { if not is_op(v) { perr(v) }; pi = pi + 1 }
+# the current token, described for a diagnostic
+function tok_desc() -> pointer {
+ let t = toks[pi]
+ if t.kind == TK_EOF { return "end of file" }
+ if t.kind == TK_NL { return "end of line" }
+ if t.kind == TK_INT or t.kind == TK_FLOAT { return `number {itoa(t.ival)}` }
+ if t.kind == TK_STR { return `string \"{t.text}\"` }
+ return `'{t.text}'`
+}
+function eat_op(v: pointer) -> void { if not is_op(v) { perr(`expected '{v}', got {tok_desc()}`) }; pi += 1 }
function eat_id() -> pointer {
let t = toks[pi]
- if t.kind != TK_ID { perr("expected identifier") }
- pi = pi + 1
+ if t.kind != TK_ID { perr(`expected an identifier, got {tok_desc()}`) }
+ pi += 1
return t.text
}
-function skipnl() -> void { while toks[pi].kind == TK_NL { pi = pi + 1 } }
+function skipnl() -> void { while toks[pi].kind == TK_NL { pi += 1 } }
# a type: `[]T` slice, or a plain name (int/ptr/str/bool/struct)
function ptype() -> pointer {
if is_op("[") {
- pi = pi + 1
+ pi += 1
eat_op("]")
let el = ptype()
let out = bytes(len(el) + 3)
- out[0] = 91; out[1] = 93 # "[]"
+ out[0] = '['; out[1] = ']' # "[]"
var i = 0
- while el[i] != 0 { out[2 + i] = el[i]; i = i + 1 }
+ while el[i] != 0 { out[2 + i] = el[i]; i += 1 }
out[2 + i] = 0
return out
}
@@ -62,7 +86,7 @@ function args_call(call: Node) -> void {
} else {
push(call.kids, expr())
}
- skipnl(); if is_op(",") { pi = pi + 1; skipnl() }
+ skipnl(); if is_op(",") { pi += 1; skipnl() }
}
eat_op(")")
}
@@ -78,9 +102,10 @@ function interp_add(acc: Node, part: Node) -> Node {
function interp_str(e: Node) -> Node { # wrap a hole in string(...)
let c = node(E_CALL); let id = node(E_ID); id.s = "string"; c.a = id; push(c.kids, e); return c
}
+var g_interp_line: int = 1 # the line the interpolated string sits on
function parse_hole(inner: pointer) -> Node { # re-lex+parse an embedded expression
let saved_toks = toks; let saved_pi = pi
- lex(inner); pi = 0; skipnl()
+ lex_at(inner, g_interp_line); pi = 0; skipnl()
let e = expr()
toks = saved_toks; pi = saved_pi
return e
@@ -93,29 +118,32 @@ function parse_interp(raw: pointer) -> Node {
var i = 0
while i < n {
let c = raw[i]
- if c == 123 { # '{'
- if raw[i + 1] == 123 { lit[lj] = 123; lj = lj + 1; i = i + 2; continue } # {{ -> {
+ if c == '{' { # '{'
+ if raw[i + 1] == '{' { lit[lj] = '{'; lj += 1; i += 2; continue } # {{ -> {
if lj > 0 { acc = interp_add(acc, interp_lit(lit, lj)); lj = 0 }
- i = i + 1
+ i += 1
let hs = i
+ # find the hole's closing brace: braces nest, and a brace inside a
+ # "string" or 'char' literal in the hole is text, not structure
var depth = 1
while i < n and depth > 0 {
let d = raw[i]
- if d == 123 { depth = depth + 1 }
- else { if d == 125 { depth = depth - 1; if depth == 0 { break } } }
- i = i + 1
+ if d == '"' or d == CH_SQUOTE {
+ i += 1
+ while i < n and raw[i] != d { if raw[i] == CH_BACKSLASH { i += 1 }; i += 1 }
+ }
+ else if d == '{' { depth += 1 }
+ else if d == '}' { depth -= 1; if depth == 0 { break } }
+ i += 1
}
acc = interp_add(acc, interp_str(parse_hole(raw[hs..i])))
- i = i + 1 # skip the closing '}'
+ i += 1 # skip the closing '}'
} else {
- if c == 125 and raw[i + 1] == 125 { lit[lj] = 125; lj = lj + 1; i = i + 2; continue } # }} -> }
- if c == 92 { # backslash escape in literal text
- let e = raw[i + 1]; var r = e
- if e == 110 { r = 10 }
- if e == 116 { r = 9 }
- lit[lj] = r; lj = lj + 1; i = i + 2; continue
+ if c == '}' and raw[i + 1] == '}' { lit[lj] = '}'; lj += 1; i += 2; continue } # }} -> }
+ if c == CH_BACKSLASH { # backslash escape, same table as "strings"
+ lit[lj] = unescape(raw[i + 1]); lj += 1; i += 2; continue
}
- lit[lj] = c; lj = lj + 1; i = i + 1
+ lit[lj] = c; lj += 1; i += 1
}
}
if lj > 0 or (acc == null) { acc = interp_add(acc, interp_lit(lit, lj)) }
@@ -126,47 +154,60 @@ function parse_interp(raw: pointer) -> Node {
# As an expression it yields a cancellable event's cancelled flag (0/1); a
# non-cancellable event yields 0.
function parse_emit() -> Node {
- pi = pi + 1; let n = node(S_EMIT); n.s = eat_id()
+ pi += 1; let n = node(S_EMIT); n.s = eat_id()
let r = node(E_REC)
eat_op("("); skipnl()
while not is_op(")") {
let fi = node(E_FINIT); fi.s = eat_id(); eat_op(":"); fi.a = expr(); push(r.kids, fi)
- skipnl(); if is_op(",") { pi = pi + 1; skipnl() }
+ skipnl(); if is_op(",") { pi += 1; skipnl() }
}
eat_op(")")
n.a = r
return n
}
+# `[a, b, c]` — a slice literal (an empty `[]` needs a type: `new []T`)
+function parse_list() -> Node {
+ let n = node(E_LIST); n.line = toks[pi].line
+ eat_op("["); skipnl()
+ while not is_op("]") {
+ push(n.kids, expr())
+ skipnl(); if is_op(",") { pi += 1; skipnl() }
+ }
+ eat_op("]")
+ return n
+}
+
function p_primary() -> Node {
let t = toks[pi]
- if t.kind == TK_INTERP { pi = pi + 1; return parse_interp(t.text) }
+ if t.kind == TK_INTERP { pi += 1; g_interp_line = t.line; return parse_interp(t.text) }
+ if is_op("[") { return parse_list() }
if t.kind == TK_ID and (t.text == "emit") and (toks[pi + 1].kind == TK_ID) { return parse_emit() }
- if t.kind == TK_INT { let n = node(E_INT); n.ival = t.ival; pi = pi + 1; return n }
- if t.kind == TK_FLOAT { let n = node(E_FLOAT); n.ival = t.ival; pi = pi + 1; return n }
- if t.kind == TK_STR { let n = node(E_STR); n.s = t.text; pi = pi + 1; return n }
+ if t.kind == TK_INT { let n = node(E_INT); n.ival = t.ival; pi += 1; return n }
+ if t.kind == TK_FLOAT { let n = node(E_FLOAT); n.ival = t.ival; pi += 1; return n }
+ if t.kind == TK_STR { let n = node(E_STR); n.s = t.text; pi += 1; return n }
if t.kind == TK_ID {
- if (t.text == "true") { let n = node(E_BOOL); n.ival = 1; pi = pi + 1; return n }
- if (t.text == "false") { let n = node(E_BOOL); n.ival = 0; pi = pi + 1; return n }
- if (t.text == "null") { pi = pi + 1; return node(E_NULL) }
- if (t.text == "new") { pi = pi + 1; let n = node(E_NEW); n.s = ptype(); if is_op("{") { n.a = record() }; return n }
+ if (t.text == "true") { let n = node(E_BOOL); n.ival = 1; pi += 1; return n }
+ if (t.text == "false") { let n = node(E_BOOL); n.ival = 0; pi += 1; return n }
+ if (t.text == "null") { pi += 1; return node(E_NULL) }
+ if (t.text == "new") { pi += 1; let n = node(E_NEW); n.s = ptype(); if is_op("{") { n.a = record() }; return n }
if (t.text == "spawn") { return parse_spawn() } # spawn as an expression: the new entity
# try EXPR else { ... } — evaluate a fallible (result-typed) expression; on
# `ok` the whole expression is its payload, on `err` the else block runs (with
# the message bound to `error`) and its trailing expression is the fallback.
if (t.text == "try") {
- pi = pi + 1
+ pi += 1
let n = node(E_TRY); n.line = t.line
n.a = expr()
skipnl()
if not is_id("else") { perr("try needs an `else { ... }` fallback") }
- pi = pi + 1; skipnl()
+ pi += 1; skipnl()
n.b = block()
return n
}
- let n = node(E_ID); n.s = t.text; pi = pi + 1; return n
+ let n = node(E_ID); n.s = t.text; pi += 1; return n
}
- if is_op("(") { pi = pi + 1; skipnl(); let e = expr(); skipnl(); eat_op(")"); return e }
+ if is_op("(") { pi += 1; skipnl(); let e = expr(); skipnl(); eat_op(")"); return e }
perr("expected expression")
return node(E_INT)
}
@@ -174,7 +215,7 @@ function p_primary() -> Node {
function p_postfix() -> Node {
var e = p_primary()
while true {
- if is_op(".") { pi = pi + 1; let m = node(E_MEMBER); m.a = e; m.s = eat_id(); e = m
+ if is_op(".") { pi += 1; let m = node(E_MEMBER); m.a = e; m.s = eat_id(); e = m
if e.a.kind == E_ID and e.a.s == "Regex" { g_uses_regex = true } # splice the regex runtime on demand
if e.a.kind == E_ID and (e.a.s == "BigInt" or e.a.s == "Decimal") { g_uses_bignum = true } # splice the bignum runtime on demand
if e.a.kind == E_ID and (e.a.s == "Dict" or e.a.s == "Set") { g_uses_dict = true } # splice the hash-table runtime on demand
@@ -213,20 +254,22 @@ function p_postfix() -> Node {
if e.a.kind == E_ID and e.a.s == "Tween" and (e.s == "to" or e.s == "chain" or e.s == "delay" or e.s == "value" or e.s == "stop" or e.s == "parallel") { g_uses_tween_rt = true }
if e.a.kind == E_ID and e.a.s == "Fx" { g_uses_fx = true } # Fx.* -> splice fx.ludic + tick/draw it each frame
}
- else { if is_op("[") { pi = pi + 1; let lo = expr()
- if is_op("..") { pi = pi + 1; let sl = node(E_SLICE); sl.a = e; sl.b = lo; sl.c = expr(); eat_op("]"); e = sl } # s[a..b] substring
- else { let ix = node(E_INDEX); ix.a = e; ix.b = lo; eat_op("]"); e = ix } }
- else { if is_op("(") { let c = node(E_CALL); c.a = e; c.line = toks[pi].line; args_call(c); e = c
- if (c.a.kind == E_ID) and ((c.a.s == "draw_sprite") or (c.a.s == "draw_sprite_scaled")) { warn_draw_sprite(c.a.s) } # #85 deprecate the bare aliases
- } else { break } } }
+ else if is_op("[") { pi += 1; let lo = expr()
+ if is_op("..") { pi += 1; let sl = node(E_SLICE); sl.a = e; sl.b = lo; sl.c = expr(); eat_op("]"); e = sl } # s[a..b] substring
+ else { let ix = node(E_INDEX); ix.a = e; ix.b = lo; eat_op("]"); e = ix }
+ }
+ else if is_op("(") { let c = node(E_CALL); c.a = e; c.line = toks[pi].line; args_call(c); e = c
+ if (c.a.kind == E_ID) and ((c.a.s == "draw_sprite") or (c.a.s == "draw_sprite_scaled")) { warn_draw_sprite(c.a.s) } # #85 deprecate the bare aliases
+ }
+ else { break }
}
return e
}
function p_unary() -> Node {
- if is_op("-") { pi = pi + 1; let n = node(E_UN); n.s = "-"; n.a = p_unary(); return n }
- if is_op("~") { pi = pi + 1; let n = node(E_UN); n.s = "~"; n.a = p_unary(); return n } # bitwise not
- if is_id("not") { pi = pi + 1; let n = node(E_UN); n.s = "not"; n.a = p_unary(); return n }
+ if is_op("-") { pi += 1; let n = node(E_UN); n.s = "-"; n.a = p_unary(); return n }
+ if is_op("~") { pi += 1; let n = node(E_UN); n.s = "~"; n.a = p_unary(); return n } # bitwise not
+ if is_id("not") { pi += 1; let n = node(E_UN); n.s = "not"; n.a = p_unary(); return n }
return p_postfix()
}
@@ -237,30 +280,30 @@ function mkbin(op: pointer, l: Node, r: Node) -> Node { let b = node(E_BIN); b.s
function p_mul() -> Node {
var l = p_unary()
while is_op("*") or is_op("/") or is_op("%") or is_op("<<") or is_op(">>") or is_op("&") {
- let op = toks[pi].text; pi = pi + 1; l = mkbin(op, l, p_unary()) }
+ let op = toks[pi].text; pi += 1; l = mkbin(op, l, p_unary()) }
return l
}
function p_add() -> Node {
var l = p_mul()
while is_op("+") or is_op("-") or is_op("|") or is_op("^") {
- let op = toks[pi].text; pi = pi + 1; l = mkbin(op, l, p_mul()) }
+ let op = toks[pi].text; pi += 1; l = mkbin(op, l, p_mul()) }
return l
}
function p_cmp() -> Node {
var l = p_add()
while is_op("<") or is_op("<=") or is_op(">") or is_op(">=") or is_op("==") or is_op("!=") {
- let op = toks[pi].text; pi = pi + 1; l = mkbin(op, l, p_add())
+ let op = toks[pi].text; pi += 1; l = mkbin(op, l, p_add())
}
return l
}
function p_and() -> Node {
var l = p_cmp()
- while is_id("and") { pi = pi + 1; l = mkbin("and", l, p_cmp()) }
+ while is_id("and") { pi += 1; l = mkbin("and", l, p_cmp()) }
return l
}
function p_or() -> Node {
var l = p_and()
- while is_id("or") { pi = pi + 1; l = mkbin("or", l, p_and()) }
+ while is_id("or") { pi += 1; l = mkbin("or", l, p_and()) }
return l
}
@@ -271,7 +314,7 @@ function record() -> Node {
let r = node(E_REC)
while true { skipnl(); if is_op("}") { break }
let fi = node(E_FINIT); fi.s = eat_id(); eat_op(":"); fi.a = expr(); push(r.kids, fi)
- if is_op(",") { pi = pi + 1 } }
+ if is_op(",") { pi += 1 } }
eat_op("}"); return r
}
@@ -307,27 +350,27 @@ function stmt_body() -> Node {
if t.kind == TK_ID {
if (t.text == "let") or (t.text == "var") {
var mut = 0; if (t.text == "var") { mut = 1 } # let = immutable, var = mutable
- pi = pi + 1; let n = node(S_LET); n.ival = mut; n.line = toks[pi].line; n.s = eat_id()
- if is_op(":") { pi = pi + 1; n.ty = ptype() }
- if is_op("=") { pi = pi + 1; n.a = expr() }
+ pi += 1; let n = node(S_LET); n.ival = mut; n.line = toks[pi].line; n.s = eat_id()
+ if is_op(":") { pi += 1; n.ty = ptype() }
+ if is_op("=") { pi += 1; n.a = expr() }
return n
}
if (t.text == "return") {
- pi = pi + 1; let n = node(S_RETURN)
+ pi += 1; let n = node(S_RETURN)
if toks[pi].kind != TK_NL and not is_op("}") { n.a = expr() }
return n
}
if (t.text == "if") {
- pi = pi + 1; let n = node(S_IF); n.a = expr(); n.b = block()
+ pi += 1; let n = node(S_IF); n.a = expr(); n.b = block()
let save = pi; skipnl() # peek past newlines for a trailing `else`
- if is_id("else") { pi = pi + 1; skipnl()
+ if is_id("else") { pi += 1; skipnl()
if is_id("if") { n.c = stmt() } else { n.c = block() } }
else { pi = save } # no else: keep the separator for block()'s Rule-B check
return n
}
- if (t.text == "while") { pi = pi + 1; let n = node(S_WHILE); n.a = expr(); n.b = block(); return n }
+ if (t.text == "while") { pi += 1; let n = node(S_WHILE); n.a = expr(); n.b = block(); return n }
if (t.text == "for") {
- pi = pi + 1
+ pi += 1
if is_op("(") { return parse_query_for() }
let n = node(S_FOR); n.s = eat_id()
let inkw = eat_id() # 'in'
@@ -336,54 +379,54 @@ function stmt_body() -> Node {
}
if (t.text == "spawn") { return parse_spawn() }
if (t.text == "machine") {
- pi = pi + 1; let n = node(S_MACHINE); n.a = expr(); skipnl(); eat_op("{")
+ pi += 1; let n = node(S_MACHINE); n.a = expr(); skipnl(); eat_op("{")
var sidx = 0 # states auto-number by declaration order
while true { skipnl(); if is_op("}") { break }
let stkw = eat_id() # 'state'
let s = node(S_STATE); s.s = eat_id()
- if is_op("=") { pi = pi + 1; s.b = expr() } # explicit value (still allowed)
+ if is_op("=") { pi += 1; s.b = expr() } # explicit value (still allowed)
s.ival = sidx # else: the enum variant of the same name
# when the store is enum-typed, or this ordinal
skipnl(); s.a = block()
- push(n.kids, s); sidx = sidx + 1 }
+ push(n.kids, s); sidx += 1 }
eat_op("}"); return n
}
# `emit E(...)` fires an event, but a bare `emit(...)` is an ordinary call
# (the compiler dogfoods a function named `emit`), so require an event name.
if (t.text == "emit") and (toks[pi + 1].kind == TK_ID) { return parse_emit() }
- if (t.text == "become") { pi = pi + 1; let n = node(S_BECOME); n.s = eat_id(); return n }
- if (t.text == "despawn") { pi = pi + 1; let n = node(S_DESPAWN); n.a = expr(); return n }
+ if (t.text == "become") { pi += 1; let n = node(S_BECOME); n.s = eat_id(); return n }
+ if (t.text == "despawn") { pi += 1; let n = node(S_DESPAWN); n.a = expr(); return n }
if (t.text == "enable") or (t.text == "disable") {
var en = 0; if (t.text == "enable") { en = 1 }
- pi = pi + 1; let n = node(S_TOGGLE); n.ival = en
- if is_id("layer") { pi = pi + 1; n.ty = "layer"; n.s = eat_id(); note_toggled_layer(n.s); return n } # enable/disable layer L
- if is_id("system") { pi = pi + 1; n.ty = "system"; n.s = eat_id(); if en == 0 { push(g_disabled_sys, n.s) }; return n } # disable system (lever 5, compile-time)
+ pi += 1; let n = node(S_TOGGLE); n.ival = en
+ if is_id("layer") { pi += 1; n.ty = "layer"; n.s = eat_id(); note_toggled_layer(n.s); return n } # enable/disable layer L
+ if is_id("system") { pi += 1; n.ty = "system"; n.s = eat_id(); if en == 0 { push(g_disabled_sys, n.s) }; return n } # disable system (lever 5, compile-time)
n.s = eat_id() # `enable P on e` / `disable Model` / `disable Handler`
- if is_id("on") { pi = pi + 1; n.a = expr() } # property on an entity
+ if is_id("on") { pi += 1; n.a = expr() } # property on an entity
return n
}
if (t.text == "attach") { # attach P on e [{ field: val, ... }]
- pi = pi + 1; let n = node(S_ATTACH); n.s = eat_id()
+ pi += 1; let n = node(S_ATTACH); n.s = eat_id()
if not is_id("on") { perr("attach needs 'on '") }
- pi = pi + 1; n.a = expr()
+ pi += 1; n.a = expr()
if is_op("{") { n.b = record() } # optional field overrides (same-line)
return n
}
if (t.text == "detach") { # detach P on e
- pi = pi + 1; let n = node(S_DETACH); n.s = eat_id()
+ pi += 1; let n = node(S_DETACH); n.s = eat_id()
if not is_id("on") { perr("detach needs 'on '") }
- pi = pi + 1; n.a = expr()
+ pi += 1; n.a = expr()
return n
}
- if (t.text == "break") { pi = pi + 1; return node(S_BREAK) }
- if (t.text == "continue") { pi = pi + 1; return node(S_CONTINUE) }
- if (t.text == "cancel") { pi = pi + 1; return node(S_CANCEL) } # veto a cancellable event
+ if (t.text == "break") { pi += 1; return node(S_BREAK) }
+ if (t.text == "continue") { pi += 1; return node(S_CONTINUE) }
+ if (t.text == "cancel") { pi += 1; return node(S_CANCEL) } # veto a cancellable event
if (t.text == "match") {
- pi = pi + 1; let n = node(S_MATCH); n.a = expr(); skipnl(); eat_op("{")
+ pi += 1; let n = node(S_MATCH); n.a = expr(); skipnl(); eat_op("{")
while true {
skipnl(); if is_op("}") { break }
let arm = node(S_MARM)
- while true { push(arm.kids, expr()); if is_op(",") { pi = pi + 1; skipnl(); continue }; break }
+ while true { push(arm.kids, expr()); if is_op(",") { pi += 1; skipnl(); continue }; break }
eat_op("=>"); skipnl()
if is_op("{") { arm.a = block() } else { let b = node(N_BLOCK); push(b.kids, stmt()); arm.a = b }
push(n.kids, arm)
@@ -393,19 +436,19 @@ function stmt_body() -> Node {
}
let e = expr()
if is_op("=") or is_op("+=") or is_op("-=") or is_op("*=") or is_op("/=") {
- let n = node(S_ASSIGN); n.line = toks[pi].line; n.s = toks[pi].text; pi = pi + 1; n.a = e; n.b = expr(); return n
+ let n = node(S_ASSIGN); n.line = toks[pi].line; n.s = toks[pi].text; pi += 1; n.a = e; n.b = expr(); return n
}
let n = node(S_EXPR); n.a = e; return n
}
# ---- declarations ----------------------------------------------------------
function parse_var() -> Node {
- pi = pi + 1; let n = node(N_VAR); n.s = eat_id(); eat_op(":"); n.ty = ptype()
- if is_op("=") { pi = pi + 1; n.a = expr() }
+ pi += 1; let n = node(N_VAR); n.s = eat_id(); eat_op(":"); n.ty = ptype()
+ if is_op("=") { pi += 1; n.a = expr() }
return n
}
function parse_const() -> Node {
- pi = pi + 1; let n = node(N_CONST); n.s = eat_id(); eat_op(":"); n.ty = ptype(); eat_op("="); n.a = expr()
+ pi += 1; let n = node(N_CONST); n.s = eat_id(); eat_op(":"); n.ty = ptype(); eat_op("="); n.a = expr()
return n
}
# the language's statement / declaration words cannot name a function (`new`,
@@ -424,19 +467,19 @@ function is_reserved_word(w: pointer) -> bool {
}
function parse_fn() -> Node {
- pi = pi + 1; let n = node(N_FN); n.s = eat_id(); eat_op("(")
+ pi += 1; let n = node(N_FN); n.s = eat_id(); eat_op("(")
if is_reserved_word(n.s) { perr(`'{n.s}' is a reserved word and cannot name a function`) }
while not is_op(")") {
let p = node(N_PARAM); p.s = eat_id(); eat_op(":"); p.ty = ptype(); push(n.kids, p)
- if is_op(",") { pi = pi + 1 }
+ if is_op(",") { pi += 1 }
}
eat_op(")")
n.ty = "void"
- if is_op("->") { pi = pi + 1; n.ty = ptype() }
+ if is_op("->") { pi += 1; n.ty = ptype() }
n.a = block()
return n
}
-function parse_main() -> Node { pi = pi + 1; let n = node(N_MAIN); n.a = block(); return n }
+function parse_main() -> Node { pi += 1; let n = node(N_MAIN); n.a = block(); return n }
# issue #76 — rewrite calls to a namespace-block sibling (a bare short-name call)
# to the prefixed function name, so a body can call `pending()` where the function
@@ -444,7 +487,7 @@ function parse_main() -> Node { pi = pi + 1; let n = node(N_MAIN); n.a = block()
# rewritten (Ludic has no function values, and Name.method calls are E_MEMBER).
function ns_short_in(names: []pointer, s: pointer) -> bool {
var i = 0
- while i < len(names) { if (names[i] == s) { return true }; i = i + 1 }
+ while i < len(names) { if (names[i] == s) { return true }; i += 1 }
return false
}
function ns_rewrite_calls(n: Node, shorts: []pointer, prefix: pointer) -> void {
@@ -456,7 +499,7 @@ function ns_rewrite_calls(n: Node, shorts: []pointer, prefix: pointer) -> void {
ns_rewrite_calls(n.b, shorts, prefix)
ns_rewrite_calls(n.c, shorts, prefix)
var i = 0
- while i < len(n.kids) { ns_rewrite_calls(n.kids[i], shorts, prefix); i = i + 1 }
+ while i < len(n.kids) { ns_rewrite_calls(n.kids[i], shorts, prefix); i += 1 }
}
# issue #76 — `namespace Name { [export|internal] function short(…) … }`. Declares
@@ -467,7 +510,7 @@ function ns_rewrite_calls(n: Node, shorts: []pointer, prefix: pointer) -> void {
# name. `internal` keeps a function as a private helper: it is emitted but not part
# of the Name.* surface.
function parse_namespace() -> void {
- pi = pi + 1 # eat "namespace"
+ pi += 1 # eat "namespace"
let nsname = eat_id()
eat_op("{"); skipnl()
let fns = new []Node
@@ -475,8 +518,8 @@ function parse_namespace() -> void {
let exps = new []int
while not is_op("}") {
var is_exp = 1 # default: exported (public)
- if is_id("export") { pi = pi + 1 }
- else { if is_id("internal") { pi = pi + 1; is_exp = 0 } }
+ if is_id("export") { pi += 1 }
+ else { if is_id("internal") { pi += 1; is_exp = 0 } }
if not is_id("function") { perr("a namespace body holds functions: expected `function`") }
let f = parse_fn()
push(fns, f); push(shorts, f.s); push(exps, is_exp)
@@ -485,30 +528,30 @@ function parse_namespace() -> void {
eat_op("}")
let prefix = ns_lower(nsname) + ("_")
var i = 0 # prefix every function name
- while i < len(fns) { fns[i].s = prefix + shorts[i]; i = i + 1 }
+ while i < len(fns) { fns[i].s = prefix + shorts[i]; i += 1 }
i = 0 # rewrite sibling calls to the prefixed name
- while i < len(fns) { ns_rewrite_calls(fns[i].a, shorts, prefix); i = i + 1 }
+ while i < len(fns) { ns_rewrite_calls(fns[i].a, shorts, prefix); i += 1 }
register_namespace(nsname) # Name.method dispatch (generic path)
push(g_ns_blocks, nsname)
i = 0
while i < len(fns) {
if (exps[i] == 1) { push(g_ns_exports, fns[i].s) } # record the public surface
push(prog, fns[i])
- i = i + 1
+ i += 1
}
}
# directory part of a path, including the trailing '/', or "" if none
function dir_of(path: pointer) -> pointer {
- var last = 0 - 1
+ var last = -1
var i = 0
- while path[i] != 0 { if path[i] == 47 { last = i }; i = i + 1 }
+ while path[i] != 0 { if path[i] == '/' { last = i }; i += 1 }
if last < 0 { return "" }
- return path[0..0 + (last + 1)]
+ return path[0..last + 1]
}
function join_path(dir: pointer, rel: pointer) -> pointer {
- if rel[0] == 47 { return rel } # absolute
- return (dir + rel)
+ if rel[0] == '/' { return rel } # absolute
+ return dir + rel
}
var loaded_paths: []pointer
@@ -529,8 +572,8 @@ var g_uses_atlas: bool = false # Sprite.sheet/cell/… or Assets.* -> splice
var g_uses_reflect_io: bool = false # Reflect.serialize/apply -> splice the reflection serializer
var g_uses_esys: bool = false # an engine-owned system component (SpriteAnim/Motion/Light2D) is declared -> splice systems.ludic + force the reflection ABI
var g_uses_input: bool = false # a program used Input.bind/down/poll/… (action maps + record/replay) -> splice input.ludic
-var g_has_clear_color: bool = false # @ClearColor(N) declared -> the Render phase auto-clears + auto-presents (#86)
-var g_clear_color: int = 0 # the declared clear colour (0x00RRGGBB)
+var g_has_clear_color: bool = false # @ClearColor(colour) declared -> the Render phase auto-clears + auto-presents (#86)
+var g_clear_color: Node = null # the declared clear colour: a literal, a const name or a Color.Name
var g_warned_draw_sprite: bool = false # emit the bare-draw_sprite deprecation note once (#85)
var g_uses_world_despawn: bool = false # World.despawn / esys_bounds kill -> emit @fn_world_despawn (#84)
@@ -544,7 +587,7 @@ function warn_draw_sprite(name: pointer) -> void {
file_write(file_stderr(), m, len(m))
}
var g_uses_anim_rt: bool = false # Anim.play/clip/on_frame/fired or Motion.to (#48) -> splice systems.ludic + force the reflection ABI
-var g_uses_tween_rt: bool = false # Tween.to/chain/delay/… (#48) -> splice tween.ludic + run esys_tween each Update
+var g_uses_tween_rt: bool = false # Tween.to/chain/delay/… (#48) -> splice tween.ludic + run esys_tween each Update
var g_uses_fx: bool = false # Fx.sparks/number/clear -> splice fx.ludic; fx_tick each Update, fx_draw each Render
var g_uses_audio: bool = false # Audio.* (#22) -> splice audio.ludic; a windowed build also links audio.ll + AVFoundation
var g_uses_http: bool = false # Http.* (#6) -> splice http.ludic; links http.ll + Foundation (macOS)
@@ -572,12 +615,12 @@ var g_ns_blocks: []pointer
var g_ns_exports: []pointer
function is_ns_block(name: pointer) -> bool {
var i = 0
- while i < len(g_ns_blocks) { if (g_ns_blocks[i] == name) { return true }; i = i + 1 }
+ while i < len(g_ns_blocks) { if (g_ns_blocks[i] == name) { return true }; i += 1 }
return false
}
function ns_export_has(prefixed: pointer) -> bool {
var i = 0
- while i < len(g_ns_exports) { if (g_ns_exports[i] == prefixed) { return true }; i = i + 1 }
+ while i < len(g_ns_exports) { if (g_ns_exports[i] == prefixed) { return true }; i += 1 }
return false
}
@@ -590,7 +633,7 @@ function ns_export_has(prefixed: pointer) -> bool {
var g_disabled_sys: []pointer
function is_system_disabled(fn: pointer) -> bool {
var i = 0
- while i < len(g_disabled_sys) { if (g_disabled_sys[i] == fn) { return true }; i = i + 1 }
+ while i < len(g_disabled_sys) { if (g_disabled_sys[i] == fn) { return true }; i += 1 }
return false
}
@@ -599,18 +642,18 @@ function is_system_disabled(fn: pointer) -> bool {
# bare function foo_method (lowercased namespace + "_" + method).
function register_namespace(name: pointer) -> void {
var i = 0
- while i < len(g_namespaces) { if (g_namespaces[i] == name) { return }; i = i + 1 }
+ while i < len(g_namespaces) { if (g_namespaces[i] == name) { return }; i += 1 }
push(g_namespaces, name)
}
function is_registered_namespace(name: pointer) -> bool {
var i = 0
- while i < len(g_namespaces) { if (g_namespaces[i] == name) { return true }; i = i + 1 }
+ while i < len(g_namespaces) { if (g_namespaces[i] == name) { return true }; i += 1 }
return false
}
function already_loaded(full: pointer) -> bool {
var i = 0
- while i < len(loaded_paths) { if (loaded_paths[i] == full) { return true }; i = i + 1 }
+ while i < len(loaded_paths) { if (loaded_paths[i] == full) { return true }; i += 1 }
return false
}
@@ -639,41 +682,48 @@ function parse_one_decl() -> void {
var esys_phase: pointer = null
var ns_name: pointer = null # @Namespace(Name) — a package-provided Foo.* namespace (#62)
while is_op("@") {
- pi = pi + 1; let a = eat_id() # collect a leading @annotation
- if (a == "export") { is_export = true }
- else { if (a == "Public") { is_public = true } # @Public hook promotion
- else { if (a == "On") { eat_op("("); on_event = eat_id(); eat_op(")") } # @On(Event) listener
- else { if (a == "Queries") { qspec = parse_queries_anno() } # @Queries(these: [...], on: ...)
- else { if (a == "OnSpawn") { eat_op("("); onspawn_model = eat_id(); eat_op(")") }
- else { if (a == "OnDespawn") { eat_op("("); ondespawn_model = eat_id()
- if is_op(",") { pi = pi + 1; eat_id(); eat_op(":"); ondespawn_reason = eat_id() } # , reason: r
- eat_op(")") }
- else { if (a == "OnAttach") { eat_op("("); onattach_prop = eat_id(); eat_op(")") }
- else { if (a == "OnDetach") { eat_op("("); ondetach_prop = eat_id(); eat_op(")") }
- else { if (a == "OnEnable") { eat_op("("); onenable_prop = eat_id(); eat_op(")") }
- else { if (a == "OnDisable") { eat_op("("); ondisable_prop = eat_id(); eat_op(")") }
- else { if (a == "OnStart") { hook_phase = "Start" } # boot
- else { if (a == "OnQuit") { hook_phase = "OnQuit" } # shutdown
- else { if (a == "Sync") { is_sync_prop = true } # @Sync property (N2)
- else { if (a == "Owned") { is_owned = true } # @Owned model (N3)
- else { if (a == "Server") { role = "server" } # @Server handler (N5)
- else { if (a == "Predicted") { role = "predicted" } # @Predicted handler (N5)
- else { if (a == "ToServer") { remote_dir = "toserver" } # @ToServer event (N4)
- else { if (a == "ToClients") { remote_dir = "toclients" } # @ToClients event (N4)
- else { if (a == "System") { sys_phase = "Update"; if is_op("(") { pi = pi + 1; sys_phase = eat_id(); eat_op(")") } } # @System(Phase) binary-module system (#64)
- else { if (a == "EngineSystem") { eat_op("("); esys_comp = eat_id(); eat_op(","); esys_phase = eat_id(); eat_op(")") } # @EngineSystem(Comp, Phase) package engine system (#62)
- else { if (a == "Namespace") { eat_op("("); ns_name = eat_id(); eat_op(")") } # @Namespace(Name) package Foo.* namespace (#62)
- else { if (a == "ClearColor") { eat_op("(") # @ClearColor(N) — Render auto-clear + auto-present (#86)
- if toks[pi].kind != TK_INT { perr("@ClearColor expects an integer colour, e.g. @ClearColor(0x101018)") }
- g_clear_color = toks[pi].ival; g_has_clear_color = true; pi = pi + 1; eat_op(")") }
- else { if is_op("(") { var d = 0 # any other @anno(args) — parsed and skipped
- while true { if is_op("(") { d = d + 1 }; if is_op(")") { d = d - 1 }; pi = pi + 1; if d == 0 { break } } } } } } } } } } } } } } } } } } } } } } } } }
+ pi += 1; let a = eat_id() # collect a leading @annotation
+ if a == "export" { is_export = true }
+ else if a == "Public" { is_public = true } # @Public hook promotion
+ else if a == "On" { eat_op("("); on_event = eat_id(); eat_op(")") } # @On(Event) listener
+ else if a == "Queries" { qspec = parse_queries_anno() } # @Queries(these: [...], on: ...)
+ else if a == "OnSpawn" { eat_op("("); onspawn_model = eat_id(); eat_op(")") }
+ else if a == "OnDespawn" {
+ eat_op("("); ondespawn_model = eat_id()
+ if is_op(",") { pi += 1; eat_id(); eat_op(":"); ondespawn_reason = eat_id() } # , reason: r
+ eat_op(")")
+ }
+ else if a == "OnAttach" { eat_op("("); onattach_prop = eat_id(); eat_op(")") }
+ else if a == "OnDetach" { eat_op("("); ondetach_prop = eat_id(); eat_op(")") }
+ else if a == "OnEnable" { eat_op("("); onenable_prop = eat_id(); eat_op(")") }
+ else if a == "OnDisable" { eat_op("("); ondisable_prop = eat_id(); eat_op(")") }
+ else if a == "OnStart" { hook_phase = "Start" } # boot
+ else if a == "OnQuit" { hook_phase = "OnQuit" } # shutdown
+ else if a == "Sync" { is_sync_prop = true } # @Sync property (N2)
+ else if a == "Owned" { is_owned = true } # @Owned model (N3)
+ else if a == "Server" { role = "server" } # @Server handler (N5)
+ else if a == "Predicted" { role = "predicted" } # @Predicted handler (N5)
+ else if a == "ToServer" { remote_dir = "toserver" } # @ToServer event (N4)
+ else if a == "ToClients" { remote_dir = "toclients" } # @ToClients event (N4)
+ else if a == "System" { sys_phase = "Update"; if is_op("(") { pi += 1; sys_phase = eat_id(); eat_op(")") } } # @System(Phase) binary-module system (#64)
+ else if a == "EngineSystem" { eat_op("("); esys_comp = eat_id(); eat_op(","); esys_phase = eat_id(); eat_op(")") } # @EngineSystem(Comp, Phase) package engine system (#62)
+ else if a == "Namespace" { eat_op("("); ns_name = eat_id(); eat_op(")") } # @Namespace(Name) package Foo.* namespace (#62)
+ else if a == "ClearColor" { # @ClearColor(colour) — Render auto-clear + auto-present (#86)
+ eat_op("(")
+ g_clear_color = expr() # a literal, a `const`, or a Color.Name — resolved when emitted
+ g_has_clear_color = true
+ eat_op(")")
+ }
+ else if is_op("(") { # any other @anno(args) — parsed and skipped
+ var d = 0
+ while true { if is_op("(") { d += 1 }; if is_op(")") { d -= 1 }; pi += 1; if d == 0 { break } }
+ }
skipnl()
}
- if is_id("import") { pi = pi + 1
+ if is_id("import") { pi += 1
let t = toks[pi]
if t.kind != TK_STR { perr("expected \"path\" after import") }
- let rel = t.text; pi = pi + 1
+ let rel = t.text; pi += 1
do_import(rel)
return
}
@@ -685,7 +735,7 @@ function parse_one_decl() -> void {
}
if is_id("property") {
let c = parse_component()
- if is_sync_prop { var fi = 0; while fi < len(c.kids) { c.kids[fi].ival = 1; fi = fi + 1 } } # N2: mark every field replicable
+ if is_sync_prop { var fi = 0; while fi < len(c.kids) { c.kids[fi].ival = 1; fi += 1 } } # N2: mark every field replicable
push(prog, c); return
}
if is_id("model") {
@@ -712,10 +762,10 @@ function parse_one_decl() -> void {
if (onattach_prop != null) { register_onattach(onattach_prop, h.a); if is_public { ensure_event(`prop_{onattach_prop}_attach`, false) }; return } # -> prop__attach
if (ondetach_prop != null) { register_ondetach(ondetach_prop, h.a); if is_public { ensure_event(`prop_{ondetach_prop}_detach`, false) }; return } # -> prop_
_detach
if (onenable_prop != null) { register_onenable(onenable_prop, h.a); if is_public { ensure_event(`prop_{onenable_prop}_enable`, false) }; return } # -> prop_
_enable
- if (ondisable_prop != null) { register_ondisable(ondisable_prop, h.a); if is_public { ensure_event(`prop_{ondisable_prop}_disable`, false) }; return } # -> prop_
_disable
+ if (ondisable_prop != null) { register_ondisable(ondisable_prop, h.a); if is_public { ensure_event(`prop_{ondisable_prop}_disable`, false) }; return } # -> prop_
_disable
if (hook_phase != null) { # @OnStart/@OnQuit
h.ty = hook_phase
- if is_public { # -> program_start / program_quit
+ if is_public { # -> program_start / program_quit
if (hook_phase == "Start") { ensure_event_empty("program_start") }
else { ensure_event_empty("program_quit") }
}
@@ -741,7 +791,7 @@ function parse_one_decl() -> void {
if is_id("extern") { push(prog, parse_extern()); return }
if is_id("entry") { push(prog, parse_main()); return }
if is_id("test") { push(g_tests, parse_test()); return }
- perr("expected declaration")
+ perr(`expected a declaration (property, model, handler, function, …), got {tok_desc()}`)
}
# test "name" { ... } — a named test block, collected into g_tests. The block
@@ -749,12 +799,12 @@ function parse_one_decl() -> void {
# inside it record failures. Kept out of `prog` so it never emits as a plain fn.
function parse_test() -> Node {
let ln = toks[pi].line
- pi = pi + 1 # past `test`
+ pi += 1 # past `test`
if toks[pi].kind != TK_STR { perr("expected a \"name\" string after test") }
let n = node(N_TEST)
n.s = toks[pi].text
n.line = ln
- pi = pi + 1 # past the name
+ pi += 1 # past the name
n.a = block()
return n
}
@@ -771,17 +821,7 @@ function parse_test() -> Node {
# import resolves exactly as before (the emitted IR is byte-identical).
# true when `rel` is an engine-runtime splice path ("runtime/..."), as opposed to
# a user or package import. Those ship with the toolchain, not the project (#75).
-function is_runtime_path(rel: pointer) -> bool {
- if rel[0] != 114 { return false } # r
- if rel[1] != 117 { return false } # u
- if rel[2] != 110 { return false } # n
- if rel[3] != 116 { return false } # t
- if rel[4] != 105 { return false } # i
- if rel[5] != 109 { return false } # m
- if rel[6] != 101 { return false } # e
- if rel[7] != 47 { return false } # /
- return true
-}
+function is_runtime_path(rel: pointer) -> bool { return str_starts(rel, "runtime/") }
# byte-wise `a < b`, for a stable import order of a directory's files
function str_less(a: pointer, b: pointer) -> bool {
@@ -790,7 +830,7 @@ function str_less(a: pointer, b: pointer) -> bool {
let ca = a[i]; let cb = b[i]
if ca != cb { return ca < cb }
if ca == 0 { return false }
- i = i + 1
+ i += 1
}
return false
}
@@ -804,16 +844,16 @@ function do_import_dir(rel: pointer) -> void {
while i < len(names) { # selection sort by name
var best = i
var j = i + 1
- while j < len(names) { if str_less(names[j], names[best]) { best = j }; j = j + 1 }
+ while j < len(names) { if str_less(names[j], names[best]) { best = j }; j += 1 }
let t = names[i]; names[i] = names[best]; names[best] = t
- i = i + 1
+ i += 1
}
i = 0
while i < len(names) {
let nm = names[i]
let n = len(nm)
if (n > 6) and (nm[n - 6..n] == ".ludic") { do_import(dir + ("/") + nm) }
- i = i + 1
+ i += 1
}
}
@@ -827,13 +867,13 @@ function do_import(rel: pointer) -> void {
# install root $LUDIC_HOME (default: the compiler binary's directory) — the same
# place main.ludic finds cocoa.ll / audio.ll. This is tried before the package
# module root, so $LUDIC_MODULES / ludic_modules holds only third-party packages.
- if (src == null) and (rel[0] != 47) and is_runtime_path(rel) {
+ if (src == null) and (rel[0] != '/') and is_runtime_path(rel) {
let home = ensure_slash(getenv_or("LUDIC_HOME", dir_of(arg(0))))
let hc = home + rel
let hs = read_file(hc)
if (hs != null) { full = hc; src = hs }
}
- if (src == null) and (rel[0] != 47) {
+ if (src == null) and (rel[0] != '/') {
let cand = ensure_slash(getenv_or("LUDIC_MODULES", "ludic_modules")) + rel
let s2 = read_file(cand)
if (s2 != null) { full = cand; src = s2 }
@@ -848,16 +888,19 @@ function do_import(rel: pointer) -> void {
let fl = len(full)
if (fl >= len(atail)) and (full[fl - len(atail)..fl] == atail) { g_uses_audio = true }
let saved_toks = toks; let saved_pi = pi; let saved_dir = cur_dir
+ let saved_file = g_parse_file; let saved_parsing = g_parsing
cur_dir = dir_of(full)
+ g_parse_file = full; g_parsing = true
lex(src) # resets the global token stream
pi = 0
skipnl()
while toks[pi].kind != TK_EOF { parse_one_decl(); skipnl() }
toks = saved_toks; pi = saved_pi; cur_dir = saved_dir
+ g_parse_file = saved_file; g_parsing = saved_parsing
}
-# a game (has systems/components) links the Ludic runtime; auto-splice it the
-# way the C compiler does. Tools (a `main` block, no ECS) get nothing.
+# a game (has handlers/components) links the Ludic runtime; auto-splice it.
+# Tools (an `entry` block, no ECS) get nothing.
function maybe_splice_runtime() -> void {
let saved = cur_dir
# a game (has systems/components) links the Ludic runtime.
@@ -1105,7 +1148,7 @@ function parse_program() -> void {
g_uses_esys = false
g_uses_input = false
g_has_clear_color = false
- g_clear_color = 0
+ g_clear_color = null
g_warned_draw_sprite = false
g_uses_world_despawn = false
g_uses_light = false
@@ -1138,15 +1181,15 @@ function parse_program() -> void {
skipnl()
g_game_name = "Ludic"
# imports may precede the program block
- while is_id("import") { pi = pi + 1; let t = toks[pi]; let rel = t.text; pi = pi + 1; do_import(rel); skipnl() }
+ while is_id("import") { pi += 1; let t = toks[pi]; let rel = t.text; pi += 1; do_import(rel); skipnl() }
# @annotations on the program itself (e.g. @Handles(Movement)) — parsed, skipped
while is_op("@") {
- pi = pi + 1; let a = eat_id()
+ pi += 1; let a = eat_id()
if is_op("(") { var d = 0
- while true { if is_op("(") { d = d + 1 }; if is_op(")") { d = d - 1 }; pi = pi + 1; if d == 0 { break } } }
+ while true { if is_op("(") { d += 1 }; if is_op(")") { d -= 1 }; pi += 1; if d == 0 { break } } }
skipnl()
}
- if is_id("program") { pi = pi + 1; g_game_name = eat_id(); skipnl(); eat_op("{") }
+ if is_id("program") { pi += 1; g_game_name = eat_id(); skipnl(); eat_op("{") }
while true {
skipnl()
if toks[pi].kind == TK_EOF { break }
diff --git a/selfhost/frontend/parse_game.ludic b/selfhost/frontend/parse_game.ludic
index 8027180c..7e916315 100644
--- a/selfhost/frontend/parse_game.ludic
+++ b/selfhost/frontend/parse_game.ludic
@@ -1,19 +1,18 @@
-# parse_game.ludic — the ECS front-end: component and system declarations,
-# `for (vars) in query [terms] where cond`, spawn and despawn. Mirrors the
-# game-construct parsing in compiler/front/parse.c.
+# parse_game.ludic — the ECS front-end: property, model, handler, scene, ui and
+# enum declarations, `for (vars) in query [terms] where cond`, spawn and prefab.
function parse_component() -> Node {
- pi = pi + 1; let n = node(N_COMP); n.s = eat_id(); skipnl(); eat_op("{")
+ pi += 1; let n = node(N_COMP); n.s = eat_id(); skipnl(); eat_op("{")
while true { skipnl(); if is_op("}") { break }
var is_computed = false
var is_sync = false # @Sync — this field replicates (NETWORKING N2)
- if is_op("@") { pi = pi + 1; let ann = eat_id(); if (ann == "Computed") { is_computed = true } else { if (ann == "Sync") { is_sync = true } }; skipnl() }
+ if is_op("@") { pi += 1; let ann = eat_id(); if ann == "Computed" { is_computed = true } else if ann == "Sync" { is_sync = true }; skipnl() }
let f = node(N_FIELD); f.s = eat_id(); eat_op(":"); f.ty = ptype()
- if is_op("=") { pi = pi + 1; f.a = expr() }
+ if is_op("=") { pi += 1; f.a = expr() }
if is_sync { f.ival = 1 } # mark the field replicable (read by emit_net)
if is_computed { register_computed(n.s, f.s, f.ty, f.a) } # derived: no storage
else { push(n.kids, f) }
- if is_op(",") { pi = pi + 1 } }
+ if is_op(",") { pi += 1 } }
eat_op("}"); return n
}
@@ -21,29 +20,33 @@ function parse_component() -> Node {
# field grammar as a `property`, but stored in g_events, not prog: an event is a
# signal shape, not per-entity storage. Zero fields is allowed (`event Ping {}`).
function parse_event() -> Node {
- pi = pi + 1; let n = node(N_EVENT)
- if is_id("cancellable") { pi = pi + 1; n.ival = 1 } # a decision event: listeners may `cancel` it
+ pi += 1; let n = node(N_EVENT)
+ if is_id("cancellable") { pi += 1; n.ival = 1 } # a decision event: listeners may `cancel` it
n.s = eat_id(); skipnl(); eat_op("{")
while true { skipnl(); if is_op("}") { break }
let f = node(N_FIELD); f.s = eat_id(); eat_op(":"); f.ty = ptype()
- if is_op("=") { pi = pi + 1; f.a = expr() }
+ if is_op("=") { pi += 1; f.a = expr() }
push(n.kids, f)
- if is_op(",") { pi = pi + 1 } }
+ if is_op(",") { pi += 1 } }
eat_op("}"); return n
}
function parse_system() -> Node {
- pi = pi + 1; let n = node(N_SYS); n.s = eat_id(); n.ty = "Update"
+ pi += 1; let n = node(N_SYS); n.s = eat_id(); n.ty = "Update"
# postfix clauses on `handler Name …`: @anno(...) (parsed and reserved, e.g.
# @deterministic / @Reads(...) / @Writes(...)) and `phase X`. The handler's
# query lives in a prefix `@Queries(...)` annotation (see parse_one_decl), not
# in a signature clause.
while true {
skipnl() # clauses may span several lines
- if is_op("@") { pi = pi + 1; let a = eat_id(); if is_op("(") { var d = 0 # @anno, one per turn so a
- while true { if is_op("(") { d = d + 1 }; if is_op(")") { d = d - 1 }; pi = pi + 1; if d == 0 { break } } }
+ if is_op("@") { pi += 1; let a = eat_id(); if is_op("(") { var d = 0 # @anno, one per turn so a
+ while true { if is_op("(") { d += 1 }; if is_op(")") { d -= 1 }; pi += 1; if d == 0 { break } } }
continue } # newline-separated @anno re-skips at the loop top
- if is_id("phase") { pi = pi + 1; n.ty = eat_id(); continue }
+ if is_id("phase") {
+ pi += 1; n.ty = eat_id()
+ if not is_phase_name(n.ty) { perr(`unknown phase '{n.ty}' (expected Start, Input, FixedUpdate, Update, LateUpdate, Render or Overlay)`) }
+ continue
+ }
break
}
skipnl()
@@ -57,12 +60,12 @@ function parse_query_tail() -> Node {
eat_op("[")
let q = node(N_BLOCK)
while not is_op("]") {
- if is_op("{") { pi = pi + 1; let t = node(E_ID); t.s = eat_id(); t.ival = 1; push(q.kids, t); eat_op("}") }
+ if is_op("{") { pi += 1; let t = node(E_ID); t.s = eat_id(); t.ival = 1; push(q.kids, t); eat_op("}") }
else { let t = node(E_ID); t.s = eat_id(); t.ival = 0; push(q.kids, t) }
- if is_op(",") { pi = pi + 1 }
+ if is_op(",") { pi += 1 }
}
eat_op("]")
- if is_id("where") { pi = pi + 1; q.a = expr() }
+ if is_id("where") { pi += 1; q.a = expr() }
return q
}
@@ -70,11 +73,11 @@ function parse_query_tail() -> Node {
function parse_query_for() -> Node {
let n = node(S_QUERY)
eat_op("(")
- while not is_op(")") { let v = node(E_ID); v.s = eat_id(); push(n.kids, v); if is_op(",") { pi = pi + 1 } }
+ while not is_op(")") { let v = node(E_ID); v.s = eat_id(); push(n.kids, v); if is_op(",") { pi += 1 } }
eat_op(")")
let inkw = eat_id() # 'in'
if not is_id("query") { perr("expected 'query' in for-loop") }
- pi = pi + 1 # 'query'
+ pi += 1 # 'query'
n.c = parse_query_tail()
n.b = n.c.a # where
n.a = block()
@@ -127,16 +130,16 @@ function parse_queries_anno() -> Node {
let pname = eat_id()
let v = node(E_ID); v.s = pname; push(qn.kids, v) # binding var = property name
let t = node(E_ID); t.s = pname; t.ival = 0; push(terms.kids, t)
- if is_op("{") { pi = pi + 1; let ce = expr(); eat_op("}")
+ if is_op("{") { pi += 1; let ce = expr(); eat_op("}")
let cb = node(E_ID); cb.s = pname; wh = mk_and(wh, qualify_fields(ce, cb)) }
- if is_op(",") { pi = pi + 1 }
+ if is_op(",") { pi += 1 }
skipnl()
}
eat_op("]")
} else { if (key == "on") {
let mname = eat_id(); let t = node(E_ID); t.s = mname; t.ival = 1; push(terms.kids, t) # {Model} tag
} else { expr() } } # unknown key: skip its value
- if is_op(",") { pi = pi + 1 }
+ if is_op(",") { pi += 1 }
skipnl()
}
eat_op(")")
@@ -145,7 +148,7 @@ function parse_queries_anno() -> Node {
}
function parse_spawn() -> Node {
- pi = pi + 1; let n = node(S_SPAWN); n.s = eat_id(); skipnl(); eat_op("{")
+ pi += 1; let n = node(S_SPAWN); n.s = eat_id(); skipnl(); eat_op("{")
parse_component_records(n)
eat_op("}"); return n
}
@@ -156,14 +159,14 @@ function parse_component_records(n: Node) -> void {
let ci = node(E_FINIT); ci.s = eat_id()
ci.a = record() # Comp { field: val, ... } — no `=` before the record
push(n.kids, ci)
- if is_op(",") { pi = pi + 1 }
+ if is_op(",") { pi += 1 }
}
}
# prefab Name: Model { Comp { field: val }, ... } — a model with preset fields.
# `spawn Name { ... }` spawns the model with the prefab's fields, then the spawn's
# own overrides on top; `Prefab.spawn(name: "Name")` does it by name at runtime.
function parse_prefab() -> Node {
- pi = pi + 1; let n = node(N_PREFAB); n.s = eat_id(); eat_op(":"); n.ty = eat_id(); skipnl(); eat_op("{")
+ pi += 1; let n = node(N_PREFAB); n.s = eat_id(); eat_op(":"); n.ty = eat_id(); skipnl(); eat_op("{")
parse_component_records(n)
eat_op("}"); return n
}
@@ -175,7 +178,7 @@ function parse_prefab() -> Node {
# ordinary N_SYS nodes, tagged with the owning scene in `.c`, so the whole
# system backend (functions, phases, enable/disable) is reused unchanged.
function parse_scene() -> void {
- pi = pi + 1 # 'scene'
+ pi += 1 # 'scene'
let n = node(N_SCENE); n.s = eat_id()
n.ival = g_scene_count
# optional modifiers after the name, any order: `start` (the boot scene) and
@@ -185,33 +188,34 @@ function parse_scene() -> void {
var then_scene: pointer = null
var loads_then: pointer = null # loads then Next: pump the Assets queue, draw a bar, go on when ready
while is_id("start") or is_id("public") or is_id("shows") or is_id("lasts") or is_id("loads") {
- if is_id("start") { pi = pi + 1; g_start_scene = g_scene_count }
- else { if is_id("shows") { pi = pi + 1; n.ty = eat_id() } # shows Menu: the engine opens, renders and closes it
- else { if is_id("lasts") { pi = pi + 1; lasts = expr(); if not is_id("then") { perr("lasts N needs `then Scene`") }; pi = pi + 1; then_scene = eat_id() }
- else { if is_id("loads") { pi = pi + 1; if not is_id("then") { perr("loads needs `then Scene`") }; pi = pi + 1; loads_then = eat_id(); g_uses_atlas = true }
- else { pi = pi + 1; is_pub = true } } } }
+ if is_id("start") { pi += 1; g_start_scene = g_scene_count }
+ else if is_id("shows") { pi += 1; n.ty = eat_id() } # shows Menu: the engine opens, renders and closes it
+ else if is_id("lasts") { pi += 1; lasts = expr(); if not is_id("then") { perr("lasts N needs `then Scene`") }; pi += 1; then_scene = eat_id() }
+ else if is_id("loads") { pi += 1; if not is_id("then") { perr("loads needs `then Scene`") }; pi += 1; loads_then = eat_id(); g_uses_atlas = true }
+ else { pi += 1; is_pub = true }
}
- g_scene_count = g_scene_count + 1
+ g_scene_count += 1
if is_pub { ensure_event_empty(`scene_{n.s}_enter`); ensure_event_empty(`scene_{n.s}_exit`) }
skipnl(); eat_op("{")
while true {
skipnl(); if is_op("}") { break }
if is_id("on") { # on enter { .. } / on exit { .. }
- pi = pi + 1; let which = eat_id(); skipnl()
- if (which == "enter") { n.a = block() }
- else { if (which == "exit") { n.b = block() } else { perr("expected 'enter' or 'exit' after 'on'") } }
+ pi += 1; let which = eat_id(); skipnl()
+ if which == "enter" { n.a = block() }
+ else if which == "exit" { n.b = block() }
+ else { perr("expected 'enter' or 'exit' after 'on'") }
continue
}
if is_id("layer") { # layer Name [public] { handler .. }
- pi = pi + 1; let lname = eat_id()
- if is_id("public") { pi = pi + 1; ensure_event_empty(`layer_{lname}_show`); ensure_event_empty(`layer_{lname}_hide`) }
+ pi += 1; let lname = eat_id()
+ if is_id("public") { pi += 1; ensure_event_empty(`layer_{lname}_show`); ensure_event_empty(`layer_{lname}_hide`) }
skipnl(); eat_op("{")
let ltag = node(E_ID); ltag.s = lname # the layer name, tagged onto each handler
while true {
skipnl(); if is_op("}") { break }
var qspec: Node = null # `@Queries(...)` makes the handler run once per matching entity
while is_op("@") {
- pi = pi + 1; let a = eat_id()
+ pi += 1; let a = eat_id()
if (a == "Queries") { qspec = parse_queries_anno() }
else { perr(`a handler inside a layer may only carry @Queries (got @{a})`) }
skipnl()
@@ -260,7 +264,7 @@ function scene_add_timer(sc: Node, frames: Node, next: pointer) -> void {
let set = node(S_ASSIGN); set.s = "="; let lhs = node(E_ID); lhs.s = counter; set.a = lhs; set.b = frames
let ins = new []Node; push(ins, set)
var i = 0
- while i < len(sc.a.kids) { push(ins, sc.a.kids[i]); i = i + 1 }
+ while i < len(sc.a.kids) { push(ins, sc.a.kids[i]); i += 1 }
sc.a.kids = ins
let h = node(N_SYS); h.s = `{sc.s}_Timer`; h.ty = "Update"; h.c = sc
let body = node(N_BLOCK)
@@ -281,7 +285,7 @@ function ui_register_gotos() -> void {
var i = 0
while i < len(prog) {
if prog[i].kind == N_UI and prog[i].ival == 1 { ui_gotos_in(prog[i].a) }
- i = i + 1
+ i += 1
}
}
function ui_gotos_in(w: Node) -> void {
@@ -292,7 +296,7 @@ function ui_gotos_in(w: Node) -> void {
let pr = w.b.kids[p]
if (pr.s == "id") and (pr.a.kind == E_ID) { idn = pr.a.s }
if (pr.s == "goto") and (pr.a.kind == E_ID) { goto = pr.a.s }
- p = p + 1
+ p += 1
}
if (idn != null) and (goto != null) {
let body = node(N_BLOCK)
@@ -303,7 +307,7 @@ function ui_gotos_in(w: Node) -> void {
register_onlisten("UiClicked", body)
}
var k = 0
- while k < len(w.kids) { ui_gotos_in(w.kids[k]); k = k + 1 }
+ while k < len(w.kids) { ui_gotos_in(w.kids[k]); k += 1 }
}
# enum Name { A, B, C } — named int constants; a variant's value is its index.
@@ -318,17 +322,17 @@ function ui_gotos_in(w: Node) -> void {
# Each variant node is an E_ID (s=variant name); its payload types are stored as
# N_PARAM kids, one per slot, carrying only `.ty`.
function parse_enum() -> Node {
- pi = pi + 1; let n = node(N_ENUM); n.s = eat_id(); skipnl(); eat_op("{")
+ pi += 1; let n = node(N_ENUM); n.s = eat_id(); skipnl(); eat_op("{")
while true { skipnl(); if is_op("}") { break }
let v = node(E_ID); v.s = eat_id()
if is_op("(") { # variant payload: Door(int), Portal(int, int)
- pi = pi + 1; skipnl()
- while not is_op(")") {
- let p = node(N_PARAM); p.ty = ptype(); push(v.kids, p)
- if is_op(",") { pi = pi + 1 }; skipnl() }
- eat_op(")") }
+ pi += 1; skipnl()
+ while not is_op(")") {
+ let p = node(N_PARAM); p.ty = ptype(); push(v.kids, p)
+ if is_op(",") { pi += 1 }; skipnl() }
+ eat_op(")") }
push(n.kids, v)
- if is_op(",") { pi = pi + 1 }; skipnl() }
+ if is_op(",") { pi += 1 }; skipnl() }
eat_op("}"); return n
}
@@ -338,28 +342,28 @@ function parse_enum() -> Node {
# per model use-site — the same property syncs in one model, not another. The
# per-member @Sync sets the member E_ID's ival=1 (read by emit_net).
function parse_archetype() -> Node {
- pi = pi + 1; let n = node(N_ARCH); n.s = eat_id(); skipnl(); eat_op("{")
+ pi += 1; let n = node(N_ARCH); n.s = eat_id(); skipnl(); eat_op("{")
while true { skipnl(); if is_op("}") { break }
let c = node(E_ID)
- if is_op("@") { pi = pi + 1; let a = eat_id(); if (a == "Sync") { c.ival = 1 }; skipnl() }
+ if is_op("@") { pi += 1; let a = eat_id(); if (a == "Sync") { c.ival = 1 }; skipnl() }
c.s = eat_id(); push(n.kids, c)
- if is_op(",") { pi = pi + 1 }; skipnl() }
+ if is_op(",") { pi += 1 }; skipnl() }
eat_op("}"); return n
}
# extern function name(params) -> T = "symbol"
function parse_extern() -> Node {
- pi = pi + 1 # 'extern'
+ pi += 1 # 'extern'
let fnkw = eat_id() # 'fn'
let n = node(N_EXTERN); n.s = eat_id(); eat_op("(")
while not is_op(")") { let p = node(N_PARAM); p.s = eat_id(); eat_op(":"); p.ty = ptype(); push(n.kids, p)
- if is_op(",") { pi = pi + 1 } }
+ if is_op(",") { pi += 1 } }
eat_op(")")
n.ty = "void"
- if is_op("->") { pi = pi + 1; n.ty = ptype() }
+ if is_op("->") { pi += 1; n.ty = ptype() }
eat_op("=")
let t = toks[pi] # "symbol"
- n.a = node(E_STR); n.a.s = t.text; pi = pi + 1
+ n.a = node(E_STR); n.a.s = t.text; pi += 1
return n
}
@@ -371,13 +375,13 @@ function parse_widget() -> Node {
let pr = node(E_FINIT); pr.s = eat_id(); eat_op(":"); pr.a = expr(); push(w.b.kids, pr) # widget prop `key: value` (Rule A)
}
skipnl()
- if is_op("{") { pi = pi + 1
+ if is_op("{") { pi += 1
while true { skipnl(); if is_op("}") { break }; push(w.kids, parse_widget()) }
eat_op("}") }
return w
}
function parse_ui() -> Node {
- pi = pi + 1; let n = node(N_UI); n.s = eat_id(); n.ival = 1 # ival=1 marks the top ui block
+ pi += 1; let n = node(N_UI); n.s = eat_id(); n.ival = 1 # ival=1 marks the top ui block
skipnl(); eat_op("{"); skipnl()
n.a = parse_widget()
skipnl(); eat_op("}")
diff --git a/selfhost/ludicc.seed.ll b/selfhost/ludicc.seed.ll
index e60a98ef..218f1946 100644
--- a/selfhost/ludicc.seed.ll
+++ b/selfhost/ludicc.seed.ll
@@ -59,13 +59,18 @@ declare void @hs_free(i32)
@.gametitle = private unnamed_addr constant [9 x i8] c"SelfHost\00"
%LSlice = type { ptr, i32, i32 }
%Cmp_Buf = type { ptr, i32, i32 }
-%Cmp_Node = type { i32, ptr, i32, ptr, ptr, ptr, ptr, ptr, i32 }
+%Cmp_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
@@ -85,7 +90,7 @@ declare void @hs_free(i32)
@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 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
@@ -126,6 +131,7 @@ declare void @hs_free(i32)
@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_datert = internal global i32 0
@@ -176,2182 +182,2182 @@ declare void @hs_free(i32)
@g_uiw_parent = internal global ptr null
@g_ui_roots = internal global ptr null
@.str0 = private unnamed_addr constant [3 x i8] c"rb\00"
-@.str1 = private unnamed_addr constant [28 x i8] c"ludicc(self): parse error: \00"
-@.str2 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str3 = private unnamed_addr constant [20 x i8] c"expected identifier\00"
-@.str4 = private unnamed_addr constant [2 x i8] c"[\00"
-@.str5 = private unnamed_addr constant [2 x i8] c"]\00"
-@.str6 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str7 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8 = private unnamed_addr constant [2 x i8] c":\00"
+@.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 [2 x i8] c",\00"
-@.str11 = private unnamed_addr constant [2 x i8] c")\00"
-@.str12 = private unnamed_addr constant [2 x i8] c"+\00"
-@.str13 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str14 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str15 = private unnamed_addr constant [2 x i8] c")\00"
-@.str16 = private unnamed_addr constant [2 x i8] c":\00"
-@.str17 = private unnamed_addr constant [2 x i8] c",\00"
-@.str18 = private unnamed_addr constant [2 x i8] c")\00"
-@.str19 = private unnamed_addr constant [5 x i8] c"emit\00"
-@.str20 = private unnamed_addr constant [5 x i8] c"true\00"
-@.str21 = private unnamed_addr constant [6 x i8] c"false\00"
-@.str22 = private unnamed_addr constant [5 x i8] c"null\00"
-@.str23 = private unnamed_addr constant [4 x i8] c"new\00"
-@.str24 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str25 = private unnamed_addr constant [6 x i8] c"spawn\00"
-@.str26 = private unnamed_addr constant [4 x i8] c"try\00"
-@.str27 = private unnamed_addr constant [5 x i8] c"else\00"
-@.str28 = private unnamed_addr constant [37 x i8] c"try needs an `else { ... }` fallback\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 [20 x i8] c"expected expression\00"
-@.str32 = private unnamed_addr constant [2 x i8] c".\00"
-@.str33 = private unnamed_addr constant [6 x i8] c"Regex\00"
-@.str34 = private unnamed_addr constant [7 x i8] c"BigInt\00"
-@.str35 = private unnamed_addr constant [8 x i8] c"Decimal\00"
-@.str36 = private unnamed_addr constant [5 x i8] c"Dict\00"
-@.str37 = private unnamed_addr constant [4 x i8] c"Set\00"
-@.str38 = private unnamed_addr constant [5 x i8] c"Huge\00"
-@.str39 = private unnamed_addr constant [6 x i8] c"Angle\00"
-@.str40 = private unnamed_addr constant [8 x i8] c"Percent\00"
-@.str41 = private unnamed_addr constant [4 x i8] c"Job\00"
-@.str42 = private unnamed_addr constant [8 x i8] c"Promise\00"
-@.str43 = private unnamed_addr constant [5 x i8] c"Sync\00"
-@.str44 = private unnamed_addr constant [6 x i8] c"Query\00"
-@.str45 = private unnamed_addr constant [8 x i8] c"Reflect\00"
-@.str46 = private unnamed_addr constant [6 x i8] c"Light\00"
-@.str47 = private unnamed_addr constant [6 x i8] c"Value\00"
-@.str48 = private unnamed_addr constant [5 x i8] c"Json\00"
-@.str49 = private unnamed_addr constant [4 x i8] c"Xml\00"
-@.str50 = private unnamed_addr constant [7 x i8] c"Base64\00"
-@.str51 = private unnamed_addr constant [6 x i8] c"Tiled\00"
-@.str52 = private unnamed_addr constant [7 x i8] c"Sprite\00"
-@.str53 = private unnamed_addr constant [6 x i8] c"sheet\00"
-@.str54 = private unnamed_addr constant [5 x i8] c"cell\00"
-@.str55 = private unnamed_addr constant [10 x i8] c"cell_span\00"
-@.str56 = private unnamed_addr constant [7 x i8] c"define\00"
-@.str57 = private unnamed_addr constant [6 x i8] c"named\00"
-@.str58 = private unnamed_addr constant [5 x i8] c"draw\00"
-@.str59 = private unnamed_addr constant [12 x i8] c"draw_scaled\00"
-@.str60 = private unnamed_addr constant [6 x i8] c"width\00"
-@.str61 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str62 = private unnamed_addr constant [7 x i8] c"Assets\00"
-@.str63 = private unnamed_addr constant [8 x i8] c"Reflect\00"
-@.str64 = private unnamed_addr constant [10 x i8] c"serialize\00"
-@.str65 = private unnamed_addr constant [6 x i8] c"apply\00"
-@.str66 = private unnamed_addr constant [6 x i8] c"Input\00"
-@.str67 = private unnamed_addr constant [5 x i8] c"bind\00"
-@.str68 = private unnamed_addr constant [7 x i8] c"rebind\00"
-@.str69 = private unnamed_addr constant [5 x i8] c"poll\00"
-@.str70 = private unnamed_addr constant [5 x i8] c"down\00"
-@.str71 = private unnamed_addr constant [8 x i8] c"pressed\00"
-@.str72 = private unnamed_addr constant [7 x i8] c"record\00"
-@.str73 = private unnamed_addr constant [7 x i8] c"replay\00"
-@.str74 = private unnamed_addr constant [7 x i8] c"action\00"
-@.str75 = private unnamed_addr constant [9 x i8] c"bind_pad\00"
-@.str76 = private unnamed_addr constant [7 x i8] c"active\00"
-@.str77 = private unnamed_addr constant [13 x i8] c"just_pressed\00"
-@.str78 = private unnamed_addr constant [14 x i8] c"just_released\00"
-@.str79 = private unnamed_addr constant [6 x i8] c"Input\00"
-@.str80 = private unnamed_addr constant [9 x i8] c"key_down\00"
-@.str81 = private unnamed_addr constant [12 x i8] c"key_pressed\00"
-@.str82 = private unnamed_addr constant [13 x i8] c"key_released\00"
-@.str83 = private unnamed_addr constant [6 x i8] c"press\00"
-@.str84 = private unnamed_addr constant [8 x i8] c"release\00"
-@.str85 = private unnamed_addr constant [5 x i8] c"axis\00"
-@.str86 = private unnamed_addr constant [7 x i8] c"axis_i\00"
-@.str87 = private unnamed_addr constant [7 x i8] c"vector\00"
-@.str88 = private unnamed_addr constant [9 x i8] c"strength\00"
-@.str89 = private unnamed_addr constant [8 x i8] c"mouse_x\00"
-@.str90 = private unnamed_addr constant [8 x i8] c"mouse_y\00"
-@.str91 = private unnamed_addr constant [9 x i8] c"mouse_dx\00"
-@.str92 = private unnamed_addr constant [9 x i8] c"mouse_dy\00"
-@.str93 = private unnamed_addr constant [11 x i8] c"mouse_down\00"
-@.str94 = private unnamed_addr constant [6 x i8] c"wheel\00"
-@.str95 = private unnamed_addr constant [10 x i8] c"set_mouse\00"
-@.str96 = private unnamed_addr constant [14 x i8] c"pad_connected\00"
-@.str97 = private unnamed_addr constant [11 x i8] c"pad_button\00"
-@.str98 = private unnamed_addr constant [9 x i8] c"pad_axis\00"
-@.str99 = private unnamed_addr constant [7 x i8] c"move_i\00"
-@.str100 = private unnamed_addr constant [8 x i8] c"set_pad\00"
-@.str101 = private unnamed_addr constant [12 x i8] c"touch_count\00"
-@.str102 = private unnamed_addr constant [8 x i8] c"touch_x\00"
-@.str103 = private unnamed_addr constant [8 x i8] c"touch_y\00"
-@.str104 = private unnamed_addr constant [10 x i8] c"set_touch\00"
-@.str105 = private unnamed_addr constant [12 x i8] c"cursor_mode\00"
-@.str106 = private unnamed_addr constant [5 x i8] c"Anim\00"
-@.str107 = private unnamed_addr constant [5 x i8] c"play\00"
-@.str108 = private unnamed_addr constant [5 x i8] c"clip\00"
-@.str109 = private unnamed_addr constant [9 x i8] c"on_frame\00"
-@.str110 = private unnamed_addr constant [6 x i8] c"fired\00"
-@.str111 = private unnamed_addr constant [7 x i8] c"Motion\00"
-@.str112 = private unnamed_addr constant [3 x i8] c"to\00"
-@.str113 = private unnamed_addr constant [6 x i8] c"Audio\00"
-@.str114 = private unnamed_addr constant [5 x i8] c"Http\00"
-@.str115 = private unnamed_addr constant [6 x i8] c"Tween\00"
-@.str116 = private unnamed_addr constant [3 x i8] c"to\00"
-@.str117 = private unnamed_addr constant [6 x i8] c"chain\00"
-@.str118 = private unnamed_addr constant [6 x i8] c"delay\00"
-@.str119 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str120 = private unnamed_addr constant [5 x i8] c"stop\00"
-@.str121 = private unnamed_addr constant [9 x i8] c"parallel\00"
-@.str122 = private unnamed_addr constant [3 x i8] c"Fx\00"
-@.str123 = private unnamed_addr constant [2 x i8] c"[\00"
-@.str124 = private unnamed_addr constant [3 x i8] c"..\00"
-@.str125 = private unnamed_addr constant [2 x i8] c"]\00"
-@.str126 = private unnamed_addr constant [2 x i8] c"]\00"
-@.str127 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str128 = private unnamed_addr constant [12 x i8] c"draw_sprite\00"
-@.str129 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00"
-@.str130 = private unnamed_addr constant [2 x i8] c"-\00"
-@.str131 = private unnamed_addr constant [2 x i8] c"-\00"
-@.str132 = private unnamed_addr constant [2 x i8] c"~\00"
-@.str133 = private unnamed_addr constant [2 x i8] c"~\00"
-@.str134 = private unnamed_addr constant [4 x i8] c"not\00"
-@.str135 = private unnamed_addr constant [4 x i8] c"not\00"
-@.str136 = private unnamed_addr constant [2 x i8] c"*\00"
-@.str137 = private unnamed_addr constant [2 x i8] c"/\00"
-@.str138 = private unnamed_addr constant [2 x i8] c"%\00"
-@.str139 = private unnamed_addr constant [3 x i8] c"<<\00"
-@.str140 = private unnamed_addr constant [3 x i8] c">>\00"
-@.str141 = private unnamed_addr constant [2 x i8] c"&\00"
-@.str142 = private unnamed_addr constant [2 x i8] c"+\00"
-@.str143 = private unnamed_addr constant [2 x i8] c"-\00"
-@.str144 = private unnamed_addr constant [2 x i8] c"|\00"
-@.str145 = private unnamed_addr constant [2 x i8] c"^\00"
-@.str146 = private unnamed_addr constant [2 x i8] c"<\00"
-@.str147 = private unnamed_addr constant [3 x i8] c"<=\00"
-@.str148 = private unnamed_addr constant [2 x i8] c">\00"
-@.str149 = private unnamed_addr constant [3 x i8] c">=\00"
-@.str150 = private unnamed_addr constant [3 x i8] c"==\00"
-@.str151 = private unnamed_addr constant [3 x i8] c"!=\00"
-@.str152 = private unnamed_addr constant [4 x i8] c"and\00"
-@.str153 = private unnamed_addr constant [4 x i8] c"and\00"
-@.str154 = private unnamed_addr constant [3 x i8] c"or\00"
-@.str155 = private unnamed_addr constant [3 x i8] c"or\00"
-@.str156 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str157 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str158 = private unnamed_addr constant [2 x i8] c":\00"
-@.str159 = private unnamed_addr constant [2 x i8] c",\00"
-@.str160 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str161 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str162 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str163 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str164 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00"
-@.str165 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str166 = private unnamed_addr constant [4 x i8] c"let\00"
-@.str167 = private unnamed_addr constant [4 x i8] c"var\00"
-@.str168 = private unnamed_addr constant [4 x i8] c"var\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 [7 x i8] c"return\00"
-@.str172 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str173 = private unnamed_addr constant [3 x i8] c"if\00"
-@.str174 = private unnamed_addr constant [5 x i8] c"else\00"
-@.str175 = private unnamed_addr constant [3 x i8] c"if\00"
-@.str176 = private unnamed_addr constant [6 x i8] c"while\00"
-@.str177 = private unnamed_addr constant [4 x i8] c"for\00"
-@.str178 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str179 = private unnamed_addr constant [3 x i8] c"..\00"
-@.str180 = private unnamed_addr constant [6 x i8] c"spawn\00"
-@.str181 = private unnamed_addr constant [8 x i8] c"machine\00"
-@.str182 = 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 [6 x i8] c"Tween\00"
+@.str139 = private unnamed_addr constant [3 x i8] c"to\00"
+@.str140 = private unnamed_addr constant [6 x i8] c"chain\00"
+@.str141 = private unnamed_addr constant [6 x i8] c"delay\00"
+@.str142 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str143 = private unnamed_addr constant [5 x i8] c"stop\00"
+@.str144 = private unnamed_addr constant [9 x i8] c"parallel\00"
+@.str145 = private unnamed_addr constant [3 x i8] c"Fx\00"
+@.str146 = private unnamed_addr constant [2 x i8] c"[\00"
+@.str147 = private unnamed_addr constant [3 x i8] c"..\00"
+@.str148 = private unnamed_addr constant [2 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 [12 x i8] c"draw_sprite\00"
+@.str152 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00"
+@.str153 = private unnamed_addr constant [2 x i8] c"-\00"
+@.str154 = private unnamed_addr constant [2 x i8] c"-\00"
+@.str155 = private unnamed_addr constant [2 x i8] c"~\00"
+@.str156 = private unnamed_addr constant [2 x i8] c"~\00"
+@.str157 = private unnamed_addr constant [4 x i8] c"not\00"
+@.str158 = private unnamed_addr constant [4 x i8] c"not\00"
+@.str159 = private unnamed_addr constant [2 x i8] c"*\00"
+@.str160 = private unnamed_addr constant [2 x i8] c"/\00"
+@.str161 = private unnamed_addr constant [2 x i8] c"%\00"
+@.str162 = private unnamed_addr constant [3 x i8] c"<<\00"
+@.str163 = private unnamed_addr constant [3 x i8] c">>\00"
+@.str164 = private unnamed_addr constant [2 x i8] c"&\00"
+@.str165 = private unnamed_addr constant [2 x i8] c"+\00"
+@.str166 = private unnamed_addr constant [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 [3 x i8] c"<=\00"
+@.str171 = private unnamed_addr constant [2 x i8] c">\00"
+@.str172 = private unnamed_addr constant [3 x i8] c">=\00"
+@.str173 = private unnamed_addr constant [3 x i8] c"==\00"
+@.str174 = private unnamed_addr constant [3 x i8] c"!=\00"
+@.str175 = private unnamed_addr constant [4 x i8] c"and\00"
+@.str176 = private unnamed_addr constant [4 x i8] c"and\00"
+@.str177 = private unnamed_addr constant [3 x i8] c"or\00"
+@.str178 = private unnamed_addr constant [3 x i8] c"or\00"
+@.str179 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str180 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str181 = private unnamed_addr constant [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"
+@.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 [5 x i8] c"emit\00"
-@.str187 = private unnamed_addr constant [7 x i8] c"become\00"
-@.str188 = private unnamed_addr constant [8 x i8] c"despawn\00"
-@.str189 = private unnamed_addr constant [7 x i8] c"enable\00"
-@.str190 = private unnamed_addr constant [8 x i8] c"disable\00"
-@.str191 = private unnamed_addr constant [7 x i8] c"enable\00"
-@.str192 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str193 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str194 = private unnamed_addr constant [7 x i8] c"system\00"
-@.str195 = private unnamed_addr constant [7 x i8] c"system\00"
-@.str196 = private unnamed_addr constant [3 x i8] c"on\00"
-@.str197 = private unnamed_addr constant [7 x i8] c"attach\00"
-@.str198 = private unnamed_addr constant [3 x i8] c"on\00"
-@.str199 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00"
-@.str200 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str201 = private unnamed_addr constant [7 x i8] c"detach\00"
-@.str202 = private unnamed_addr constant [3 x i8] c"on\00"
-@.str203 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00"
-@.str204 = private unnamed_addr constant [6 x i8] c"break\00"
-@.str205 = private unnamed_addr constant [9 x i8] c"continue\00"
-@.str206 = private unnamed_addr constant [7 x i8] c"cancel\00"
-@.str207 = private unnamed_addr constant [6 x i8] c"match\00"
-@.str208 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str209 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str210 = private unnamed_addr constant [2 x i8] c",\00"
-@.str211 = private unnamed_addr constant [3 x i8] c"=>\00"
-@.str212 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str213 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str214 = private unnamed_addr constant [2 x i8] c"=\00"
-@.str215 = private unnamed_addr constant [3 x i8] c"+=\00"
-@.str216 = private unnamed_addr constant [3 x i8] c"-=\00"
-@.str217 = private unnamed_addr constant [3 x i8] c"*=\00"
-@.str218 = private unnamed_addr constant [3 x i8] c"/=\00"
-@.str219 = private unnamed_addr constant [2 x i8] c":\00"
-@.str220 = private unnamed_addr constant [2 x i8] c"=\00"
-@.str221 = private unnamed_addr constant [2 x i8] c":\00"
-@.str222 = private unnamed_addr constant [2 x i8] c"=\00"
-@.str223 = private unnamed_addr constant [4 x i8] c"new\00"
-@.str224 = private unnamed_addr constant [6 x i8] c"match\00"
-@.str225 = private unnamed_addr constant [8 x i8] c"machine\00"
-@.str226 = private unnamed_addr constant [7 x i8] c"become\00"
-@.str227 = private unnamed_addr constant [6 x i8] c"spawn\00"
-@.str228 = private unnamed_addr constant [8 x i8] c"despawn\00"
-@.str229 = private unnamed_addr constant [6 x i8] c"query\00"
-@.str230 = private unnamed_addr constant [7 x i8] c"cancel\00"
-@.str231 = private unnamed_addr constant [6 x i8] c"scene\00"
-@.str232 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str233 = private unnamed_addr constant [8 x i8] c"handler\00"
-@.str234 = private unnamed_addr constant [9 x i8] c"property\00"
-@.str235 = private unnamed_addr constant [6 x i8] c"model\00"
-@.str236 = private unnamed_addr constant [5 x i8] c"enum\00"
-@.str237 = private unnamed_addr constant [6 x i8] c"event\00"
-@.str238 = private unnamed_addr constant [10 x i8] c"namespace\00"
-@.str239 = private unnamed_addr constant [9 x i8] c"function\00"
-@.str240 = private unnamed_addr constant [4 x i8] c"let\00"
-@.str241 = private unnamed_addr constant [7 x i8] c"prefab\00"
-@.str242 = private unnamed_addr constant [4 x i8] c"var\00"
-@.str243 = private unnamed_addr constant [6 x i8] c"const\00"
-@.str244 = private unnamed_addr constant [3 x i8] c"if\00"
-@.str245 = private unnamed_addr constant [5 x i8] c"else\00"
-@.str246 = private unnamed_addr constant [6 x i8] c"while\00"
-@.str247 = private unnamed_addr constant [4 x i8] c"for\00"
-@.str248 = private unnamed_addr constant [7 x i8] c"return\00"
-@.str249 = private unnamed_addr constant [7 x i8] c"import\00"
-@.str250 = private unnamed_addr constant [8 x i8] c"program\00"
-@.str251 = private unnamed_addr constant [6 x i8] c"entry\00"
-@.str252 = private unnamed_addr constant [3 x i8] c"ui\00"
-@.str253 = private unnamed_addr constant [6 x i8] c"break\00"
-@.str254 = private unnamed_addr constant [9 x i8] c"continue\00"
-@.str255 = private unnamed_addr constant [4 x i8] c"and\00"
-@.str256 = private unnamed_addr constant [3 x i8] c"or\00"
-@.str257 = private unnamed_addr constant [4 x i8] c"not\00"
-@.str258 = private unnamed_addr constant [5 x i8] c"true\00"
-@.str259 = private unnamed_addr constant [6 x i8] c"false\00"
-@.str260 = private unnamed_addr constant [5 x i8] c"null\00"
-@.str261 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str262 = private unnamed_addr constant [2 x i8] c"'\00"
-@.str263 = private unnamed_addr constant [48 x i8] c"' is a reserved word and cannot name a function\00"
-@.str264 = private unnamed_addr constant [2 x i8] c")\00"
-@.str265 = private unnamed_addr constant [2 x i8] c":\00"
-@.str266 = private unnamed_addr constant [2 x i8] c",\00"
-@.str267 = private unnamed_addr constant [2 x i8] c")\00"
-@.str268 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str269 = private unnamed_addr constant [3 x i8] c"->\00"
-@.str270 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str271 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str272 = private unnamed_addr constant [7 x i8] c"export\00"
-@.str273 = private unnamed_addr constant [9 x i8] c"internal\00"
-@.str274 = private unnamed_addr constant [9 x i8] c"function\00"
-@.str275 = private unnamed_addr constant [54 x i8] c"a namespace body holds functions: expected `function`\00"
-@.str276 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str277 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str278 = private unnamed_addr constant [1 x i8] c"\00"
-@.str279 = private unnamed_addr constant [23 x i8] c"ludicc: warning: bare \00"
-@.str280 = 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"
-@.str281 = private unnamed_addr constant [2 x i8] c"@\00"
-@.str282 = private unnamed_addr constant [7 x i8] c"export\00"
-@.str283 = private unnamed_addr constant [7 x i8] c"Public\00"
-@.str284 = private unnamed_addr constant [3 x i8] c"On\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 [8 x i8] c"Queries\00"
-@.str288 = private unnamed_addr constant [8 x i8] c"OnSpawn\00"
-@.str289 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str186 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str187 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00"
+@.str188 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str189 = private unnamed_addr constant [4 x i8] c"let\00"
+@.str190 = private unnamed_addr constant [4 x i8] c"var\00"
+@.str191 = private unnamed_addr constant [4 x i8] c"var\00"
+@.str192 = private unnamed_addr constant [2 x i8] c":\00"
+@.str193 = private unnamed_addr constant [2 x i8] c"=\00"
+@.str194 = private unnamed_addr constant [7 x i8] c"return\00"
+@.str195 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str196 = private unnamed_addr constant [3 x i8] c"if\00"
+@.str197 = private unnamed_addr constant [5 x i8] c"else\00"
+@.str198 = private unnamed_addr constant [3 x i8] c"if\00"
+@.str199 = private unnamed_addr constant [6 x i8] c"while\00"
+@.str200 = private unnamed_addr constant [4 x i8] c"for\00"
+@.str201 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str202 = private unnamed_addr constant [3 x i8] c"..\00"
+@.str203 = private unnamed_addr constant [6 x i8] c"spawn\00"
+@.str204 = private unnamed_addr constant [8 x i8] c"machine\00"
+@.str205 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str206 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str207 = private unnamed_addr constant [2 x i8] c"=\00"
+@.str208 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str209 = private unnamed_addr constant [5 x i8] c"emit\00"
+@.str210 = private unnamed_addr constant [7 x i8] c"become\00"
+@.str211 = private unnamed_addr constant [8 x i8] c"despawn\00"
+@.str212 = private unnamed_addr constant [7 x i8] c"enable\00"
+@.str213 = private unnamed_addr constant [8 x i8] c"disable\00"
+@.str214 = private unnamed_addr constant [7 x i8] c"enable\00"
+@.str215 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str216 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str217 = private unnamed_addr constant [7 x i8] c"system\00"
+@.str218 = private unnamed_addr constant [7 x i8] c"system\00"
+@.str219 = private unnamed_addr constant [3 x i8] c"on\00"
+@.str220 = private unnamed_addr constant [7 x i8] c"attach\00"
+@.str221 = private unnamed_addr constant [3 x i8] c"on\00"
+@.str222 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00"
+@.str223 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str224 = private unnamed_addr constant [7 x i8] c"detach\00"
+@.str225 = private unnamed_addr constant [3 x i8] c"on\00"
+@.str226 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00"
+@.str227 = private unnamed_addr constant [6 x i8] c"break\00"
+@.str228 = private unnamed_addr constant [9 x i8] c"continue\00"
+@.str229 = private unnamed_addr constant [7 x i8] c"cancel\00"
+@.str230 = private unnamed_addr constant [6 x i8] c"match\00"
+@.str231 = private unnamed_addr constant [2 x i8] c"{\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 [3 x i8] c"=>\00"
+@.str235 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str236 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str237 = private unnamed_addr constant [2 x i8] c"=\00"
+@.str238 = private unnamed_addr constant [3 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 [2 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 [4 x i8] c"new\00"
+@.str247 = private unnamed_addr constant [6 x i8] c"match\00"
+@.str248 = private unnamed_addr constant [8 x i8] c"machine\00"
+@.str249 = private unnamed_addr constant [7 x i8] c"become\00"
+@.str250 = private unnamed_addr constant [6 x i8] c"spawn\00"
+@.str251 = private unnamed_addr constant [8 x i8] c"despawn\00"
+@.str252 = private unnamed_addr constant [6 x i8] c"query\00"
+@.str253 = private unnamed_addr constant [7 x i8] c"cancel\00"
+@.str254 = private unnamed_addr constant [6 x i8] c"scene\00"
+@.str255 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str256 = private unnamed_addr constant [8 x i8] c"handler\00"
+@.str257 = private unnamed_addr constant [9 x i8] c"property\00"
+@.str258 = private unnamed_addr constant [6 x i8] c"model\00"
+@.str259 = private unnamed_addr constant [5 x i8] c"enum\00"
+@.str260 = private unnamed_addr constant [6 x i8] c"event\00"
+@.str261 = private unnamed_addr constant [10 x i8] c"namespace\00"
+@.str262 = private unnamed_addr constant [9 x i8] c"function\00"
+@.str263 = private unnamed_addr constant [4 x i8] c"let\00"
+@.str264 = private unnamed_addr constant [7 x i8] c"prefab\00"
+@.str265 = private unnamed_addr constant [4 x i8] c"var\00"
+@.str266 = private unnamed_addr constant [6 x i8] c"const\00"
+@.str267 = private unnamed_addr constant [3 x i8] c"if\00"
+@.str268 = private unnamed_addr constant [5 x i8] c"else\00"
+@.str269 = private unnamed_addr constant [6 x i8] c"while\00"
+@.str270 = private unnamed_addr constant [4 x i8] c"for\00"
+@.str271 = private unnamed_addr constant [7 x i8] c"return\00"
+@.str272 = private unnamed_addr constant [7 x i8] c"import\00"
+@.str273 = private unnamed_addr constant [8 x i8] c"program\00"
+@.str274 = private unnamed_addr constant [6 x i8] c"entry\00"
+@.str275 = private unnamed_addr constant [3 x i8] c"ui\00"
+@.str276 = private unnamed_addr constant [6 x i8] c"break\00"
+@.str277 = private unnamed_addr constant [9 x i8] c"continue\00"
+@.str278 = private unnamed_addr constant [4 x i8] c"and\00"
+@.str279 = private unnamed_addr constant [3 x i8] c"or\00"
+@.str280 = private unnamed_addr constant [4 x i8] c"not\00"
+@.str281 = private unnamed_addr constant [5 x i8] c"true\00"
+@.str282 = private unnamed_addr constant [6 x i8] c"false\00"
+@.str283 = private unnamed_addr constant [5 x i8] c"null\00"
+@.str284 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str285 = private unnamed_addr constant [2 x i8] c"'\00"
+@.str286 = private unnamed_addr constant [48 x i8] c"' is a reserved word and cannot name a function\00"
+@.str287 = private unnamed_addr constant [2 x i8] c")\00"
+@.str288 = private unnamed_addr constant [2 x i8] c":\00"
+@.str289 = private unnamed_addr constant [2 x i8] c",\00"
@.str290 = private unnamed_addr constant [2 x i8] c")\00"
-@.str291 = private unnamed_addr constant [10 x i8] c"OnDespawn\00"
-@.str292 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str293 = private unnamed_addr constant [2 x i8] c",\00"
-@.str294 = private unnamed_addr constant [2 x i8] c":\00"
-@.str295 = private unnamed_addr constant [2 x i8] c")\00"
-@.str296 = private unnamed_addr constant [9 x i8] c"OnAttach\00"
-@.str297 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str298 = private unnamed_addr constant [2 x i8] c")\00"
-@.str299 = private unnamed_addr constant [9 x i8] c"OnDetach\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 [9 x i8] c"OnEnable\00"
-@.str303 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str304 = private unnamed_addr constant [2 x i8] c")\00"
-@.str305 = private unnamed_addr constant [10 x i8] c"OnDisable\00"
-@.str306 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str307 = private unnamed_addr constant [2 x i8] c")\00"
-@.str308 = private unnamed_addr constant [8 x i8] c"OnStart\00"
-@.str309 = private unnamed_addr constant [6 x i8] c"Start\00"
-@.str310 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
-@.str311 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
-@.str312 = private unnamed_addr constant [5 x i8] c"Sync\00"
-@.str313 = private unnamed_addr constant [6 x i8] c"Owned\00"
-@.str314 = private unnamed_addr constant [7 x i8] c"Server\00"
-@.str315 = private unnamed_addr constant [7 x i8] c"server\00"
-@.str316 = private unnamed_addr constant [10 x i8] c"Predicted\00"
-@.str317 = private unnamed_addr constant [10 x i8] c"predicted\00"
-@.str318 = private unnamed_addr constant [9 x i8] c"ToServer\00"
-@.str319 = private unnamed_addr constant [9 x i8] c"toserver\00"
-@.str320 = private unnamed_addr constant [10 x i8] c"ToClients\00"
-@.str321 = private unnamed_addr constant [10 x i8] c"toclients\00"
-@.str322 = private unnamed_addr constant [7 x i8] c"System\00"
-@.str323 = private unnamed_addr constant [7 x i8] c"Update\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 [13 x i8] c"EngineSystem\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 [10 x i8] c"Namespace\00"
-@.str331 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str332 = private unnamed_addr constant [2 x i8] c")\00"
-@.str333 = private unnamed_addr constant [11 x i8] c"ClearColor\00"
-@.str334 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str335 = private unnamed_addr constant [66 x i8] c"@ClearColor expects an integer colour, e.g. @ClearColor(0x101018)\00"
-@.str336 = private unnamed_addr constant [2 x i8] c")\00"
-@.str337 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str338 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str339 = private unnamed_addr constant [2 x i8] c")\00"
-@.str340 = private unnamed_addr constant [7 x i8] c"import\00"
-@.str341 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00"
-@.str342 = private unnamed_addr constant [5 x i8] c"enum\00"
-@.str343 = private unnamed_addr constant [6 x i8] c"event\00"
-@.str344 = private unnamed_addr constant [9 x i8] c"property\00"
-@.str345 = private unnamed_addr constant [6 x i8] c"model\00"
-@.str346 = private unnamed_addr constant [6 x i8] c"scene\00"
-@.str347 = private unnamed_addr constant [7 x i8] c"prefab\00"
-@.str348 = private unnamed_addr constant [8 x i8] c"handler\00"
-@.str349 = private unnamed_addr constant [7 x i8] c"server\00"
-@.str350 = private unnamed_addr constant [7 x i8] c"model_\00"
-@.str351 = private unnamed_addr constant [7 x i8] c"_spawn\00"
-@.str352 = private unnamed_addr constant [7 x i8] c"model_\00"
-@.str353 = private unnamed_addr constant [9 x i8] c"_despawn\00"
-@.str354 = private unnamed_addr constant [6 x i8] c"prop_\00"
-@.str355 = private unnamed_addr constant [8 x i8] c"_attach\00"
-@.str356 = private unnamed_addr constant [6 x i8] c"prop_\00"
-@.str357 = private unnamed_addr constant [8 x i8] c"_detach\00"
-@.str358 = private unnamed_addr constant [6 x i8] c"prop_\00"
-@.str359 = private unnamed_addr constant [8 x i8] c"_enable\00"
-@.str360 = private unnamed_addr constant [6 x i8] c"prop_\00"
-@.str361 = private unnamed_addr constant [9 x i8] c"_disable\00"
-@.str362 = private unnamed_addr constant [6 x i8] c"Start\00"
-@.str363 = private unnamed_addr constant [14 x i8] c"program_start\00"
-@.str364 = private unnamed_addr constant [13 x i8] c"program_quit\00"
-@.str365 = private unnamed_addr constant [3 x i8] c"ui\00"
-@.str366 = private unnamed_addr constant [10 x i8] c"namespace\00"
-@.str367 = private unnamed_addr constant [4 x i8] c"var\00"
-@.str368 = private unnamed_addr constant [6 x i8] c"const\00"
-@.str369 = private unnamed_addr constant [9 x i8] c"function\00"
-@.str370 = private unnamed_addr constant [7 x i8] c"extern\00"
-@.str371 = private unnamed_addr constant [6 x i8] c"entry\00"
-@.str372 = private unnamed_addr constant [5 x i8] c"test\00"
-@.str373 = private unnamed_addr constant [21 x i8] c"expected declaration\00"
-@.str374 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00"
-@.str375 = private unnamed_addr constant [22 x i8] c"import: no directory \00"
-@.str376 = private unnamed_addr constant [7 x i8] c".ludic\00"
-@.str377 = private unnamed_addr constant [2 x i8] c"/\00"
-@.str378 = private unnamed_addr constant [9 x i8] c"/*.ludic\00"
-@.str379 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00"
-@.str380 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00"
-@.str381 = private unnamed_addr constant [14 x i8] c"ludic_modules\00"
-@.str382 = private unnamed_addr constant [20 x i8] c"cannot open import \00"
-@.str383 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00"
-@.str384 = private unnamed_addr constant [1 x i8] c"\00"
-@.str385 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
-@.str386 = private unnamed_addr constant [1 x i8] c"\00"
-@.str387 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00"
-@.str388 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00"
-@.str389 = private unnamed_addr constant [1 x i8] c"\00"
-@.str390 = private unnamed_addr constant [28 x i8] c"runtime/native/bignum.ludic\00"
-@.str391 = private unnamed_addr constant [1 x i8] c"\00"
-@.str392 = private unnamed_addr constant [26 x i8] c"runtime/native/dict.ludic\00"
-@.str393 = private unnamed_addr constant [1 x i8] c"\00"
-@.str394 = private unnamed_addr constant [29 x i8] c"runtime/native/numeric.ludic\00"
-@.str395 = private unnamed_addr constant [1 x i8] c"\00"
-@.str396 = private unnamed_addr constant [26 x i8] c"runtime/native/jobs.ludic\00"
-@.str397 = private unnamed_addr constant [1 x i8] c"\00"
-@.str398 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00"
-@.str399 = private unnamed_addr constant [1 x i8] c"\00"
-@.str400 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00"
-@.str401 = private unnamed_addr constant [1 x i8] c"\00"
-@.str402 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00"
-@.str403 = private unnamed_addr constant [1 x i8] c"\00"
-@.str404 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00"
-@.str405 = private unnamed_addr constant [1 x i8] c"\00"
-@.str406 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
-@.str407 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00"
-@.str408 = private unnamed_addr constant [27 x i8] c"runtime/native/atlas.ludic\00"
+@.str291 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str292 = private unnamed_addr constant [3 x i8] c"->\00"
+@.str293 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str294 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str295 = private unnamed_addr constant [7 x i8] c"export\00"
+@.str296 = private unnamed_addr constant [9 x i8] c"internal\00"
+@.str297 = private unnamed_addr constant [9 x i8] c"function\00"
+@.str298 = private unnamed_addr constant [54 x i8] c"a namespace body holds functions: expected `function`\00"
+@.str299 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str300 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str301 = private unnamed_addr constant [1 x i8] c"\00"
+@.str302 = private unnamed_addr constant [23 x i8] c"ludicc: warning: bare \00"
+@.str303 = 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"
+@.str304 = private unnamed_addr constant [2 x i8] c"@\00"
+@.str305 = private unnamed_addr constant [7 x i8] c"export\00"
+@.str306 = private unnamed_addr constant [7 x i8] c"Public\00"
+@.str307 = private unnamed_addr constant [3 x i8] c"On\00"
+@.str308 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str309 = private unnamed_addr constant [2 x i8] c")\00"
+@.str310 = private unnamed_addr constant [8 x i8] c"Queries\00"
+@.str311 = private unnamed_addr constant [8 x i8] c"OnSpawn\00"
+@.str312 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str313 = private unnamed_addr constant [2 x i8] c")\00"
+@.str314 = private unnamed_addr constant [10 x i8] c"OnDespawn\00"
+@.str315 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str316 = private unnamed_addr constant [2 x i8] c",\00"
+@.str317 = private unnamed_addr constant [2 x i8] c":\00"
+@.str318 = private unnamed_addr constant [2 x i8] c")\00"
+@.str319 = private unnamed_addr constant [9 x i8] c"OnAttach\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 [9 x i8] c"OnDetach\00"
+@.str323 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str324 = private unnamed_addr constant [2 x i8] c")\00"
+@.str325 = private unnamed_addr constant [9 x i8] c"OnEnable\00"
+@.str326 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str327 = private unnamed_addr constant [2 x i8] c")\00"
+@.str328 = private unnamed_addr constant [10 x i8] c"OnDisable\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 [8 x i8] c"OnStart\00"
+@.str332 = private unnamed_addr constant [6 x i8] c"Start\00"
+@.str333 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
+@.str334 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
+@.str335 = private unnamed_addr constant [5 x i8] c"Sync\00"
+@.str336 = private unnamed_addr constant [6 x i8] c"Owned\00"
+@.str337 = private unnamed_addr constant [7 x i8] c"Server\00"
+@.str338 = private unnamed_addr constant [7 x i8] c"server\00"
+@.str339 = private unnamed_addr constant [10 x i8] c"Predicted\00"
+@.str340 = private unnamed_addr constant [10 x i8] c"predicted\00"
+@.str341 = private unnamed_addr constant [9 x i8] c"ToServer\00"
+@.str342 = private unnamed_addr constant [9 x i8] c"toserver\00"
+@.str343 = private unnamed_addr constant [10 x i8] c"ToClients\00"
+@.str344 = private unnamed_addr constant [10 x i8] c"toclients\00"
+@.str345 = private unnamed_addr constant [7 x i8] c"System\00"
+@.str346 = private unnamed_addr constant [7 x i8] c"Update\00"
+@.str347 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str348 = private unnamed_addr constant [2 x i8] c")\00"
+@.str349 = private unnamed_addr constant [13 x i8] c"EngineSystem\00"
+@.str350 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str351 = private unnamed_addr constant [2 x i8] c",\00"
+@.str352 = private unnamed_addr constant [2 x i8] c")\00"
+@.str353 = private unnamed_addr constant [10 x i8] c"Namespace\00"
+@.str354 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str355 = private unnamed_addr constant [2 x i8] c")\00"
+@.str356 = private unnamed_addr constant [11 x i8] c"ClearColor\00"
+@.str357 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str358 = private unnamed_addr constant [2 x i8] c")\00"
+@.str359 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str360 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str361 = private unnamed_addr constant [2 x i8] c")\00"
+@.str362 = private unnamed_addr constant [7 x i8] c"import\00"
+@.str363 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00"
+@.str364 = private unnamed_addr constant [5 x i8] c"enum\00"
+@.str365 = private unnamed_addr constant [6 x i8] c"event\00"
+@.str366 = private unnamed_addr constant [9 x i8] c"property\00"
+@.str367 = private unnamed_addr constant [6 x i8] c"model\00"
+@.str368 = private unnamed_addr constant [6 x i8] c"scene\00"
+@.str369 = private unnamed_addr constant [7 x i8] c"prefab\00"
+@.str370 = private unnamed_addr constant [8 x i8] c"handler\00"
+@.str371 = private unnamed_addr constant [7 x i8] c"server\00"
+@.str372 = private unnamed_addr constant [7 x i8] c"model_\00"
+@.str373 = private unnamed_addr constant [7 x i8] c"_spawn\00"
+@.str374 = private unnamed_addr constant [7 x i8] c"model_\00"
+@.str375 = private unnamed_addr constant [9 x i8] c"_despawn\00"
+@.str376 = private unnamed_addr constant [6 x i8] c"prop_\00"
+@.str377 = private unnamed_addr constant [8 x i8] c"_attach\00"
+@.str378 = private unnamed_addr constant [6 x i8] c"prop_\00"
+@.str379 = private unnamed_addr constant [8 x i8] c"_detach\00"
+@.str380 = private unnamed_addr constant [6 x i8] c"prop_\00"
+@.str381 = private unnamed_addr constant [8 x i8] c"_enable\00"
+@.str382 = private unnamed_addr constant [6 x i8] c"prop_\00"
+@.str383 = private unnamed_addr constant [9 x i8] c"_disable\00"
+@.str384 = private unnamed_addr constant [6 x i8] c"Start\00"
+@.str385 = private unnamed_addr constant [14 x i8] c"program_start\00"
+@.str386 = private unnamed_addr constant [13 x i8] c"program_quit\00"
+@.str387 = private unnamed_addr constant [3 x i8] c"ui\00"
+@.str388 = private unnamed_addr constant [10 x i8] c"namespace\00"
+@.str389 = private unnamed_addr constant [4 x i8] c"var\00"
+@.str390 = private unnamed_addr constant [6 x i8] c"const\00"
+@.str391 = private unnamed_addr constant [9 x i8] c"function\00"
+@.str392 = private unnamed_addr constant [7 x i8] c"extern\00"
+@.str393 = private unnamed_addr constant [6 x i8] c"entry\00"
+@.str394 = private unnamed_addr constant [5 x i8] c"test\00"
+@.str395 = private unnamed_addr constant [71 x i8] c"expected a declaration (property, model, handler, function, \E2\80\A6), got \00"
+@.str396 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00"
+@.str397 = private unnamed_addr constant [9 x i8] c"runtime/\00"
+@.str398 = private unnamed_addr constant [22 x i8] c"import: no directory \00"
+@.str399 = private unnamed_addr constant [7 x i8] c".ludic\00"
+@.str400 = private unnamed_addr constant [2 x i8] c"/\00"
+@.str401 = private unnamed_addr constant [9 x i8] c"/*.ludic\00"
+@.str402 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00"
+@.str403 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00"
+@.str404 = private unnamed_addr constant [14 x i8] c"ludic_modules\00"
+@.str405 = private unnamed_addr constant [20 x i8] c"cannot open import \00"
+@.str406 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00"
+@.str407 = private unnamed_addr constant [1 x i8] c"\00"
+@.str408 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
@.str409 = private unnamed_addr constant [1 x i8] c"\00"
-@.str410 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
-@.str411 = private unnamed_addr constant [24 x i8] c"runtime/native/fx.ludic\00"
+@.str410 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00"
+@.str411 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00"
@.str412 = private unnamed_addr constant [1 x i8] c"\00"
-@.str413 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00"
-@.str414 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00"
-@.str415 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00"
+@.str413 = private unnamed_addr constant [28 x i8] c"runtime/native/bignum.ludic\00"
+@.str414 = private unnamed_addr constant [1 x i8] c"\00"
+@.str415 = private unnamed_addr constant [26 x i8] c"runtime/native/dict.ludic\00"
@.str416 = private unnamed_addr constant [1 x i8] c"\00"
-@.str417 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
-@.str418 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00"
-@.str419 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00"
-@.str420 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00"
-@.str421 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00"
-@.str422 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00"
-@.str423 = private unnamed_addr constant [27 x i8] c"runtime/native/tiled.ludic\00"
-@.str424 = private unnamed_addr constant [33 x i8] c"runtime/native/tiled_spawn.ludic\00"
-@.str425 = private unnamed_addr constant [1 x i8] c"\00"
-@.str426 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00"
-@.str427 = private unnamed_addr constant [1 x i8] c"\00"
-@.str428 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
-@.str429 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00"
-@.str430 = private unnamed_addr constant [1 x i8] c"\00"
-@.str431 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
-@.str432 = private unnamed_addr constant [27 x i8] c"runtime/native/tween.ludic\00"
-@.str433 = private unnamed_addr constant [1 x i8] c"\00"
-@.str434 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00"
+@.str417 = private unnamed_addr constant [29 x i8] c"runtime/native/numeric.ludic\00"
+@.str418 = private unnamed_addr constant [1 x i8] c"\00"
+@.str419 = private unnamed_addr constant [26 x i8] c"runtime/native/jobs.ludic\00"
+@.str420 = private unnamed_addr constant [1 x i8] c"\00"
+@.str421 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00"
+@.str422 = private unnamed_addr constant [1 x i8] c"\00"
+@.str423 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00"
+@.str424 = private unnamed_addr constant [1 x i8] c"\00"
+@.str425 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00"
+@.str426 = private unnamed_addr constant [1 x i8] c"\00"
+@.str427 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00"
+@.str428 = private unnamed_addr constant [1 x i8] c"\00"
+@.str429 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
+@.str430 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00"
+@.str431 = private unnamed_addr constant [27 x i8] c"runtime/native/atlas.ludic\00"
+@.str432 = private unnamed_addr constant [1 x i8] c"\00"
+@.str433 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
+@.str434 = private unnamed_addr constant [24 x i8] c"runtime/native/fx.ludic\00"
@.str435 = private unnamed_addr constant [1 x i8] c"\00"
-@.str436 = private unnamed_addr constant [26 x i8] c"runtime/native/http.ludic\00"
-@.str437 = private unnamed_addr constant [1 x i8] c"\00"
-@.str438 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
-@.str439 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00"
-@.str440 = private unnamed_addr constant [1 x i8] c"\00"
-@.str441 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00"
-@.str442 = private unnamed_addr constant [7 x i8] c"Motion\00"
-@.str443 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00"
-@.str444 = private unnamed_addr constant [5 x i8] c"Body\00"
-@.str445 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
-@.str446 = private unnamed_addr constant [34 x i8] c"runtime/native/systems_move.ludic\00"
-@.str447 = private unnamed_addr constant [7 x i8] c"Sprite\00"
-@.str448 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
-@.str449 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_sprite.ludic\00"
-@.str450 = private unnamed_addr constant [9 x i8] c"TileSkin\00"
+@.str436 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00"
+@.str437 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00"
+@.str438 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00"
+@.str439 = private unnamed_addr constant [1 x i8] c"\00"
+@.str440 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
+@.str441 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00"
+@.str442 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00"
+@.str443 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00"
+@.str444 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00"
+@.str445 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00"
+@.str446 = private unnamed_addr constant [27 x i8] c"runtime/native/tiled.ludic\00"
+@.str447 = private unnamed_addr constant [33 x i8] c"runtime/native/tiled_spawn.ludic\00"
+@.str448 = private unnamed_addr constant [1 x i8] c"\00"
+@.str449 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00"
+@.str450 = private unnamed_addr constant [1 x i8] c"\00"
@.str451 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
-@.str452 = private unnamed_addr constant [38 x i8] c"runtime/native/systems_tileskin.ludic\00"
-@.str453 = private unnamed_addr constant [7 x i8] c"Bounds\00"
-@.str454 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_bounds.ludic\00"
-@.str455 = private unnamed_addr constant [8 x i8] c"Light2D\00"
-@.str456 = private unnamed_addr constant [9 x i8] c"Occluder\00"
-@.str457 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00"
-@.str458 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00"
-@.str459 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00"
-@.str460 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00"
-@.str461 = private unnamed_addr constant [7 x i8] c"Update\00"
-@.str462 = private unnamed_addr constant [7 x i8] c"Motion\00"
-@.str463 = private unnamed_addr constant [12 x i8] c"esys_motion\00"
-@.str464 = private unnamed_addr constant [7 x i8] c"Update\00"
-@.str465 = private unnamed_addr constant [5 x i8] c"Body\00"
-@.str466 = private unnamed_addr constant [10 x i8] c"esys_move\00"
-@.str467 = private unnamed_addr constant [7 x i8] c"Update\00"
-@.str468 = private unnamed_addr constant [7 x i8] c"Bounds\00"
-@.str469 = private unnamed_addr constant [12 x i8] c"esys_bounds\00"
-@.str470 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
-@.str471 = private unnamed_addr constant [9 x i8] c"TileSkin\00"
-@.str472 = private unnamed_addr constant [14 x i8] c"esys_tileskin\00"
-@.str473 = private unnamed_addr constant [7 x i8] c"Render\00"
-@.str474 = private unnamed_addr constant [7 x i8] c"Sprite\00"
-@.str475 = private unnamed_addr constant [12 x i8] c"esys_sprite\00"
-@.str476 = private unnamed_addr constant [7 x i8] c"Render\00"
-@.str477 = private unnamed_addr constant [8 x i8] c"Light2D\00"
-@.str478 = private unnamed_addr constant [13 x i8] c"esys_light2d\00"
-@.str479 = private unnamed_addr constant [7 x i8] c"Render\00"
-@.str480 = private unnamed_addr constant [6 x i8] c"Ludic\00"
-@.str481 = private unnamed_addr constant [7 x i8] c"import\00"
-@.str482 = private unnamed_addr constant [2 x i8] c"@\00"
-@.str483 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str484 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str485 = private unnamed_addr constant [2 x i8] c")\00"
-@.str486 = private unnamed_addr constant [8 x i8] c"program\00"
-@.str487 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str488 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str489 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str490 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str491 = private unnamed_addr constant [2 x i8] c"@\00"
-@.str492 = private unnamed_addr constant [9 x i8] c"Computed\00"
-@.str493 = private unnamed_addr constant [5 x i8] c"Sync\00"
-@.str494 = private unnamed_addr constant [2 x i8] c":\00"
-@.str495 = private unnamed_addr constant [2 x i8] c"=\00"
-@.str496 = private unnamed_addr constant [2 x i8] c",\00"
-@.str497 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str498 = private unnamed_addr constant [12 x i8] c"cancellable\00"
-@.str499 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str500 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str501 = private unnamed_addr constant [2 x i8] c":\00"
-@.str502 = private unnamed_addr constant [2 x i8] c"=\00"
-@.str503 = private unnamed_addr constant [2 x i8] c",\00"
-@.str504 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str505 = private unnamed_addr constant [7 x i8] c"Update\00"
-@.str506 = private unnamed_addr constant [2 x i8] c"@\00"
+@.str452 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00"
+@.str453 = private unnamed_addr constant [1 x i8] c"\00"
+@.str454 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
+@.str455 = private unnamed_addr constant [27 x i8] c"runtime/native/tween.ludic\00"
+@.str456 = private unnamed_addr constant [1 x i8] c"\00"
+@.str457 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00"
+@.str458 = private unnamed_addr constant [1 x i8] c"\00"
+@.str459 = private unnamed_addr constant [26 x i8] c"runtime/native/http.ludic\00"
+@.str460 = private unnamed_addr constant [1 x i8] c"\00"
+@.str461 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
+@.str462 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00"
+@.str463 = private unnamed_addr constant [1 x i8] c"\00"
+@.str464 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00"
+@.str465 = private unnamed_addr constant [7 x i8] c"Motion\00"
+@.str466 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00"
+@.str467 = private unnamed_addr constant [5 x i8] c"Body\00"
+@.str468 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
+@.str469 = private unnamed_addr constant [34 x i8] c"runtime/native/systems_move.ludic\00"
+@.str470 = private unnamed_addr constant [7 x i8] c"Sprite\00"
+@.str471 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
+@.str472 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_sprite.ludic\00"
+@.str473 = private unnamed_addr constant [9 x i8] c"TileSkin\00"
+@.str474 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
+@.str475 = private unnamed_addr constant [38 x i8] c"runtime/native/systems_tileskin.ludic\00"
+@.str476 = private unnamed_addr constant [7 x i8] c"Bounds\00"
+@.str477 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_bounds.ludic\00"
+@.str478 = private unnamed_addr constant [8 x i8] c"Light2D\00"
+@.str479 = private unnamed_addr constant [9 x i8] c"Occluder\00"
+@.str480 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00"
+@.str481 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00"
+@.str482 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00"
+@.str483 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00"
+@.str484 = private unnamed_addr constant [7 x i8] c"Update\00"
+@.str485 = private unnamed_addr constant [7 x i8] c"Motion\00"
+@.str486 = private unnamed_addr constant [12 x i8] c"esys_motion\00"
+@.str487 = private unnamed_addr constant [7 x i8] c"Update\00"
+@.str488 = private unnamed_addr constant [5 x i8] c"Body\00"
+@.str489 = private unnamed_addr constant [10 x i8] c"esys_move\00"
+@.str490 = private unnamed_addr constant [7 x i8] c"Update\00"
+@.str491 = private unnamed_addr constant [7 x i8] c"Bounds\00"
+@.str492 = private unnamed_addr constant [12 x i8] c"esys_bounds\00"
+@.str493 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
+@.str494 = private unnamed_addr constant [9 x i8] c"TileSkin\00"
+@.str495 = private unnamed_addr constant [14 x i8] c"esys_tileskin\00"
+@.str496 = private unnamed_addr constant [7 x i8] c"Render\00"
+@.str497 = private unnamed_addr constant [7 x i8] c"Sprite\00"
+@.str498 = private unnamed_addr constant [12 x i8] c"esys_sprite\00"
+@.str499 = private unnamed_addr constant [7 x i8] c"Render\00"
+@.str500 = private unnamed_addr constant [8 x i8] c"Light2D\00"
+@.str501 = private unnamed_addr constant [13 x i8] c"esys_light2d\00"
+@.str502 = private unnamed_addr constant [7 x i8] c"Render\00"
+@.str503 = private unnamed_addr constant [6 x i8] c"Ludic\00"
+@.str504 = private unnamed_addr constant [7 x i8] c"import\00"
+@.str505 = private unnamed_addr constant [2 x i8] c"@\00"
+@.str506 = private unnamed_addr constant [2 x i8] c"(\00"
@.str507 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str508 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str509 = private unnamed_addr constant [2 x i8] c")\00"
-@.str510 = private unnamed_addr constant [6 x i8] c"phase\00"
-@.str511 = private unnamed_addr constant [2 x i8] c"[\00"
-@.str512 = private unnamed_addr constant [2 x i8] c"]\00"
-@.str513 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str514 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str515 = private unnamed_addr constant [2 x i8] c",\00"
-@.str516 = private unnamed_addr constant [2 x i8] c"]\00"
-@.str517 = private unnamed_addr constant [6 x i8] c"where\00"
-@.str518 = private unnamed_addr constant [2 x i8] c"(\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 [6 x i8] c"query\00"
-@.str523 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00"
-@.str524 = private unnamed_addr constant [4 x i8] c"and\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 [6 x i8] c"these\00"
-@.str530 = private unnamed_addr constant [2 x i8] c"[\00"
-@.str531 = private unnamed_addr constant [2 x i8] c"]\00"
-@.str532 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str533 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str534 = private unnamed_addr constant [2 x i8] c",\00"
-@.str535 = private unnamed_addr constant [2 x i8] c"]\00"
-@.str536 = private unnamed_addr constant [3 x i8] c"on\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 [2 x i8] c",\00"
-@.str543 = private unnamed_addr constant [2 x i8] c":\00"
-@.str544 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str545 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str546 = private unnamed_addr constant [6 x i8] c"start\00"
-@.str547 = private unnamed_addr constant [7 x i8] c"public\00"
-@.str548 = private unnamed_addr constant [6 x i8] c"shows\00"
-@.str549 = private unnamed_addr constant [6 x i8] c"lasts\00"
-@.str550 = private unnamed_addr constant [6 x i8] c"loads\00"
-@.str551 = private unnamed_addr constant [6 x i8] c"start\00"
-@.str552 = private unnamed_addr constant [6 x i8] c"shows\00"
-@.str553 = private unnamed_addr constant [6 x i8] c"lasts\00"
-@.str554 = private unnamed_addr constant [5 x i8] c"then\00"
-@.str555 = private unnamed_addr constant [27 x i8] c"lasts N needs `then Scene`\00"
-@.str556 = private unnamed_addr constant [6 x i8] c"loads\00"
-@.str557 = private unnamed_addr constant [5 x i8] c"then\00"
-@.str558 = private unnamed_addr constant [25 x i8] c"loads needs `then Scene`\00"
-@.str559 = private unnamed_addr constant [7 x i8] c"scene_\00"
-@.str560 = private unnamed_addr constant [7 x i8] c"_enter\00"
-@.str561 = private unnamed_addr constant [7 x i8] c"scene_\00"
-@.str562 = private unnamed_addr constant [6 x i8] c"_exit\00"
-@.str563 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str564 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str565 = private unnamed_addr constant [3 x i8] c"on\00"
-@.str566 = private unnamed_addr constant [6 x i8] c"enter\00"
-@.str567 = private unnamed_addr constant [5 x i8] c"exit\00"
-@.str568 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00"
-@.str569 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str570 = private unnamed_addr constant [7 x i8] c"public\00"
-@.str571 = private unnamed_addr constant [7 x i8] c"layer_\00"
-@.str572 = private unnamed_addr constant [6 x i8] c"_show\00"
-@.str573 = private unnamed_addr constant [7 x i8] c"layer_\00"
-@.str574 = private unnamed_addr constant [6 x i8] c"_hide\00"
-@.str575 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str576 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str577 = private unnamed_addr constant [2 x i8] c"@\00"
-@.str578 = private unnamed_addr constant [8 x i8] c"Queries\00"
-@.str579 = private unnamed_addr constant [56 x i8] c"a handler inside a layer may only carry @Queries (got @\00"
-@.str580 = private unnamed_addr constant [2 x i8] c")\00"
-@.str581 = private unnamed_addr constant [8 x i8] c"handler\00"
-@.str582 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\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 [39 x i8] c"expected 'on', 'layer' or '}' in scene\00"
-@.str586 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str587 = private unnamed_addr constant [8 x i8] c"_Loader\00"
-@.str588 = private unnamed_addr constant [7 x i8] c"Update\00"
-@.str589 = private unnamed_addr constant [7 x i8] c"Assets\00"
-@.str590 = private unnamed_addr constant [5 x i8] c"pump\00"
-@.str591 = private unnamed_addr constant [7 x i8] c"Assets\00"
-@.str592 = private unnamed_addr constant [6 x i8] c"ready\00"
-@.str593 = private unnamed_addr constant [11 x i8] c"_LoaderBar\00"
-@.str594 = private unnamed_addr constant [7 x i8] c"Render\00"
-@.str595 = private unnamed_addr constant [21 x i8] c"assets_draw_progress\00"
-@.str596 = private unnamed_addr constant [7 x i8] c"scene_\00"
-@.str597 = private unnamed_addr constant [6 x i8] c"_left\00"
-@.str598 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str599 = private unnamed_addr constant [2 x i8] c"=\00"
-@.str600 = private unnamed_addr constant [7 x i8] c"_Timer\00"
-@.str601 = private unnamed_addr constant [7 x i8] c"Update\00"
-@.str602 = private unnamed_addr constant [3 x i8] c"-=\00"
-@.str603 = private unnamed_addr constant [3 x i8] c"<=\00"
-@.str604 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str605 = private unnamed_addr constant [5 x i8] c"goto\00"
-@.str606 = private unnamed_addr constant [3 x i8] c"==\00"
-@.str607 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str608 = private unnamed_addr constant [4 x i8] c"UI_\00"
-@.str609 = private unnamed_addr constant [10 x i8] c"UiClicked\00"
-@.str610 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str508 = private unnamed_addr constant [2 x i8] c")\00"
+@.str509 = private unnamed_addr constant [8 x i8] c"program\00"
+@.str510 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str511 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str512 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str513 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str514 = private unnamed_addr constant [2 x i8] c"@\00"
+@.str515 = private unnamed_addr constant [9 x i8] c"Computed\00"
+@.str516 = private unnamed_addr constant [5 x i8] c"Sync\00"
+@.str517 = private unnamed_addr constant [2 x i8] c":\00"
+@.str518 = private unnamed_addr constant [2 x i8] c"=\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 [12 x i8] c"cancellable\00"
+@.str522 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str523 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str524 = private unnamed_addr constant [2 x i8] c":\00"
+@.str525 = private unnamed_addr constant [2 x i8] c"=\00"
+@.str526 = private unnamed_addr constant [2 x i8] c",\00"
+@.str527 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str528 = private unnamed_addr constant [7 x i8] c"Update\00"
+@.str529 = private unnamed_addr constant [2 x i8] c"@\00"
+@.str530 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str531 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str532 = private unnamed_addr constant [2 x i8] c")\00"
+@.str533 = private unnamed_addr constant [6 x i8] c"phase\00"
+@.str534 = private unnamed_addr constant [16 x i8] c"unknown phase '\00"
+@.str535 = private unnamed_addr constant [78 x i8] c"' (expected Start, Input, FixedUpdate, Update, LateUpdate, Render or Overlay)\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 [6 x i8] c"where\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"query\00"
+@.str548 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00"
+@.str549 = private unnamed_addr constant [4 x i8] c"and\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 [6 x i8] c"these\00"
+@.str555 = private unnamed_addr constant [2 x i8] c"[\00"
+@.str556 = private unnamed_addr constant [2 x i8] c"]\00"
+@.str557 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str558 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str559 = private unnamed_addr constant [2 x i8] c",\00"
+@.str560 = private unnamed_addr constant [2 x i8] c"]\00"
+@.str561 = private unnamed_addr constant [3 x i8] c"on\00"
+@.str562 = private unnamed_addr constant [2 x i8] c",\00"
+@.str563 = private unnamed_addr constant [2 x i8] c")\00"
+@.str564 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str565 = private unnamed_addr constant [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 [2 x i8] c":\00"
+@.str569 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str570 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str571 = private unnamed_addr constant [6 x i8] c"start\00"
+@.str572 = private unnamed_addr constant [7 x i8] c"public\00"
+@.str573 = private unnamed_addr constant [6 x i8] c"shows\00"
+@.str574 = private unnamed_addr constant [6 x i8] c"lasts\00"
+@.str575 = private unnamed_addr constant [6 x i8] c"loads\00"
+@.str576 = private unnamed_addr constant [6 x i8] c"start\00"
+@.str577 = private unnamed_addr constant [6 x i8] c"shows\00"
+@.str578 = private unnamed_addr constant [6 x i8] c"lasts\00"
+@.str579 = private unnamed_addr constant [5 x i8] c"then\00"
+@.str580 = private unnamed_addr constant [27 x i8] c"lasts N needs `then Scene`\00"
+@.str581 = private unnamed_addr constant [6 x i8] c"loads\00"
+@.str582 = private unnamed_addr constant [5 x i8] c"then\00"
+@.str583 = private unnamed_addr constant [25 x i8] c"loads needs `then Scene`\00"
+@.str584 = private unnamed_addr constant [7 x i8] c"scene_\00"
+@.str585 = private unnamed_addr constant [7 x i8] c"_enter\00"
+@.str586 = private unnamed_addr constant [7 x i8] c"scene_\00"
+@.str587 = private unnamed_addr constant [6 x i8] c"_exit\00"
+@.str588 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str589 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str590 = private unnamed_addr constant [3 x i8] c"on\00"
+@.str591 = private unnamed_addr constant [6 x i8] c"enter\00"
+@.str592 = private unnamed_addr constant [5 x i8] c"exit\00"
+@.str593 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00"
+@.str594 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str595 = private unnamed_addr constant [7 x i8] c"public\00"
+@.str596 = private unnamed_addr constant [7 x i8] c"layer_\00"
+@.str597 = private unnamed_addr constant [6 x i8] c"_show\00"
+@.str598 = private unnamed_addr constant [7 x i8] c"layer_\00"
+@.str599 = private unnamed_addr constant [6 x i8] c"_hide\00"
+@.str600 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str601 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str602 = private unnamed_addr constant [2 x i8] c"@\00"
+@.str603 = private unnamed_addr constant [8 x i8] c"Queries\00"
+@.str604 = private unnamed_addr constant [56 x i8] c"a handler inside a layer may only carry @Queries (got @\00"
+@.str605 = private unnamed_addr constant [2 x i8] c")\00"
+@.str606 = private unnamed_addr constant [8 x i8] c"handler\00"
+@.str607 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00"
+@.str608 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str609 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str610 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00"
@.str611 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str612 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str613 = private unnamed_addr constant [2 x i8] c")\00"
-@.str614 = private unnamed_addr constant [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 [2 x i8] c"}\00"
-@.str618 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str619 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str620 = private unnamed_addr constant [2 x i8] c"@\00"
-@.str621 = private unnamed_addr constant [5 x i8] c"Sync\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 [2 x i8] c"(\00"
-@.str625 = private unnamed_addr constant [2 x i8] c")\00"
-@.str626 = private unnamed_addr constant [2 x i8] c":\00"
-@.str627 = private unnamed_addr constant [2 x i8] c",\00"
-@.str628 = private unnamed_addr constant [2 x i8] c")\00"
-@.str629 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str630 = private unnamed_addr constant [3 x i8] c"->\00"
-@.str631 = private unnamed_addr constant [2 x i8] c"=\00"
-@.str632 = private unnamed_addr constant [2 x i8] c":\00"
-@.str633 = private unnamed_addr constant [2 x i8] c":\00"
-@.str634 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str635 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str612 = private unnamed_addr constant [8 x i8] c"_Loader\00"
+@.str613 = private unnamed_addr constant [7 x i8] c"Update\00"
+@.str614 = private unnamed_addr constant [7 x i8] c"Assets\00"
+@.str615 = private unnamed_addr constant [5 x i8] c"pump\00"
+@.str616 = private unnamed_addr constant [7 x i8] c"Assets\00"
+@.str617 = private unnamed_addr constant [6 x i8] c"ready\00"
+@.str618 = private unnamed_addr constant [11 x i8] c"_LoaderBar\00"
+@.str619 = private unnamed_addr constant [7 x i8] c"Render\00"
+@.str620 = private unnamed_addr constant [21 x i8] c"assets_draw_progress\00"
+@.str621 = private unnamed_addr constant [7 x i8] c"scene_\00"
+@.str622 = private unnamed_addr constant [6 x i8] c"_left\00"
+@.str623 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str624 = private unnamed_addr constant [2 x i8] c"=\00"
+@.str625 = private unnamed_addr constant [7 x i8] c"_Timer\00"
+@.str626 = private unnamed_addr constant [7 x i8] c"Update\00"
+@.str627 = private unnamed_addr constant [3 x i8] c"-=\00"
+@.str628 = private unnamed_addr constant [3 x i8] c"<=\00"
+@.str629 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str630 = private unnamed_addr constant [5 x i8] c"goto\00"
+@.str631 = private unnamed_addr constant [3 x i8] c"==\00"
+@.str632 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str633 = private unnamed_addr constant [4 x i8] c"UI_\00"
+@.str634 = private unnamed_addr constant [10 x i8] c"UiClicked\00"
+@.str635 = private unnamed_addr constant [2 x i8] c"{\00"
@.str636 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str637 = private unnamed_addr constant [2 x i8] c"{\00"
-@.str638 = private unnamed_addr constant [2 x i8] c"}\00"
-@.str639 = private unnamed_addr constant [3 x i8] c" \00"
-@.str640 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00"
-@.str641 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str642 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str643 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str644 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str645 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str646 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str647 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str648 = private unnamed_addr constant [3 x i8] c"%t\00"
-@.str649 = private unnamed_addr constant [3 x i8] c" \00"
-@.str650 = private unnamed_addr constant [11 x i8] c" = alloca \00"
-@.str651 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str652 = private unnamed_addr constant [3 x i8] c"%t\00"
-@.str653 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str654 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str655 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str656 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str657 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str658 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str659 = private unnamed_addr constant [10 x i8] c"countdown\00"
-@.str660 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str661 = private unnamed_addr constant [5 x i8] c"long\00"
-@.str662 = private unnamed_addr constant [4 x i8] c"i64\00"
-@.str663 = private unnamed_addr constant [7 x i8] c"Vector\00"
-@.str664 = private unnamed_addr constant [4 x i8] c"i64\00"
-@.str665 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str666 = private unnamed_addr constant [4 x i8] c"i64\00"
-@.str667 = private unnamed_addr constant [5 x i8] c"Rect\00"
-@.str668 = private unnamed_addr constant [5 x i8] c"i128\00"
-@.str669 = private unnamed_addr constant [5 x i8] c"byte\00"
-@.str670 = private unnamed_addr constant [3 x i8] c"i8\00"
-@.str671 = private unnamed_addr constant [6 x i8] c"words\00"
-@.str672 = private unnamed_addr constant [7 x i8] c"fixeds\00"
-@.str673 = private unnamed_addr constant [9 x i8] c"pointers\00"
-@.str674 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str675 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str676 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str677 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str678 = private unnamed_addr constant [6 x i8] c"%Cmp_\00"
-@.str679 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str680 = private unnamed_addr constant [10 x i8] c"EndReason\00"
-@.str681 = private unnamed_addr constant [10 x i8] c"Despawned\00"
-@.str682 = private unnamed_addr constant [10 x i8] c"SceneExit\00"
-@.str683 = private unnamed_addr constant [5 x i8] c"Quit\00"
+@.str637 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str638 = private unnamed_addr constant [2 x i8] c")\00"
+@.str639 = private unnamed_addr constant [2 x i8] c",\00"
+@.str640 = private unnamed_addr constant [2 x i8] c")\00"
+@.str641 = private unnamed_addr constant [2 x i8] c",\00"
+@.str642 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str643 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str644 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str645 = private unnamed_addr constant [2 x i8] c"@\00"
+@.str646 = private unnamed_addr constant [5 x i8] c"Sync\00"
+@.str647 = private unnamed_addr constant [2 x i8] c",\00"
+@.str648 = private unnamed_addr constant [2 x i8] c"}\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 [5 x i8] c"void\00"
+@.str655 = private unnamed_addr constant [3 x i8] c"->\00"
+@.str656 = private unnamed_addr constant [2 x i8] c"=\00"
+@.str657 = private unnamed_addr constant [2 x i8] c":\00"
+@.str658 = private unnamed_addr constant [2 x i8] c":\00"
+@.str659 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str660 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str661 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str662 = private unnamed_addr constant [2 x i8] c"{\00"
+@.str663 = private unnamed_addr constant [2 x i8] c"}\00"
+@.str664 = private unnamed_addr constant [3 x i8] c" \00"
+@.str665 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00"
+@.str666 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str667 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str668 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str669 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str670 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str671 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str672 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str673 = private unnamed_addr constant [3 x i8] c"%t\00"
+@.str674 = private unnamed_addr constant [3 x i8] c" \00"
+@.str675 = private unnamed_addr constant [11 x i8] c" = alloca \00"
+@.str676 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str677 = private unnamed_addr constant [3 x i8] c"%t\00"
+@.str678 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str679 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str680 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str681 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str682 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str683 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str684 = private unnamed_addr constant [10 x i8] c"countdown\00"
-@.str685 = private unnamed_addr constant [2 x i8] c".\00"
-@.str686 = private unnamed_addr constant [2 x i8] c".\00"
-@.str687 = private unnamed_addr constant [3 x i8] c"of\00"
-@.str688 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str689 = private unnamed_addr constant [5 x i8] c"make\00"
-@.str690 = private unnamed_addr constant [5 x i8] c"zero\00"
-@.str691 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str692 = private unnamed_addr constant [4 x i8] c"sub\00"
-@.str693 = private unnamed_addr constant [6 x i8] c"scale\00"
-@.str694 = private unnamed_addr constant [6 x i8] c"along\00"
-@.str695 = private unnamed_addr constant [5 x i8] c"step\00"
-@.str696 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str697 = private unnamed_addr constant [4 x i8] c"Map\00"
-@.str698 = private unnamed_addr constant [12 x i8] c"random_cell\00"
-@.str699 = private unnamed_addr constant [16 x i8] c"random_cell_far\00"
-@.str700 = private unnamed_addr constant [8 x i8] c"to_tile\00"
-@.str701 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str702 = private unnamed_addr constant [9 x i8] c"Collider\00"
-@.str703 = private unnamed_addr constant [7 x i8] c"center\00"
-@.str704 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str705 = private unnamed_addr constant [6 x i8] c"Input\00"
-@.str706 = private unnamed_addr constant [7 x i8] c"move_i\00"
-@.str707 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str708 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str709 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str710 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str711 = private unnamed_addr constant [7 x i8] c"reason\00"
-@.str712 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str713 = private unnamed_addr constant [6 x i8] c"@.str\00"
-@.str714 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00"
-@.str715 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00"
-@.str716 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00"
-@.str717 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str718 = private unnamed_addr constant [5 x i8] c"null\00"
-@.str719 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str720 = private unnamed_addr constant [2 x i8] c"-\00"
-@.str721 = private unnamed_addr constant [2 x i8] c"-\00"
-@.str722 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str723 = private unnamed_addr constant [5 x i8] c"null\00"
-@.str724 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str725 = private unnamed_addr constant [2 x i8] c"-\00"
-@.str726 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str727 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str728 = private unnamed_addr constant [2 x i8] c" \00"
-@.str729 = private unnamed_addr constant [10 x i8] c", ptr @g_\00"
-@.str730 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str731 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
-@.str732 = private unnamed_addr constant [40 x i8] c"define void @L_init_globals() {\0Aentry:\0A\00"
-@.str733 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
-@.str734 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00"
-@.str735 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00"
-@.str736 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00"
-@.str737 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00"
-@.str738 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00"
-@.str739 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00"
-@.str740 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00"
-@.str741 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00"
-@.str742 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00"
-@.str743 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00"
-@.str744 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00"
-@.str745 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00"
-@.str746 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00"
-@.str747 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00"
-@.str748 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00"
-@.str749 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00"
-@.str750 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00"
-@.str751 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00"
-@.str752 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00"
-@.str753 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00"
-@.str754 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00"
-@.str755 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00"
-@.str756 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00"
-@.str757 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00"
-@.str758 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00"
-@.str759 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00"
-@.str760 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00"
-@.str761 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00"
-@.str762 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00"
-@.str763 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00"
-@.str764 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00"
-@.str765 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00"
-@.str766 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00"
-@.str767 = private unnamed_addr constant [36 x i8] c"declare void @win_cursor_mode(i32)\0A\00"
-@.str768 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00"
-@.str769 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00"
-@.str770 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00"
-@.str771 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00"
-@.str772 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00"
-@.str773 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00"
-@.str774 = private unnamed_addr constant [35 x i8] c"declare ptr @hs_req_new(ptr, ptr)\0A\00"
-@.str775 = private unnamed_addr constant [44 x i8] c"declare void @hs_req_header(ptr, ptr, ptr)\0A\00"
-@.str776 = private unnamed_addr constant [42 x i8] c"declare void @hs_req_body(ptr, ptr, i32)\0A\00"
-@.str777 = private unnamed_addr constant [33 x i8] c"declare void @hs_send(i32, ptr)\0A\00"
-@.str778 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_done(i32)\0A\00"
-@.str779 = private unnamed_addr constant [29 x i8] c"declare i32 @hs_status(i32)\0A\00"
-@.str780 = private unnamed_addr constant [27 x i8] c"declare ptr @hs_body(i32)\0A\00"
-@.str781 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_blen(i32)\0A\00"
-@.str782 = private unnamed_addr constant [34 x i8] c"declare ptr @hs_header(i32, ptr)\0A\00"
-@.str783 = private unnamed_addr constant [28 x i8] c"declare void @hs_free(i32)\0A\00"
-@.str784 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00"
-@.str785 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00"
-@.str786 = 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"
-@.str787 = 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"
-@.str788 = 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"
-@.str789 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00"
-@.str790 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00"
-@.str791 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00"
-@.str792 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00"
-@.str793 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00"
-@.str794 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00"
-@.str795 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00"
-@.str796 = private unnamed_addr constant [10 x i8] c"property \00"
-@.str797 = private unnamed_addr constant [63 x i8] c" is also a property of the engine runtime; choose another name\00"
-@.str798 = private unnamed_addr constant [10 x i8] c"property \00"
-@.str799 = private unnamed_addr constant [19 x i8] c" is declared twice\00"
-@.str800 = private unnamed_addr constant [11 x i8] c" = type { \00"
-@.str801 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str802 = private unnamed_addr constant [3 x i8] c", \00"
-@.str803 = private unnamed_addr constant [4 x i8] c" }\0A\00"
-@.str804 = private unnamed_addr constant [10 x i8] c"variable \00"
-@.str805 = private unnamed_addr constant [63 x i8] c" is also a variable of the engine runtime; choose another name\00"
-@.str806 = private unnamed_addr constant [10 x i8] c"variable \00"
-@.str807 = private unnamed_addr constant [19 x i8] c" is declared twice\00"
-@.str808 = private unnamed_addr constant [4 x i8] c"@g_\00"
-@.str809 = private unnamed_addr constant [20 x i8] c" = internal global \00"
-@.str810 = private unnamed_addr constant [2 x i8] c" \00"
-@.str811 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str812 = private unnamed_addr constant [9 x i8] c"declare \00"
-@.str813 = private unnamed_addr constant [3 x i8] c" @\00"
-@.str814 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str815 = private unnamed_addr constant [3 x i8] c", \00"
-@.str816 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str817 = private unnamed_addr constant [41 x i8] c"define i32 @fn_str_eq(ptr %a, ptr %b) {\0A\00"
-@.str818 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00"
-@.str819 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00"
-@.str820 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00"
-@.str821 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00"
-@.str822 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00"
-@.str823 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00"
-@.str824 = 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"
-@.str825 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00"
-@.str826 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00"
-@.str827 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_concat(ptr %a, ptr %b) {\0A\00"
-@.str828 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00"
-@.str829 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00"
-@.str830 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00"
-@.str831 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00"
-@.str832 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00"
-@.str833 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00"
-@.str834 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00"
-@.str835 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00"
-@.str836 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00"
-@.str837 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00"
-@.str838 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00"
-@.str839 = 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"
-@.str840 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00"
-@.str841 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00"
-@.str842 = 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"
-@.str843 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00"
-@.str844 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00"
-@.str845 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00"
-@.str846 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00"
-@.str847 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00"
-@.str848 = 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"
-@.str849 = 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"
-@.str850 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00"
-@.str851 = 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"
-@.str852 = private unnamed_addr constant [35 x i8] c"define ptr @fn_int_str(i32 %n0) {\0A\00"
-@.str853 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00"
-@.str854 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00"
-@.str855 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00"
-@.str856 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00"
-@.str857 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00"
-@.str858 = 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"
-@.str859 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00"
-@.str860 = 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"
-@.str861 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00"
-@.str862 = 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"
-@.str863 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00"
-@.str864 = 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"
-@.str865 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00"
-@.str866 = 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"
-@.str867 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00"
-@.str868 = 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"
-@.str869 = private unnamed_addr constant [36 x i8] c"define ptr @fn_long_str(i64 %n0) {\0A\00"
-@.str870 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00"
-@.str871 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00"
-@.str872 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00"
-@.str873 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00"
-@.str874 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00"
-@.str875 = 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"
-@.str876 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00"
-@.str877 = 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"
-@.str878 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00"
-@.str879 = 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"
-@.str880 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00"
-@.str881 = 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"
-@.str882 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00"
-@.str883 = 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"
-@.str884 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00"
-@.str885 = 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"
-@.str886 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00"
-@.str887 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00"
-@.str888 = 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"
-@.str889 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00"
-@.str890 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00"
-@.str891 = 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"
-@.str892 = 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"
-@.str893 = 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"
-@.str894 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00"
-@.str895 = private unnamed_addr constant [15 x i8] c"no such field \00"
-@.str896 = private unnamed_addr constant [3 x i8] c" \00"
-@.str897 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
-@.str898 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str899 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str900 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str901 = private unnamed_addr constant [6 x i8] c"words\00"
-@.str902 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00"
-@.str903 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str904 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str905 = private unnamed_addr constant [7 x i8] c"fixeds\00"
-@.str906 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00"
-@.str907 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str908 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str909 = private unnamed_addr constant [9 x i8] c"pointers\00"
-@.str910 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00"
-@.str911 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str912 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str913 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
-@.str914 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str915 = private unnamed_addr constant [5 x i8] c"byte\00"
-@.str916 = private unnamed_addr constant [3 x i8] c" \00"
-@.str917 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
-@.str918 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00"
-@.str919 = private unnamed_addr constant [3 x i8] c" \00"
-@.str920 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00"
-@.str921 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str922 = private unnamed_addr constant [3 x i8] c" \00"
-@.str923 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
-@.str924 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str925 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str926 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str927 = private unnamed_addr constant [7 x i8] c"resize\00"
-@.str928 = private unnamed_addr constant [10 x i8] c"file_open\00"
-@.str929 = private unnamed_addr constant [10 x i8] c"file_read\00"
-@.str930 = private unnamed_addr constant [11 x i8] c"file_write\00"
-@.str931 = private unnamed_addr constant [10 x i8] c"file_seek\00"
-@.str932 = private unnamed_addr constant [10 x i8] c"file_tell\00"
-@.str933 = private unnamed_addr constant [11 x i8] c"file_close\00"
-@.str934 = private unnamed_addr constant [10 x i8] c"arg_count\00"
-@.str935 = private unnamed_addr constant [4 x i8] c"arg\00"
-@.str936 = private unnamed_addr constant [5 x i8] c"exit\00"
-@.str937 = private unnamed_addr constant [12 x i8] c"file_stderr\00"
-@.str938 = private unnamed_addr constant [12 x i8] c"file_stdout\00"
-@.str939 = private unnamed_addr constant [4 x i8] c"run\00"
-@.str940 = private unnamed_addr constant [7 x i8] c"getenv\00"
-@.str941 = private unnamed_addr constant [14 x i8] c"world_despawn\00"
-@.str942 = private unnamed_addr constant [3 x i8] c" \00"
-@.str943 = private unnamed_addr constant [4 x i8] c" = \00"
-@.str944 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str945 = private unnamed_addr constant [7 x i8] c"resize\00"
-@.str946 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str947 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str948 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
-@.str949 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str950 = private unnamed_addr constant [2 x i8] c")\00"
-@.str951 = private unnamed_addr constant [8 x i8] c"pointer\00"
-@.str952 = private unnamed_addr constant [10 x i8] c"file_open\00"
-@.str953 = private unnamed_addr constant [21 x i8] c"call ptr @fopen(ptr \00"
+@.str685 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str686 = private unnamed_addr constant [5 x i8] c"long\00"
+@.str687 = private unnamed_addr constant [4 x i8] c"i64\00"
+@.str688 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str689 = private unnamed_addr constant [4 x i8] c"i64\00"
+@.str690 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str691 = private unnamed_addr constant [4 x i8] c"i64\00"
+@.str692 = private unnamed_addr constant [5 x i8] c"Rect\00"
+@.str693 = private unnamed_addr constant [5 x i8] c"i128\00"
+@.str694 = private unnamed_addr constant [5 x i8] c"byte\00"
+@.str695 = private unnamed_addr constant [3 x i8] c"i8\00"
+@.str696 = private unnamed_addr constant [6 x i8] c"words\00"
+@.str697 = private unnamed_addr constant [7 x i8] c"fixeds\00"
+@.str698 = private unnamed_addr constant [9 x i8] c"pointers\00"
+@.str699 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str700 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str701 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str702 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str703 = private unnamed_addr constant [6 x i8] c"%Cmp_\00"
+@.str704 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str705 = private unnamed_addr constant [10 x i8] c"EndReason\00"
+@.str706 = private unnamed_addr constant [10 x i8] c"Despawned\00"
+@.str707 = private unnamed_addr constant [10 x i8] c"SceneExit\00"
+@.str708 = private unnamed_addr constant [5 x i8] c"Quit\00"
+@.str709 = private unnamed_addr constant [10 x i8] c"countdown\00"
+@.str710 = private unnamed_addr constant [2 x i8] c".\00"
+@.str711 = private unnamed_addr constant [2 x i8] c".\00"
+@.str712 = private unnamed_addr constant [3 x i8] c"of\00"
+@.str713 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str714 = private unnamed_addr constant [5 x i8] c"make\00"
+@.str715 = private unnamed_addr constant [5 x i8] c"zero\00"
+@.str716 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str717 = private unnamed_addr constant [4 x i8] c"sub\00"
+@.str718 = private unnamed_addr constant [6 x i8] c"scale\00"
+@.str719 = private unnamed_addr constant [6 x i8] c"along\00"
+@.str720 = private unnamed_addr constant [5 x i8] c"step\00"
+@.str721 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str722 = private unnamed_addr constant [4 x i8] c"Map\00"
+@.str723 = private unnamed_addr constant [12 x i8] c"random_cell\00"
+@.str724 = private unnamed_addr constant [16 x i8] c"random_cell_far\00"
+@.str725 = private unnamed_addr constant [8 x i8] c"to_tile\00"
+@.str726 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str727 = private unnamed_addr constant [9 x i8] c"Collider\00"
+@.str728 = private unnamed_addr constant [7 x i8] c"center\00"
+@.str729 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str730 = private unnamed_addr constant [6 x i8] c"Input\00"
+@.str731 = private unnamed_addr constant [7 x i8] c"move_i\00"
+@.str732 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str733 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str734 = private unnamed_addr constant [3 x i8] c"[]\00"
+@.str735 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str736 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str737 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str738 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str739 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str740 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str741 = private unnamed_addr constant [7 x i8] c"reason\00"
+@.str742 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str743 = private unnamed_addr constant [6 x i8] c"@.str\00"
+@.str744 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00"
+@.str745 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00"
+@.str746 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00"
+@.str747 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str748 = private unnamed_addr constant [5 x i8] c"null\00"
+@.str749 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str750 = private unnamed_addr constant [2 x i8] c"-\00"
+@.str751 = private unnamed_addr constant [2 x i8] c"-\00"
+@.str752 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str753 = private unnamed_addr constant [5 x i8] c"null\00"
+@.str754 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str755 = private unnamed_addr constant [2 x i8] c"-\00"
+@.str756 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str757 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str758 = private unnamed_addr constant [2 x i8] c" \00"
+@.str759 = private unnamed_addr constant [10 x i8] c", ptr @g_\00"
+@.str760 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str761 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
+@.str762 = private unnamed_addr constant [40 x i8] c"define void @L_init_globals() {\0Aentry:\0A\00"
+@.str763 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
+@.str764 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00"
+@.str765 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00"
+@.str766 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00"
+@.str767 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00"
+@.str768 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00"
+@.str769 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00"
+@.str770 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00"
+@.str771 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00"
+@.str772 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00"
+@.str773 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00"
+@.str774 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00"
+@.str775 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00"
+@.str776 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00"
+@.str777 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00"
+@.str778 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00"
+@.str779 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00"
+@.str780 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00"
+@.str781 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00"
+@.str782 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00"
+@.str783 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00"
+@.str784 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00"
+@.str785 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00"
+@.str786 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00"
+@.str787 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00"
+@.str788 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00"
+@.str789 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00"
+@.str790 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00"
+@.str791 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00"
+@.str792 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00"
+@.str793 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00"
+@.str794 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00"
+@.str795 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00"
+@.str796 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00"
+@.str797 = private unnamed_addr constant [36 x i8] c"declare void @win_cursor_mode(i32)\0A\00"
+@.str798 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00"
+@.str799 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00"
+@.str800 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00"
+@.str801 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00"
+@.str802 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00"
+@.str803 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00"
+@.str804 = private unnamed_addr constant [35 x i8] c"declare ptr @hs_req_new(ptr, ptr)\0A\00"
+@.str805 = private unnamed_addr constant [44 x i8] c"declare void @hs_req_header(ptr, ptr, ptr)\0A\00"
+@.str806 = private unnamed_addr constant [42 x i8] c"declare void @hs_req_body(ptr, ptr, i32)\0A\00"
+@.str807 = private unnamed_addr constant [33 x i8] c"declare void @hs_send(i32, ptr)\0A\00"
+@.str808 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_done(i32)\0A\00"
+@.str809 = private unnamed_addr constant [29 x i8] c"declare i32 @hs_status(i32)\0A\00"
+@.str810 = private unnamed_addr constant [27 x i8] c"declare ptr @hs_body(i32)\0A\00"
+@.str811 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_blen(i32)\0A\00"
+@.str812 = private unnamed_addr constant [34 x i8] c"declare ptr @hs_header(i32, ptr)\0A\00"
+@.str813 = private unnamed_addr constant [28 x i8] c"declare void @hs_free(i32)\0A\00"
+@.str814 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00"
+@.str815 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00"
+@.str816 = 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"
+@.str817 = 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"
+@.str818 = 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"
+@.str819 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00"
+@.str820 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00"
+@.str821 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00"
+@.str822 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00"
+@.str823 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00"
+@.str824 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00"
+@.str825 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00"
+@.str826 = private unnamed_addr constant [10 x i8] c"property \00"
+@.str827 = private unnamed_addr constant [63 x i8] c" is also a property of the engine runtime; choose another name\00"
+@.str828 = private unnamed_addr constant [10 x i8] c"property \00"
+@.str829 = private unnamed_addr constant [19 x i8] c" is declared twice\00"
+@.str830 = private unnamed_addr constant [11 x i8] c" = type { \00"
+@.str831 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str832 = private unnamed_addr constant [3 x i8] c", \00"
+@.str833 = private unnamed_addr constant [4 x i8] c" }\0A\00"
+@.str834 = private unnamed_addr constant [10 x i8] c"variable \00"
+@.str835 = private unnamed_addr constant [63 x i8] c" is also a variable of the engine runtime; choose another name\00"
+@.str836 = private unnamed_addr constant [10 x i8] c"variable \00"
+@.str837 = private unnamed_addr constant [19 x i8] c" is declared twice\00"
+@.str838 = private unnamed_addr constant [4 x i8] c"@g_\00"
+@.str839 = private unnamed_addr constant [20 x i8] c" = internal global \00"
+@.str840 = private unnamed_addr constant [2 x i8] c" \00"
+@.str841 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str842 = private unnamed_addr constant [9 x i8] c"declare \00"
+@.str843 = private unnamed_addr constant [3 x i8] c" @\00"
+@.str844 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str845 = private unnamed_addr constant [3 x i8] c", \00"
+@.str846 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str847 = private unnamed_addr constant [41 x i8] c"define i32 @lp_str_eq(ptr %a, ptr %b) {\0A\00"
+@.str848 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00"
+@.str849 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00"
+@.str850 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00"
+@.str851 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00"
+@.str852 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00"
+@.str853 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00"
+@.str854 = 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"
+@.str855 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00"
+@.str856 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00"
+@.str857 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_concat(ptr %a, ptr %b) {\0A\00"
+@.str858 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00"
+@.str859 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00"
+@.str860 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00"
+@.str861 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00"
+@.str862 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00"
+@.str863 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00"
+@.str864 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00"
+@.str865 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00"
+@.str866 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00"
+@.str867 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00"
+@.str868 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00"
+@.str869 = 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"
+@.str870 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00"
+@.str871 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00"
+@.str872 = 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"
+@.str873 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00"
+@.str874 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00"
+@.str875 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00"
+@.str876 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00"
+@.str877 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00"
+@.str878 = 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"
+@.str879 = 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"
+@.str880 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00"
+@.str881 = 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"
+@.str882 = private unnamed_addr constant [35 x i8] c"define ptr @lp_int_str(i32 %n0) {\0A\00"
+@.str883 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00"
+@.str884 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00"
+@.str885 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00"
+@.str886 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00"
+@.str887 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00"
+@.str888 = 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"
+@.str889 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00"
+@.str890 = 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"
+@.str891 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00"
+@.str892 = 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"
+@.str893 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00"
+@.str894 = 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"
+@.str895 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00"
+@.str896 = 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"
+@.str897 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00"
+@.str898 = 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"
+@.str899 = private unnamed_addr constant [36 x i8] c"define ptr @lp_long_str(i64 %n0) {\0A\00"
+@.str900 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00"
+@.str901 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00"
+@.str902 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00"
+@.str903 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00"
+@.str904 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00"
+@.str905 = 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"
+@.str906 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00"
+@.str907 = 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"
+@.str908 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00"
+@.str909 = 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"
+@.str910 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00"
+@.str911 = 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"
+@.str912 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00"
+@.str913 = 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"
+@.str914 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00"
+@.str915 = 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"
+@.str916 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00"
+@.str917 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00"
+@.str918 = 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"
+@.str919 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00"
+@.str920 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00"
+@.str921 = 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"
+@.str922 = 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"
+@.str923 = 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"
+@.str924 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00"
+@.str925 = private unnamed_addr constant [15 x i8] c"no such field \00"
+@.str926 = private unnamed_addr constant [3 x i8] c" \00"
+@.str927 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
+@.str928 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str929 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str930 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str931 = private unnamed_addr constant [6 x i8] c"words\00"
+@.str932 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00"
+@.str933 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str934 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str935 = private unnamed_addr constant [7 x i8] c"fixeds\00"
+@.str936 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00"
+@.str937 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str938 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str939 = private unnamed_addr constant [9 x i8] c"pointers\00"
+@.str940 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00"
+@.str941 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str942 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str943 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
+@.str944 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str945 = private unnamed_addr constant [5 x i8] c"byte\00"
+@.str946 = private unnamed_addr constant [3 x i8] c" \00"
+@.str947 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
+@.str948 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00"
+@.str949 = private unnamed_addr constant [3 x i8] c" \00"
+@.str950 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00"
+@.str951 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str952 = private unnamed_addr constant [3 x i8] c" \00"
+@.str953 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
@.str954 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str955 = private unnamed_addr constant [2 x i8] c")\00"
-@.str956 = private unnamed_addr constant [8 x i8] c"pointer\00"
-@.str957 = private unnamed_addr constant [10 x i8] c"file_read\00"
-@.str958 = private unnamed_addr constant [11 x i8] c"file_write\00"
-@.str959 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str960 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str961 = private unnamed_addr constant [7 x i8] c"@fread\00"
-@.str962 = private unnamed_addr constant [11 x i8] c"file_write\00"
-@.str963 = private unnamed_addr constant [8 x i8] c"@fwrite\00"
-@.str964 = private unnamed_addr constant [10 x i8] c"call i64 \00"
-@.str965 = private unnamed_addr constant [6 x i8] c"(ptr \00"
-@.str966 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
-@.str967 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str968 = private unnamed_addr constant [2 x i8] c")\00"
-@.str969 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str970 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str971 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str972 = private unnamed_addr constant [10 x i8] c"file_seek\00"
-@.str973 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str974 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str975 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00"
-@.str976 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str977 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str978 = private unnamed_addr constant [2 x i8] c")\00"
-@.str979 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str980 = private unnamed_addr constant [10 x i8] c"file_tell\00"
-@.str981 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00"
-@.str982 = private unnamed_addr constant [2 x i8] c")\00"
-@.str983 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str984 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str985 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str986 = private unnamed_addr constant [11 x i8] c"file_close\00"
-@.str987 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00"
-@.str988 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str989 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str990 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str991 = private unnamed_addr constant [14 x i8] c"world_despawn\00"
-@.str992 = private unnamed_addr constant [35 x i8] c" call void @fn_world_despawn(i32 \00"
-@.str993 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str994 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str995 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str996 = private unnamed_addr constant [10 x i8] c"arg_count\00"
-@.str997 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00"
-@.str998 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str999 = private unnamed_addr constant [4 x i8] c"arg\00"
-@.str1000 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00"
-@.str1001 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00"
-@.str1002 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1003 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
-@.str1004 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str1005 = private unnamed_addr constant [5 x i8] c"exit\00"
-@.str1006 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00"
-@.str1007 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1008 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00"
-@.str1009 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1010 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1011 = private unnamed_addr constant [12 x i8] c"file_stderr\00"
-@.str1012 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00"
-@.str1013 = private unnamed_addr constant [8 x i8] c"pointer\00"
-@.str1014 = private unnamed_addr constant [12 x i8] c"file_stdout\00"
-@.str1015 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00"
-@.str1016 = private unnamed_addr constant [8 x i8] c"pointer\00"
-@.str1017 = private unnamed_addr constant [4 x i8] c"run\00"
-@.str1018 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00"
-@.str1019 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1020 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1021 = private unnamed_addr constant [7 x i8] c"getenv\00"
-@.str1022 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00"
-@.str1023 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1024 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str1025 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1026 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1027 = private unnamed_addr constant [5 x i8] c"free\00"
-@.str1028 = private unnamed_addr constant [5 x i8] c"fill\00"
-@.str1029 = private unnamed_addr constant [7 x i8] c"offset\00"
-@.str1030 = private unnamed_addr constant [10 x i8] c"read_char\00"
-@.str1031 = private unnamed_addr constant [9 x i8] c"as_fixed\00"
-@.str1032 = private unnamed_addr constant [7 x i8] c"as_int\00"
-@.str1033 = private unnamed_addr constant [12 x i8] c"is_windowed\00"
-@.str1034 = private unnamed_addr constant [11 x i8] c"game_title\00"
-@.str1035 = private unnamed_addr constant [9 x i8] c"win_open\00"
-@.str1036 = private unnamed_addr constant [9 x i8] c"win_poll\00"
-@.str1037 = private unnamed_addr constant [12 x i8] c"win_present\00"
-@.str1038 = private unnamed_addr constant [12 x i8] c"win_running\00"
-@.str1039 = private unnamed_addr constant [10 x i8] c"win_close\00"
-@.str1040 = private unnamed_addr constant [9 x i8] c"win_held\00"
-@.str1041 = private unnamed_addr constant [10 x i8] c"win_mouse\00"
-@.str1042 = private unnamed_addr constant [8 x i8] c"win_pad\00"
-@.str1043 = private unnamed_addr constant [10 x i8] c"win_touch\00"
-@.str1044 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00"
-@.str1045 = private unnamed_addr constant [9 x i8] c"snd_load\00"
-@.str1046 = private unnamed_addr constant [9 x i8] c"snd_play\00"
-@.str1047 = private unnamed_addr constant [9 x i8] c"snd_stop\00"
-@.str1048 = private unnamed_addr constant [12 x i8] c"snd_playing\00"
-@.str1049 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00"
-@.str1050 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00"
-@.str1051 = private unnamed_addr constant [11 x i8] c"hs_req_new\00"
-@.str1052 = private unnamed_addr constant [14 x i8] c"hs_req_header\00"
-@.str1053 = private unnamed_addr constant [12 x i8] c"hs_req_body\00"
-@.str1054 = private unnamed_addr constant [8 x i8] c"hs_send\00"
-@.str1055 = private unnamed_addr constant [8 x i8] c"hs_done\00"
-@.str1056 = private unnamed_addr constant [10 x i8] c"hs_status\00"
-@.str1057 = private unnamed_addr constant [8 x i8] c"hs_body\00"
-@.str1058 = private unnamed_addr constant [8 x i8] c"hs_blen\00"
-@.str1059 = private unnamed_addr constant [10 x i8] c"hs_header\00"
-@.str1060 = private unnamed_addr constant [8 x i8] c"hs_free\00"
-@.str1061 = private unnamed_addr constant [5 x i8] c"free\00"
-@.str1062 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00"
-@.str1063 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1064 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1065 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1066 = private unnamed_addr constant [5 x i8] c"fill\00"
-@.str1067 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str1068 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str1069 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00"
-@.str1070 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1071 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str1072 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1073 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1074 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1075 = private unnamed_addr constant [7 x i8] c"offset\00"
-@.str1076 = private unnamed_addr constant [3 x i8] c" \00"
-@.str1077 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00"
-@.str1078 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1079 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str1080 = private unnamed_addr constant [8 x i8] c"pointer\00"
-@.str1081 = private unnamed_addr constant [10 x i8] c"read_char\00"
-@.str1082 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00"
-@.str1083 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1084 = private unnamed_addr constant [9 x i8] c"as_fixed\00"
-@.str1085 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1086 = private unnamed_addr constant [7 x i8] c"as_int\00"
-@.str1087 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1088 = private unnamed_addr constant [12 x i8] c"is_windowed\00"
-@.str1089 = private unnamed_addr constant [2 x i8] c"1\00"
-@.str1090 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str1091 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1092 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str1093 = private unnamed_addr constant [11 x i8] c"game_title\00"
-@.str1094 = private unnamed_addr constant [12 x i8] c"@.gametitle\00"
-@.str1095 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str1096 = private unnamed_addr constant [9 x i8] c"win_poll\00"
-@.str1097 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00"
-@.str1098 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1099 = private unnamed_addr constant [12 x i8] c"win_running\00"
-@.str1100 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00"
-@.str1101 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str1102 = private unnamed_addr constant [9 x i8] c"win_open\00"
-@.str1103 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00"
-@.str1104 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1105 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1106 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str1107 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1108 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1109 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1110 = private unnamed_addr constant [12 x i8] c"win_present\00"
-@.str1111 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00"
-@.str1112 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1113 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1114 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1115 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1116 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1117 = private unnamed_addr constant [10 x i8] c"win_close\00"
-@.str1118 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00"
-@.str1119 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1120 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1121 = private unnamed_addr constant [9 x i8] c"win_held\00"
-@.str1122 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00"
-@.str1123 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1124 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1125 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1126 = private unnamed_addr constant [10 x i8] c"win_mouse\00"
-@.str1127 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00"
-@.str1128 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1129 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1130 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1131 = private unnamed_addr constant [8 x i8] c"win_pad\00"
-@.str1132 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00"
-@.str1133 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1134 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1135 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1136 = private unnamed_addr constant [10 x i8] c"win_touch\00"
-@.str1137 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00"
-@.str1138 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1139 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1140 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1141 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00"
-@.str1142 = private unnamed_addr constant [34 x i8] c" call void @win_cursor_mode(i32 \00"
-@.str1143 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1144 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1145 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1146 = private unnamed_addr constant [9 x i8] c"snd_load\00"
-@.str1147 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00"
-@.str1148 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1149 = private unnamed_addr constant [8 x i8] c"pointer\00"
-@.str1150 = private unnamed_addr constant [9 x i8] c"snd_play\00"
-@.str1151 = private unnamed_addr constant [27 x i8] c" call void @snd_play(ptr \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", i32 \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 [9 x i8] c"snd_stop\00"
-@.str1159 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00"
-@.str1160 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1161 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1162 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1163 = private unnamed_addr constant [12 x i8] c"snd_playing\00"
-@.str1164 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00"
-@.str1165 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1166 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1167 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00"
-@.str1168 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00"
-@.str1169 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1170 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1171 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1172 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1173 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00"
-@.str1174 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(ptr \00"
-@.str1175 = private unnamed_addr constant [7 x i8] c", i32 \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 [11 x i8] c"hs_req_new\00"
-@.str1180 = private unnamed_addr constant [26 x i8] c"call ptr @hs_req_new(ptr \00"
-@.str1181 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str1182 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1183 = private unnamed_addr constant [8 x i8] c"pointer\00"
-@.str1184 = private unnamed_addr constant [14 x i8] c"hs_req_header\00"
-@.str1185 = private unnamed_addr constant [32 x i8] c" call void @hs_req_header(ptr \00"
-@.str1186 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str1187 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str1188 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1189 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1190 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1191 = private unnamed_addr constant [12 x i8] c"hs_req_body\00"
-@.str1192 = private unnamed_addr constant [30 x i8] c" call void @hs_req_body(ptr \00"
-@.str1193 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str1194 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1195 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1196 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1197 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1198 = private unnamed_addr constant [8 x i8] c"hs_send\00"
-@.str1199 = private unnamed_addr constant [26 x i8] c" call void @hs_send(i32 \00"
-@.str1200 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str1201 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1202 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1203 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1204 = private unnamed_addr constant [8 x i8] c"hs_done\00"
-@.str1205 = private unnamed_addr constant [23 x i8] c"call i32 @hs_done(i32 \00"
-@.str1206 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1207 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1208 = private unnamed_addr constant [10 x i8] c"hs_status\00"
-@.str1209 = private unnamed_addr constant [25 x i8] c"call i32 @hs_status(i32 \00"
-@.str1210 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1211 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1212 = private unnamed_addr constant [8 x i8] c"hs_body\00"
-@.str1213 = private unnamed_addr constant [23 x i8] c"call ptr @hs_body(i32 \00"
-@.str1214 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1215 = private unnamed_addr constant [8 x i8] c"pointer\00"
-@.str1216 = private unnamed_addr constant [8 x i8] c"hs_blen\00"
-@.str1217 = private unnamed_addr constant [23 x i8] c"call i32 @hs_blen(i32 \00"
-@.str1218 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1219 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1220 = private unnamed_addr constant [10 x i8] c"hs_header\00"
-@.str1221 = private unnamed_addr constant [25 x i8] c"call ptr @hs_header(i32 \00"
-@.str1222 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str1223 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1224 = private unnamed_addr constant [8 x i8] c"pointer\00"
-@.str1225 = private unnamed_addr constant [8 x i8] c"hs_free\00"
-@.str1226 = private unnamed_addr constant [26 x i8] c" call void @hs_free(i32 \00"
-@.str1227 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str1228 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1229 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1230 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1231 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str1232 = private unnamed_addr constant [4 x i8] c"min\00"
-@.str1233 = private unnamed_addr constant [4 x i8] c"max\00"
-@.str1234 = private unnamed_addr constant [4 x i8] c"abs\00"
-@.str1235 = private unnamed_addr constant [6 x i8] c"clamp\00"
-@.str1236 = private unnamed_addr constant [4 x i8] c"abs\00"
-@.str1237 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str1238 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str1239 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
-@.str1240 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1241 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1242 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1243 = private unnamed_addr constant [4 x i8] c"min\00"
-@.str1244 = private unnamed_addr constant [4 x i8] c"max\00"
-@.str1245 = private unnamed_addr constant [4 x i8] c"slt\00"
-@.str1246 = private unnamed_addr constant [4 x i8] c"max\00"
-@.str1247 = private unnamed_addr constant [4 x i8] c"sgt\00"
-@.str1248 = private unnamed_addr constant [6 x i8] c"icmp \00"
-@.str1249 = private unnamed_addr constant [6 x i8] c" i32 \00"
-@.str1250 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1251 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1252 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1253 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1254 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str1255 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1256 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1257 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1258 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1259 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
-@.str1260 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1261 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1262 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1263 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1264 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str1265 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str1266 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str1267 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str1268 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
-@.str1269 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1270 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
-@.str1271 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str1272 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str1273 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str1274 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str1275 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str1276 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
-@.str1277 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str1278 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str1279 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str1280 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00"
-@.str1281 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1282 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str1283 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str1284 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str955 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str956 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str957 = private unnamed_addr constant [7 x i8] c"resize\00"
+@.str958 = private unnamed_addr constant [10 x i8] c"file_open\00"
+@.str959 = private unnamed_addr constant [10 x i8] c"file_read\00"
+@.str960 = private unnamed_addr constant [11 x i8] c"file_write\00"
+@.str961 = private unnamed_addr constant [10 x i8] c"file_seek\00"
+@.str962 = private unnamed_addr constant [10 x i8] c"file_tell\00"
+@.str963 = private unnamed_addr constant [11 x i8] c"file_close\00"
+@.str964 = private unnamed_addr constant [10 x i8] c"arg_count\00"
+@.str965 = private unnamed_addr constant [4 x i8] c"arg\00"
+@.str966 = private unnamed_addr constant [5 x i8] c"exit\00"
+@.str967 = private unnamed_addr constant [12 x i8] c"file_stderr\00"
+@.str968 = private unnamed_addr constant [12 x i8] c"file_stdout\00"
+@.str969 = private unnamed_addr constant [4 x i8] c"run\00"
+@.str970 = private unnamed_addr constant [7 x i8] c"getenv\00"
+@.str971 = private unnamed_addr constant [14 x i8] c"world_despawn\00"
+@.str972 = private unnamed_addr constant [3 x i8] c" \00"
+@.str973 = private unnamed_addr constant [4 x i8] c" = \00"
+@.str974 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str975 = private unnamed_addr constant [7 x i8] c"resize\00"
+@.str976 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str977 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str978 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
+@.str979 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str980 = private unnamed_addr constant [2 x i8] c")\00"
+@.str981 = private unnamed_addr constant [8 x i8] c"pointer\00"
+@.str982 = private unnamed_addr constant [10 x i8] c"file_open\00"
+@.str983 = private unnamed_addr constant [21 x i8] c"call ptr @fopen(ptr \00"
+@.str984 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str985 = private unnamed_addr constant [2 x i8] c")\00"
+@.str986 = private unnamed_addr constant [8 x i8] c"pointer\00"
+@.str987 = private unnamed_addr constant [10 x i8] c"file_read\00"
+@.str988 = private unnamed_addr constant [11 x i8] c"file_write\00"
+@.str989 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str990 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str991 = private unnamed_addr constant [7 x i8] c"@fread\00"
+@.str992 = private unnamed_addr constant [11 x i8] c"file_write\00"
+@.str993 = private unnamed_addr constant [8 x i8] c"@fwrite\00"
+@.str994 = private unnamed_addr constant [10 x i8] c"call i64 \00"
+@.str995 = private unnamed_addr constant [6 x i8] c"(ptr \00"
+@.str996 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
+@.str997 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str998 = private unnamed_addr constant [2 x i8] c")\00"
+@.str999 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str1000 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str1001 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1002 = private unnamed_addr constant [10 x i8] c"file_seek\00"
+@.str1003 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str1004 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str1005 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00"
+@.str1006 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str1007 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1008 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1009 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1010 = private unnamed_addr constant [10 x i8] c"file_tell\00"
+@.str1011 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00"
+@.str1012 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1013 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str1014 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str1015 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1016 = private unnamed_addr constant [11 x i8] c"file_close\00"
+@.str1017 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00"
+@.str1018 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1019 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1020 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1021 = private unnamed_addr constant [14 x i8] c"world_despawn\00"
+@.str1022 = private unnamed_addr constant [35 x i8] c" call void @fn_world_despawn(i32 \00"
+@.str1023 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1024 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1025 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1026 = private unnamed_addr constant [10 x i8] c"arg_count\00"
+@.str1027 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00"
+@.str1028 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1029 = private unnamed_addr constant [4 x i8] c"arg\00"
+@.str1030 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00"
+@.str1031 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00"
+@.str1032 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1033 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
+@.str1034 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str1035 = private unnamed_addr constant [5 x i8] c"exit\00"
+@.str1036 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00"
+@.str1037 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1038 = private unnamed_addr constant [15 x i8] c" unreachable\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 [12 x i8] c"file_stderr\00"
+@.str1042 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00"
+@.str1043 = private unnamed_addr constant [8 x i8] c"pointer\00"
+@.str1044 = private unnamed_addr constant [12 x i8] c"file_stdout\00"
+@.str1045 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00"
+@.str1046 = private unnamed_addr constant [8 x i8] c"pointer\00"
+@.str1047 = private unnamed_addr constant [4 x i8] c"run\00"
+@.str1048 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00"
+@.str1049 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1050 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1051 = private unnamed_addr constant [7 x i8] c"getenv\00"
+@.str1052 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00"
+@.str1053 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1054 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str1055 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1056 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1057 = private unnamed_addr constant [5 x i8] c"free\00"
+@.str1058 = private unnamed_addr constant [5 x i8] c"fill\00"
+@.str1059 = private unnamed_addr constant [7 x i8] c"offset\00"
+@.str1060 = private unnamed_addr constant [10 x i8] c"read_char\00"
+@.str1061 = private unnamed_addr constant [9 x i8] c"as_fixed\00"
+@.str1062 = private unnamed_addr constant [7 x i8] c"as_int\00"
+@.str1063 = private unnamed_addr constant [12 x i8] c"is_windowed\00"
+@.str1064 = private unnamed_addr constant [11 x i8] c"game_title\00"
+@.str1065 = private unnamed_addr constant [9 x i8] c"win_open\00"
+@.str1066 = private unnamed_addr constant [9 x i8] c"win_poll\00"
+@.str1067 = private unnamed_addr constant [12 x i8] c"win_present\00"
+@.str1068 = private unnamed_addr constant [12 x i8] c"win_running\00"
+@.str1069 = private unnamed_addr constant [10 x i8] c"win_close\00"
+@.str1070 = private unnamed_addr constant [9 x i8] c"win_held\00"
+@.str1071 = private unnamed_addr constant [10 x i8] c"win_mouse\00"
+@.str1072 = private unnamed_addr constant [8 x i8] c"win_pad\00"
+@.str1073 = private unnamed_addr constant [10 x i8] c"win_touch\00"
+@.str1074 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00"
+@.str1075 = private unnamed_addr constant [9 x i8] c"snd_load\00"
+@.str1076 = private unnamed_addr constant [9 x i8] c"snd_play\00"
+@.str1077 = private unnamed_addr constant [9 x i8] c"snd_stop\00"
+@.str1078 = private unnamed_addr constant [12 x i8] c"snd_playing\00"
+@.str1079 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00"
+@.str1080 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00"
+@.str1081 = private unnamed_addr constant [11 x i8] c"hs_req_new\00"
+@.str1082 = private unnamed_addr constant [14 x i8] c"hs_req_header\00"
+@.str1083 = private unnamed_addr constant [12 x i8] c"hs_req_body\00"
+@.str1084 = private unnamed_addr constant [8 x i8] c"hs_send\00"
+@.str1085 = private unnamed_addr constant [8 x i8] c"hs_done\00"
+@.str1086 = private unnamed_addr constant [10 x i8] c"hs_status\00"
+@.str1087 = private unnamed_addr constant [8 x i8] c"hs_body\00"
+@.str1088 = private unnamed_addr constant [8 x i8] c"hs_blen\00"
+@.str1089 = private unnamed_addr constant [10 x i8] c"hs_header\00"
+@.str1090 = private unnamed_addr constant [8 x i8] c"hs_free\00"
+@.str1091 = private unnamed_addr constant [5 x i8] c"free\00"
+@.str1092 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00"
+@.str1093 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1094 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1095 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1096 = private unnamed_addr constant [5 x i8] c"fill\00"
+@.str1097 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str1098 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str1099 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00"
+@.str1100 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1101 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str1102 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1103 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1104 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1105 = private unnamed_addr constant [7 x i8] c"offset\00"
+@.str1106 = private unnamed_addr constant [3 x i8] c" \00"
+@.str1107 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00"
+@.str1108 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1109 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str1110 = private unnamed_addr constant [8 x i8] c"pointer\00"
+@.str1111 = private unnamed_addr constant [10 x i8] c"read_char\00"
+@.str1112 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00"
+@.str1113 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1114 = private unnamed_addr constant [9 x i8] c"as_fixed\00"
+@.str1115 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1116 = private unnamed_addr constant [7 x i8] c"as_int\00"
+@.str1117 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1118 = private unnamed_addr constant [12 x i8] c"is_windowed\00"
+@.str1119 = private unnamed_addr constant [2 x i8] c"1\00"
+@.str1120 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str1121 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1122 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str1123 = private unnamed_addr constant [11 x i8] c"game_title\00"
+@.str1124 = private unnamed_addr constant [12 x i8] c"@.gametitle\00"
+@.str1125 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str1126 = private unnamed_addr constant [9 x i8] c"win_poll\00"
+@.str1127 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00"
+@.str1128 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1129 = private unnamed_addr constant [12 x i8] c"win_running\00"
+@.str1130 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00"
+@.str1131 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str1132 = private unnamed_addr constant [9 x i8] c"win_open\00"
+@.str1133 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00"
+@.str1134 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1135 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1136 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str1137 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1138 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1139 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1140 = private unnamed_addr constant [12 x i8] c"win_present\00"
+@.str1141 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00"
+@.str1142 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1143 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1144 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1145 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1146 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1147 = private unnamed_addr constant [10 x i8] c"win_close\00"
+@.str1148 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00"
+@.str1149 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1150 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1151 = private unnamed_addr constant [9 x i8] c"win_held\00"
+@.str1152 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00"
+@.str1153 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1154 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1155 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1156 = private unnamed_addr constant [10 x i8] c"win_mouse\00"
+@.str1157 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00"
+@.str1158 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1159 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1160 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1161 = private unnamed_addr constant [8 x i8] c"win_pad\00"
+@.str1162 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00"
+@.str1163 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1164 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1165 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1166 = private unnamed_addr constant [10 x i8] c"win_touch\00"
+@.str1167 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00"
+@.str1168 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1169 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1170 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1171 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00"
+@.str1172 = private unnamed_addr constant [34 x i8] c" call void @win_cursor_mode(i32 \00"
+@.str1173 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1174 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1175 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1176 = private unnamed_addr constant [9 x i8] c"snd_load\00"
+@.str1177 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00"
+@.str1178 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1179 = private unnamed_addr constant [8 x i8] c"pointer\00"
+@.str1180 = private unnamed_addr constant [9 x i8] c"snd_play\00"
+@.str1181 = private unnamed_addr constant [27 x i8] c" call void @snd_play(ptr \00"
+@.str1182 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1183 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1184 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1185 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1186 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1187 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1188 = private unnamed_addr constant [9 x i8] c"snd_stop\00"
+@.str1189 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00"
+@.str1190 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1191 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1192 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1193 = private unnamed_addr constant [12 x i8] c"snd_playing\00"
+@.str1194 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00"
+@.str1195 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1196 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1197 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00"
+@.str1198 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00"
+@.str1199 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1200 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1201 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1202 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1203 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00"
+@.str1204 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(ptr \00"
+@.str1205 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1206 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1207 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1208 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1209 = private unnamed_addr constant [11 x i8] c"hs_req_new\00"
+@.str1210 = private unnamed_addr constant [26 x i8] c"call ptr @hs_req_new(ptr \00"
+@.str1211 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str1212 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1213 = private unnamed_addr constant [8 x i8] c"pointer\00"
+@.str1214 = private unnamed_addr constant [14 x i8] c"hs_req_header\00"
+@.str1215 = private unnamed_addr constant [32 x i8] c" call void @hs_req_header(ptr \00"
+@.str1216 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str1217 = private unnamed_addr constant [7 x i8] c", ptr \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 [12 x i8] c"hs_req_body\00"
+@.str1222 = private unnamed_addr constant [30 x i8] c" call void @hs_req_body(ptr \00"
+@.str1223 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str1224 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1225 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1226 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1227 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1228 = private unnamed_addr constant [8 x i8] c"hs_send\00"
+@.str1229 = private unnamed_addr constant [26 x i8] c" call void @hs_send(i32 \00"
+@.str1230 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str1231 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1232 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1233 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1234 = private unnamed_addr constant [8 x i8] c"hs_done\00"
+@.str1235 = private unnamed_addr constant [23 x i8] c"call i32 @hs_done(i32 \00"
+@.str1236 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1237 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1238 = private unnamed_addr constant [10 x i8] c"hs_status\00"
+@.str1239 = private unnamed_addr constant [25 x i8] c"call i32 @hs_status(i32 \00"
+@.str1240 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1241 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1242 = private unnamed_addr constant [8 x i8] c"hs_body\00"
+@.str1243 = private unnamed_addr constant [23 x i8] c"call ptr @hs_body(i32 \00"
+@.str1244 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1245 = private unnamed_addr constant [8 x i8] c"pointer\00"
+@.str1246 = private unnamed_addr constant [8 x i8] c"hs_blen\00"
+@.str1247 = private unnamed_addr constant [23 x i8] c"call i32 @hs_blen(i32 \00"
+@.str1248 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1249 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1250 = private unnamed_addr constant [10 x i8] c"hs_header\00"
+@.str1251 = private unnamed_addr constant [25 x i8] c"call ptr @hs_header(i32 \00"
+@.str1252 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str1253 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1254 = private unnamed_addr constant [8 x i8] c"pointer\00"
+@.str1255 = private unnamed_addr constant [8 x i8] c"hs_free\00"
+@.str1256 = private unnamed_addr constant [26 x i8] c" call void @hs_free(i32 \00"
+@.str1257 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str1258 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1259 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1260 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1261 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str1262 = private unnamed_addr constant [4 x i8] c"min\00"
+@.str1263 = private unnamed_addr constant [4 x i8] c"max\00"
+@.str1264 = private unnamed_addr constant [4 x i8] c"abs\00"
+@.str1265 = private unnamed_addr constant [6 x i8] c"clamp\00"
+@.str1266 = private unnamed_addr constant [4 x i8] c"abs\00"
+@.str1267 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str1268 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str1269 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
+@.str1270 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1271 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1272 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1273 = private unnamed_addr constant [4 x i8] c"min\00"
+@.str1274 = private unnamed_addr constant [4 x i8] c"max\00"
+@.str1275 = private unnamed_addr constant [4 x i8] c"slt\00"
+@.str1276 = private unnamed_addr constant [4 x i8] c"max\00"
+@.str1277 = private unnamed_addr constant [4 x i8] c"sgt\00"
+@.str1278 = private unnamed_addr constant [6 x i8] c"icmp \00"
+@.str1279 = private unnamed_addr constant [6 x i8] c" i32 \00"
+@.str1280 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1281 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1282 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1283 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1284 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str1285 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1286 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1287 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1288 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1289 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1290 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1291 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1292 = private unnamed_addr constant [4 x i8] c"min\00"
-@.str1293 = private unnamed_addr constant [4 x i8] c"max\00"
-@.str1294 = private unnamed_addr constant [4 x i8] c"abs\00"
-@.str1295 = private unnamed_addr constant [6 x i8] c"clamp\00"
-@.str1296 = private unnamed_addr constant [5 x i8] c"sign\00"
-@.str1297 = private unnamed_addr constant [6 x i8] c"floor\00"
-@.str1298 = private unnamed_addr constant [5 x i8] c"ceil\00"
-@.str1299 = private unnamed_addr constant [6 x i8] c"round\00"
-@.str1300 = private unnamed_addr constant [5 x i8] c"lerp\00"
-@.str1301 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00"
-@.str1302 = private unnamed_addr constant [6 x i8] c"remap\00"
-@.str1303 = private unnamed_addr constant [5 x i8] c"sqrt\00"
-@.str1304 = private unnamed_addr constant [4 x i8] c"sin\00"
-@.str1305 = private unnamed_addr constant [4 x i8] c"cos\00"
-@.str1306 = private unnamed_addr constant [4 x i8] c"tan\00"
-@.str1307 = private unnamed_addr constant [6 x i8] c"hypot\00"
-@.str1308 = private unnamed_addr constant [6 x i8] c"atan2\00"
-@.str1309 = private unnamed_addr constant [5 x i8] c"asin\00"
-@.str1310 = private unnamed_addr constant [5 x i8] c"acos\00"
-@.str1311 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00"
-@.str1312 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00"
-@.str1313 = private unnamed_addr constant [7 x i8] c"posmod\00"
-@.str1314 = private unnamed_addr constant [5 x i8] c"wrap\00"
-@.str1315 = private unnamed_addr constant [10 x i8] c"ping_pong\00"
-@.str1316 = private unnamed_addr constant [8 x i8] c"snapped\00"
-@.str1317 = private unnamed_addr constant [12 x i8] c"move_toward\00"
-@.str1318 = private unnamed_addr constant [11 x i8] c"smoothstep\00"
-@.str1319 = private unnamed_addr constant [5 x i8] c"dist\00"
-@.str1320 = private unnamed_addr constant [6 x i8] c"dist2\00"
-@.str1321 = private unnamed_addr constant [4 x i8] c"exp\00"
-@.str1322 = private unnamed_addr constant [4 x i8] c"log\00"
-@.str1323 = private unnamed_addr constant [4 x i8] c"pow\00"
-@.str1324 = private unnamed_addr constant [4 x i8] c"min\00"
-@.str1325 = private unnamed_addr constant [4 x i8] c"max\00"
-@.str1326 = private unnamed_addr constant [4 x i8] c"abs\00"
-@.str1327 = private unnamed_addr constant [6 x i8] c"clamp\00"
-@.str1328 = private unnamed_addr constant [5 x i8] c"sign\00"
-@.str1329 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
-@.str1330 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str1331 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str1332 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str1333 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1334 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00"
-@.str1335 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1336 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
-@.str1337 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1338 = private unnamed_addr constant [6 x i8] c"floor\00"
-@.str1339 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str1340 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str1341 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1342 = private unnamed_addr constant [5 x i8] c"ceil\00"
-@.str1343 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1344 = private unnamed_addr constant [8 x i8] c", 65535\00"
-@.str1345 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str1346 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str1347 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1348 = private unnamed_addr constant [6 x i8] c"round\00"
-@.str1349 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1350 = private unnamed_addr constant [8 x i8] c", 32768\00"
-@.str1351 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str1352 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str1353 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1354 = private unnamed_addr constant [5 x i8] c"lerp\00"
-@.str1355 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1356 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00"
-@.str1357 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1358 = private unnamed_addr constant [5 x i8] c"sqrt\00"
-@.str1359 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
-@.str1360 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1361 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1362 = private unnamed_addr constant [4 x i8] c"sin\00"
-@.str1363 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
-@.str1364 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1365 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1366 = private unnamed_addr constant [4 x i8] c"cos\00"
-@.str1367 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1368 = private unnamed_addr constant [9 x i8] c", 102944\00"
-@.str1369 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
-@.str1370 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1371 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1372 = private unnamed_addr constant [4 x i8] c"tan\00"
-@.str1373 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
-@.str1374 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1375 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1376 = private unnamed_addr constant [9 x i8] c", 102944\00"
-@.str1377 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
-@.str1378 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1379 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1380 = private unnamed_addr constant [6 x i8] c"atan2\00"
-@.str1381 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
-@.str1382 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1383 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1384 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1385 = private unnamed_addr constant [5 x i8] c"asin\00"
-@.str1386 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
-@.str1387 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
-@.str1388 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1389 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
-@.str1390 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1391 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1392 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1393 = private unnamed_addr constant [5 x i8] c"acos\00"
-@.str1394 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
-@.str1395 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
-@.str1396 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1397 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
-@.str1398 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1399 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1400 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1401 = private unnamed_addr constant [6 x i8] c"hypot\00"
-@.str1402 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1403 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1404 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
-@.str1405 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1406 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1407 = private unnamed_addr constant [6 x i8] c"dist2\00"
-@.str1408 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1409 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1410 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1411 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1412 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1413 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1286 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1287 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1288 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1289 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
+@.str1290 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1291 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1292 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1293 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1294 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str1295 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str1296 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str1297 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str1298 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
+@.str1299 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1300 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
+@.str1301 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str1302 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str1303 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str1304 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str1305 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str1306 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
+@.str1307 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str1308 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str1309 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str1310 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00"
+@.str1311 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1312 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str1313 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str1314 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1315 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1316 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1317 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1318 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1319 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1320 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1321 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1322 = private unnamed_addr constant [4 x i8] c"min\00"
+@.str1323 = private unnamed_addr constant [4 x i8] c"max\00"
+@.str1324 = private unnamed_addr constant [4 x i8] c"abs\00"
+@.str1325 = private unnamed_addr constant [6 x i8] c"clamp\00"
+@.str1326 = private unnamed_addr constant [5 x i8] c"sign\00"
+@.str1327 = private unnamed_addr constant [6 x i8] c"floor\00"
+@.str1328 = private unnamed_addr constant [5 x i8] c"ceil\00"
+@.str1329 = private unnamed_addr constant [6 x i8] c"round\00"
+@.str1330 = private unnamed_addr constant [5 x i8] c"lerp\00"
+@.str1331 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00"
+@.str1332 = private unnamed_addr constant [6 x i8] c"remap\00"
+@.str1333 = private unnamed_addr constant [5 x i8] c"sqrt\00"
+@.str1334 = private unnamed_addr constant [4 x i8] c"sin\00"
+@.str1335 = private unnamed_addr constant [4 x i8] c"cos\00"
+@.str1336 = private unnamed_addr constant [4 x i8] c"tan\00"
+@.str1337 = private unnamed_addr constant [6 x i8] c"hypot\00"
+@.str1338 = private unnamed_addr constant [6 x i8] c"atan2\00"
+@.str1339 = private unnamed_addr constant [5 x i8] c"asin\00"
+@.str1340 = private unnamed_addr constant [5 x i8] c"acos\00"
+@.str1341 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00"
+@.str1342 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00"
+@.str1343 = private unnamed_addr constant [7 x i8] c"posmod\00"
+@.str1344 = private unnamed_addr constant [5 x i8] c"wrap\00"
+@.str1345 = private unnamed_addr constant [10 x i8] c"ping_pong\00"
+@.str1346 = private unnamed_addr constant [8 x i8] c"snapped\00"
+@.str1347 = private unnamed_addr constant [12 x i8] c"move_toward\00"
+@.str1348 = private unnamed_addr constant [11 x i8] c"smoothstep\00"
+@.str1349 = private unnamed_addr constant [5 x i8] c"dist\00"
+@.str1350 = private unnamed_addr constant [6 x i8] c"dist2\00"
+@.str1351 = private unnamed_addr constant [4 x i8] c"exp\00"
+@.str1352 = private unnamed_addr constant [4 x i8] c"log\00"
+@.str1353 = private unnamed_addr constant [4 x i8] c"pow\00"
+@.str1354 = private unnamed_addr constant [4 x i8] c"min\00"
+@.str1355 = private unnamed_addr constant [4 x i8] c"max\00"
+@.str1356 = private unnamed_addr constant [4 x i8] c"abs\00"
+@.str1357 = private unnamed_addr constant [6 x i8] c"clamp\00"
+@.str1358 = private unnamed_addr constant [5 x i8] c"sign\00"
+@.str1359 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
+@.str1360 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str1361 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str1362 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str1363 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1364 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00"
+@.str1365 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1366 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
+@.str1367 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1368 = private unnamed_addr constant [6 x i8] c"floor\00"
+@.str1369 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str1370 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str1371 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1372 = private unnamed_addr constant [5 x i8] c"ceil\00"
+@.str1373 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1374 = private unnamed_addr constant [8 x i8] c", 65535\00"
+@.str1375 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str1376 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str1377 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1378 = private unnamed_addr constant [6 x i8] c"round\00"
+@.str1379 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1380 = private unnamed_addr constant [8 x i8] c", 32768\00"
+@.str1381 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str1382 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str1383 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1384 = private unnamed_addr constant [5 x i8] c"lerp\00"
+@.str1385 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1386 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00"
+@.str1387 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1388 = private unnamed_addr constant [5 x i8] c"sqrt\00"
+@.str1389 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00"
+@.str1390 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1391 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1392 = private unnamed_addr constant [4 x i8] c"sin\00"
+@.str1393 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00"
+@.str1394 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1395 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1396 = private unnamed_addr constant [4 x i8] c"cos\00"
+@.str1397 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1398 = private unnamed_addr constant [9 x i8] c", 102944\00"
+@.str1399 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00"
+@.str1400 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1401 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1402 = private unnamed_addr constant [4 x i8] c"tan\00"
+@.str1403 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00"
+@.str1404 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1405 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1406 = private unnamed_addr constant [9 x i8] c", 102944\00"
+@.str1407 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00"
+@.str1408 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1409 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1410 = private unnamed_addr constant [6 x i8] c"atan2\00"
+@.str1411 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00"
+@.str1412 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1413 = private unnamed_addr constant [2 x i8] c")\00"
@.str1414 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1415 = private unnamed_addr constant [5 x i8] c"dist\00"
-@.str1416 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1417 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1418 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1419 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1420 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1421 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1422 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
-@.str1423 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1424 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1425 = private unnamed_addr constant [4 x i8] c"exp\00"
-@.str1426 = private unnamed_addr constant [6 x i8] c"94548\00"
-@.str1427 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00"
-@.str1428 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1429 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1430 = private unnamed_addr constant [4 x i8] c"log\00"
-@.str1431 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_log2(i32 \00"
-@.str1432 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1433 = private unnamed_addr constant [6 x i8] c"45426\00"
-@.str1434 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1435 = private unnamed_addr constant [4 x i8] c"pow\00"
-@.str1436 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_log2(i32 \00"
-@.str1437 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1438 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00"
-@.str1439 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1440 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1441 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00"
-@.str1442 = private unnamed_addr constant [5 x i8] c"1144\00"
-@.str1443 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1444 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00"
-@.str1445 = private unnamed_addr constant [8 x i8] c"3754936\00"
-@.str1446 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1447 = private unnamed_addr constant [7 x i8] c"posmod\00"
-@.str1448 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str1415 = private unnamed_addr constant [5 x i8] c"asin\00"
+@.str1416 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
+@.str1417 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00"
+@.str1418 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1419 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00"
+@.str1420 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1421 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1422 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1423 = private unnamed_addr constant [5 x i8] c"acos\00"
+@.str1424 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
+@.str1425 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00"
+@.str1426 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1427 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00"
+@.str1428 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1429 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1430 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1431 = private unnamed_addr constant [6 x i8] c"hypot\00"
+@.str1432 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1433 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1434 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00"
+@.str1435 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1436 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1437 = private unnamed_addr constant [6 x i8] c"dist2\00"
+@.str1438 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1439 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1440 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1441 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1442 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1443 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1444 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1445 = private unnamed_addr constant [5 x i8] c"dist\00"
+@.str1446 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1447 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1448 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1449 = private unnamed_addr constant [3 x i8] c", \00"
@.str1450 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1451 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1452 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str1453 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1454 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1455 = private unnamed_addr constant [5 x i8] c"wrap\00"
-@.str1456 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1457 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1458 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1459 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1460 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str1461 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1462 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1463 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1464 = private unnamed_addr constant [10 x i8] c"srem 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 [4 x i8] c"int\00"
-@.str1469 = private unnamed_addr constant [10 x i8] c"ping_pong\00"
-@.str1470 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str1471 = private unnamed_addr constant [4 x i8] c", 2\00"
-@.str1472 = private unnamed_addr constant [10 x i8] c"srem 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 [10 x i8] c"srem i32 \00"
-@.str1477 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1478 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1452 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(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 [4 x i8] c"exp\00"
+@.str1456 = private unnamed_addr constant [6 x i8] c"94548\00"
+@.str1457 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00"
+@.str1458 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1459 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1460 = private unnamed_addr constant [4 x i8] c"log\00"
+@.str1461 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00"
+@.str1462 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1463 = private unnamed_addr constant [6 x i8] c"45426\00"
+@.str1464 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1465 = private unnamed_addr constant [4 x i8] c"pow\00"
+@.str1466 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00"
+@.str1467 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1468 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00"
+@.str1469 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1470 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1471 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00"
+@.str1472 = private unnamed_addr constant [5 x i8] c"1144\00"
+@.str1473 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1474 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00"
+@.str1475 = private unnamed_addr constant [8 x i8] c"3754936\00"
+@.str1476 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1477 = private unnamed_addr constant [7 x i8] c"posmod\00"
+@.str1478 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str1479 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1480 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
-@.str1481 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str1482 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str1483 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1484 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1485 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1480 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1481 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1482 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str1483 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1484 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1485 = private unnamed_addr constant [5 x i8] c"wrap\00"
@.str1486 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1487 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1488 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1489 = private unnamed_addr constant [8 x i8] c"snapped\00"
-@.str1490 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1491 = private unnamed_addr constant [8 x i8] c", 32768\00"
-@.str1492 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str1493 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str1494 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str1488 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1489 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1490 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str1491 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1492 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1493 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1494 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str1495 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1496 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1497 = private unnamed_addr constant [12 x i8] c"move_toward\00"
-@.str1498 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1499 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1500 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
-@.str1501 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str1502 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str1503 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1504 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1505 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1506 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
-@.str1507 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str1508 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str1509 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str1510 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1511 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00"
-@.str1512 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1513 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
-@.str1514 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str1515 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1516 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1496 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1497 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1498 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1499 = private unnamed_addr constant [10 x i8] c"ping_pong\00"
+@.str1500 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str1501 = private unnamed_addr constant [4 x i8] c", 2\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 [9 x i8] c"sub i32 \00"
+@.str1509 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1510 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
+@.str1511 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str1512 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str1513 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1514 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1515 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1516 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1517 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1518 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
-@.str1519 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1520 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1521 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1522 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1523 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1524 = private unnamed_addr constant [11 x i8] c"smoothstep\00"
-@.str1525 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str1526 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str1527 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1528 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str1529 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
-@.str1530 = private unnamed_addr constant [8 x i8] c", 65536\00"
-@.str1531 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1532 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
-@.str1533 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str1534 = private unnamed_addr constant [4 x i8] c", 2\00"
-@.str1535 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00"
-@.str1536 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1537 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1538 = 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"
-@.str1539 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_sqrt(i32 %x) {\0A\00"
-@.str1540 = 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"
-@.str1541 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00"
-@.str1542 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00"
-@.str1543 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00"
-@.str1544 = 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"
-@.str1545 = 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"
-@.str1546 = 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"
-@.str1547 = 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"
-@.str1548 = 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"
-@.str1549 = 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"
-@.str1550 = 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"
-@.str1551 = 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"
-@.str1552 = 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"
-@.str1553 = private unnamed_addr constant [33 x i8] c"define i32 @fn_fx_sin(i32 %x) {\0A\00"
-@.str1554 = 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"
-@.str1555 = 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"
-@.str1556 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00"
-@.str1557 = 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"
-@.str1558 = 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"
-@.str1559 = 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"
-@.str1560 = private unnamed_addr constant [43 x i8] c"define i32 @fn_fx_atan2(i32 %y, i32 %x) {\0A\00"
-@.str1561 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
-@.str1562 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00"
-@.str1563 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00"
-@.str1564 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00"
-@.str1565 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00"
-@.str1566 = private unnamed_addr constant [4 x i8] c"z:\0A\00"
-@.str1567 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00"
-@.str1568 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
-@.str1569 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00"
-@.str1570 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00"
-@.str1571 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00"
-@.str1572 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00"
-@.str1573 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00"
-@.str1574 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00"
-@.str1575 = private unnamed_addr constant [5 x i8] c"xp:\0A\00"
-@.str1576 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00"
-@.str1577 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00"
-@.str1578 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00"
-@.str1579 = private unnamed_addr constant [5 x i8] c"xn:\0A\00"
-@.str1580 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00"
-@.str1581 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00"
-@.str1582 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00"
-@.str1583 = private unnamed_addr constant [5 x i8] c"dv:\0A\00"
-@.str1584 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00"
-@.str1585 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00"
-@.str1586 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00"
-@.str1587 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00"
-@.str1588 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00"
-@.str1589 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00"
-@.str1590 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00"
-@.str1591 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00"
-@.str1592 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00"
-@.str1593 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00"
-@.str1594 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00"
-@.str1595 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00"
-@.str1596 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00"
-@.str1597 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00"
-@.str1598 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00"
-@.str1599 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00"
-@.str1600 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00"
-@.str1601 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00"
-@.str1602 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00"
-@.str1603 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00"
-@.str1604 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00"
-@.str1605 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00"
-@.str1606 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00"
-@.str1607 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00"
-@.str1608 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00"
-@.str1609 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00"
-@.str1610 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00"
-@.str1611 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00"
-@.str1612 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00"
-@.str1613 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00"
-@.str1614 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00"
-@.str1615 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str1616 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_exp2(i32 %x) {\0A\00"
-@.str1617 = 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"
-@.str1618 = 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"
-@.str1619 = 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"
-@.str1620 = 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"
-@.str1621 = 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"
-@.str1622 = 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"
-@.str1623 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00"
-@.str1624 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00"
-@.str1625 = 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"
-@.str1626 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00"
-@.str1627 = 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"
-@.str1628 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00"
-@.str1629 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00"
-@.str1630 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00"
-@.str1631 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_log2(i32 %x) {\0A\00"
-@.str1632 = 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"
-@.str1633 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00"
-@.str1634 = 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"
-@.str1635 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00"
-@.str1636 = 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"
-@.str1637 = 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"
-@.str1638 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00"
-@.str1639 = 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"
-@.str1640 = 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"
-@.str1641 = 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"
-@.str1642 = 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"
-@.str1643 = 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"
-@.str1644 = 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"
-@.str1645 = 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"
-@.str1646 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00"
-@.str1647 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str1648 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str1649 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
-@.str1650 = private unnamed_addr constant [5 x i8] c", 32\00"
-@.str1651 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str1652 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str1653 = private unnamed_addr constant [8 x i8] c"or i64 \00"
-@.str1654 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1655 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
-@.str1656 = private unnamed_addr constant [5 x i8] c", 32\00"
-@.str1657 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str1658 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str1659 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str1660 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str1661 = private unnamed_addr constant [5 x i8] c"make\00"
-@.str1662 = private unnamed_addr constant [5 x i8] c"zero\00"
-@.str1663 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str1664 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str1665 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str1666 = private unnamed_addr constant [4 x i8] c"sub\00"
-@.str1667 = private unnamed_addr constant [6 x i8] c"scale\00"
-@.str1668 = private unnamed_addr constant [4 x i8] c"dot\00"
-@.str1669 = private unnamed_addr constant [7 x i8] c"length\00"
-@.str1670 = private unnamed_addr constant [9 x i8] c"distance\00"
-@.str1671 = private unnamed_addr constant [10 x i8] c"normalize\00"
-@.str1672 = private unnamed_addr constant [5 x i8] c"lerp\00"
-@.str1673 = private unnamed_addr constant [7 x i8] c"rotate\00"
-@.str1674 = private unnamed_addr constant [6 x i8] c"angle\00"
-@.str1675 = private unnamed_addr constant [11 x i8] c"from_angle\00"
-@.str1676 = private unnamed_addr constant [5 x i8] c"zero\00"
-@.str1677 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1678 = private unnamed_addr constant [7 x i8] c"Vector\00"
-@.str1679 = private unnamed_addr constant [5 x i8] c"make\00"
-@.str1680 = private unnamed_addr constant [7 x i8] c"Vector\00"
-@.str1681 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str1682 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1683 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str1684 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1685 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str1686 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1687 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1688 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1689 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1690 = private unnamed_addr constant [7 x i8] c"Vector\00"
-@.str1691 = private unnamed_addr constant [4 x i8] c"sub\00"
-@.str1692 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1693 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1694 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1695 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1696 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str1518 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1519 = private unnamed_addr constant [8 x i8] c"snapped\00"
+@.str1520 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1521 = private unnamed_addr constant [8 x i8] c", 32768\00"
+@.str1522 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str1523 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str1524 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str1525 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1526 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1527 = private unnamed_addr constant [12 x i8] c"move_toward\00"
+@.str1528 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1529 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1530 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
+@.str1531 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str1532 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str1533 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1534 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1535 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1536 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
+@.str1537 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str1538 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str1539 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str1540 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1541 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00"
+@.str1542 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1543 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
+@.str1544 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str1545 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1546 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1547 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1548 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
+@.str1549 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1550 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1551 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1552 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1553 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1554 = private unnamed_addr constant [11 x i8] c"smoothstep\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 [14 x i8] c", i32 0, i32 \00"
+@.str1559 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
+@.str1560 = private unnamed_addr constant [8 x i8] c", 65536\00"
+@.str1561 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1562 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
+@.str1563 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str1564 = private unnamed_addr constant [4 x i8] c", 2\00"
+@.str1565 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00"
+@.str1566 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1567 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1568 = 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"
+@.str1569 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_sqrt(i32 %x) {\0A\00"
+@.str1570 = 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"
+@.str1571 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00"
+@.str1572 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00"
+@.str1573 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00"
+@.str1574 = 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"
+@.str1575 = 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"
+@.str1576 = 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"
+@.str1577 = 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"
+@.str1578 = 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"
+@.str1579 = 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"
+@.str1580 = 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"
+@.str1581 = 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"
+@.str1582 = 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"
+@.str1583 = private unnamed_addr constant [33 x i8] c"define i32 @lp_fx_sin(i32 %x) {\0A\00"
+@.str1584 = 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"
+@.str1585 = 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"
+@.str1586 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00"
+@.str1587 = 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"
+@.str1588 = 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"
+@.str1589 = 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"
+@.str1590 = private unnamed_addr constant [43 x i8] c"define i32 @lp_fx_atan2(i32 %y, i32 %x) {\0A\00"
+@.str1591 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
+@.str1592 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00"
+@.str1593 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00"
+@.str1594 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00"
+@.str1595 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00"
+@.str1596 = private unnamed_addr constant [4 x i8] c"z:\0A\00"
+@.str1597 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00"
+@.str1598 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
+@.str1599 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00"
+@.str1600 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00"
+@.str1601 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00"
+@.str1602 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00"
+@.str1603 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00"
+@.str1604 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00"
+@.str1605 = private unnamed_addr constant [5 x i8] c"xp:\0A\00"
+@.str1606 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00"
+@.str1607 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00"
+@.str1608 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00"
+@.str1609 = private unnamed_addr constant [5 x i8] c"xn:\0A\00"
+@.str1610 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00"
+@.str1611 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00"
+@.str1612 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00"
+@.str1613 = private unnamed_addr constant [5 x i8] c"dv:\0A\00"
+@.str1614 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00"
+@.str1615 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00"
+@.str1616 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00"
+@.str1617 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00"
+@.str1618 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00"
+@.str1619 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00"
+@.str1620 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00"
+@.str1621 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00"
+@.str1622 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00"
+@.str1623 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00"
+@.str1624 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00"
+@.str1625 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00"
+@.str1626 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00"
+@.str1627 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00"
+@.str1628 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00"
+@.str1629 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00"
+@.str1630 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00"
+@.str1631 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00"
+@.str1632 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00"
+@.str1633 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00"
+@.str1634 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00"
+@.str1635 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00"
+@.str1636 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00"
+@.str1637 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00"
+@.str1638 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00"
+@.str1639 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00"
+@.str1640 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00"
+@.str1641 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00"
+@.str1642 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00"
+@.str1643 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00"
+@.str1644 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00"
+@.str1645 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str1646 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_exp2(i32 %x) {\0A\00"
+@.str1647 = 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"
+@.str1648 = 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"
+@.str1649 = 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"
+@.str1650 = 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"
+@.str1651 = 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"
+@.str1652 = 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"
+@.str1653 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00"
+@.str1654 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00"
+@.str1655 = 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"
+@.str1656 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00"
+@.str1657 = 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"
+@.str1658 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00"
+@.str1659 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00"
+@.str1660 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00"
+@.str1661 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_log2(i32 %x) {\0A\00"
+@.str1662 = 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"
+@.str1663 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00"
+@.str1664 = 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"
+@.str1665 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00"
+@.str1666 = 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"
+@.str1667 = 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"
+@.str1668 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00"
+@.str1669 = 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"
+@.str1670 = 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"
+@.str1671 = 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"
+@.str1672 = 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"
+@.str1673 = 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"
+@.str1674 = 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"
+@.str1675 = 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"
+@.str1676 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00"
+@.str1677 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str1678 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str1679 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
+@.str1680 = private unnamed_addr constant [5 x i8] c", 32\00"
+@.str1681 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str1682 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str1683 = private unnamed_addr constant [8 x i8] c"or i64 \00"
+@.str1684 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1685 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
+@.str1686 = private unnamed_addr constant [5 x i8] c", 32\00"
+@.str1687 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str1688 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str1689 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str1690 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str1691 = private unnamed_addr constant [5 x i8] c"make\00"
+@.str1692 = private unnamed_addr constant [5 x i8] c"zero\00"
+@.str1693 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str1694 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str1695 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str1696 = private unnamed_addr constant [4 x i8] c"sub\00"
@.str1697 = private unnamed_addr constant [6 x i8] c"scale\00"
-@.str1698 = private unnamed_addr constant [7 x i8] c"Vector\00"
-@.str1699 = private unnamed_addr constant [4 x i8] c"dot\00"
-@.str1700 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1701 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1702 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1703 = private unnamed_addr constant [7 x i8] c"length\00"
-@.str1704 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1705 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1706 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
-@.str1707 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1708 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1709 = private unnamed_addr constant [9 x i8] c"distance\00"
-@.str1710 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1711 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1712 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1713 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1714 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1715 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1716 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
-@.str1717 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1718 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1719 = private unnamed_addr constant [10 x i8] c"normalize\00"
-@.str1720 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1721 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1722 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
-@.str1723 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1724 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str1725 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str1726 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1727 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
-@.str1728 = private unnamed_addr constant [6 x i8] c"65536\00"
-@.str1729 = private unnamed_addr constant [7 x i8] c"Vector\00"
-@.str1730 = private unnamed_addr constant [7 x i8] c"rotate\00"
-@.str1731 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
-@.str1732 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1733 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1734 = private unnamed_addr constant [9 x i8] c", 102944\00"
-@.str1735 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
-@.str1736 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1737 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1738 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1739 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1740 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1741 = private unnamed_addr constant [7 x i8] c"Vector\00"
-@.str1742 = private unnamed_addr constant [6 x i8] c"angle\00"
-@.str1743 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
-@.str1744 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1745 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1746 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1747 = private unnamed_addr constant [11 x i8] c"from_angle\00"
-@.str1748 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
-@.str1749 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1698 = private unnamed_addr constant [4 x i8] c"dot\00"
+@.str1699 = private unnamed_addr constant [7 x i8] c"length\00"
+@.str1700 = private unnamed_addr constant [9 x i8] c"distance\00"
+@.str1701 = private unnamed_addr constant [10 x i8] c"normalize\00"
+@.str1702 = private unnamed_addr constant [5 x i8] c"lerp\00"
+@.str1703 = private unnamed_addr constant [7 x i8] c"rotate\00"
+@.str1704 = private unnamed_addr constant [6 x i8] c"angle\00"
+@.str1705 = private unnamed_addr constant [11 x i8] c"from_angle\00"
+@.str1706 = private unnamed_addr constant [5 x i8] c"zero\00"
+@.str1707 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1708 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str1709 = private unnamed_addr constant [5 x i8] c"make\00"
+@.str1710 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str1711 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str1712 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1713 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str1714 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1715 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str1716 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1717 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1718 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1719 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1720 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str1721 = private unnamed_addr constant [4 x i8] c"sub\00"
+@.str1722 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1723 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1724 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1725 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1726 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str1727 = private unnamed_addr constant [6 x i8] c"scale\00"
+@.str1728 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str1729 = private unnamed_addr constant [4 x i8] c"dot\00"
+@.str1730 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1731 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1732 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1733 = private unnamed_addr constant [7 x i8] c"length\00"
+@.str1734 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1735 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1736 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00"
+@.str1737 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1738 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1739 = private unnamed_addr constant [9 x i8] c"distance\00"
+@.str1740 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1741 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1742 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1743 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1744 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1745 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1746 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00"
+@.str1747 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1748 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1749 = private unnamed_addr constant [10 x i8] c"normalize\00"
@.str1750 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1751 = private unnamed_addr constant [9 x i8] c", 102944\00"
-@.str1752 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
+@.str1751 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1752 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00"
@.str1753 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1754 = private unnamed_addr constant [7 x i8] c"Vector\00"
-@.str1755 = private unnamed_addr constant [7 x i8] c"Vector\00"
-@.str1756 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
-@.str1757 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str1758 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str1759 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str1760 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1761 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1762 = private unnamed_addr constant [5 x i8] c"make\00"
-@.str1763 = private unnamed_addr constant [5 x i8] c"zero\00"
-@.str1764 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str1765 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str1766 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str1767 = private unnamed_addr constant [4 x i8] c"sub\00"
-@.str1768 = private unnamed_addr constant [6 x i8] c"scale\00"
-@.str1769 = private unnamed_addr constant [4 x i8] c"dot\00"
-@.str1770 = private unnamed_addr constant [6 x i8] c"equal\00"
-@.str1771 = private unnamed_addr constant [10 x i8] c"manhattan\00"
-@.str1772 = private unnamed_addr constant [10 x i8] c"to_vector\00"
-@.str1773 = private unnamed_addr constant [10 x i8] c"distance2\00"
-@.str1774 = private unnamed_addr constant [7 x i8] c"within\00"
-@.str1775 = private unnamed_addr constant [8 x i8] c"heading\00"
-@.str1776 = private unnamed_addr constant [6 x i8] c"along\00"
-@.str1777 = private unnamed_addr constant [5 x i8] c"step\00"
-@.str1778 = private unnamed_addr constant [5 x i8] c"zero\00"
-@.str1779 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str1780 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str1781 = private unnamed_addr constant [5 x i8] c"make\00"
-@.str1782 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str1783 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str1784 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1785 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str1786 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1787 = private unnamed_addr constant [10 x i8] c"distance2\00"
-@.str1788 = private unnamed_addr constant [7 x i8] c"within\00"
-@.str1789 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1790 = private unnamed_addr constant [3 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"mul i32 \00"
-@.str1794 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1795 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str1796 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1797 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1798 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1799 = private unnamed_addr constant [10 x i8] c"distance2\00"
-@.str1800 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1801 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str1802 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1803 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
-@.str1804 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1805 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str1806 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str1807 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str1808 = private unnamed_addr constant [8 x i8] c"heading\00"
-@.str1809 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00"
-@.str1810 = private unnamed_addr constant [39 x i8] c"IVec2.heading needs the engine runtime\00"
-@.str1811 = private unnamed_addr constant [34 x i8] c"call i32 @fn_rt_ivec_heading(i64 \00"
-@.str1812 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str1813 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1754 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str1755 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str1756 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1757 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
+@.str1758 = private unnamed_addr constant [6 x i8] c"65536\00"
+@.str1759 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str1760 = private unnamed_addr constant [7 x i8] c"rotate\00"
+@.str1761 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00"
+@.str1762 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1763 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1764 = private unnamed_addr constant [9 x i8] c", 102944\00"
+@.str1765 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00"
+@.str1766 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1767 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1768 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1769 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1770 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1771 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str1772 = private unnamed_addr constant [6 x i8] c"angle\00"
+@.str1773 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00"
+@.str1774 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1775 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1776 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1777 = private unnamed_addr constant [11 x i8] c"from_angle\00"
+@.str1778 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00"
+@.str1779 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1780 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1781 = private unnamed_addr constant [9 x i8] c", 102944\00"
+@.str1782 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00"
+@.str1783 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1784 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str1785 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str1786 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
+@.str1787 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str1788 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str1789 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str1790 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1791 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1792 = private unnamed_addr constant [5 x i8] c"make\00"
+@.str1793 = private unnamed_addr constant [5 x i8] c"zero\00"
+@.str1794 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str1795 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str1796 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str1797 = private unnamed_addr constant [4 x i8] c"sub\00"
+@.str1798 = private unnamed_addr constant [6 x i8] c"scale\00"
+@.str1799 = private unnamed_addr constant [4 x i8] c"dot\00"
+@.str1800 = private unnamed_addr constant [6 x i8] c"equal\00"
+@.str1801 = private unnamed_addr constant [10 x i8] c"manhattan\00"
+@.str1802 = private unnamed_addr constant [10 x i8] c"to_vector\00"
+@.str1803 = private unnamed_addr constant [10 x i8] c"distance2\00"
+@.str1804 = private unnamed_addr constant [7 x i8] c"within\00"
+@.str1805 = private unnamed_addr constant [8 x i8] c"heading\00"
+@.str1806 = private unnamed_addr constant [6 x i8] c"along\00"
+@.str1807 = private unnamed_addr constant [5 x i8] c"step\00"
+@.str1808 = private unnamed_addr constant [5 x i8] c"zero\00"
+@.str1809 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str1810 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str1811 = private unnamed_addr constant [5 x i8] c"make\00"
+@.str1812 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str1813 = private unnamed_addr constant [2 x i8] c"x\00"
@.str1814 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1815 = private unnamed_addr constant [6 x i8] c"along\00"
-@.str1816 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00"
-@.str1817 = private unnamed_addr constant [37 x i8] c"IVec2.along needs the engine runtime\00"
-@.str1818 = private unnamed_addr constant [32 x i8] c"call i64 @fn_rt_ivec_along(i64 \00"
-@.str1819 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1820 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str1821 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1822 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str1823 = private unnamed_addr constant [5 x i8] c"step\00"
-@.str1824 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00"
-@.str1825 = private unnamed_addr constant [36 x i8] c"IVec2.step needs the engine runtime\00"
-@.str1826 = private unnamed_addr constant [31 x i8] c"call i64 @fn_rt_ivec_step(i32 \00"
-@.str1827 = private unnamed_addr constant [2 x i8] c")\00"
-@.str1828 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str1829 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str1830 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1831 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1832 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1833 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1834 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str1835 = private unnamed_addr constant [4 x i8] c"sub\00"
-@.str1836 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1837 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1838 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1839 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1840 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str1841 = private unnamed_addr constant [6 x i8] c"scale\00"
-@.str1842 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str1843 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1844 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str1845 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1846 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str1847 = private unnamed_addr constant [4 x i8] c"dot\00"
-@.str1848 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str1849 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1850 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str1851 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1852 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1853 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1854 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1855 = private unnamed_addr constant [6 x i8] c"equal\00"
-@.str1856 = private unnamed_addr constant [13 x i8] c"icmp eq i64 \00"
-@.str1857 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1858 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str1859 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str1860 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str1861 = private unnamed_addr constant [10 x i8] c"manhattan\00"
-@.str1862 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1815 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str1816 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1817 = private unnamed_addr constant [10 x i8] c"distance2\00"
+@.str1818 = private unnamed_addr constant [7 x i8] c"within\00"
+@.str1819 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1820 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1821 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1822 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1823 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str1824 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1825 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str1826 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1827 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1828 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1829 = private unnamed_addr constant [10 x i8] c"distance2\00"
+@.str1830 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1831 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str1832 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1833 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
+@.str1834 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1835 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str1836 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str1837 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str1838 = private unnamed_addr constant [8 x i8] c"heading\00"
+@.str1839 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00"
+@.str1840 = private unnamed_addr constant [39 x i8] c"IVec2.heading needs the engine runtime\00"
+@.str1841 = private unnamed_addr constant [34 x i8] c"call i32 @fn_rt_ivec_heading(i64 \00"
+@.str1842 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str1843 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1844 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1845 = private unnamed_addr constant [6 x i8] c"along\00"
+@.str1846 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00"
+@.str1847 = private unnamed_addr constant [37 x i8] c"IVec2.along needs the engine runtime\00"
+@.str1848 = private unnamed_addr constant [32 x i8] c"call i64 @fn_rt_ivec_along(i64 \00"
+@.str1849 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1850 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str1851 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1852 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str1853 = private unnamed_addr constant [5 x i8] c"step\00"
+@.str1854 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00"
+@.str1855 = private unnamed_addr constant [36 x i8] c"IVec2.step needs the engine runtime\00"
+@.str1856 = private unnamed_addr constant [31 x i8] c"call i64 @fn_rt_ivec_step(i32 \00"
+@.str1857 = private unnamed_addr constant [2 x i8] c")\00"
+@.str1858 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str1859 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str1860 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1861 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1862 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1863 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1864 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str1865 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1866 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1864 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str1865 = private unnamed_addr constant [4 x i8] c"sub\00"
+@.str1866 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1867 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1868 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str1869 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
-@.str1870 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str1871 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
-@.str1872 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str1873 = private unnamed_addr constant [7 x i8] c"Vector\00"
-@.str1874 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str1875 = private unnamed_addr constant [9 x i8] c" to i128\00"
-@.str1876 = private unnamed_addr constant [10 x i8] c"shl i128 \00"
-@.str1877 = private unnamed_addr constant [5 x i8] c", 96\00"
-@.str1878 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str1879 = private unnamed_addr constant [9 x i8] c" to i128\00"
-@.str1880 = private unnamed_addr constant [10 x i8] c"shl i128 \00"
-@.str1881 = private unnamed_addr constant [5 x i8] c", 64\00"
-@.str1882 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str1883 = private unnamed_addr constant [9 x i8] c" to i128\00"
-@.str1884 = private unnamed_addr constant [10 x i8] c"shl i128 \00"
-@.str1885 = private unnamed_addr constant [5 x i8] c", 32\00"
-@.str1886 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str1887 = private unnamed_addr constant [9 x i8] c" to i128\00"
-@.str1888 = private unnamed_addr constant [9 x i8] c"or i128 \00"
-@.str1889 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1890 = private unnamed_addr constant [9 x i8] c"or i128 \00"
-@.str1891 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1892 = private unnamed_addr constant [9 x i8] c"or i128 \00"
+@.str1868 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1869 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1870 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str1871 = private unnamed_addr constant [6 x i8] c"scale\00"
+@.str1872 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str1873 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1874 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str1875 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1876 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str1877 = private unnamed_addr constant [4 x i8] c"dot\00"
+@.str1878 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str1879 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1880 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str1881 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1882 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1883 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1884 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1885 = private unnamed_addr constant [6 x i8] c"equal\00"
+@.str1886 = private unnamed_addr constant [13 x i8] c"icmp eq i64 \00"
+@.str1887 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1888 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str1889 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str1890 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str1891 = private unnamed_addr constant [10 x i8] c"manhattan\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 [12 x i8] c"trunc i128 \00"
-@.str1895 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str1896 = private unnamed_addr constant [11 x i8] c"lshr i128 \00"
+@.str1894 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str1895 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1896 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1897 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1898 = private unnamed_addr constant [12 x i8] c"trunc i128 \00"
-@.str1899 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str1900 = private unnamed_addr constant [6 x i8] c"icmp \00"
-@.str1901 = private unnamed_addr constant [6 x i8] c" i32 \00"
-@.str1902 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1903 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str1904 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str1905 = private unnamed_addr constant [5 x i8] c"make\00"
-@.str1906 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str1907 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str1908 = private unnamed_addr constant [2 x i8] c"w\00"
-@.str1909 = private unnamed_addr constant [2 x i8] c"h\00"
-@.str1910 = private unnamed_addr constant [6 x i8] c"right\00"
-@.str1911 = private unnamed_addr constant [7 x i8] c"bottom\00"
-@.str1912 = private unnamed_addr constant [7 x i8] c"center\00"
-@.str1913 = private unnamed_addr constant [9 x i8] c"contains\00"
-@.str1914 = private unnamed_addr constant [11 x i8] c"intersects\00"
-@.str1915 = private unnamed_addr constant [5 x i8] c"make\00"
-@.str1916 = private unnamed_addr constant [5 x i8] c"Rect\00"
-@.str1917 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str1918 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1919 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str1920 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1921 = private unnamed_addr constant [2 x i8] c"w\00"
-@.str1922 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1923 = private unnamed_addr constant [2 x i8] c"h\00"
-@.str1924 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1925 = private unnamed_addr constant [6 x i8] c"right\00"
-@.str1926 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1898 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str1899 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
+@.str1900 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str1901 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
+@.str1902 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str1903 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str1904 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str1905 = private unnamed_addr constant [9 x i8] c" to i128\00"
+@.str1906 = private unnamed_addr constant [10 x i8] c"shl i128 \00"
+@.str1907 = private unnamed_addr constant [5 x i8] c", 96\00"
+@.str1908 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str1909 = private unnamed_addr constant [9 x i8] c" to i128\00"
+@.str1910 = private unnamed_addr constant [10 x i8] c"shl i128 \00"
+@.str1911 = private unnamed_addr constant [5 x i8] c", 64\00"
+@.str1912 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str1913 = private unnamed_addr constant [9 x i8] c" to i128\00"
+@.str1914 = private unnamed_addr constant [10 x i8] c"shl i128 \00"
+@.str1915 = private unnamed_addr constant [5 x i8] c", 32\00"
+@.str1916 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str1917 = private unnamed_addr constant [9 x i8] c" to i128\00"
+@.str1918 = private unnamed_addr constant [9 x i8] c"or i128 \00"
+@.str1919 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1920 = private unnamed_addr constant [9 x i8] c"or i128 \00"
+@.str1921 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1922 = private unnamed_addr constant [9 x i8] c"or i128 \00"
+@.str1923 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1924 = private unnamed_addr constant [12 x i8] c"trunc i128 \00"
+@.str1925 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str1926 = private unnamed_addr constant [11 x i8] c"lshr i128 \00"
@.str1927 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1928 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1929 = private unnamed_addr constant [7 x i8] c"bottom\00"
-@.str1930 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1931 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1932 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str1933 = private unnamed_addr constant [7 x i8] c"center\00"
-@.str1934 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str1935 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str1936 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str1937 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str1938 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1939 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1940 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1941 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1942 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str1928 = private unnamed_addr constant [12 x i8] c"trunc i128 \00"
+@.str1929 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str1930 = private unnamed_addr constant [6 x i8] c"icmp \00"
+@.str1931 = private unnamed_addr constant [6 x i8] c" i32 \00"
+@.str1932 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1933 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str1934 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str1935 = private unnamed_addr constant [5 x i8] c"make\00"
+@.str1936 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str1937 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str1938 = private unnamed_addr constant [2 x i8] c"w\00"
+@.str1939 = private unnamed_addr constant [2 x i8] c"h\00"
+@.str1940 = private unnamed_addr constant [6 x i8] c"right\00"
+@.str1941 = private unnamed_addr constant [7 x i8] c"bottom\00"
+@.str1942 = private unnamed_addr constant [7 x i8] c"center\00"
@.str1943 = private unnamed_addr constant [9 x i8] c"contains\00"
-@.str1944 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1945 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1946 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1947 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1948 = private unnamed_addr constant [4 x i8] c"sge\00"
-@.str1949 = private unnamed_addr constant [4 x i8] c"slt\00"
-@.str1950 = private unnamed_addr constant [4 x i8] c"sge\00"
-@.str1951 = private unnamed_addr constant [4 x i8] c"slt\00"
-@.str1952 = private unnamed_addr constant [9 x i8] c"and i32 \00"
-@.str1953 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1954 = private unnamed_addr constant [9 x i8] c"and i32 \00"
-@.str1955 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1956 = private unnamed_addr constant [9 x i8] c"and i32 \00"
+@.str1944 = private unnamed_addr constant [11 x i8] c"intersects\00"
+@.str1945 = private unnamed_addr constant [5 x i8] c"make\00"
+@.str1946 = private unnamed_addr constant [5 x i8] c"Rect\00"
+@.str1947 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str1948 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1949 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str1950 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1951 = private unnamed_addr constant [2 x i8] c"w\00"
+@.str1952 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1953 = private unnamed_addr constant [2 x i8] c"h\00"
+@.str1954 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1955 = private unnamed_addr constant [6 x i8] c"right\00"
+@.str1956 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1957 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1958 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str1959 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1960 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1961 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1962 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1963 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1964 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1965 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str1966 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1967 = private unnamed_addr constant [4 x i8] c"slt\00"
-@.str1968 = private unnamed_addr constant [4 x i8] c"slt\00"
-@.str1969 = private unnamed_addr constant [4 x i8] c"slt\00"
-@.str1970 = private unnamed_addr constant [4 x i8] c"slt\00"
-@.str1971 = private unnamed_addr constant [9 x i8] c"and i32 \00"
-@.str1972 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1973 = private unnamed_addr constant [9 x i8] c"and i32 \00"
-@.str1974 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1975 = private unnamed_addr constant [9 x i8] c"and i32 \00"
-@.str1976 = private unnamed_addr constant [3 x i8] c", \00"
-@.str1977 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str1978 = private unnamed_addr constant [7 x i8] c"length\00"
-@.str1979 = private unnamed_addr constant [8 x i8] c"char_at\00"
-@.str1980 = private unnamed_addr constant [6 x i8] c"slice\00"
-@.str1981 = private unnamed_addr constant [7 x i8] c"equals\00"
-@.str1982 = private unnamed_addr constant [7 x i8] c"concat\00"
-@.str1983 = private unnamed_addr constant [7 x i8] c"to_int\00"
-@.str1984 = private unnamed_addr constant [9 x i8] c"from_int\00"
-@.str1985 = private unnamed_addr constant [12 x i8] c"starts_with\00"
-@.str1986 = private unnamed_addr constant [10 x i8] c"ends_with\00"
-@.str1987 = private unnamed_addr constant [9 x i8] c"contains\00"
-@.str1988 = private unnamed_addr constant [9 x i8] c"index_of\00"
-@.str1989 = private unnamed_addr constant [6 x i8] c"upper\00"
-@.str1990 = private unnamed_addr constant [6 x i8] c"lower\00"
-@.str1991 = private unnamed_addr constant [5 x i8] c"trim\00"
-@.str1992 = private unnamed_addr constant [7 x i8] c"repeat\00"
-@.str1993 = private unnamed_addr constant [9 x i8] c"pad_left\00"
-@.str1994 = private unnamed_addr constant [10 x i8] c"pad_right\00"
-@.str1995 = private unnamed_addr constant [6 x i8] c"split\00"
-@.str1996 = private unnamed_addr constant [5 x i8] c"join\00"
-@.str1997 = private unnamed_addr constant [8 x i8] c"replace\00"
-@.str1998 = private unnamed_addr constant [9 x i8] c"from_int\00"
-@.str1999 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00"
-@.str2000 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2001 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2002 = private unnamed_addr constant [6 x i8] c"slice\00"
-@.str2003 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00"
-@.str2004 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str2005 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str2006 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2007 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2008 = private unnamed_addr constant [7 x i8] c"equals\00"
-@.str2009 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00"
-@.str2010 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str2011 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2012 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str2013 = private unnamed_addr constant [7 x i8] c"concat\00"
-@.str2014 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00"
-@.str2015 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str2016 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2017 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2018 = private unnamed_addr constant [7 x i8] c"length\00"
-@.str2019 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
-@.str2020 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2021 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str2022 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str2023 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str2024 = private unnamed_addr constant [8 x i8] c"char_at\00"
-@.str2025 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
-@.str2026 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str2027 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
-@.str2028 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
-@.str2029 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str2030 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str2031 = private unnamed_addr constant [7 x i8] c"to_int\00"
-@.str2032 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00"
-@.str2033 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2034 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str2035 = private unnamed_addr constant [6 x i8] c"upper\00"
-@.str2036 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_upper(ptr \00"
-@.str2037 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2038 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2039 = private unnamed_addr constant [6 x i8] c"lower\00"
-@.str2040 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_lower(ptr \00"
+@.str1958 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1959 = private unnamed_addr constant [7 x i8] c"bottom\00"
+@.str1960 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1961 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1962 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str1963 = private unnamed_addr constant [7 x i8] c"center\00"
+@.str1964 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str1965 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str1966 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str1967 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str1968 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1969 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1970 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1971 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1972 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str1973 = private unnamed_addr constant [9 x i8] c"contains\00"
+@.str1974 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1975 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1976 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1977 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1978 = private unnamed_addr constant [4 x i8] c"sge\00"
+@.str1979 = private unnamed_addr constant [4 x i8] c"slt\00"
+@.str1980 = private unnamed_addr constant [4 x i8] c"sge\00"
+@.str1981 = private unnamed_addr constant [4 x i8] c"slt\00"
+@.str1982 = private unnamed_addr constant [9 x i8] c"and i32 \00"
+@.str1983 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1984 = private unnamed_addr constant [9 x i8] c"and i32 \00"
+@.str1985 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1986 = private unnamed_addr constant [9 x i8] c"and i32 \00"
+@.str1987 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1988 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str1989 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1990 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1991 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1992 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1993 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1994 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1995 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str1996 = private unnamed_addr constant [3 x i8] c", \00"
+@.str1997 = private unnamed_addr constant [4 x i8] c"slt\00"
+@.str1998 = private unnamed_addr constant [4 x i8] c"slt\00"
+@.str1999 = private unnamed_addr constant [4 x i8] c"slt\00"
+@.str2000 = private unnamed_addr constant [4 x i8] c"slt\00"
+@.str2001 = private unnamed_addr constant [9 x i8] c"and i32 \00"
+@.str2002 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2003 = private unnamed_addr constant [9 x i8] c"and i32 \00"
+@.str2004 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2005 = private unnamed_addr constant [9 x i8] c"and i32 \00"
+@.str2006 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2007 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str2008 = private unnamed_addr constant [7 x i8] c"length\00"
+@.str2009 = private unnamed_addr constant [8 x i8] c"char_at\00"
+@.str2010 = private unnamed_addr constant [6 x i8] c"slice\00"
+@.str2011 = private unnamed_addr constant [7 x i8] c"equals\00"
+@.str2012 = private unnamed_addr constant [7 x i8] c"concat\00"
+@.str2013 = private unnamed_addr constant [7 x i8] c"to_int\00"
+@.str2014 = private unnamed_addr constant [9 x i8] c"from_int\00"
+@.str2015 = private unnamed_addr constant [12 x i8] c"starts_with\00"
+@.str2016 = private unnamed_addr constant [10 x i8] c"ends_with\00"
+@.str2017 = private unnamed_addr constant [9 x i8] c"contains\00"
+@.str2018 = private unnamed_addr constant [9 x i8] c"index_of\00"
+@.str2019 = private unnamed_addr constant [6 x i8] c"upper\00"
+@.str2020 = private unnamed_addr constant [6 x i8] c"lower\00"
+@.str2021 = private unnamed_addr constant [5 x i8] c"trim\00"
+@.str2022 = private unnamed_addr constant [7 x i8] c"repeat\00"
+@.str2023 = private unnamed_addr constant [9 x i8] c"pad_left\00"
+@.str2024 = private unnamed_addr constant [10 x i8] c"pad_right\00"
+@.str2025 = private unnamed_addr constant [6 x i8] c"split\00"
+@.str2026 = private unnamed_addr constant [5 x i8] c"join\00"
+@.str2027 = private unnamed_addr constant [8 x i8] c"replace\00"
+@.str2028 = private unnamed_addr constant [9 x i8] c"from_int\00"
+@.str2029 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00"
+@.str2030 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2031 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2032 = private unnamed_addr constant [6 x i8] c"slice\00"
+@.str2033 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00"
+@.str2034 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str2035 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str2036 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2037 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2038 = private unnamed_addr constant [7 x i8] c"equals\00"
+@.str2039 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00"
+@.str2040 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str2041 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2042 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2043 = private unnamed_addr constant [5 x i8] c"trim\00"
-@.str2044 = private unnamed_addr constant [27 x i8] c"call ptr @fn_str_trim(ptr \00"
-@.str2045 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2046 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2047 = private unnamed_addr constant [7 x i8] c"repeat\00"
-@.str2048 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_repeat(ptr \00"
-@.str2049 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str2042 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str2043 = private unnamed_addr constant [7 x i8] c"concat\00"
+@.str2044 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00"
+@.str2045 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str2046 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2047 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2048 = private unnamed_addr constant [7 x i8] c"length\00"
+@.str2049 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
@.str2050 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2051 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2052 = private unnamed_addr constant [9 x i8] c"pad_left\00"
-@.str2053 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_pad(ptr \00"
-@.str2054 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str2055 = private unnamed_addr constant [8 x i8] c", i1 1)\00"
-@.str2056 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2057 = private unnamed_addr constant [10 x i8] c"pad_right\00"
-@.str2058 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_pad(ptr \00"
-@.str2059 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str2060 = private unnamed_addr constant [8 x i8] c", i1 0)\00"
-@.str2061 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2062 = private unnamed_addr constant [8 x i8] c"replace\00"
-@.str2063 = private unnamed_addr constant [30 x i8] c"call ptr @fn_str_replace(ptr \00"
-@.str2064 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str2065 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str2066 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2067 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2068 = private unnamed_addr constant [6 x i8] c"split\00"
-@.str2069 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_split(ptr \00"
-@.str2070 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str2051 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str2052 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str2053 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str2054 = private unnamed_addr constant [8 x i8] c"char_at\00"
+@.str2055 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
+@.str2056 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str2057 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
+@.str2058 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
+@.str2059 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str2060 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str2061 = private unnamed_addr constant [7 x i8] c"to_int\00"
+@.str2062 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00"
+@.str2063 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2064 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str2065 = private unnamed_addr constant [6 x i8] c"upper\00"
+@.str2066 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_upper(ptr \00"
+@.str2067 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2068 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2069 = private unnamed_addr constant [6 x i8] c"lower\00"
+@.str2070 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_lower(ptr \00"
@.str2071 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2072 = private unnamed_addr constant [9 x i8] c"[]string\00"
-@.str2073 = private unnamed_addr constant [5 x i8] c"join\00"
-@.str2074 = private unnamed_addr constant [27 x i8] c"call ptr @fn_str_join(ptr \00"
-@.str2075 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str2076 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2077 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2078 = private unnamed_addr constant [9 x i8] c"contains\00"
-@.str2079 = private unnamed_addr constant [9 x i8] c"index_of\00"
-@.str2080 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00"
-@.str2081 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str2082 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2083 = private unnamed_addr constant [9 x i8] c"contains\00"
-@.str2084 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00"
-@.str2085 = private unnamed_addr constant [7 x i8] c", null\00"
-@.str2086 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str2087 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str2088 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str2089 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00"
-@.str2090 = private unnamed_addr constant [7 x i8] c", null\00"
-@.str2091 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
-@.str2092 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str2093 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
-@.str2094 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str2095 = private unnamed_addr constant [9 x i8] c"sub i64 \00"
-@.str2096 = private unnamed_addr constant [3 x i8] c", \00"
-@.str2097 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str2098 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str2099 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str2100 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00"
-@.str2101 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str2102 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
-@.str2103 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2104 = private unnamed_addr constant [12 x i8] c"starts_with\00"
-@.str2105 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00"
-@.str2106 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str2107 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str2108 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2109 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str2110 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str2111 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str2112 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str2113 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str2114 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
-@.str2115 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2116 = private unnamed_addr constant [9 x i8] c"sub i64 \00"
-@.str2117 = private unnamed_addr constant [3 x i8] c", \00"
-@.str2118 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str2119 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str2120 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str2121 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00"
-@.str2122 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str2123 = private unnamed_addr constant [7 x i8] c"ew_cmp\00"
-@.str2124 = private unnamed_addr constant [7 x i8] c"ew_end\00"
-@.str2125 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str2126 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str2127 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str2128 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str2129 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str2130 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
-@.str2131 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str2132 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00"
-@.str2133 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str2134 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str2135 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2136 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str2137 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str2138 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str2139 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str2140 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str2141 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str2142 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str2143 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str2144 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str2145 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str2146 = private unnamed_addr constant [36 x i8] c"define ptr @fn_str_upper(ptr %s) {\0A\00"
-@.str2147 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
-@.str2148 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00"
-@.str2149 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00"
-@.str2150 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
-@.str2151 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
-@.str2152 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
-@.str2153 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
-@.str2154 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
-@.str2155 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
-@.str2156 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00"
-@.str2157 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00"
-@.str2158 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
-@.str2159 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00"
-@.str2160 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00"
-@.str2161 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00"
-@.str2162 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00"
-@.str2163 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00"
-@.str2164 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00"
-@.str2165 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00"
-@.str2166 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00"
-@.str2167 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00"
-@.str2168 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
-@.str2169 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
-@.str2170 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
-@.str2171 = private unnamed_addr constant [6 x i8] c"fin:\0A\00"
-@.str2172 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00"
-@.str2173 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
-@.str2174 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
-@.str2175 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str2176 = private unnamed_addr constant [36 x i8] c"define ptr @fn_str_lower(ptr %s) {\0A\00"
+@.str2072 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2073 = private unnamed_addr constant [5 x i8] c"trim\00"
+@.str2074 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_trim(ptr \00"
+@.str2075 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2076 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2077 = private unnamed_addr constant [7 x i8] c"repeat\00"
+@.str2078 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_repeat(ptr \00"
+@.str2079 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str2080 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2081 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2082 = private unnamed_addr constant [9 x i8] c"pad_left\00"
+@.str2083 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00"
+@.str2084 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str2085 = private unnamed_addr constant [8 x i8] c", i1 1)\00"
+@.str2086 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2087 = private unnamed_addr constant [10 x i8] c"pad_right\00"
+@.str2088 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00"
+@.str2089 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str2090 = private unnamed_addr constant [8 x i8] c", i1 0)\00"
+@.str2091 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2092 = private unnamed_addr constant [8 x i8] c"replace\00"
+@.str2093 = private unnamed_addr constant [30 x i8] c"call ptr @lp_str_replace(ptr \00"
+@.str2094 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str2095 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str2096 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2097 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2098 = private unnamed_addr constant [6 x i8] c"split\00"
+@.str2099 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_split(ptr \00"
+@.str2100 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str2101 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2102 = private unnamed_addr constant [9 x i8] c"[]string\00"
+@.str2103 = private unnamed_addr constant [5 x i8] c"join\00"
+@.str2104 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_join(ptr \00"
+@.str2105 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str2106 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2107 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2108 = private unnamed_addr constant [9 x i8] c"contains\00"
+@.str2109 = private unnamed_addr constant [9 x i8] c"index_of\00"
+@.str2110 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00"
+@.str2111 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str2112 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2113 = private unnamed_addr constant [9 x i8] c"contains\00"
+@.str2114 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00"
+@.str2115 = private unnamed_addr constant [7 x i8] c", null\00"
+@.str2116 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str2117 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str2118 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str2119 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00"
+@.str2120 = private unnamed_addr constant [7 x i8] c", null\00"
+@.str2121 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
+@.str2122 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str2123 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
+@.str2124 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str2125 = private unnamed_addr constant [9 x i8] c"sub i64 \00"
+@.str2126 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2127 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str2128 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str2129 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str2130 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00"
+@.str2131 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str2132 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
+@.str2133 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2134 = private unnamed_addr constant [12 x i8] c"starts_with\00"
+@.str2135 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00"
+@.str2136 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str2137 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str2138 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2139 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str2140 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str2141 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str2142 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str2143 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str2144 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
+@.str2145 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2146 = private unnamed_addr constant [9 x i8] c"sub i64 \00"
+@.str2147 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2148 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str2149 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str2150 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str2151 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00"
+@.str2152 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str2153 = private unnamed_addr constant [7 x i8] c"ew_cmp\00"
+@.str2154 = private unnamed_addr constant [7 x i8] c"ew_end\00"
+@.str2155 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str2156 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str2157 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str2158 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str2159 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str2160 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
+@.str2161 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str2162 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00"
+@.str2163 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str2164 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str2165 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2166 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str2167 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str2168 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str2169 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str2170 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str2171 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str2172 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str2173 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str2174 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str2175 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str2176 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_upper(ptr %s) {\0A\00"
@.str2177 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str2178 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00"
@.str2179 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00"
@@ -2366,10 +2372,10 @@ declare void @hs_free(i32)
@.str2188 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
@.str2189 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00"
@.str2190 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00"
-@.str2191 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00"
-@.str2192 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00"
+@.str2191 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00"
+@.str2192 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00"
@.str2193 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00"
-@.str2194 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00"
+@.str2194 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00"
@.str2195 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00"
@.str2196 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00"
@.str2197 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00"
@@ -2381,8533 +2387,8578 @@ declare void @hs_free(i32)
@.str2203 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
@.str2204 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
@.str2205 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str2206 = private unnamed_addr constant [35 x i8] c"define ptr @fn_str_trim(ptr %s) {\0A\00"
+@.str2206 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_lower(ptr %s) {\0A\00"
@.str2207 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str2208 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00"
-@.str2209 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00"
-@.str2210 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00"
-@.str2211 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00"
-@.str2212 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00"
-@.str2213 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00"
-@.str2214 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00"
-@.str2215 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00"
-@.str2216 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00"
-@.str2217 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00"
-@.str2218 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00"
-@.str2219 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00"
-@.str2220 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00"
-@.str2221 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00"
-@.str2222 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @fn_is_ws(i8 %c0)\0A\00"
-@.str2223 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00"
-@.str2224 = private unnamed_addr constant [7 x i8] c"linc:\0A\00"
-@.str2225 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00"
-@.str2226 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00"
-@.str2227 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00"
-@.str2228 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00"
-@.str2229 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00"
-@.str2230 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00"
-@.str2231 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00"
-@.str2232 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00"
-@.str2233 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00"
-@.str2234 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00"
-@.str2235 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00"
-@.str2236 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00"
-@.str2237 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @fn_is_ws(i8 %c1)\0A\00"
-@.str2238 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00"
-@.str2239 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00"
-@.str2240 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00"
-@.str2241 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00"
-@.str2242 = private unnamed_addr constant [8 x i8] c"build:\0A\00"
-@.str2243 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00"
-@.str2244 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00"
-@.str2245 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00"
-@.str2246 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00"
-@.str2247 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
-@.str2248 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00"
-@.str2249 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00"
-@.str2250 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00"
-@.str2251 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
-@.str2252 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
-@.str2253 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str2254 = private unnamed_addr constant [30 x i8] c"define i1 @fn_is_ws(i8 %c) {\0A\00"
-@.str2255 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00"
-@.str2256 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00"
-@.str2257 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00"
-@.str2258 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00"
-@.str2259 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00"
-@.str2260 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00"
-@.str2261 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00"
-@.str2262 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00"
-@.str2263 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str2264 = private unnamed_addr constant [47 x i8] c"define ptr @fn_str_repeat(ptr %s, i32 %n32) {\0A\00"
-@.str2265 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
-@.str2266 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00"
-@.str2267 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00"
-@.str2268 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00"
-@.str2269 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00"
-@.str2270 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00"
-@.str2271 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00"
-@.str2272 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
-@.str2273 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
-@.str2274 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
-@.str2275 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
-@.str2276 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
-@.str2277 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
-@.str2278 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00"
-@.str2279 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00"
-@.str2280 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
-@.str2281 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00"
-@.str2282 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00"
-@.str2283 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00"
-@.str2284 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
-@.str2285 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
-@.str2286 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
-@.str2287 = private unnamed_addr constant [6 x i8] c"fin:\0A\00"
-@.str2288 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00"
-@.str2289 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
-@.str2290 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
-@.str2291 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str2292 = private unnamed_addr constant [54 x i8] c"define ptr @fn_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00"
-@.str2293 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
-@.str2294 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00"
-@.str2295 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00"
-@.str2296 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00"
-@.str2297 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00"
-@.str2298 = private unnamed_addr constant [7 x i8] c"copy:\0A\00"
-@.str2299 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00"
-@.str2300 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00"
-@.str2301 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00"
-@.str2302 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00"
-@.str2303 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00"
-@.str2304 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00"
-@.str2305 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00"
-@.str2306 = private unnamed_addr constant [5 x i8] c"do:\0A\00"
-@.str2307 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00"
-@.str2308 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00"
-@.str2309 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
-@.str2310 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00"
-@.str2311 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00"
-@.str2312 = private unnamed_addr constant [52 x i8] c" call void @fn_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00"
-@.str2313 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00"
-@.str2314 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00"
-@.str2315 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00"
-@.str2316 = private unnamed_addr constant [11 x i8] c"padright:\0A\00"
-@.str2317 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00"
-@.str2318 = private unnamed_addr constant [53 x i8] c" call void @fn_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00"
-@.str2319 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00"
-@.str2320 = private unnamed_addr constant [7 x i8] c"term:\0A\00"
-@.str2321 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00"
-@.str2322 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
-@.str2323 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
-@.str2324 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str2325 = private unnamed_addr constant [61 x i8] c"define void @fn_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00"
-@.str2326 = private unnamed_addr constant [8 x i8] c"entry:\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 [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00"
-@.str2333 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00"
-@.str2334 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
-@.str2335 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00"
-@.str2336 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00"
-@.str2337 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\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 [7 x i8] c"done:\0A\00"
-@.str2342 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
-@.str2343 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str2344 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00"
-@.str2345 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
-@.str2346 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00"
-@.str2347 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00"
-@.str2348 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00"
-@.str2349 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00"
-@.str2350 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00"
-@.str2351 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00"
-@.str2352 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00"
-@.str2353 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00"
-@.str2354 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00"
-@.str2355 = private unnamed_addr constant [7 x i8] c"scan:\0A\00"
-@.str2356 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00"
-@.str2357 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00"
-@.str2358 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00"
-@.str2359 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00"
-@.str2360 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00"
-@.str2361 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00"
-@.str2362 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
-@.str2363 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00"
-@.str2364 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00"
-@.str2365 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00"
-@.str2366 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00"
-@.str2367 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00"
-@.str2368 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00"
-@.str2369 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00"
-@.str2370 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00"
-@.str2371 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00"
-@.str2372 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00"
-@.str2373 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00"
-@.str2374 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
-@.str2375 = private unnamed_addr constant [8 x i8] c"csize:\0A\00"
-@.str2376 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00"
-@.str2377 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00"
-@.str2378 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00"
-@.str2379 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00"
-@.str2380 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00"
-@.str2381 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00"
-@.str2382 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00"
-@.str2383 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00"
-@.str2384 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00"
-@.str2385 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00"
-@.str2386 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00"
-@.str2387 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00"
-@.str2388 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00"
-@.str2389 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00"
-@.str2390 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00"
-@.str2391 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00"
-@.str2392 = private unnamed_addr constant [6 x i8] c"seg:\0A\00"
-@.str2393 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00"
-@.str2394 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00"
-@.str2395 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00"
-@.str2396 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00"
-@.str2397 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00"
-@.str2398 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00"
-@.str2399 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00"
-@.str2400 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00"
-@.str2401 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00"
-@.str2402 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00"
-@.str2403 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00"
-@.str2404 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00"
-@.str2405 = private unnamed_addr constant [7 x i8] c"tail:\0A\00"
-@.str2406 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00"
-@.str2407 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00"
-@.str2408 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00"
-@.str2409 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00"
-@.str2410 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00"
-@.str2411 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
-@.str2412 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str2413 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_join(ptr %h, ptr %sep) {\0A\00"
-@.str2414 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
-@.str2415 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00"
-@.str2416 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00"
-@.str2417 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00"
-@.str2418 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00"
-@.str2419 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00"
-@.str2420 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00"
-@.str2421 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00"
-@.str2422 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00"
-@.str2423 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
-@.str2424 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
-@.str2425 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00"
-@.str2426 = private unnamed_addr constant [8 x i8] c"scond:\0A\00"
-@.str2427 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
-@.str2428 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00"
-@.str2429 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00"
-@.str2430 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00"
-@.str2431 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00"
-@.str2432 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00"
-@.str2433 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00"
-@.str2434 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00"
-@.str2435 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00"
-@.str2436 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00"
-@.str2437 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
-@.str2438 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
-@.str2439 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00"
-@.str2440 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00"
-@.str2441 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00"
-@.str2442 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00"
-@.str2443 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00"
-@.str2444 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00"
-@.str2445 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00"
-@.str2446 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00"
-@.str2447 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00"
-@.str2448 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00"
-@.str2449 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00"
-@.str2450 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00"
-@.str2451 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00"
-@.str2452 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00"
-@.str2453 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00"
-@.str2454 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00"
-@.str2455 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00"
-@.str2456 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00"
-@.str2457 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00"
-@.str2458 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00"
-@.str2459 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00"
-@.str2460 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00"
-@.str2461 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00"
-@.str2462 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00"
-@.str2463 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00"
-@.str2464 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00"
-@.str2465 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00"
-@.str2466 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00"
-@.str2467 = private unnamed_addr constant [8 x i8] c"putel:\0A\00"
-@.str2468 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00"
-@.str2469 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00"
-@.str2470 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00"
-@.str2471 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00"
-@.str2472 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00"
-@.str2473 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00"
-@.str2474 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00"
-@.str2475 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00"
-@.str2476 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00"
-@.str2477 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00"
-@.str2478 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00"
-@.str2479 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00"
-@.str2480 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00"
-@.str2481 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
-@.str2482 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str2483 = private unnamed_addr constant [46 x i8] c"define ptr @fn_str_split(ptr %s, ptr %sep) {\0A\00"
-@.str2484 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
-@.str2485 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00"
-@.str2486 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00"
-@.str2487 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00"
-@.str2488 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00"
-@.str2489 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00"
-@.str2490 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
-@.str2491 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00"
-@.str2492 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00"
-@.str2493 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00"
-@.str2494 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00"
-@.str2495 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00"
-@.str2496 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00"
-@.str2497 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00"
-@.str2498 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00"
-@.str2499 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00"
-@.str2500 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00"
-@.str2501 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00"
-@.str2502 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
-@.str2503 = private unnamed_addr constant [5 x i8] c"mk:\0A\00"
-@.str2504 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00"
-@.str2505 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00"
-@.str2506 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00"
-@.str2507 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00"
-@.str2508 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00"
-@.str2509 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00"
-@.str2510 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00"
-@.str2511 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00"
-@.str2512 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00"
-@.str2513 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00"
-@.str2514 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00"
-@.str2515 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00"
-@.str2516 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00"
-@.str2517 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
-@.str2518 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
-@.str2519 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00"
-@.str2520 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00"
-@.str2521 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
-@.str2522 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00"
-@.str2523 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00"
-@.str2524 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00"
-@.str2525 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00"
-@.str2526 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00"
-@.str2527 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00"
-@.str2528 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00"
-@.str2529 = private unnamed_addr constant [6 x i8] c"mid:\0A\00"
-@.str2530 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00"
-@.str2531 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00"
-@.str2532 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00"
-@.str2533 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00"
-@.str2534 = private unnamed_addr constant [7 x i8] c"last:\0A\00"
-@.str2535 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00"
-@.str2536 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00"
-@.str2537 = private unnamed_addr constant [8 x i8] c"store:\0A\00"
-@.str2538 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00"
-@.str2539 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00"
-@.str2540 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00"
-@.str2541 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00"
-@.str2542 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00"
-@.str2543 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00"
-@.str2544 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
-@.str2545 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00"
-@.str2546 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00"
-@.str2547 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00"
-@.str2548 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00"
-@.str2549 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
-@.str2550 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
-@.str2551 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00"
-@.str2552 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
-@.str2553 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00"
-@.str2554 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str2555 = private unnamed_addr constant [3 x i8] c"of\00"
-@.str2556 = private unnamed_addr constant [6 x i8] c"fnv1a\00"
-@.str2557 = private unnamed_addr constant [6 x i8] c"crc32\00"
-@.str2558 = private unnamed_addr constant [4 x i8] c"mix\00"
-@.str2559 = private unnamed_addr constant [8 x i8] c"combine\00"
-@.str2560 = private unnamed_addr constant [5 x i8] c"of64\00"
-@.str2561 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00"
-@.str2562 = private unnamed_addr constant [6 x i8] c"mix64\00"
-@.str2563 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
-@.str2564 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str2565 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
-@.str2566 = private unnamed_addr constant [3 x i8] c", \00"
-@.str2567 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str2568 = private unnamed_addr constant [14 x i8] c", -2048144789\00"
-@.str2569 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
-@.str2570 = private unnamed_addr constant [5 x i8] c", 13\00"
-@.str2571 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
-@.str2572 = private unnamed_addr constant [3 x i8] c", \00"
-@.str2573 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str2574 = private unnamed_addr constant [14 x i8] c", -1028477387\00"
-@.str2575 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
-@.str2576 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str2577 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
-@.str2578 = private unnamed_addr constant [3 x i8] c", \00"
-@.str2579 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
-@.str2580 = private unnamed_addr constant [5 x i8] c", 33\00"
-@.str2581 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
-@.str2582 = private unnamed_addr constant [3 x i8] c", \00"
-@.str2583 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
-@.str2584 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00"
-@.str2585 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
-@.str2586 = private unnamed_addr constant [5 x i8] c", 33\00"
-@.str2587 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
-@.str2588 = private unnamed_addr constant [3 x i8] c", \00"
-@.str2589 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
-@.str2590 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00"
-@.str2591 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
-@.str2592 = private unnamed_addr constant [5 x i8] c", 33\00"
-@.str2593 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
-@.str2594 = private unnamed_addr constant [3 x i8] c", \00"
-@.str2595 = private unnamed_addr constant [3 x i8] c"of\00"
-@.str2596 = private unnamed_addr constant [6 x i8] c"fnv1a\00"
-@.str2597 = private unnamed_addr constant [29 x i8] c"call i32 @fn_hash_fnv1a(ptr \00"
-@.str2598 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2599 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str2600 = private unnamed_addr constant [5 x i8] c"of64\00"
-@.str2601 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00"
-@.str2602 = private unnamed_addr constant [32 x i8] c"call i64 @fn_hash_fnv1a_64(ptr \00"
-@.str2603 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2604 = private unnamed_addr constant [5 x i8] c"long\00"
-@.str2605 = private unnamed_addr constant [6 x i8] c"mix64\00"
-@.str2606 = private unnamed_addr constant [5 x i8] c"long\00"
-@.str2607 = private unnamed_addr constant [6 x i8] c"crc32\00"
-@.str2608 = private unnamed_addr constant [29 x i8] c"call i32 @fn_hash_crc32(ptr \00"
-@.str2609 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2610 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str2611 = private unnamed_addr constant [4 x i8] c"mix\00"
-@.str2612 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str2613 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str2614 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str2615 = private unnamed_addr constant [14 x i8] c", -1640531527\00"
-@.str2616 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
-@.str2617 = private unnamed_addr constant [4 x i8] c", 6\00"
-@.str2618 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
-@.str2619 = private unnamed_addr constant [4 x i8] c", 2\00"
-@.str2620 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str2621 = private unnamed_addr constant [3 x i8] c", \00"
-@.str2622 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str2623 = private unnamed_addr constant [3 x i8] c", \00"
-@.str2624 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
-@.str2625 = private unnamed_addr constant [3 x i8] c", \00"
-@.str2626 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str2627 = private unnamed_addr constant [37 x i8] c"define i32 @fn_hash_fnv1a(ptr %s) {\0A\00"
-@.str2628 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
-@.str2629 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00"
-@.str2630 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00"
-@.str2631 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
-@.str2632 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
-@.str2633 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
-@.str2634 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
-@.str2635 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
-@.str2636 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
-@.str2637 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00"
-@.str2638 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00"
-@.str2639 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
-@.str2640 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
-@.str2641 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00"
-@.str2642 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00"
-@.str2643 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00"
-@.str2644 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00"
-@.str2645 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00"
-@.str2646 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
-@.str2647 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
-@.str2648 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
-@.str2649 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
-@.str2650 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00"
-@.str2651 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00"
-@.str2652 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str2653 = private unnamed_addr constant [40 x i8] c"define i64 @fn_hash_fnv1a_64(ptr %s) {\0A\00"
-@.str2654 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
-@.str2655 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00"
-@.str2656 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00"
-@.str2657 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
-@.str2658 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
-@.str2659 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
-@.str2660 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
-@.str2661 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
-@.str2662 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
-@.str2663 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00"
-@.str2664 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00"
-@.str2665 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
-@.str2666 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
-@.str2667 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00"
-@.str2668 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00"
-@.str2669 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00"
-@.str2670 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00"
-@.str2671 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00"
-@.str2672 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
-@.str2673 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
-@.str2674 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
-@.str2675 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
-@.str2676 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00"
-@.str2677 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00"
-@.str2678 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str2679 = private unnamed_addr constant [37 x i8] c"define i32 @fn_hash_crc32(ptr %s) {\0A\00"
-@.str2680 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
-@.str2681 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00"
-@.str2682 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00"
-@.str2683 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
-@.str2684 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
-@.str2685 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00"
-@.str2686 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
-@.str2687 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
-@.str2688 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
-@.str2689 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
-@.str2690 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00"
-@.str2691 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00"
-@.str2692 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
-@.str2693 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
-@.str2694 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00"
-@.str2695 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00"
-@.str2696 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00"
-@.str2697 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00"
-@.str2698 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00"
-@.str2699 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00"
-@.str2700 = private unnamed_addr constant [6 x i8] c"bit:\0A\00"
-@.str2701 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00"
-@.str2702 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00"
-@.str2703 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00"
-@.str2704 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00"
-@.str2705 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00"
-@.str2706 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00"
-@.str2707 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00"
-@.str2708 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00"
-@.str2709 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00"
-@.str2710 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00"
-@.str2711 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00"
-@.str2712 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00"
-@.str2713 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00"
-@.str2714 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00"
-@.str2715 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00"
-@.str2716 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
-@.str2717 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
-@.str2718 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
-@.str2719 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
-@.str2720 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00"
-@.str2721 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00"
-@.str2722 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00"
-@.str2723 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str2724 = private unnamed_addr constant [7 x i8] c"sha256\00"
-@.str2725 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00"
-@.str2726 = private unnamed_addr constant [12 x i8] c"verify_hmac\00"
-@.str2727 = private unnamed_addr constant [4 x i8] c"hex\00"
-@.str2728 = private unnamed_addr constant [9 x i8] c"ct_equal\00"
-@.str2729 = private unnamed_addr constant [13 x i8] c"random_bytes\00"
-@.str2730 = private unnamed_addr constant [11 x i8] c"random_hex\00"
-@.str2731 = private unnamed_addr constant [11 x i8] c"random_u32\00"
-@.str2732 = private unnamed_addr constant [7 x i8] c"base64\00"
-@.str2733 = private unnamed_addr constant [7 x i8] c"sha256\00"
-@.str2734 = private unnamed_addr constant [29 x i8] c"call ptr @fn_sha256_hex(ptr \00"
-@.str2735 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2736 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2737 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00"
-@.str2738 = private unnamed_addr constant [34 x i8] c"call ptr @fn_hmac_sha256_hex(ptr \00"
-@.str2739 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str2740 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2741 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2742 = private unnamed_addr constant [4 x i8] c"hex\00"
-@.str2743 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_hex(ptr \00"
-@.str2744 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2745 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2746 = private unnamed_addr constant [9 x i8] c"ct_equal\00"
-@.str2747 = private unnamed_addr constant [27 x i8] c"call i32 @fn_ct_streq(ptr \00"
-@.str2748 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str2749 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2750 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str2751 = private unnamed_addr constant [13 x i8] c"random_bytes\00"
-@.str2752 = private unnamed_addr constant [11 x i8] c"random_hex\00"
-@.str2753 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str2754 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str2755 = private unnamed_addr constant [29 x i8] c"call ptr @fn_random_hex(i64 \00"
-@.str2756 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2757 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2758 = private unnamed_addr constant [11 x i8] c"random_u32\00"
-@.str2759 = private unnamed_addr constant [26 x i8] c"call i32 @fn_random_u32()\00"
-@.str2760 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str2761 = private unnamed_addr constant [7 x i8] c"base64\00"
-@.str2762 = private unnamed_addr constant [25 x i8] c"call ptr @fn_base64(ptr \00"
-@.str2763 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2764 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2765 = private unnamed_addr constant [34 x i8] c"call ptr @fn_hmac_sha256_hex(ptr \00"
-@.str2766 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str2767 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2768 = private unnamed_addr constant [27 x i8] c"call i32 @fn_ct_streq(ptr \00"
+@.str2209 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00"
+@.str2210 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
+@.str2211 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
+@.str2212 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
+@.str2213 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
+@.str2214 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
+@.str2215 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
+@.str2216 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00"
+@.str2217 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00"
+@.str2218 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
+@.str2219 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00"
+@.str2220 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00"
+@.str2221 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00"
+@.str2222 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00"
+@.str2223 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00"
+@.str2224 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00"
+@.str2225 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00"
+@.str2226 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00"
+@.str2227 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00"
+@.str2228 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
+@.str2229 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
+@.str2230 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
+@.str2231 = private unnamed_addr constant [6 x i8] c"fin:\0A\00"
+@.str2232 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00"
+@.str2233 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
+@.str2234 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
+@.str2235 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str2236 = private unnamed_addr constant [35 x i8] c"define ptr @lp_str_trim(ptr %s) {\0A\00"
+@.str2237 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
+@.str2238 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00"
+@.str2239 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00"
+@.str2240 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00"
+@.str2241 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00"
+@.str2242 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00"
+@.str2243 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00"
+@.str2244 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00"
+@.str2245 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00"
+@.str2246 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00"
+@.str2247 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00"
+@.str2248 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00"
+@.str2249 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00"
+@.str2250 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00"
+@.str2251 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00"
+@.str2252 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @lp_is_ws(i8 %c0)\0A\00"
+@.str2253 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00"
+@.str2254 = private unnamed_addr constant [7 x i8] c"linc:\0A\00"
+@.str2255 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00"
+@.str2256 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00"
+@.str2257 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00"
+@.str2258 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00"
+@.str2259 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00"
+@.str2260 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00"
+@.str2261 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00"
+@.str2262 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00"
+@.str2263 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00"
+@.str2264 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00"
+@.str2265 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00"
+@.str2266 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00"
+@.str2267 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @lp_is_ws(i8 %c1)\0A\00"
+@.str2268 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00"
+@.str2269 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00"
+@.str2270 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00"
+@.str2271 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00"
+@.str2272 = private unnamed_addr constant [8 x i8] c"build:\0A\00"
+@.str2273 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00"
+@.str2274 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00"
+@.str2275 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00"
+@.str2276 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00"
+@.str2277 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
+@.str2278 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00"
+@.str2279 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00"
+@.str2280 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00"
+@.str2281 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
+@.str2282 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
+@.str2283 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str2284 = private unnamed_addr constant [30 x i8] c"define i1 @lp_is_ws(i8 %c) {\0A\00"
+@.str2285 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00"
+@.str2286 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00"
+@.str2287 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00"
+@.str2288 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00"
+@.str2289 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00"
+@.str2290 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00"
+@.str2291 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00"
+@.str2292 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00"
+@.str2293 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str2294 = private unnamed_addr constant [47 x i8] c"define ptr @lp_str_repeat(ptr %s, i32 %n32) {\0A\00"
+@.str2295 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
+@.str2296 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00"
+@.str2297 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00"
+@.str2298 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00"
+@.str2299 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00"
+@.str2300 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00"
+@.str2301 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00"
+@.str2302 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
+@.str2303 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
+@.str2304 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
+@.str2305 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
+@.str2306 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
+@.str2307 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
+@.str2308 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00"
+@.str2309 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00"
+@.str2310 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
+@.str2311 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00"
+@.str2312 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00"
+@.str2313 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00"
+@.str2314 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
+@.str2315 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
+@.str2316 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
+@.str2317 = private unnamed_addr constant [6 x i8] c"fin:\0A\00"
+@.str2318 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00"
+@.str2319 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
+@.str2320 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
+@.str2321 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str2322 = private unnamed_addr constant [54 x i8] c"define ptr @lp_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00"
+@.str2323 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
+@.str2324 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00"
+@.str2325 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00"
+@.str2326 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00"
+@.str2327 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00"
+@.str2328 = private unnamed_addr constant [7 x i8] c"copy:\0A\00"
+@.str2329 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00"
+@.str2330 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00"
+@.str2331 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00"
+@.str2332 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00"
+@.str2333 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00"
+@.str2334 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00"
+@.str2335 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00"
+@.str2336 = private unnamed_addr constant [5 x i8] c"do:\0A\00"
+@.str2337 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00"
+@.str2338 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00"
+@.str2339 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
+@.str2340 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00"
+@.str2341 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00"
+@.str2342 = private unnamed_addr constant [52 x i8] c" call void @lp_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00"
+@.str2343 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00"
+@.str2344 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00"
+@.str2345 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00"
+@.str2346 = private unnamed_addr constant [11 x i8] c"padright:\0A\00"
+@.str2347 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00"
+@.str2348 = private unnamed_addr constant [53 x i8] c" call void @lp_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00"
+@.str2349 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00"
+@.str2350 = private unnamed_addr constant [7 x i8] c"term:\0A\00"
+@.str2351 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00"
+@.str2352 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
+@.str2353 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
+@.str2354 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str2355 = private unnamed_addr constant [61 x i8] c"define void @lp_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00"
+@.str2356 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
+@.str2357 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
+@.str2358 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
+@.str2359 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
+@.str2360 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
+@.str2361 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
+@.str2362 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00"
+@.str2363 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00"
+@.str2364 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
+@.str2365 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00"
+@.str2366 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00"
+@.str2367 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00"
+@.str2368 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
+@.str2369 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
+@.str2370 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
+@.str2371 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
+@.str2372 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
+@.str2373 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str2374 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00"
+@.str2375 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
+@.str2376 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00"
+@.str2377 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00"
+@.str2378 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00"
+@.str2379 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00"
+@.str2380 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00"
+@.str2381 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00"
+@.str2382 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00"
+@.str2383 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00"
+@.str2384 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00"
+@.str2385 = private unnamed_addr constant [7 x i8] c"scan:\0A\00"
+@.str2386 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00"
+@.str2387 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00"
+@.str2388 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00"
+@.str2389 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00"
+@.str2390 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00"
+@.str2391 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00"
+@.str2392 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
+@.str2393 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00"
+@.str2394 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00"
+@.str2395 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00"
+@.str2396 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00"
+@.str2397 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00"
+@.str2398 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00"
+@.str2399 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00"
+@.str2400 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00"
+@.str2401 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00"
+@.str2402 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00"
+@.str2403 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00"
+@.str2404 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
+@.str2405 = private unnamed_addr constant [8 x i8] c"csize:\0A\00"
+@.str2406 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00"
+@.str2407 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00"
+@.str2408 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00"
+@.str2409 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00"
+@.str2410 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00"
+@.str2411 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00"
+@.str2412 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00"
+@.str2413 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00"
+@.str2414 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00"
+@.str2415 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00"
+@.str2416 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00"
+@.str2417 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00"
+@.str2418 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00"
+@.str2419 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00"
+@.str2420 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00"
+@.str2421 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00"
+@.str2422 = private unnamed_addr constant [6 x i8] c"seg:\0A\00"
+@.str2423 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00"
+@.str2424 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00"
+@.str2425 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00"
+@.str2426 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00"
+@.str2427 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00"
+@.str2428 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00"
+@.str2429 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00"
+@.str2430 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00"
+@.str2431 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00"
+@.str2432 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00"
+@.str2433 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00"
+@.str2434 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00"
+@.str2435 = private unnamed_addr constant [7 x i8] c"tail:\0A\00"
+@.str2436 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00"
+@.str2437 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00"
+@.str2438 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00"
+@.str2439 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00"
+@.str2440 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00"
+@.str2441 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
+@.str2442 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str2443 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_join(ptr %h, ptr %sep) {\0A\00"
+@.str2444 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
+@.str2445 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00"
+@.str2446 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00"
+@.str2447 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00"
+@.str2448 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00"
+@.str2449 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00"
+@.str2450 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00"
+@.str2451 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00"
+@.str2452 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00"
+@.str2453 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
+@.str2454 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
+@.str2455 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00"
+@.str2456 = private unnamed_addr constant [8 x i8] c"scond:\0A\00"
+@.str2457 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
+@.str2458 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00"
+@.str2459 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00"
+@.str2460 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00"
+@.str2461 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00"
+@.str2462 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00"
+@.str2463 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00"
+@.str2464 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00"
+@.str2465 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00"
+@.str2466 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00"
+@.str2467 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
+@.str2468 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
+@.str2469 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00"
+@.str2470 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00"
+@.str2471 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00"
+@.str2472 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00"
+@.str2473 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00"
+@.str2474 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00"
+@.str2475 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00"
+@.str2476 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00"
+@.str2477 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00"
+@.str2478 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00"
+@.str2479 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00"
+@.str2480 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00"
+@.str2481 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00"
+@.str2482 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00"
+@.str2483 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00"
+@.str2484 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00"
+@.str2485 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00"
+@.str2486 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00"
+@.str2487 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00"
+@.str2488 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00"
+@.str2489 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00"
+@.str2490 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00"
+@.str2491 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00"
+@.str2492 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00"
+@.str2493 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00"
+@.str2494 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00"
+@.str2495 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00"
+@.str2496 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00"
+@.str2497 = private unnamed_addr constant [8 x i8] c"putel:\0A\00"
+@.str2498 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00"
+@.str2499 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00"
+@.str2500 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00"
+@.str2501 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00"
+@.str2502 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00"
+@.str2503 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00"
+@.str2504 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00"
+@.str2505 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00"
+@.str2506 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00"
+@.str2507 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00"
+@.str2508 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00"
+@.str2509 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00"
+@.str2510 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00"
+@.str2511 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
+@.str2512 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str2513 = private unnamed_addr constant [46 x i8] c"define ptr @lp_str_split(ptr %s, ptr %sep) {\0A\00"
+@.str2514 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
+@.str2515 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00"
+@.str2516 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00"
+@.str2517 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00"
+@.str2518 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00"
+@.str2519 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00"
+@.str2520 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
+@.str2521 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00"
+@.str2522 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00"
+@.str2523 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00"
+@.str2524 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00"
+@.str2525 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00"
+@.str2526 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00"
+@.str2527 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00"
+@.str2528 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00"
+@.str2529 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00"
+@.str2530 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00"
+@.str2531 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00"
+@.str2532 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
+@.str2533 = private unnamed_addr constant [5 x i8] c"mk:\0A\00"
+@.str2534 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00"
+@.str2535 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00"
+@.str2536 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00"
+@.str2537 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00"
+@.str2538 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00"
+@.str2539 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00"
+@.str2540 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00"
+@.str2541 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00"
+@.str2542 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00"
+@.str2543 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00"
+@.str2544 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00"
+@.str2545 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00"
+@.str2546 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00"
+@.str2547 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
+@.str2548 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
+@.str2549 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00"
+@.str2550 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00"
+@.str2551 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
+@.str2552 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00"
+@.str2553 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00"
+@.str2554 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00"
+@.str2555 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00"
+@.str2556 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00"
+@.str2557 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00"
+@.str2558 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00"
+@.str2559 = private unnamed_addr constant [6 x i8] c"mid:\0A\00"
+@.str2560 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00"
+@.str2561 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00"
+@.str2562 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00"
+@.str2563 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00"
+@.str2564 = private unnamed_addr constant [7 x i8] c"last:\0A\00"
+@.str2565 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00"
+@.str2566 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00"
+@.str2567 = private unnamed_addr constant [8 x i8] c"store:\0A\00"
+@.str2568 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00"
+@.str2569 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00"
+@.str2570 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00"
+@.str2571 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00"
+@.str2572 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00"
+@.str2573 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00"
+@.str2574 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
+@.str2575 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00"
+@.str2576 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00"
+@.str2577 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00"
+@.str2578 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00"
+@.str2579 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
+@.str2580 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
+@.str2581 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00"
+@.str2582 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
+@.str2583 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00"
+@.str2584 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str2585 = private unnamed_addr constant [3 x i8] c"of\00"
+@.str2586 = private unnamed_addr constant [6 x i8] c"fnv1a\00"
+@.str2587 = private unnamed_addr constant [6 x i8] c"crc32\00"
+@.str2588 = private unnamed_addr constant [4 x i8] c"mix\00"
+@.str2589 = private unnamed_addr constant [8 x i8] c"combine\00"
+@.str2590 = private unnamed_addr constant [5 x i8] c"of64\00"
+@.str2591 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00"
+@.str2592 = private unnamed_addr constant [6 x i8] c"mix64\00"
+@.str2593 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
+@.str2594 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str2595 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
+@.str2596 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2597 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str2598 = private unnamed_addr constant [14 x i8] c", -2048144789\00"
+@.str2599 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
+@.str2600 = private unnamed_addr constant [5 x i8] c", 13\00"
+@.str2601 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
+@.str2602 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2603 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str2604 = private unnamed_addr constant [14 x i8] c", -1028477387\00"
+@.str2605 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
+@.str2606 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str2607 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
+@.str2608 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2609 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
+@.str2610 = private unnamed_addr constant [5 x i8] c", 33\00"
+@.str2611 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
+@.str2612 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2613 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
+@.str2614 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00"
+@.str2615 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
+@.str2616 = private unnamed_addr constant [5 x i8] c", 33\00"
+@.str2617 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
+@.str2618 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2619 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
+@.str2620 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00"
+@.str2621 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
+@.str2622 = private unnamed_addr constant [5 x i8] c", 33\00"
+@.str2623 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
+@.str2624 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2625 = private unnamed_addr constant [3 x i8] c"of\00"
+@.str2626 = private unnamed_addr constant [6 x i8] c"fnv1a\00"
+@.str2627 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_fnv1a(ptr \00"
+@.str2628 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2629 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str2630 = private unnamed_addr constant [5 x i8] c"of64\00"
+@.str2631 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00"
+@.str2632 = private unnamed_addr constant [32 x i8] c"call i64 @lp_hash_fnv1a_64(ptr \00"
+@.str2633 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2634 = private unnamed_addr constant [5 x i8] c"long\00"
+@.str2635 = private unnamed_addr constant [6 x i8] c"mix64\00"
+@.str2636 = private unnamed_addr constant [5 x i8] c"long\00"
+@.str2637 = private unnamed_addr constant [6 x i8] c"crc32\00"
+@.str2638 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_crc32(ptr \00"
+@.str2639 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2640 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str2641 = private unnamed_addr constant [4 x i8] c"mix\00"
+@.str2642 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str2643 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str2644 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str2645 = private unnamed_addr constant [14 x i8] c", -1640531527\00"
+@.str2646 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
+@.str2647 = private unnamed_addr constant [4 x i8] c", 6\00"
+@.str2648 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
+@.str2649 = private unnamed_addr constant [4 x i8] c", 2\00"
+@.str2650 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str2651 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2652 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str2653 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2654 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
+@.str2655 = private unnamed_addr constant [3 x i8] c", \00"
+@.str2656 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str2657 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_fnv1a(ptr %s) {\0A\00"
+@.str2658 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
+@.str2659 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00"
+@.str2660 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00"
+@.str2661 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
+@.str2662 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
+@.str2663 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
+@.str2664 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
+@.str2665 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
+@.str2666 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
+@.str2667 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00"
+@.str2668 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00"
+@.str2669 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
+@.str2670 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
+@.str2671 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00"
+@.str2672 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00"
+@.str2673 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00"
+@.str2674 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00"
+@.str2675 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00"
+@.str2676 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
+@.str2677 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
+@.str2678 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
+@.str2679 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
+@.str2680 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00"
+@.str2681 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00"
+@.str2682 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str2683 = private unnamed_addr constant [40 x i8] c"define i64 @lp_hash_fnv1a_64(ptr %s) {\0A\00"
+@.str2684 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
+@.str2685 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00"
+@.str2686 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00"
+@.str2687 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
+@.str2688 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
+@.str2689 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
+@.str2690 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
+@.str2691 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
+@.str2692 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
+@.str2693 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00"
+@.str2694 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00"
+@.str2695 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
+@.str2696 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
+@.str2697 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00"
+@.str2698 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00"
+@.str2699 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00"
+@.str2700 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00"
+@.str2701 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00"
+@.str2702 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
+@.str2703 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
+@.str2704 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
+@.str2705 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
+@.str2706 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00"
+@.str2707 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00"
+@.str2708 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str2709 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_crc32(ptr %s) {\0A\00"
+@.str2710 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
+@.str2711 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00"
+@.str2712 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00"
+@.str2713 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
+@.str2714 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
+@.str2715 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00"
+@.str2716 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
+@.str2717 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
+@.str2718 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
+@.str2719 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
+@.str2720 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00"
+@.str2721 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00"
+@.str2722 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
+@.str2723 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
+@.str2724 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00"
+@.str2725 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00"
+@.str2726 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00"
+@.str2727 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00"
+@.str2728 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00"
+@.str2729 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00"
+@.str2730 = private unnamed_addr constant [6 x i8] c"bit:\0A\00"
+@.str2731 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00"
+@.str2732 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00"
+@.str2733 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00"
+@.str2734 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00"
+@.str2735 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00"
+@.str2736 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00"
+@.str2737 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00"
+@.str2738 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00"
+@.str2739 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00"
+@.str2740 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00"
+@.str2741 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00"
+@.str2742 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00"
+@.str2743 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00"
+@.str2744 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00"
+@.str2745 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00"
+@.str2746 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
+@.str2747 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
+@.str2748 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
+@.str2749 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
+@.str2750 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00"
+@.str2751 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00"
+@.str2752 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00"
+@.str2753 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str2754 = private unnamed_addr constant [7 x i8] c"sha256\00"
+@.str2755 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00"
+@.str2756 = private unnamed_addr constant [12 x i8] c"verify_hmac\00"
+@.str2757 = private unnamed_addr constant [4 x i8] c"hex\00"
+@.str2758 = private unnamed_addr constant [9 x i8] c"ct_equal\00"
+@.str2759 = private unnamed_addr constant [13 x i8] c"random_bytes\00"
+@.str2760 = private unnamed_addr constant [11 x i8] c"random_hex\00"
+@.str2761 = private unnamed_addr constant [11 x i8] c"random_u32\00"
+@.str2762 = private unnamed_addr constant [7 x i8] c"base64\00"
+@.str2763 = private unnamed_addr constant [7 x i8] c"sha256\00"
+@.str2764 = private unnamed_addr constant [29 x i8] c"call ptr @lp_sha256_hex(ptr \00"
+@.str2765 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2766 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2767 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00"
+@.str2768 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00"
@.str2769 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str2770 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2771 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str2772 = 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"
-@.str2773 = private unnamed_addr constant [41 x i8] c"define i32 @fn_rotr32(i32 %x, i32 %n) {\0A\00"
-@.str2774 = 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"
-@.str2775 = private unnamed_addr constant [60 x i8] c"define void @fn_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00"
-@.str2776 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
-@.str2777 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00"
-@.str2778 = 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"
-@.str2779 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00"
-@.str2780 = 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"
-@.str2781 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00"
-@.str2782 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00"
-@.str2783 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00"
-@.str2784 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00"
-@.str2785 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00"
-@.str2786 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00"
-@.str2787 = 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"
-@.str2788 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00"
-@.str2789 = 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"
-@.str2790 = 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"
-@.str2791 = 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"
-@.str2792 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00"
-@.str2793 = 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"
-@.str2794 = 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"
-@.str2795 = 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"
-@.str2796 = 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"
-@.str2797 = 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"
-@.str2798 = 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"
-@.str2799 = 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"
-@.str2800 = 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"
-@.str2801 = 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"
-@.str2802 = 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"
-@.str2803 = 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"
-@.str2804 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00"
-@.str2805 = 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"
-@.str2806 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00"
-@.str2807 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00"
-@.str2808 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00"
-@.str2809 = 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"
-@.str2810 = 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"
-@.str2811 = 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"
-@.str2812 = 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"
-@.str2813 = 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"
-@.str2814 = 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"
-@.str2815 = 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"
-@.str2816 = 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"
-@.str2817 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00"
-@.str2818 = 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"
-@.str2819 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00"
-@.str2820 = 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"
-@.str2821 = private unnamed_addr constant [119 x i8] c" %r7 = call i32 @fn_rotr32(i32 %w15, i32 7)\0A %r18 = call i32 @fn_rotr32(i32 %w15, i32 18)\0A %sh3 = lshr i32 %w15, 3\0A\00"
-@.str2822 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00"
-@.str2823 = 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"
-@.str2824 = private unnamed_addr constant [123 x i8] c" %r17 = call i32 @fn_rotr32(i32 %w2v, i32 17)\0A %r19 = call i32 @fn_rotr32(i32 %w2v, i32 19)\0A %sh10 = lshr i32 %w2v, 10\0A\00"
-@.str2825 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00"
-@.str2826 = 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"
-@.str2827 = 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"
-@.str2828 = 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"
-@.str2829 = 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"
-@.str2830 = 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"
-@.str2831 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00"
-@.str2832 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00"
-@.str2833 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00"
-@.str2834 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00"
-@.str2835 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00"
-@.str2836 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00"
-@.str2837 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00"
-@.str2838 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00"
-@.str2839 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00"
-@.str2840 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00"
-@.str2841 = 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"
-@.str2842 = private unnamed_addr constant [5 x i8] c"rb:\0A\00"
-@.str2843 = 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"
-@.str2844 = 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"
-@.str2845 = private unnamed_addr constant [137 x i8] c" %e6 = call i32 @fn_rotr32(i32 %ev, i32 6)\0A %e11 = call i32 @fn_rotr32(i32 %ev, i32 11)\0A %e25 = call i32 @fn_rotr32(i32 %ev, i32 25)\0A\00"
-@.str2846 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00"
-@.str2847 = 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"
-@.str2848 = 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"
-@.str2849 = 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"
-@.str2850 = 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"
-@.str2851 = private unnamed_addr constant [138 x i8] c" %a2r = call i32 @fn_rotr32(i32 %av, i32 2)\0A %a13 = call i32 @fn_rotr32(i32 %av, i32 13)\0A %a22 = call i32 @fn_rotr32(i32 %av, i32 22)\0A\00"
-@.str2852 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00"
-@.str2853 = 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"
-@.str2854 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00"
-@.str2855 = 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"
-@.str2856 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00"
-@.str2857 = 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"
-@.str2858 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00"
-@.str2859 = 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"
-@.str2860 = private unnamed_addr constant [7 x i8] c"addH:\0A\00"
-@.str2861 = 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"
-@.str2862 = 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"
-@.str2863 = 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"
-@.str2864 = 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"
-@.str2865 = 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"
-@.str2866 = 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"
-@.str2867 = 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"
-@.str2868 = 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"
-@.str2869 = 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"
-@.str2870 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00"
-@.str2871 = 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"
-@.str2872 = private unnamed_addr constant [5 x i8] c"ob:\0A\00"
-@.str2873 = 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"
-@.str2874 = 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"
-@.str2875 = 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"
-@.str2876 = 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"
-@.str2877 = 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"
-@.str2878 = 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"
-@.str2879 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00"
-@.str2880 = private unnamed_addr constant [35 x i8] c"define i8 @fn_hex_digit(i32 %d) {\0A\00"
-@.str2881 = 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"
-@.str2882 = private unnamed_addr constant [46 x i8] c"define ptr @fn_hex_encode(ptr %in, i64 %n) {\0A\00"
-@.str2883 = 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"
-@.str2884 = 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"
-@.str2885 = 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"
-@.str2886 = private unnamed_addr constant [127 x i8] c" %hi = lshr i32 %bz, 4\0A %lo = and i32 %bz, 15\0A %hc = call i8 @fn_hex_digit(i32 %hi)\0A %lc = call i8 @fn_hex_digit(i32 %lo)\0A\00"
-@.str2887 = 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"
-@.str2888 = 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"
-@.str2889 = 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"
-@.str2890 = private unnamed_addr constant [37 x i8] c"define ptr @fn_sha256_hex(ptr %s) {\0A\00"
-@.str2891 = 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"
-@.str2892 = private unnamed_addr constant [122 x i8] c" call void @fn_sha256_buf(ptr %s, i64 %len, ptr %dp)\0A %hex = call ptr @fn_hex_encode(ptr %dp, i64 32)\0A ret ptr %hex\0A}\0A\00"
-@.str2893 = private unnamed_addr constant [34 x i8] c"define ptr @fn_str_hex(ptr %s) {\0A\00"
-@.str2894 = private unnamed_addr constant [95 x i8] c" %n = call i64 @strlen(ptr %s)\0A %h = call ptr @fn_hex_encode(ptr %s, i64 %n)\0A ret ptr %h\0A}\0A\00"
-@.str2895 = private unnamed_addr constant [55 x i8] c"define void @fn_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00"
-@.str2896 = 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"
-@.str2897 = 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"
-@.str2898 = 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"
-@.str2899 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00"
-@.str2900 = private unnamed_addr constant [54 x i8] c"define ptr @fn_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00"
-@.str2901 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
-@.str2902 = 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"
-@.str2903 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00"
-@.str2904 = 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"
-@.str2905 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00"
-@.str2906 = private unnamed_addr constant [83 x i8] c"hashk:\0A call void @fn_sha256_buf(ptr %key, i64 %klen, ptr %k0p)\0A br label %pads\0A\00"
-@.str2907 = 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"
-@.str2908 = private unnamed_addr constant [7 x i8] c"pads:\0A\00"
-@.str2909 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00"
-@.str2910 = private unnamed_addr constant [53 x i8] c" call void @fn_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00"
-@.str2911 = 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"
-@.str2912 = private unnamed_addr constant [157 x i8] c" %innerp = getelementptr [32 x i8], ptr %inner, i64 0, i64 0\0A call void @fn_sha256_buf(ptr %inbuf, i64 %inlen, ptr %innerp)\0A call void @free(ptr %inbuf)\0A\00"
-@.str2913 = private unnamed_addr constant [113 x i8] c" %outp = getelementptr [96 x i8], ptr %outbuf, i64 0, i64 0\0A call void @fn_xor64(ptr %outp, ptr %k0p, i32 92)\0A\00"
-@.str2914 = 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"
-@.str2915 = private unnamed_addr constant [116 x i8] c" %finp = getelementptr [32 x i8], ptr %fin, i64 0, i64 0\0A call void @fn_sha256_buf(ptr %outp, i64 96, ptr %finp)\0A\00"
-@.str2916 = private unnamed_addr constant [70 x i8] c" %hex = call ptr @fn_hex_encode(ptr %finp, i64 32)\0A ret ptr %hex\0A}\0A\00"
-@.str2917 = private unnamed_addr constant [43 x i8] c"define i32 @fn_ct_streq(ptr %a, ptr %b) {\0A\00"
-@.str2918 = 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"
-@.str2919 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00"
-@.str2920 = 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"
-@.str2921 = 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"
-@.str2922 = 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"
-@.str2923 = 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"
-@.str2924 = 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"
-@.str2925 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00"
-@.str2926 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00"
-@.str2927 = private unnamed_addr constant [50 x i8] c"define void @fn_secure_bytes(ptr %out, i64 %n) {\0A\00"
-@.str2928 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00"
-@.str2929 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00"
-@.str2930 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00"
-@.str2931 = 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"
-@.str2932 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00"
-@.str2933 = private unnamed_addr constant [37 x i8] c"define ptr @fn_random_hex(i64 %n) {\0A\00"
-@.str2934 = private unnamed_addr constant [89 x i8] c"entry:\0A %buf = call ptr @malloc(i64 %n)\0A call void @fn_secure_bytes(ptr %buf, i64 %n)\0A\00"
-@.str2935 = private unnamed_addr constant [97 x i8] c" %hex = call ptr @fn_hex_encode(ptr %buf, i64 %n)\0A call void @free(ptr %buf)\0A ret ptr %hex\0A}\0A\00"
-@.str2936 = private unnamed_addr constant [31 x i8] c"define i32 @fn_random_u32() {\0A\00"
-@.str2937 = private unnamed_addr constant [129 x i8] c"entry:\0A %b = alloca [4 x i8]\0A %bp = getelementptr [4 x i8], ptr %b, i64 0, i64 0\0A call void @fn_secure_bytes(ptr %bp, i64 4)\0A\00"
-@.str2938 = 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"
-@.str2939 = 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"
-@.str2940 = 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"
-@.str2941 = 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"
-@.str2942 = 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"
-@.str2943 = private unnamed_addr constant [33 x i8] c"define ptr @fn_base64(ptr %s) {\0A\00"
-@.str2944 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00"
-@.str2945 = 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"
-@.str2946 = 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"
-@.str2947 = 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"
-@.str2948 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00"
-@.str2949 = 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"
-@.str2950 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00"
-@.str2951 = 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"
-@.str2952 = 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"
-@.str2953 = 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"
-@.str2954 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00"
-@.str2955 = 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"
-@.str2956 = 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"
-@.str2957 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00"
-@.str2958 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00"
-@.str2959 = 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"
-@.str2960 = 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"
-@.str2961 = 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"
-@.str2962 = 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"
-@.str2963 = 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"
-@.str2964 = 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"
-@.str2965 = 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"
-@.str2966 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00"
-@.str2967 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00"
-@.str2968 = 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"
-@.str2969 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00"
-@.str2970 = 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"
-@.str2971 = private unnamed_addr constant [54 x i8] c"done:\0A call void @free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00"
-@.str2972 = private unnamed_addr constant [4 x i8] c"new\00"
-@.str2973 = private unnamed_addr constant [3 x i8] c"v4\00"
-@.str2974 = private unnamed_addr constant [7 x i8] c"new_v7\00"
-@.str2975 = private unnamed_addr constant [3 x i8] c"v7\00"
-@.str2976 = private unnamed_addr constant [6 x i8] c"parse\00"
-@.str2977 = private unnamed_addr constant [9 x i8] c"is_valid\00"
-@.str2978 = private unnamed_addr constant [8 x i8] c"to_text\00"
-@.str2979 = private unnamed_addr constant [7 x i8] c"equals\00"
-@.str2980 = private unnamed_addr constant [4 x i8] c"nil\00"
-@.str2981 = private unnamed_addr constant [4 x i8] c"new\00"
-@.str2982 = private unnamed_addr constant [3 x i8] c"v4\00"
-@.str2983 = private unnamed_addr constant [23 x i8] c"call ptr @fn_uuid_v4()\00"
-@.str2984 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2985 = private unnamed_addr constant [7 x i8] c"new_v7\00"
-@.str2986 = private unnamed_addr constant [3 x i8] c"v7\00"
-@.str2987 = private unnamed_addr constant [23 x i8] c"call ptr @fn_uuid_v7()\00"
-@.str2988 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2989 = private unnamed_addr constant [4 x i8] c"nil\00"
-@.str2990 = private unnamed_addr constant [24 x i8] c"call ptr @fn_uuid_nil()\00"
-@.str2991 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2992 = private unnamed_addr constant [9 x i8] c"is_valid\00"
-@.str2993 = private unnamed_addr constant [29 x i8] c"call i32 @fn_uuid_valid(ptr \00"
-@.str2994 = private unnamed_addr constant [2 x i8] c")\00"
-@.str2995 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str2996 = private unnamed_addr constant [8 x i8] c"to_text\00"
-@.str2997 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str2998 = private unnamed_addr constant [7 x i8] c"equals\00"
-@.str2999 = private unnamed_addr constant [26 x i8] c"call i32 @fn_uuid_eq(ptr \00"
-@.str3000 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str3001 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3002 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str3003 = private unnamed_addr constant [29 x i8] c"call ptr @fn_uuid_parse(ptr \00"
-@.str3004 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3005 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3006 = private unnamed_addr constant [40 x i8] c"define ptr @fn_uuid_format(ptr %b16) {\0A\00"
-@.str3007 = private unnamed_addr constant [93 x i8] c"entry:\0A %hex = call ptr @fn_hex_encode(ptr %b16, i64 16)\0A %out = call ptr @malloc(i64 37)\0A\00"
-@.str3008 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00"
-@.str3009 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00"
-@.str3010 = 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"
-@.str3011 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00"
-@.str3012 = 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"
-@.str3013 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00"
-@.str3014 = 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"
-@.str3015 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00"
-@.str3016 = 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"
-@.str3017 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00"
-@.str3018 = private unnamed_addr constant [46 x i8] c" call void @free(ptr %hex)\0A ret ptr %out\0A}\0A\00"
-@.str3019 = private unnamed_addr constant [28 x i8] c"define ptr @fn_uuid_v4() {\0A\00"
-@.str3020 = private unnamed_addr constant [132 x i8] c"entry:\0A %b = alloca [16 x i8]\0A %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\0A call void @fn_secure_bytes(ptr %bp, i64 16)\0A\00"
-@.str3021 = 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"
-@.str3022 = 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"
-@.str3023 = private unnamed_addr constant [57 x i8] c" %s = call ptr @fn_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00"
-@.str3024 = private unnamed_addr constant [28 x i8] c"define ptr @fn_uuid_v7() {\0A\00"
-@.str3025 = private unnamed_addr constant [132 x i8] c"entry:\0A %b = alloca [16 x i8]\0A %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\0A call void @fn_secure_bytes(ptr %bp, i64 16)\0A\00"
-@.str3026 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00"
-@.str3027 = 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"
-@.str3028 = 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"
-@.str3029 = 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"
-@.str3030 = 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"
-@.str3031 = 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"
-@.str3032 = 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"
-@.str3033 = 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"
-@.str3034 = 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"
-@.str3035 = private unnamed_addr constant [57 x i8] c" %s = call ptr @fn_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00"
-@.str3036 = private unnamed_addr constant [29 x i8] c"define ptr @fn_uuid_nil() {\0A\00"
-@.str3037 = 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"
-@.str3038 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00"
-@.str3039 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00"
-@.str3040 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00"
-@.str3041 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00"
-@.str3042 = 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"
-@.str3043 = private unnamed_addr constant [37 x i8] c"define i32 @fn_uuid_valid(ptr %s) {\0A\00"
-@.str3044 = 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"
-@.str3045 = 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"
-@.str3046 = 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"
-@.str3047 = 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"
-@.str3048 = 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"
-@.str3049 = 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"
-@.str3050 = 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"
-@.str3051 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00"
-@.str3052 = 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"
-@.str3053 = 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"
-@.str3054 = 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"
-@.str3055 = 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"
-@.str3056 = 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"
-@.str3057 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00"
-@.str3058 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00"
-@.str3059 = private unnamed_addr constant [42 x i8] c"define i32 @fn_uuid_eq(ptr %a, ptr %b) {\0A\00"
-@.str3060 = 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"
-@.str3061 = 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"
-@.str3062 = 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"
-@.str3063 = 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"
-@.str3064 = 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"
-@.str3065 = 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"
-@.str3066 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00"
-@.str3067 = 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"
-@.str3068 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00"
-@.str3069 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00"
-@.str3070 = private unnamed_addr constant [37 x i8] c"define ptr @fn_uuid_parse(ptr %s) {\0A\00"
-@.str3071 = private unnamed_addr constant [116 x i8] c"entry:\0A %ok = call i32 @fn_uuid_valid(ptr %s)\0A %isok = icmp ne i32 %ok, 0\0A br i1 %isok, label %dup, label %nilb\0A\00"
-@.str3072 = 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"
-@.str3073 = 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"
-@.str3074 = 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"
-@.str3075 = 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"
-@.str3076 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00"
-@.str3077 = 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"
-@.str3078 = 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"
-@.str3079 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @fn_uuid_nil()\0A ret ptr %nn\0A}\0A\00"
-@.str3080 = private unnamed_addr constant [7 x i8] c"value2\00"
-@.str3081 = private unnamed_addr constant [8 x i8] c"perlin2\00"
-@.str3082 = private unnamed_addr constant [9 x i8] c"simplex2\00"
-@.str3083 = private unnamed_addr constant [5 x i8] c"fbm2\00"
-@.str3084 = private unnamed_addr constant [10 x i8] c"cellular2\00"
-@.str3085 = private unnamed_addr constant [13 x i8] c"cellular2_id\00"
-@.str3086 = private unnamed_addr constant [5 x i8] c"unit\00"
-@.str3087 = private unnamed_addr constant [5 x i8] c"unit\00"
-@.str3088 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str3089 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str3090 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str3091 = private unnamed_addr constant [8 x i8] c", 32768\00"
-@.str3092 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str3093 = private unnamed_addr constant [7 x i8] c"value2\00"
-@.str3094 = private unnamed_addr constant [31 x i8] c"call i32 @fn_noise_value2(i32 \00"
-@.str3095 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3096 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3097 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3098 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str3099 = private unnamed_addr constant [8 x i8] c"perlin2\00"
-@.str3100 = private unnamed_addr constant [32 x i8] c"call i32 @fn_noise_perlin2(i32 \00"
-@.str3101 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3102 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3103 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3104 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str3105 = private unnamed_addr constant [9 x i8] c"simplex2\00"
-@.str3106 = private unnamed_addr constant [33 x i8] c"call i32 @fn_noise_simplex2(i32 \00"
-@.str3107 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3108 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3109 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3110 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str3111 = private unnamed_addr constant [5 x i8] c"fbm2\00"
-@.str3112 = private unnamed_addr constant [29 x i8] c"call i32 @fn_noise_fbm2(i32 \00"
-@.str3113 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3114 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3115 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3116 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3117 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str3118 = private unnamed_addr constant [10 x i8] c"cellular2\00"
-@.str3119 = private unnamed_addr constant [34 x i8] c"call i32 @fn_noise_cellular2(i32 \00"
-@.str3120 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3121 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3122 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3123 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str3124 = private unnamed_addr constant [37 x i8] c"call i32 @fn_noise_cellular2_id(i32 \00"
+@.str2771 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2772 = private unnamed_addr constant [4 x i8] c"hex\00"
+@.str2773 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_hex(ptr \00"
+@.str2774 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2775 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2776 = private unnamed_addr constant [9 x i8] c"ct_equal\00"
+@.str2777 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00"
+@.str2778 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str2779 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2780 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str2781 = private unnamed_addr constant [13 x i8] c"random_bytes\00"
+@.str2782 = private unnamed_addr constant [11 x i8] c"random_hex\00"
+@.str2783 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str2784 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str2785 = private unnamed_addr constant [29 x i8] c"call ptr @lp_random_hex(i64 \00"
+@.str2786 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2787 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2788 = private unnamed_addr constant [11 x i8] c"random_u32\00"
+@.str2789 = private unnamed_addr constant [26 x i8] c"call i32 @lp_random_u32()\00"
+@.str2790 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str2791 = private unnamed_addr constant [7 x i8] c"base64\00"
+@.str2792 = private unnamed_addr constant [25 x i8] c"call ptr @lp_base64(ptr \00"
+@.str2793 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2794 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str2795 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00"
+@.str2796 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str2797 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2798 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00"
+@.str2799 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str2800 = private unnamed_addr constant [2 x i8] c")\00"
+@.str2801 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str2802 = 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"
+@.str2803 = private unnamed_addr constant [41 x i8] c"define i32 @lp_rotr32(i32 %x, i32 %n) {\0A\00"
+@.str2804 = 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"
+@.str2805 = private unnamed_addr constant [60 x i8] c"define void @lp_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00"
+@.str2806 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
+@.str2807 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00"
+@.str2808 = 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"
+@.str2809 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00"
+@.str2810 = 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"
+@.str2811 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00"
+@.str2812 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00"
+@.str2813 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00"
+@.str2814 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00"
+@.str2815 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00"
+@.str2816 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00"
+@.str2817 = 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"
+@.str2818 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00"
+@.str2819 = 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"
+@.str2820 = 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"
+@.str2821 = 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"
+@.str2822 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00"
+@.str2823 = 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"
+@.str2824 = 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"
+@.str2825 = 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"
+@.str2826 = 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"
+@.str2827 = 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"
+@.str2828 = 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"
+@.str2829 = 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"
+@.str2830 = 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"
+@.str2831 = 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"
+@.str2832 = 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"
+@.str2833 = 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"
+@.str2834 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00"
+@.str2835 = 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"
+@.str2836 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00"
+@.str2837 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00"
+@.str2838 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00"
+@.str2839 = 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"
+@.str2840 = 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"
+@.str2841 = 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"
+@.str2842 = 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"
+@.str2843 = 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"
+@.str2844 = 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"
+@.str2845 = 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"
+@.str2846 = 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"
+@.str2847 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00"
+@.str2848 = 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"
+@.str2849 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00"
+@.str2850 = 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"
+@.str2851 = 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"
+@.str2852 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00"
+@.str2853 = 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"
+@.str2854 = 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"
+@.str2855 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00"
+@.str2856 = 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"
+@.str2857 = 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"
+@.str2858 = 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"
+@.str2859 = 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"
+@.str2860 = 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"
+@.str2861 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00"
+@.str2862 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00"
+@.str2863 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00"
+@.str2864 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00"
+@.str2865 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00"
+@.str2866 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00"
+@.str2867 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00"
+@.str2868 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00"
+@.str2869 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00"
+@.str2870 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00"
+@.str2871 = 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"
+@.str2872 = private unnamed_addr constant [5 x i8] c"rb:\0A\00"
+@.str2873 = 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"
+@.str2874 = 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"
+@.str2875 = 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"
+@.str2876 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00"
+@.str2877 = 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"
+@.str2878 = 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"
+@.str2879 = 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"
+@.str2880 = 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"
+@.str2881 = 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"
+@.str2882 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00"
+@.str2883 = 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"
+@.str2884 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00"
+@.str2885 = 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"
+@.str2886 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00"
+@.str2887 = 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"
+@.str2888 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00"
+@.str2889 = 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"
+@.str2890 = private unnamed_addr constant [7 x i8] c"addH:\0A\00"
+@.str2891 = 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"
+@.str2892 = 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"
+@.str2893 = 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"
+@.str2894 = 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"
+@.str2895 = 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"
+@.str2896 = 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"
+@.str2897 = 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"
+@.str2898 = 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"
+@.str2899 = 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"
+@.str2900 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00"
+@.str2901 = 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"
+@.str2902 = private unnamed_addr constant [5 x i8] c"ob:\0A\00"
+@.str2903 = 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"
+@.str2904 = 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"
+@.str2905 = 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"
+@.str2906 = 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"
+@.str2907 = 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"
+@.str2908 = 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"
+@.str2909 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00"
+@.str2910 = private unnamed_addr constant [35 x i8] c"define i8 @lp_hex_digit(i32 %d) {\0A\00"
+@.str2911 = 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"
+@.str2912 = private unnamed_addr constant [46 x i8] c"define ptr @lp_hex_encode(ptr %in, i64 %n) {\0A\00"
+@.str2913 = 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"
+@.str2914 = 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"
+@.str2915 = 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"
+@.str2916 = 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"
+@.str2917 = 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"
+@.str2918 = 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"
+@.str2919 = 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"
+@.str2920 = private unnamed_addr constant [37 x i8] c"define ptr @lp_sha256_hex(ptr %s) {\0A\00"
+@.str2921 = 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"
+@.str2922 = 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"
+@.str2923 = private unnamed_addr constant [34 x i8] c"define ptr @lp_str_hex(ptr %s) {\0A\00"
+@.str2924 = 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"
+@.str2925 = private unnamed_addr constant [55 x i8] c"define void @lp_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00"
+@.str2926 = 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"
+@.str2927 = 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"
+@.str2928 = 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"
+@.str2929 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00"
+@.str2930 = private unnamed_addr constant [54 x i8] c"define ptr @lp_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00"
+@.str2931 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
+@.str2932 = 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"
+@.str2933 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00"
+@.str2934 = 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"
+@.str2935 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00"
+@.str2936 = 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"
+@.str2937 = 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"
+@.str2938 = private unnamed_addr constant [7 x i8] c"pads:\0A\00"
+@.str2939 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00"
+@.str2940 = private unnamed_addr constant [53 x i8] c" call void @lp_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00"
+@.str2941 = 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"
+@.str2942 = 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"
+@.str2943 = 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"
+@.str2944 = 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"
+@.str2945 = 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"
+@.str2946 = 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"
+@.str2947 = private unnamed_addr constant [43 x i8] c"define i32 @lp_ct_streq(ptr %a, ptr %b) {\0A\00"
+@.str2948 = 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"
+@.str2949 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00"
+@.str2950 = 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"
+@.str2951 = 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"
+@.str2952 = 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"
+@.str2953 = 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"
+@.str2954 = 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"
+@.str2955 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00"
+@.str2956 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00"
+@.str2957 = private unnamed_addr constant [50 x i8] c"define void @lp_secure_bytes(ptr %out, i64 %n) {\0A\00"
+@.str2958 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00"
+@.str2959 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00"
+@.str2960 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00"
+@.str2961 = 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"
+@.str2962 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00"
+@.str2963 = private unnamed_addr constant [37 x i8] c"define ptr @lp_random_hex(i64 %n) {\0A\00"
+@.str2964 = 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"
+@.str2965 = 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"
+@.str2966 = private unnamed_addr constant [31 x i8] c"define i32 @lp_random_u32() {\0A\00"
+@.str2967 = 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"
+@.str2968 = 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"
+@.str2969 = 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"
+@.str2970 = 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"
+@.str2971 = 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"
+@.str2972 = 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"
+@.str2973 = private unnamed_addr constant [33 x i8] c"define ptr @lp_base64(ptr %s) {\0A\00"
+@.str2974 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00"
+@.str2975 = 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"
+@.str2976 = 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"
+@.str2977 = 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"
+@.str2978 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00"
+@.str2979 = 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"
+@.str2980 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00"
+@.str2981 = 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"
+@.str2982 = 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"
+@.str2983 = 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"
+@.str2984 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00"
+@.str2985 = 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"
+@.str2986 = 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"
+@.str2987 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00"
+@.str2988 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00"
+@.str2989 = 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"
+@.str2990 = 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"
+@.str2991 = 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"
+@.str2992 = 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"
+@.str2993 = 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"
+@.str2994 = 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"
+@.str2995 = 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"
+@.str2996 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00"
+@.str2997 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00"
+@.str2998 = 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"
+@.str2999 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00"
+@.str3000 = 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"
+@.str3001 = private unnamed_addr constant [54 x i8] c"done:\0A call void @free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00"
+@.str3002 = private unnamed_addr constant [4 x i8] c"new\00"
+@.str3003 = private unnamed_addr constant [3 x i8] c"v4\00"
+@.str3004 = private unnamed_addr constant [7 x i8] c"new_v7\00"
+@.str3005 = private unnamed_addr constant [3 x i8] c"v7\00"
+@.str3006 = private unnamed_addr constant [6 x i8] c"parse\00"
+@.str3007 = private unnamed_addr constant [9 x i8] c"is_valid\00"
+@.str3008 = private unnamed_addr constant [8 x i8] c"to_text\00"
+@.str3009 = private unnamed_addr constant [7 x i8] c"equals\00"
+@.str3010 = private unnamed_addr constant [4 x i8] c"nil\00"
+@.str3011 = private unnamed_addr constant [4 x i8] c"new\00"
+@.str3012 = private unnamed_addr constant [3 x i8] c"v4\00"
+@.str3013 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v4()\00"
+@.str3014 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3015 = private unnamed_addr constant [7 x i8] c"new_v7\00"
+@.str3016 = private unnamed_addr constant [3 x i8] c"v7\00"
+@.str3017 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v7()\00"
+@.str3018 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3019 = private unnamed_addr constant [4 x i8] c"nil\00"
+@.str3020 = private unnamed_addr constant [24 x i8] c"call ptr @lp_uuid_nil()\00"
+@.str3021 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3022 = private unnamed_addr constant [9 x i8] c"is_valid\00"
+@.str3023 = private unnamed_addr constant [29 x i8] c"call i32 @lp_uuid_valid(ptr \00"
+@.str3024 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3025 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str3026 = private unnamed_addr constant [8 x i8] c"to_text\00"
+@.str3027 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3028 = private unnamed_addr constant [7 x i8] c"equals\00"
+@.str3029 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uuid_eq(ptr \00"
+@.str3030 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str3031 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3032 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str3033 = private unnamed_addr constant [29 x i8] c"call ptr @lp_uuid_parse(ptr \00"
+@.str3034 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3035 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3036 = private unnamed_addr constant [40 x i8] c"define ptr @lp_uuid_format(ptr %b16) {\0A\00"
+@.str3037 = 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"
+@.str3038 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00"
+@.str3039 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00"
+@.str3040 = 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"
+@.str3041 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00"
+@.str3042 = 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"
+@.str3043 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00"
+@.str3044 = 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"
+@.str3045 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00"
+@.str3046 = 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"
+@.str3047 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00"
+@.str3048 = private unnamed_addr constant [46 x i8] c" call void @free(ptr %hex)\0A ret ptr %out\0A}\0A\00"
+@.str3049 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v4() {\0A\00"
+@.str3050 = 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"
+@.str3051 = 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"
+@.str3052 = 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"
+@.str3053 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00"
+@.str3054 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v7() {\0A\00"
+@.str3055 = 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"
+@.str3056 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00"
+@.str3057 = 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"
+@.str3058 = 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"
+@.str3059 = 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"
+@.str3060 = 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"
+@.str3061 = 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"
+@.str3062 = 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"
+@.str3063 = 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"
+@.str3064 = 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"
+@.str3065 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00"
+@.str3066 = private unnamed_addr constant [29 x i8] c"define ptr @lp_uuid_nil() {\0A\00"
+@.str3067 = 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"
+@.str3068 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00"
+@.str3069 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00"
+@.str3070 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00"
+@.str3071 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00"
+@.str3072 = 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"
+@.str3073 = private unnamed_addr constant [37 x i8] c"define i32 @lp_uuid_valid(ptr %s) {\0A\00"
+@.str3074 = 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"
+@.str3075 = 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"
+@.str3076 = 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"
+@.str3077 = 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"
+@.str3078 = 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"
+@.str3079 = 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"
+@.str3080 = 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"
+@.str3081 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00"
+@.str3082 = 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"
+@.str3083 = 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"
+@.str3084 = 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"
+@.str3085 = 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"
+@.str3086 = 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"
+@.str3087 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00"
+@.str3088 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00"
+@.str3089 = private unnamed_addr constant [42 x i8] c"define i32 @lp_uuid_eq(ptr %a, ptr %b) {\0A\00"
+@.str3090 = 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"
+@.str3091 = 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"
+@.str3092 = 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"
+@.str3093 = 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"
+@.str3094 = 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"
+@.str3095 = 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"
+@.str3096 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00"
+@.str3097 = 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"
+@.str3098 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00"
+@.str3099 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00"
+@.str3100 = private unnamed_addr constant [37 x i8] c"define ptr @lp_uuid_parse(ptr %s) {\0A\00"
+@.str3101 = 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"
+@.str3102 = 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"
+@.str3103 = 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"
+@.str3104 = 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"
+@.str3105 = 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"
+@.str3106 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00"
+@.str3107 = 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"
+@.str3108 = 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"
+@.str3109 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @lp_uuid_nil()\0A ret ptr %nn\0A}\0A\00"
+@.str3110 = private unnamed_addr constant [7 x i8] c"value2\00"
+@.str3111 = private unnamed_addr constant [8 x i8] c"perlin2\00"
+@.str3112 = private unnamed_addr constant [9 x i8] c"simplex2\00"
+@.str3113 = private unnamed_addr constant [5 x i8] c"fbm2\00"
+@.str3114 = private unnamed_addr constant [10 x i8] c"cellular2\00"
+@.str3115 = private unnamed_addr constant [13 x i8] c"cellular2_id\00"
+@.str3116 = private unnamed_addr constant [5 x i8] c"unit\00"
+@.str3117 = private unnamed_addr constant [5 x i8] c"unit\00"
+@.str3118 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str3119 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str3120 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str3121 = private unnamed_addr constant [8 x i8] c", 32768\00"
+@.str3122 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str3123 = private unnamed_addr constant [7 x i8] c"value2\00"
+@.str3124 = private unnamed_addr constant [31 x i8] c"call i32 @lp_noise_value2(i32 \00"
@.str3125 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str3126 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str3127 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3128 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str3129 = private unnamed_addr constant [42 x i8] c"define i32 @fn_nfx_mul(i32 %a, i32 %b) {\0A\00"
-@.str3130 = 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"
-@.str3131 = private unnamed_addr constant [42 x i8] c"define i32 @fn_nfx_div(i32 %a, i32 %b) {\0A\00"
-@.str3132 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00"
-@.str3133 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00"
-@.str3134 = 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"
-@.str3135 = private unnamed_addr constant [51 x i8] c"define i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00"
-@.str3136 = private unnamed_addr constant [106 x i8] c" %d = sub i32 %b, %a\0A %dt = call i32 @fn_nfx_mul(i32 %d, i32 %t)\0A %r = add i32 %a, %dt\0A ret i32 %r\0A}\0A\00"
-@.str3137 = private unnamed_addr constant [38 x i8] c"define i32 @fn_noise_clamp(i32 %v) {\0A\00"
-@.str3138 = 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"
-@.str3139 = private unnamed_addr constant [58 x i8] c"define i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00"
-@.str3140 = 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"
-@.str3141 = 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"
-@.str3142 = 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"
-@.str3143 = 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"
-@.str3144 = private unnamed_addr constant [37 x i8] c"define i32 @fn_noise_fade(i32 %t) {\0A\00"
-@.str3145 = private unnamed_addr constant [92 x i8] c" %t2 = call i32 @fn_nfx_mul(i32 %t, i32 %t)\0A %t3 = call i32 @fn_nfx_mul(i32 %t2, i32 %t)\0A\00"
-@.str3146 = private unnamed_addr constant [93 x i8] c" %t4 = call i32 @fn_nfx_mul(i32 %t3, i32 %t)\0A %t5 = call i32 @fn_nfx_mul(i32 %t4, i32 %t)\0A\00"
-@.str3147 = 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"
-@.str3148 = 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"
-@.str3149 = private unnamed_addr constant [58 x i8] c"define i32 @fn_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00"
-@.str3150 = 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"
-@.str3151 = private unnamed_addr constant [81 x i8] c" %u = call i32 @fn_noise_fade(i32 %xf)\0A %v = call i32 @fn_noise_fade(i32 %yf)\0A\00"
-@.str3152 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00"
-@.str3153 = private unnamed_addr constant [122 x i8] c" %h00 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %m00 = and i32 %h00, 131071\0A %n00 = sub i32 %m00, 65536\0A\00"
-@.str3154 = private unnamed_addr constant [123 x i8] c" %h10 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A %m10 = and i32 %h10, 131071\0A %n10 = sub i32 %m10, 65536\0A\00"
-@.str3155 = private unnamed_addr constant [123 x i8] c" %h01 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %m01 = and i32 %h01, 131071\0A %n01 = sub i32 %m01, 65536\0A\00"
-@.str3156 = private unnamed_addr constant [124 x i8] c" %h11 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A %m11 = and i32 %h11, 131071\0A %n11 = sub i32 %m11, 65536\0A\00"
-@.str3157 = private unnamed_addr constant [115 x i8] c" %a = call i32 @fn_nfx_lerp(i32 %n00, i32 %n10, i32 %u)\0A %b = call i32 @fn_nfx_lerp(i32 %n01, i32 %n11, i32 %u)\0A\00"
-@.str3158 = private unnamed_addr constant [109 x i8] c" %n = call i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %r = call i32 @fn_noise_clamp(i32 %n)\0A ret i32 %r\0A}\0A\00"
-@.str3159 = 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"
-@.str3160 = private unnamed_addr constant [59 x i8] c"define i32 @fn_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00"
-@.str3161 = 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"
-@.str3162 = 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"
-@.str3163 = 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"
-@.str3164 = private unnamed_addr constant [134 x i8] c" %px = call i32 @fn_nfx_mul(i32 %gx, i32 %dx)\0A %py = call i32 @fn_nfx_mul(i32 %gy, i32 %dy)\0A %r = add i32 %px, %py\0A ret i32 %r\0A}\0A\00"
-@.str3165 = private unnamed_addr constant [59 x i8] c"define i32 @fn_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00"
-@.str3166 = 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"
-@.str3167 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00"
-@.str3168 = private unnamed_addr constant [81 x i8] c" %u = call i32 @fn_noise_fade(i32 %xf)\0A %v = call i32 @fn_noise_fade(i32 %yf)\0A\00"
-@.str3169 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00"
-@.str3170 = private unnamed_addr constant [126 x i8] c" %h00 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %h10 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A\00"
-@.str3171 = private unnamed_addr constant [128 x i8] c" %h01 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %h11 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A\00"
-@.str3172 = private unnamed_addr constant [126 x i8] c" %g00 = call i32 @fn_noise_grad2(i32 %h00, i32 %xf, i32 %yf)\0A %g10 = call i32 @fn_noise_grad2(i32 %h10, i32 %xf1, i32 %yf)\0A\00"
-@.str3173 = private unnamed_addr constant [128 x i8] c" %g01 = call i32 @fn_noise_grad2(i32 %h01, i32 %xf, i32 %yf1)\0A %g11 = call i32 @fn_noise_grad2(i32 %h11, i32 %xf1, i32 %yf1)\0A\00"
-@.str3174 = private unnamed_addr constant [115 x i8] c" %a = call i32 @fn_nfx_lerp(i32 %g00, i32 %g10, i32 %u)\0A %b = call i32 @fn_nfx_lerp(i32 %g01, i32 %g11, i32 %u)\0A\00"
-@.str3175 = private unnamed_addr constant [158 x i8] c" %n = call i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %sc = call i32 @fn_nfx_mul(i32 %n, i32 92682)\0A %r = call i32 @fn_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00"
-@.str3176 = private unnamed_addr constant [61 x i8] c"define i32 @fn_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00"
-@.str3177 = private unnamed_addr constant [95 x i8] c" %xx = call i32 @fn_nfx_mul(i32 %dx, i32 %dx)\0A %yy = call i32 @fn_nfx_mul(i32 %dy, i32 %dy)\0A\00"
-@.str3178 = 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"
-@.str3179 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00"
-@.str3180 = private unnamed_addr constant [97 x i8] c"go:\0A %t2 = call i32 @fn_nfx_mul(i32 %t, i32 %t)\0A %t4 = call i32 @fn_nfx_mul(i32 %t2, i32 %t2)\0A\00"
-@.str3181 = private unnamed_addr constant [122 x i8] c" %g = call i32 @fn_noise_grad2(i32 %hash, i32 %dx, i32 %dy)\0A %r = call i32 @fn_nfx_mul(i32 %t4, i32 %g)\0A ret i32 %r\0A}\0A\00"
-@.str3182 = private unnamed_addr constant [60 x i8] c"define i32 @fn_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00"
-@.str3183 = private unnamed_addr constant [79 x i8] c" %sum0 = add i32 %x, %y\0A %skew = call i32 @fn_nfx_mul(i32 %sum0, i32 23994)\0A\00"
-@.str3184 = 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"
-@.str3185 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00"
-@.str3186 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00"
-@.str3187 = 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"
-@.str3188 = 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"
-@.str3189 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00"
-@.str3190 = 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"
-@.str3191 = 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"
-@.str3192 = 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"
-@.str3193 = private unnamed_addr constant [187 x i8] c" %gi0 = call i32 @fn_noise_hash(i32 %seed, i32 %i, i32 %j)\0A %gi1 = call i32 @fn_noise_hash(i32 %seed, i32 %i1p, i32 %j1p)\0A %gi2 = call i32 @fn_noise_hash(i32 %seed, i32 %i2, i32 %j2)\0A\00"
-@.str3194 = private unnamed_addr constant [190 x i8] c" %n0 = call i32 @fn_noise_scorner(i32 %gi0, i32 %x0, i32 %y0)\0A %n1 = call i32 @fn_noise_scorner(i32 %gi1, i32 %x1, i32 %y1)\0A %n2 = call i32 @fn_noise_scorner(i32 %gi2, i32 %x2, i32 %y2)\0A\00"
-@.str3195 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00"
-@.str3196 = private unnamed_addr constant [81 x i8] c" %sc = mul i32 %sb, 45\0A %r = call i32 @fn_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00"
-@.str3197 = private unnamed_addr constant [66 x i8] c"define i32 @fn_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00"
-@.str3198 = 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"
-@.str3199 = 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"
-@.str3200 = 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"
-@.str3201 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00"
-@.str3202 = private unnamed_addr constant [97 x i8] c" %fx = call i32 @fn_nfx_mul(i32 %x, i32 %freq)\0A %fy = call i32 @fn_nfx_mul(i32 %y, i32 %freq)\0A\00"
-@.str3203 = private unnamed_addr constant [89 x i8] c" %so = add i32 %seed, %o\0A %n = call i32 @fn_noise_simplex2(i32 %fx, i32 %fy, i32 %so)\0A\00"
-@.str3204 = private unnamed_addr constant [134 x i8] c" %na = call i32 @fn_nfx_mul(i32 %n, i32 %amp)\0A %sum = load i32, ptr %sump\0A %sum2 = add i32 %sum, %na\0A store i32 %sum2, ptr %sump\0A\00"
-@.str3205 = 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"
-@.str3206 = private unnamed_addr constant [82 x i8] c" %amp2 = call i32 @fn_nfx_mul(i32 %amp, i32 32768)\0A store i32 %amp2, ptr %ampp\0A\00"
-@.str3207 = private unnamed_addr constant [87 x i8] c" %freq2 = call i32 @fn_nfx_mul(i32 %freq, i32 131072)\0A store i32 %freq2, ptr %freqp\0A\00"
-@.str3208 = 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"
-@.str3209 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00"
-@.str3210 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00"
-@.str3211 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00"
-@.str3212 = private unnamed_addr constant [112 x i8] c"div:\0A %d = call i32 @fn_nfx_div(i32 %fsum, i32 %fnorm)\0A %r = call i32 @fn_noise_clamp(i32 %d)\0A ret i32 %r\0A}\0A\00"
-@.str3213 = private unnamed_addr constant [86 x i8] c"define void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2out, ptr %idout) {\0A\00"
-@.str3214 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00"
-@.str3215 = 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"
-@.str3216 = 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"
-@.str3217 = 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"
-@.str3218 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00"
-@.str3219 = 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"
-@.str3220 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00"
-@.str3221 = private unnamed_addr constant [61 x i8] c" %h = call i32 @fn_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00"
-@.str3222 = 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"
-@.str3223 = 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"
-@.str3224 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00"
-@.str3225 = private unnamed_addr constant [128 x i8] c" %dxx = call i32 @fn_nfx_mul(i32 %ddx, i32 %ddx)\0A %dyy = call i32 @fn_nfx_mul(i32 %ddy, i32 %ddy)\0A %d2 = add i32 %dxx, %dyy\0A\00"
-@.str3226 = 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"
-@.str3227 = 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"
-@.str3228 = 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"
-@.str3229 = 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"
-@.str3230 = 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"
-@.str3231 = private unnamed_addr constant [61 x i8] c"define i32 @fn_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00"
-@.str3232 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00"
-@.str3233 = private unnamed_addr constant [77 x i8] c" %v = load i32, ptr %d2\0A %r = call i32 @fn_fx_sqrt(i32 %v)\0A ret i32 %r\0A}\0A\00"
-@.str3234 = private unnamed_addr constant [64 x i8] c"define i32 @fn_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00"
-@.str3235 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00"
-@.str3236 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00"
-@.str3237 = private unnamed_addr constant [6 x i8] c"trace\00"
-@.str3238 = private unnamed_addr constant [6 x i8] c"debug\00"
-@.str3239 = private unnamed_addr constant [5 x i8] c"info\00"
-@.str3240 = private unnamed_addr constant [5 x i8] c"warn\00"
-@.str3241 = private unnamed_addr constant [6 x i8] c"error\00"
-@.str3242 = private unnamed_addr constant [10 x i8] c"set_level\00"
-@.str3243 = private unnamed_addr constant [6 x i8] c"level\00"
-@.str3244 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str3245 = private unnamed_addr constant [4 x i8] c"i64\00"
-@.str3246 = private unnamed_addr constant [27 x i8] c"call ptr @fn_long_str(i64 \00"
-@.str3247 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3248 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00"
-@.str3249 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3250 = private unnamed_addr constant [10 x i8] c"set_level\00"
-@.str3251 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str3252 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00"
-@.str3253 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str3254 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str3255 = private unnamed_addr constant [6 x i8] c"level\00"
-@.str3256 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00"
-@.str3257 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str3258 = private unnamed_addr constant [2 x i8] c"2\00"
-@.str3259 = private unnamed_addr constant [8 x i8] c"[INFO] \00"
-@.str3260 = private unnamed_addr constant [6 x i8] c"trace\00"
-@.str3261 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str3262 = private unnamed_addr constant [9 x i8] c"[TRACE] \00"
-@.str3263 = private unnamed_addr constant [6 x i8] c"debug\00"
-@.str3264 = private unnamed_addr constant [2 x i8] c"1\00"
-@.str3265 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00"
-@.str3266 = private unnamed_addr constant [5 x i8] c"warn\00"
-@.str3267 = private unnamed_addr constant [2 x i8] c"3\00"
-@.str3268 = private unnamed_addr constant [8 x i8] c"[WARN] \00"
-@.str3269 = private unnamed_addr constant [6 x i8] c"error\00"
-@.str3270 = private unnamed_addr constant [2 x i8] c"4\00"
-@.str3271 = private unnamed_addr constant [9 x i8] c"[ERROR] \00"
-@.str3272 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3273 = private unnamed_addr constant [2 x i8] c"+\00"
-@.str3274 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3275 = private unnamed_addr constant [2 x i8] c"+\00"
-@.str3276 = private unnamed_addr constant [2 x i8] c" \00"
-@.str3277 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3278 = private unnamed_addr constant [2 x i8] c"+\00"
-@.str3279 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3280 = private unnamed_addr constant [2 x i8] c"+\00"
-@.str3281 = private unnamed_addr constant [2 x i8] c"=\00"
-@.str3282 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3283 = private unnamed_addr constant [2 x i8] c"+\00"
-@.str3284 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3285 = private unnamed_addr constant [30 x i8] c" call void @fn_log_emit(i32 \00"
-@.str3286 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str3287 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str3288 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str3289 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str3290 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00"
-@.str3291 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00"
-@.str3292 = private unnamed_addr constant [46 x i8] c"define void @fn_log_emit(i32 %lvl, ptr %s) {\0A\00"
-@.str3293 = 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"
-@.str3294 = private unnamed_addr constant [69 x i8] c"go:\0A %e = load ptr, ptr @__stderrp\0A %n = call i64 @strlen(ptr %s)\0A\00"
-@.str3295 = 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"
-@.str3296 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00"
-@.str3297 = private unnamed_addr constant [5 x i8] c"args\00"
-@.str3298 = private unnamed_addr constant [10 x i8] c"arg_count\00"
-@.str3299 = private unnamed_addr constant [4 x i8] c"arg\00"
-@.str3300 = private unnamed_addr constant [4 x i8] c"env\00"
-@.str3301 = private unnamed_addr constant [7 x i8] c"env_or\00"
-@.str3302 = private unnamed_addr constant [8 x i8] c"has_env\00"
-@.str3303 = private unnamed_addr constant [8 x i8] c"set_env\00"
-@.str3304 = private unnamed_addr constant [10 x i8] c"unset_env\00"
-@.str3305 = private unnamed_addr constant [5 x i8] c"exit\00"
-@.str3306 = private unnamed_addr constant [9 x i8] c"platform\00"
-@.str3307 = private unnamed_addr constant [5 x i8] c"arch\00"
-@.str3308 = private unnamed_addr constant [13 x i8] c"stdout_write\00"
-@.str3309 = private unnamed_addr constant [13 x i8] c"stderr_write\00"
-@.str3310 = private unnamed_addr constant [9 x i8] c"save_dir\00"
-@.str3311 = private unnamed_addr constant [11 x i8] c"config_dir\00"
-@.str3312 = private unnamed_addr constant [10 x i8] c"cache_dir\00"
-@.str3313 = private unnamed_addr constant [9 x i8] c"temp_dir\00"
-@.str3314 = private unnamed_addr constant [10 x i8] c"arg_count\00"
-@.str3315 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00"
-@.str3316 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str3317 = private unnamed_addr constant [4 x i8] c"arg\00"
-@.str3318 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00"
-@.str3319 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00"
-@.str3320 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3321 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
-@.str3322 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3323 = private unnamed_addr constant [5 x i8] c"exit\00"
-@.str3324 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00"
-@.str3325 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str3326 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00"
-@.str3327 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str3328 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str3329 = private unnamed_addr constant [4 x i8] c"env\00"
-@.str3330 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00"
-@.str3331 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3332 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3333 = private unnamed_addr constant [8 x i8] c"has_env\00"
-@.str3334 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00"
-@.str3335 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3336 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00"
-@.str3337 = private unnamed_addr constant [7 x i8] c", null\00"
-@.str3338 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str3339 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str3340 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str3341 = private unnamed_addr constant [13 x i8] c"stdout_write\00"
-@.str3342 = private unnamed_addr constant [13 x i8] c"stderr_write\00"
-@.str3343 = private unnamed_addr constant [11 x i8] c"@__stdoutp\00"
-@.str3344 = private unnamed_addr constant [13 x i8] c"stderr_write\00"
-@.str3345 = private unnamed_addr constant [11 x i8] c"@__stderrp\00"
-@.str3346 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
-@.str3347 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
-@.str3348 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3349 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00"
-@.str3350 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
-@.str3351 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str3352 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str3353 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str3354 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str3355 = private unnamed_addr constant [5 x i8] c"args\00"
-@.str3356 = private unnamed_addr constant [23 x i8] c"call ptr @fn_os_args()\00"
-@.str3357 = private unnamed_addr constant [9 x i8] c"[]string\00"
-@.str3358 = private unnamed_addr constant [7 x i8] c"env_or\00"
-@.str3359 = private unnamed_addr constant [31 x i8] c"call ptr @fn_os_getenv_or(ptr \00"
-@.str3360 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str3361 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3362 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3363 = private unnamed_addr constant [8 x i8] c"set_env\00"
-@.str3364 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00"
-@.str3365 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str3366 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
-@.str3367 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str3368 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str3369 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str3370 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str3371 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str3372 = private unnamed_addr constant [10 x i8] c"unset_env\00"
-@.str3373 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00"
-@.str3374 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3375 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str3376 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str3377 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str3378 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str3379 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str3380 = private unnamed_addr constant [9 x i8] c"platform\00"
-@.str3381 = private unnamed_addr constant [27 x i8] c"call ptr @fn_os_platform()\00"
-@.str3382 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3383 = private unnamed_addr constant [5 x i8] c"arch\00"
-@.str3384 = private unnamed_addr constant [23 x i8] c"call ptr @fn_os_arch()\00"
-@.str3385 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3386 = private unnamed_addr constant [9 x i8] c"save_dir\00"
-@.str3387 = private unnamed_addr constant [30 x i8] c"call ptr @fn_os_save_dir(ptr \00"
-@.str3388 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3389 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3390 = private unnamed_addr constant [11 x i8] c"config_dir\00"
-@.str3391 = private unnamed_addr constant [32 x i8] c"call ptr @fn_os_config_dir(ptr \00"
-@.str3392 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3393 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3394 = private unnamed_addr constant [10 x i8] c"cache_dir\00"
-@.str3395 = private unnamed_addr constant [31 x i8] c"call ptr @fn_os_cache_dir(ptr \00"
-@.str3396 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3397 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3398 = private unnamed_addr constant [27 x i8] c"call ptr @fn_os_temp_dir()\00"
-@.str3399 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3400 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00"
-@.str3401 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00"
-@.str3402 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00"
-@.str3403 = private unnamed_addr constant [5 x i8] c"HOME\00"
-@.str3404 = private unnamed_addr constant [2 x i8] c".\00"
-@.str3405 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00"
-@.str3406 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00"
-@.str3407 = private unnamed_addr constant [7 x i8] c"TMPDIR\00"
-@.str3408 = private unnamed_addr constant [5 x i8] c"/tmp\00"
-@.str3409 = private unnamed_addr constant [7 x i8] c"Darwin\00"
-@.str3410 = private unnamed_addr constant [6 x i8] c"macos\00"
-@.str3411 = private unnamed_addr constant [6 x i8] c"Linux\00"
-@.str3412 = private unnamed_addr constant [6 x i8] c"linux\00"
-@.str3413 = private unnamed_addr constant [51 x i8] c"define ptr @fn_os_getenv_or(ptr %name, ptr %fb) {\0A\00"
-@.str3414 = 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"
-@.str3415 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00"
-@.str3416 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00"
-@.str3417 = private unnamed_addr constant [43 x i8] c"define ptr @fn_os_join2(ptr %a, ptr %b) {\0A\00"
-@.str3418 = 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"
-@.str3419 = 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"
-@.str3420 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00"
-@.str3421 = 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"
-@.str3422 = 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"
-@.str3423 = private unnamed_addr constant [51 x i8] c"define ptr @fn_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00"
-@.str3424 = private unnamed_addr constant [115 x i8] c"entry:\0A %ab = call ptr @fn_os_join2(ptr %a, ptr %b)\0A %r = call ptr @fn_os_join2(ptr %ab, ptr %c)\0A ret ptr %r\0A}\0A\00"
-@.str3425 = private unnamed_addr constant [65 x i8] c"define ptr @fn_os_home() {\0A %r = call ptr @fn_os_getenv_or(ptr \00"
-@.str3426 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str3427 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00"
-@.str3428 = private unnamed_addr constant [111 x i8] c"define ptr @fn_os_save_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00"
-@.str3429 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00"
-@.str3430 = private unnamed_addr constant [113 x i8] c"define ptr @fn_os_config_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00"
-@.str3431 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00"
-@.str3432 = private unnamed_addr constant [112 x i8] c"define ptr @fn_os_cache_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00"
-@.str3433 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00"
-@.str3434 = private unnamed_addr constant [69 x i8] c"define ptr @fn_os_temp_dir() {\0A %r = call ptr @fn_os_getenv_or(ptr \00"
-@.str3435 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str3436 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00"
-@.str3437 = private unnamed_addr constant [28 x i8] c"define ptr @fn_os_args() {\0A\00"
-@.str3438 = 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"
-@.str3439 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00"
-@.str3440 = 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"
-@.str3441 = 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"
-@.str3442 = 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"
-@.str3443 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00"
-@.str3444 = private unnamed_addr constant [32 x i8] c"define ptr @fn_os_platform() {\0A\00"
-@.str3445 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00"
-@.str3446 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00"
-@.str3447 = 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"
-@.str3448 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00"
-@.str3449 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str3450 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00"
-@.str3451 = 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"
-@.str3452 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00"
-@.str3453 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str3454 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00"
-@.str3455 = private unnamed_addr constant [28 x i8] c"define ptr @fn_os_arch() {\0A\00"
-@.str3456 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00"
-@.str3457 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00"
-@.str3458 = private unnamed_addr constant [4 x i8] c"len\00"
-@.str3459 = private unnamed_addr constant [9 x i8] c"byte_len\00"
-@.str3460 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00"
-@.str3461 = private unnamed_addr constant [8 x i8] c"char_at\00"
-@.str3462 = private unnamed_addr constant [6 x i8] c"chars\00"
-@.str3463 = private unnamed_addr constant [6 x i8] c"upper\00"
-@.str3464 = private unnamed_addr constant [6 x i8] c"lower\00"
-@.str3465 = private unnamed_addr constant [9 x i8] c"truncate\00"
-@.str3466 = private unnamed_addr constant [13 x i8] c"grapheme_len\00"
-@.str3467 = private unnamed_addr constant [9 x i8] c"byte_len\00"
-@.str3468 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
-@.str3469 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3470 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str3471 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str3472 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str3473 = private unnamed_addr constant [4 x i8] c"len\00"
-@.str3474 = private unnamed_addr constant [26 x i8] c"call i32 @fn_uni_len(ptr \00"
-@.str3475 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3476 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str3477 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00"
-@.str3478 = private unnamed_addr constant [28 x i8] c"call i32 @fn_uni_valid(ptr \00"
-@.str3479 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3480 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str3481 = private unnamed_addr constant [8 x i8] c"char_at\00"
-@.str3482 = private unnamed_addr constant [30 x i8] c"call i32 @fn_uni_char_at(ptr \00"
-@.str3483 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3484 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3485 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str3486 = private unnamed_addr constant [6 x i8] c"chars\00"
-@.str3487 = private unnamed_addr constant [28 x i8] c"call ptr @fn_uni_chars(ptr \00"
-@.str3488 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3489 = private unnamed_addr constant [6 x i8] c"[]int\00"
-@.str3490 = private unnamed_addr constant [6 x i8] c"upper\00"
-@.str3491 = private unnamed_addr constant [27 x i8] c"call ptr @fn_uni_case(ptr \00"
-@.str3492 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
-@.str3493 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3494 = private unnamed_addr constant [6 x i8] c"lower\00"
-@.str3495 = private unnamed_addr constant [27 x i8] c"call ptr @fn_uni_case(ptr \00"
-@.str3496 = private unnamed_addr constant [9 x i8] c", i32 0)\00"
-@.str3497 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3498 = private unnamed_addr constant [9 x i8] c"truncate\00"
-@.str3499 = private unnamed_addr constant [31 x i8] c"call ptr @fn_uni_truncate(ptr \00"
-@.str3500 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str3501 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3502 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3503 = private unnamed_addr constant [35 x i8] c"call i32 @fn_uni_grapheme_len(ptr \00"
-@.str3504 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3505 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str3506 = private unnamed_addr constant [34 x i8] c"define i32 @fn_uni_len(ptr %s) {\0A\00"
-@.str3507 = 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"
-@.str3508 = 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"
-@.str3509 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
-@.str3510 = 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"
-@.str3511 = 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"
-@.str3512 = 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"
-@.str3513 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00"
-@.str3514 = private unnamed_addr constant [57 x i8] c"define i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00"
-@.str3515 = 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"
-@.str3516 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00"
-@.str3517 = 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"
-@.str3518 = 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"
-@.str3519 = 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"
-@.str3520 = 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"
-@.str3521 = 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"
-@.str3522 = 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"
-@.str3523 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00"
-@.str3524 = 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"
-@.str3525 = 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"
-@.str3526 = 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"
-@.str3527 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00"
-@.str3528 = 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"
-@.str3529 = 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"
-@.str3530 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00"
-@.str3531 = 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"
-@.str3532 = 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"
-@.str3533 = 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"
-@.str3534 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00"
-@.str3535 = 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"
-@.str3536 = 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"
-@.str3537 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00"
-@.str3538 = 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"
-@.str3539 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00"
-@.str3540 = 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"
-@.str3541 = 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"
-@.str3542 = 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"
-@.str3543 = private unnamed_addr constant [36 x i8] c"define i32 @fn_uni_valid(ptr %s) {\0A\00"
-@.str3544 = 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"
-@.str3545 = 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"
-@.str3546 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00"
-@.str3547 = 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"
-@.str3548 = 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"
-@.str3549 = 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"
-@.str3550 = 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"
-@.str3551 = 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"
-@.str3552 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
-@.str3553 = 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"
-@.str3554 = 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"
-@.str3555 = 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"
-@.str3556 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00"
-@.str3557 = 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"
-@.str3558 = 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"
-@.str3559 = 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"
-@.str3560 = 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"
-@.str3561 = 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"
-@.str3562 = 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"
-@.str3563 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00"
-@.str3564 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00"
-@.str3565 = 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"
-@.str3566 = 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"
-@.str3567 = 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"
-@.str3568 = 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"
-@.str3569 = 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"
-@.str3570 = 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"
-@.str3571 = 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"
-@.str3572 = 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"
-@.str3573 = 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"
-@.str3574 = 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"
-@.str3575 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00"
-@.str3576 = 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"
-@.str3577 = 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"
-@.str3578 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00"
-@.str3579 = private unnamed_addr constant [35 x i8] c"define i32 @fn_uni_upcp(i32 %c) {\0A\00"
-@.str3580 = 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"
-@.str3581 = 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"
-@.str3582 = 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"
-@.str3583 = private unnamed_addr constant [35 x i8] c"define i32 @fn_uni_locp(i32 %c) {\0A\00"
-@.str3584 = 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"
-@.str3585 = 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"
-@.str3586 = 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"
-@.str3587 = private unnamed_addr constant [39 x i8] c"define i32 @fn_uni_cpwidth(i32 %cp) {\0A\00"
-@.str3588 = 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"
-@.str3589 = 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"
-@.str3590 = private unnamed_addr constant [58 x i8] c"define i32 @fn_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00"
-@.str3591 = private unnamed_addr constant [111 x i8] c"entry:\0A %w = call i32 @fn_uni_cpwidth(i32 %cp)\0A %is1 = icmp eq i32 %w, 1\0A br i1 %is1, label %e1, label %k2\0A\00"
-@.str3592 = 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"
-@.str3593 = 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"
-@.str3594 = 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"
-@.str3595 = 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"
-@.str3596 = 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"
-@.str3597 = 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"
-@.str3598 = 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"
-@.str3599 = 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"
-@.str3600 = 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"
-@.str3601 = 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"
-@.str3602 = 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"
-@.str3603 = 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"
-@.str3604 = 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"
-@.str3605 = 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"
-@.str3606 = 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"
-@.str3607 = 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"
-@.str3608 = private unnamed_addr constant [40 x i8] c"define i32 @fn_uni_is_extend(i32 %c) {\0A\00"
-@.str3609 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @fn_uni_inrange(i32 %c, i32 768, i32 879)\0A\00"
-@.str3610 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @fn_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00"
-@.str3611 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @fn_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00"
-@.str3612 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @fn_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00"
-@.str3613 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @fn_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00"
-@.str3614 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @fn_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00"
-@.str3615 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @fn_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00"
-@.str3616 = 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"
-@.str3617 = private unnamed_addr constant [56 x i8] c"define i32 @fn_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00"
-@.str3618 = 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"
-@.str3619 = private unnamed_addr constant [48 x i8] c"define i32 @fn_uni_char_at(ptr %s, i32 %idx) {\0A\00"
-@.str3620 = 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"
-@.str3621 = 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"
-@.str3622 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00"
-@.str3623 = private unnamed_addr constant [157 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %k = load i32, ptr %kp\0A %hit = icmp eq i32 %k, %idx\0A br i1 %hit, label %found, label %next\0A\00"
-@.str3624 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00"
-@.str3625 = 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"
-@.str3626 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00"
-@.str3627 = private unnamed_addr constant [36 x i8] c"define ptr @fn_uni_chars(ptr %s) {\0A\00"
-@.str3628 = private unnamed_addr constant [76 x i8] c"entry:\0A %n = call i32 @fn_uni_len(ptr %s)\0A %h = call ptr @malloc(i64 16)\0A\00"
-@.str3629 = 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"
-@.str3630 = 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"
-@.str3631 = 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"
-@.str3632 = 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"
-@.str3633 = 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"
-@.str3634 = 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"
-@.str3635 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
-@.str3636 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A %k = load i32, ptr %kp\0A\00"
-@.str3637 = 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"
-@.str3638 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00"
-@.str3639 = private unnamed_addr constant [44 x i8] c"define ptr @fn_uni_case(ptr %s, i32 %up) {\0A\00"
-@.str3640 = 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"
-@.str3641 = 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"
-@.str3642 = 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"
-@.str3643 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
-@.str3644 = private unnamed_addr constant [87 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A\00"
-@.str3645 = private unnamed_addr constant [147 x i8] c" %mu = call i32 @fn_uni_upcp(i32 %v)\0A %ml = call i32 @fn_uni_locp(i32 %v)\0A %isup = icmp ne i32 %up, 0\0A %m = select i1 %isup, i32 %mu, i32 %ml\0A\00"
-@.str3646 = private unnamed_addr constant [149 x i8] c" %o = load i32, ptr %op\0A %no = call i32 @fn_uni_encode(ptr %out, i32 %o, i32 %m)\0A store i32 %no, ptr %op\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00"
-@.str3647 = 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"
-@.str3648 = private unnamed_addr constant [47 x i8] c"define ptr @fn_uni_truncate(ptr %s, i32 %n) {\0A\00"
-@.str3649 = 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"
-@.str3650 = 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"
-@.str3651 = 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"
-@.str3652 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00"
-@.str3653 = private unnamed_addr constant [149 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00"
-@.str3654 = 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"
-@.str3655 = 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"
-@.str3656 = private unnamed_addr constant [43 x i8] c"define i32 @fn_uni_grapheme_len(ptr %s) {\0A\00"
-@.str3657 = 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"
-@.str3658 = 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"
-@.str3659 = 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"
-@.str3660 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
-@.str3661 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A store i32 %ni, ptr %ip\0A\00"
-@.str3662 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00"
-@.str3663 = 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"
-@.str3664 = 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"
-@.str3665 = 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"
-@.str3666 = private unnamed_addr constant [160 x i8] c"open:\0A store i32 1, ptr %np\0A store i32 0, ptr %zp\0A %ri0 = call i32 @fn_uni_inrange(i32 %v, i32 127462, i32 127487)\0A store i32 %ri0, ptr %rp\0A br label %lp\0A\00"
-@.str3667 = 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"
-@.str3668 = 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"
-@.str3669 = private unnamed_addr constant [129 x i8] c"chkext:\0A %ext = call i32 @fn_uni_is_extend(i32 %v)\0A %isext = icmp ne i32 %ext, 0\0A br i1 %isext, label %joinext, label %chkri\0A\00"
-@.str3670 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00"
-@.str3671 = private unnamed_addr constant [240 x i8] c"chkri:\0A %ri = call i32 @fn_uni_inrange(i32 %v, i32 127462, i32 127487)\0A %isri = icmp ne i32 %ri, 0\0A %ropen = load i32, ptr %rp\0A %ropenb = icmp ne i32 %ropen, 0\0A %pair = and i1 %isri, %ropenb\0A br i1 %pair, label %joinri, label %newcl\0A\00"
-@.str3672 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00"
-@.str3673 = 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"
-@.str3674 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00"
-@.str3675 = private unnamed_addr constant [7 x i8] c"exists\00"
-@.str3676 = private unnamed_addr constant [7 x i8] c"is_dir\00"
-@.str3677 = private unnamed_addr constant [10 x i8] c"read_text\00"
-@.str3678 = private unnamed_addr constant [11 x i8] c"write_text\00"
-@.str3679 = private unnamed_addr constant [12 x i8] c"append_text\00"
-@.str3680 = private unnamed_addr constant [7 x i8] c"remove\00"
-@.str3681 = private unnamed_addr constant [5 x i8] c"size\00"
-@.str3682 = private unnamed_addr constant [6 x i8] c"mkdir\00"
-@.str3683 = private unnamed_addr constant [5 x i8] c"copy\00"
-@.str3684 = private unnamed_addr constant [5 x i8] c"list\00"
-@.str3685 = private unnamed_addr constant [5 x i8] c"join\00"
-@.str3686 = private unnamed_addr constant [4 x i8] c"dir\00"
-@.str3687 = private unnamed_addr constant [5 x i8] c"base\00"
-@.str3688 = private unnamed_addr constant [4 x i8] c"ext\00"
-@.str3689 = private unnamed_addr constant [5 x i8] c"stem\00"
-@.str3690 = private unnamed_addr constant [10 x i8] c"normalize\00"
-@.str3691 = private unnamed_addr constant [3 x i8] c"of\00"
-@.str3692 = private unnamed_addr constant [6 x i8] c"sniff\00"
-@.str3693 = private unnamed_addr constant [7 x i8] c"exists\00"
-@.str3694 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_exists(ptr \00"
-@.str3695 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3696 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str3697 = private unnamed_addr constant [7 x i8] c"is_dir\00"
-@.str3698 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_is_dir(ptr \00"
-@.str3699 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3700 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str3701 = private unnamed_addr constant [10 x i8] c"read_text\00"
-@.str3702 = private unnamed_addr constant [31 x i8] c"call ptr @fn_fs_read_text(ptr \00"
-@.str3703 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3704 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3705 = private unnamed_addr constant [7 x i8] c"remove\00"
-@.str3706 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_remove(ptr \00"
-@.str3707 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3708 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str3709 = private unnamed_addr constant [5 x i8] c"size\00"
-@.str3710 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fs_size(ptr \00"
-@.str3711 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3712 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str3713 = private unnamed_addr constant [6 x i8] c"mkdir\00"
-@.str3714 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fs_mkdir(ptr \00"
-@.str3715 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3716 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str3717 = private unnamed_addr constant [5 x i8] c"list\00"
-@.str3718 = private unnamed_addr constant [26 x i8] c"call ptr @fn_fs_list(ptr \00"
-@.str3719 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3720 = private unnamed_addr constant [9 x i8] c"[]string\00"
-@.str3721 = private unnamed_addr constant [11 x i8] c"write_text\00"
-@.str3722 = private unnamed_addr constant [32 x i8] c"call i32 @fn_fs_write_text(ptr \00"
-@.str3723 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str3724 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3725 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str3726 = private unnamed_addr constant [12 x i8] c"append_text\00"
-@.str3727 = private unnamed_addr constant [33 x i8] c"call i32 @fn_fs_append_text(ptr \00"
-@.str3728 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str3128 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str3129 = private unnamed_addr constant [8 x i8] c"perlin2\00"
+@.str3130 = private unnamed_addr constant [32 x i8] c"call i32 @lp_noise_perlin2(i32 \00"
+@.str3131 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str3132 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str3133 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3134 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str3135 = private unnamed_addr constant [9 x i8] c"simplex2\00"
+@.str3136 = private unnamed_addr constant [33 x i8] c"call i32 @lp_noise_simplex2(i32 \00"
+@.str3137 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str3138 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str3139 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3140 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str3141 = private unnamed_addr constant [5 x i8] c"fbm2\00"
+@.str3142 = private unnamed_addr constant [29 x i8] c"call i32 @lp_noise_fbm2(i32 \00"
+@.str3143 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str3144 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str3145 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str3146 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3147 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str3148 = private unnamed_addr constant [10 x i8] c"cellular2\00"
+@.str3149 = private unnamed_addr constant [34 x i8] c"call i32 @lp_noise_cellular2(i32 \00"
+@.str3150 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str3151 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str3152 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3153 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str3154 = private unnamed_addr constant [37 x i8] c"call i32 @lp_noise_cellular2_id(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 [4 x i8] c"int\00"
+@.str3159 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_mul(i32 %a, i32 %b) {\0A\00"
+@.str3160 = 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"
+@.str3161 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_div(i32 %a, i32 %b) {\0A\00"
+@.str3162 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00"
+@.str3163 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00"
+@.str3164 = 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"
+@.str3165 = private unnamed_addr constant [51 x i8] c"define i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00"
+@.str3166 = 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"
+@.str3167 = private unnamed_addr constant [38 x i8] c"define i32 @lp_noise_clamp(i32 %v) {\0A\00"
+@.str3168 = 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"
+@.str3169 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00"
+@.str3170 = 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"
+@.str3171 = 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"
+@.str3172 = 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"
+@.str3173 = 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"
+@.str3174 = private unnamed_addr constant [37 x i8] c"define i32 @lp_noise_fade(i32 %t) {\0A\00"
+@.str3175 = 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"
+@.str3176 = 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"
+@.str3177 = 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"
+@.str3178 = 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"
+@.str3179 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00"
+@.str3180 = 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"
+@.str3181 = 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"
+@.str3182 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00"
+@.str3183 = 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"
+@.str3184 = 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"
+@.str3185 = 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"
+@.str3186 = 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"
+@.str3187 = 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"
+@.str3188 = 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"
+@.str3189 = 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"
+@.str3190 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00"
+@.str3191 = 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"
+@.str3192 = 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"
+@.str3193 = 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"
+@.str3194 = 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"
+@.str3195 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00"
+@.str3196 = 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"
+@.str3197 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00"
+@.str3198 = 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"
+@.str3199 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00"
+@.str3200 = 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"
+@.str3201 = 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"
+@.str3202 = 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"
+@.str3203 = 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"
+@.str3204 = 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"
+@.str3205 = 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"
+@.str3206 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00"
+@.str3207 = 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"
+@.str3208 = 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"
+@.str3209 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00"
+@.str3210 = 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"
+@.str3211 = 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"
+@.str3212 = private unnamed_addr constant [60 x i8] c"define i32 @lp_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00"
+@.str3213 = 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"
+@.str3214 = 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"
+@.str3215 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00"
+@.str3216 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00"
+@.str3217 = 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"
+@.str3218 = 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"
+@.str3219 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00"
+@.str3220 = 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"
+@.str3221 = 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"
+@.str3222 = 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"
+@.str3223 = 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"
+@.str3224 = 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"
+@.str3225 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00"
+@.str3226 = 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"
+@.str3227 = private unnamed_addr constant [66 x i8] c"define i32 @lp_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00"
+@.str3228 = 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"
+@.str3229 = 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"
+@.str3230 = 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"
+@.str3231 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00"
+@.str3232 = 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"
+@.str3233 = 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"
+@.str3234 = 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"
+@.str3235 = 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"
+@.str3236 = 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"
+@.str3237 = 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"
+@.str3238 = 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"
+@.str3239 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00"
+@.str3240 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00"
+@.str3241 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00"
+@.str3242 = 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"
+@.str3243 = 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"
+@.str3244 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00"
+@.str3245 = 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"
+@.str3246 = 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"
+@.str3247 = 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"
+@.str3248 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00"
+@.str3249 = 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"
+@.str3250 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00"
+@.str3251 = private unnamed_addr constant [61 x i8] c" %h = call i32 @lp_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00"
+@.str3252 = 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"
+@.str3253 = 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"
+@.str3254 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00"
+@.str3255 = 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"
+@.str3256 = 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"
+@.str3257 = 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"
+@.str3258 = 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"
+@.str3259 = 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"
+@.str3260 = 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"
+@.str3261 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00"
+@.str3262 = 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"
+@.str3263 = 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"
+@.str3264 = private unnamed_addr constant [64 x i8] c"define i32 @lp_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00"
+@.str3265 = 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"
+@.str3266 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00"
+@.str3267 = private unnamed_addr constant [6 x i8] c"trace\00"
+@.str3268 = private unnamed_addr constant [6 x i8] c"debug\00"
+@.str3269 = private unnamed_addr constant [5 x i8] c"info\00"
+@.str3270 = private unnamed_addr constant [5 x i8] c"warn\00"
+@.str3271 = private unnamed_addr constant [6 x i8] c"error\00"
+@.str3272 = private unnamed_addr constant [10 x i8] c"set_level\00"
+@.str3273 = private unnamed_addr constant [6 x i8] c"level\00"
+@.str3274 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str3275 = private unnamed_addr constant [4 x i8] c"i64\00"
+@.str3276 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00"
+@.str3277 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3278 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00"
+@.str3279 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3280 = private unnamed_addr constant [10 x i8] c"set_level\00"
+@.str3281 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str3282 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00"
+@.str3283 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str3284 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str3285 = private unnamed_addr constant [6 x i8] c"level\00"
+@.str3286 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00"
+@.str3287 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str3288 = private unnamed_addr constant [2 x i8] c"2\00"
+@.str3289 = private unnamed_addr constant [8 x i8] c"[INFO] \00"
+@.str3290 = private unnamed_addr constant [6 x i8] c"trace\00"
+@.str3291 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str3292 = private unnamed_addr constant [9 x i8] c"[TRACE] \00"
+@.str3293 = private unnamed_addr constant [6 x i8] c"debug\00"
+@.str3294 = private unnamed_addr constant [2 x i8] c"1\00"
+@.str3295 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00"
+@.str3296 = private unnamed_addr constant [5 x i8] c"warn\00"
+@.str3297 = private unnamed_addr constant [2 x i8] c"3\00"
+@.str3298 = private unnamed_addr constant [8 x i8] c"[WARN] \00"
+@.str3299 = private unnamed_addr constant [6 x i8] c"error\00"
+@.str3300 = private unnamed_addr constant [2 x i8] c"4\00"
+@.str3301 = private unnamed_addr constant [9 x i8] c"[ERROR] \00"
+@.str3302 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3303 = private unnamed_addr constant [2 x i8] c"+\00"
+@.str3304 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3305 = private unnamed_addr constant [2 x i8] c"+\00"
+@.str3306 = private unnamed_addr constant [2 x i8] c" \00"
+@.str3307 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3308 = private unnamed_addr constant [2 x i8] c"+\00"
+@.str3309 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3310 = private unnamed_addr constant [2 x i8] c"+\00"
+@.str3311 = private unnamed_addr constant [2 x i8] c"=\00"
+@.str3312 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3313 = private unnamed_addr constant [2 x i8] c"+\00"
+@.str3314 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3315 = private unnamed_addr constant [30 x i8] c" call void @lp_log_emit(i32 \00"
+@.str3316 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str3317 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str3318 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str3319 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str3320 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00"
+@.str3321 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00"
+@.str3322 = private unnamed_addr constant [46 x i8] c"define void @lp_log_emit(i32 %lvl, ptr %s) {\0A\00"
+@.str3323 = 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"
+@.str3324 = private unnamed_addr constant [69 x i8] c"go:\0A %e = load ptr, ptr @__stderrp\0A %n = call i64 @strlen(ptr %s)\0A\00"
+@.str3325 = 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"
+@.str3326 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00"
+@.str3327 = private unnamed_addr constant [5 x i8] c"args\00"
+@.str3328 = private unnamed_addr constant [10 x i8] c"arg_count\00"
+@.str3329 = private unnamed_addr constant [4 x i8] c"arg\00"
+@.str3330 = private unnamed_addr constant [4 x i8] c"env\00"
+@.str3331 = private unnamed_addr constant [7 x i8] c"env_or\00"
+@.str3332 = private unnamed_addr constant [8 x i8] c"has_env\00"
+@.str3333 = private unnamed_addr constant [8 x i8] c"set_env\00"
+@.str3334 = private unnamed_addr constant [10 x i8] c"unset_env\00"
+@.str3335 = private unnamed_addr constant [5 x i8] c"exit\00"
+@.str3336 = private unnamed_addr constant [4 x i8] c"pid\00"
+@.str3337 = private unnamed_addr constant [9 x i8] c"platform\00"
+@.str3338 = private unnamed_addr constant [5 x i8] c"arch\00"
+@.str3339 = private unnamed_addr constant [13 x i8] c"stdout_write\00"
+@.str3340 = private unnamed_addr constant [13 x i8] c"stderr_write\00"
+@.str3341 = private unnamed_addr constant [9 x i8] c"save_dir\00"
+@.str3342 = private unnamed_addr constant [11 x i8] c"config_dir\00"
+@.str3343 = private unnamed_addr constant [10 x i8] c"cache_dir\00"
+@.str3344 = private unnamed_addr constant [9 x i8] c"temp_dir\00"
+@.str3345 = private unnamed_addr constant [10 x i8] c"arg_count\00"
+@.str3346 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00"
+@.str3347 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str3348 = private unnamed_addr constant [4 x i8] c"arg\00"
+@.str3349 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00"
+@.str3350 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00"
+@.str3351 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str3352 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
+@.str3353 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3354 = private unnamed_addr constant [4 x i8] c"pid\00"
+@.str3355 = private unnamed_addr constant [19 x i8] c"call i32 @getpid()\00"
+@.str3356 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str3357 = private unnamed_addr constant [5 x i8] c"exit\00"
+@.str3358 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00"
+@.str3359 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str3360 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00"
+@.str3361 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str3362 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str3363 = private unnamed_addr constant [4 x i8] c"env\00"
+@.str3364 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00"
+@.str3365 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3366 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3367 = private unnamed_addr constant [8 x i8] c"has_env\00"
+@.str3368 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00"
+@.str3369 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3370 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00"
+@.str3371 = private unnamed_addr constant [7 x i8] c", null\00"
+@.str3372 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str3373 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str3374 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str3375 = private unnamed_addr constant [13 x i8] c"stdout_write\00"
+@.str3376 = private unnamed_addr constant [13 x i8] c"stderr_write\00"
+@.str3377 = private unnamed_addr constant [11 x i8] c"@__stdoutp\00"
+@.str3378 = private unnamed_addr constant [13 x i8] c"stderr_write\00"
+@.str3379 = private unnamed_addr constant [11 x i8] c"@__stderrp\00"
+@.str3380 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
+@.str3381 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
+@.str3382 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3383 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00"
+@.str3384 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
+@.str3385 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str3386 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str3387 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str3388 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str3389 = private unnamed_addr constant [5 x i8] c"args\00"
+@.str3390 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_args()\00"
+@.str3391 = private unnamed_addr constant [9 x i8] c"[]string\00"
+@.str3392 = private unnamed_addr constant [7 x i8] c"env_or\00"
+@.str3393 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_getenv_or(ptr \00"
+@.str3394 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str3395 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3396 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3397 = private unnamed_addr constant [8 x i8] c"set_env\00"
+@.str3398 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00"
+@.str3399 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str3400 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
+@.str3401 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str3402 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str3403 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str3404 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str3405 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str3406 = private unnamed_addr constant [10 x i8] c"unset_env\00"
+@.str3407 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00"
+@.str3408 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3409 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str3410 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str3411 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str3412 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str3413 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str3414 = private unnamed_addr constant [9 x i8] c"platform\00"
+@.str3415 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_platform()\00"
+@.str3416 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3417 = private unnamed_addr constant [5 x i8] c"arch\00"
+@.str3418 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_arch()\00"
+@.str3419 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3420 = private unnamed_addr constant [9 x i8] c"save_dir\00"
+@.str3421 = private unnamed_addr constant [30 x i8] c"call ptr @lp_os_save_dir(ptr \00"
+@.str3422 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3423 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3424 = private unnamed_addr constant [11 x i8] c"config_dir\00"
+@.str3425 = private unnamed_addr constant [32 x i8] c"call ptr @lp_os_config_dir(ptr \00"
+@.str3426 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3427 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3428 = private unnamed_addr constant [10 x i8] c"cache_dir\00"
+@.str3429 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_cache_dir(ptr \00"
+@.str3430 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3431 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3432 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_temp_dir()\00"
+@.str3433 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3434 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00"
+@.str3435 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00"
+@.str3436 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00"
+@.str3437 = private unnamed_addr constant [5 x i8] c"HOME\00"
+@.str3438 = private unnamed_addr constant [2 x i8] c".\00"
+@.str3439 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00"
+@.str3440 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00"
+@.str3441 = private unnamed_addr constant [7 x i8] c"TMPDIR\00"
+@.str3442 = private unnamed_addr constant [5 x i8] c"/tmp\00"
+@.str3443 = private unnamed_addr constant [7 x i8] c"Darwin\00"
+@.str3444 = private unnamed_addr constant [6 x i8] c"macos\00"
+@.str3445 = private unnamed_addr constant [6 x i8] c"Linux\00"
+@.str3446 = private unnamed_addr constant [6 x i8] c"linux\00"
+@.str3447 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_getenv_or(ptr %name, ptr %fb) {\0A\00"
+@.str3448 = 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"
+@.str3449 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00"
+@.str3450 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00"
+@.str3451 = private unnamed_addr constant [43 x i8] c"define ptr @lp_os_join2(ptr %a, ptr %b) {\0A\00"
+@.str3452 = 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"
+@.str3453 = 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"
+@.str3454 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00"
+@.str3455 = 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"
+@.str3456 = 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"
+@.str3457 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00"
+@.str3458 = 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"
+@.str3459 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00"
+@.str3460 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str3461 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00"
+@.str3462 = private unnamed_addr constant [111 x i8] c"define ptr @lp_os_save_dir(ptr %app) {\0A %h = call ptr @lp_os_home()\0A %r = call ptr @lp_os_join3(ptr %h, ptr \00"
+@.str3463 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00"
+@.str3464 = private unnamed_addr constant [113 x i8] c"define ptr @lp_os_config_dir(ptr %app) {\0A %h = call ptr @lp_os_home()\0A %r = call ptr @lp_os_join3(ptr %h, ptr \00"
+@.str3465 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00"
+@.str3466 = private unnamed_addr constant [112 x i8] c"define ptr @lp_os_cache_dir(ptr %app) {\0A %h = call ptr @lp_os_home()\0A %r = call ptr @lp_os_join3(ptr %h, ptr \00"
+@.str3467 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00"
+@.str3468 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %r = call ptr @lp_os_getenv_or(ptr \00"
+@.str3469 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str3470 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00"
+@.str3471 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00"
+@.str3472 = 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"
+@.str3473 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00"
+@.str3474 = 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"
+@.str3475 = 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"
+@.str3476 = 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"
+@.str3477 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00"
+@.str3478 = private unnamed_addr constant [32 x i8] c"define ptr @lp_os_platform() {\0A\00"
+@.str3479 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00"
+@.str3480 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00"
+@.str3481 = 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"
+@.str3482 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00"
+@.str3483 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str3484 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00"
+@.str3485 = 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"
+@.str3486 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00"
+@.str3487 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str3488 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00"
+@.str3489 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_arch() {\0A\00"
+@.str3490 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00"
+@.str3491 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00"
+@.str3492 = private unnamed_addr constant [4 x i8] c"len\00"
+@.str3493 = private unnamed_addr constant [9 x i8] c"byte_len\00"
+@.str3494 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00"
+@.str3495 = private unnamed_addr constant [8 x i8] c"char_at\00"
+@.str3496 = private unnamed_addr constant [6 x i8] c"chars\00"
+@.str3497 = private unnamed_addr constant [6 x i8] c"upper\00"
+@.str3498 = private unnamed_addr constant [6 x i8] c"lower\00"
+@.str3499 = private unnamed_addr constant [9 x i8] c"truncate\00"
+@.str3500 = private unnamed_addr constant [13 x i8] c"grapheme_len\00"
+@.str3501 = private unnamed_addr constant [9 x i8] c"byte_len\00"
+@.str3502 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
+@.str3503 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3504 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str3505 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str3506 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str3507 = private unnamed_addr constant [4 x i8] c"len\00"
+@.str3508 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uni_len(ptr \00"
+@.str3509 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3510 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str3511 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00"
+@.str3512 = private unnamed_addr constant [28 x i8] c"call i32 @lp_uni_valid(ptr \00"
+@.str3513 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3514 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str3515 = private unnamed_addr constant [8 x i8] c"char_at\00"
+@.str3516 = private unnamed_addr constant [30 x i8] c"call i32 @lp_uni_char_at(ptr \00"
+@.str3517 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str3518 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3519 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str3520 = private unnamed_addr constant [6 x i8] c"chars\00"
+@.str3521 = private unnamed_addr constant [28 x i8] c"call ptr @lp_uni_chars(ptr \00"
+@.str3522 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3523 = private unnamed_addr constant [6 x i8] c"[]int\00"
+@.str3524 = private unnamed_addr constant [6 x i8] c"upper\00"
+@.str3525 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00"
+@.str3526 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
+@.str3527 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3528 = private unnamed_addr constant [6 x i8] c"lower\00"
+@.str3529 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00"
+@.str3530 = private unnamed_addr constant [9 x i8] c", i32 0)\00"
+@.str3531 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3532 = private unnamed_addr constant [9 x i8] c"truncate\00"
+@.str3533 = private unnamed_addr constant [31 x i8] c"call ptr @lp_uni_truncate(ptr \00"
+@.str3534 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str3535 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3536 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3537 = private unnamed_addr constant [35 x i8] c"call i32 @lp_uni_grapheme_len(ptr \00"
+@.str3538 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3539 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str3540 = private unnamed_addr constant [34 x i8] c"define i32 @lp_uni_len(ptr %s) {\0A\00"
+@.str3541 = 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"
+@.str3542 = 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"
+@.str3543 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
+@.str3544 = 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"
+@.str3545 = 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"
+@.str3546 = 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"
+@.str3547 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00"
+@.str3548 = private unnamed_addr constant [57 x i8] c"define i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00"
+@.str3549 = 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"
+@.str3550 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00"
+@.str3551 = 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"
+@.str3552 = 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"
+@.str3553 = 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"
+@.str3554 = 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"
+@.str3555 = 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"
+@.str3556 = 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"
+@.str3557 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00"
+@.str3558 = 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"
+@.str3559 = 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"
+@.str3560 = 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"
+@.str3561 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00"
+@.str3562 = 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"
+@.str3563 = 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"
+@.str3564 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00"
+@.str3565 = 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"
+@.str3566 = 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"
+@.str3567 = 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"
+@.str3568 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00"
+@.str3569 = 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"
+@.str3570 = 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"
+@.str3571 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00"
+@.str3572 = 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"
+@.str3573 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00"
+@.str3574 = 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"
+@.str3575 = 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"
+@.str3576 = 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"
+@.str3577 = private unnamed_addr constant [36 x i8] c"define i32 @lp_uni_valid(ptr %s) {\0A\00"
+@.str3578 = 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"
+@.str3579 = 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"
+@.str3580 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00"
+@.str3581 = 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"
+@.str3582 = 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"
+@.str3583 = 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"
+@.str3584 = 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"
+@.str3585 = 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"
+@.str3586 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
+@.str3587 = 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"
+@.str3588 = 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"
+@.str3589 = 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"
+@.str3590 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00"
+@.str3591 = 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"
+@.str3592 = 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"
+@.str3593 = 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"
+@.str3594 = 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"
+@.str3595 = 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"
+@.str3596 = 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"
+@.str3597 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00"
+@.str3598 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00"
+@.str3599 = 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"
+@.str3600 = 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"
+@.str3601 = 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"
+@.str3602 = 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"
+@.str3603 = 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"
+@.str3604 = 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"
+@.str3605 = 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"
+@.str3606 = 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"
+@.str3607 = 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"
+@.str3608 = 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"
+@.str3609 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00"
+@.str3610 = 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"
+@.str3611 = 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"
+@.str3612 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00"
+@.str3613 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_upcp(i32 %c) {\0A\00"
+@.str3614 = 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"
+@.str3615 = 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"
+@.str3616 = 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"
+@.str3617 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_locp(i32 %c) {\0A\00"
+@.str3618 = 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"
+@.str3619 = 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"
+@.str3620 = 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"
+@.str3621 = private unnamed_addr constant [39 x i8] c"define i32 @lp_uni_cpwidth(i32 %cp) {\0A\00"
+@.str3622 = 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"
+@.str3623 = 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"
+@.str3624 = private unnamed_addr constant [58 x i8] c"define i32 @lp_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00"
+@.str3625 = 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"
+@.str3626 = 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"
+@.str3627 = 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"
+@.str3628 = 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"
+@.str3629 = 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"
+@.str3630 = 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"
+@.str3631 = 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"
+@.str3632 = 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"
+@.str3633 = 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"
+@.str3634 = 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"
+@.str3635 = 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"
+@.str3636 = 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"
+@.str3637 = 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"
+@.str3638 = 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"
+@.str3639 = 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"
+@.str3640 = 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"
+@.str3641 = 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"
+@.str3642 = private unnamed_addr constant [40 x i8] c"define i32 @lp_uni_is_extend(i32 %c) {\0A\00"
+@.str3643 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @lp_uni_inrange(i32 %c, i32 768, i32 879)\0A\00"
+@.str3644 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @lp_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00"
+@.str3645 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @lp_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00"
+@.str3646 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @lp_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00"
+@.str3647 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @lp_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00"
+@.str3648 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @lp_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00"
+@.str3649 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @lp_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00"
+@.str3650 = 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"
+@.str3651 = private unnamed_addr constant [56 x i8] c"define i32 @lp_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00"
+@.str3652 = 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"
+@.str3653 = private unnamed_addr constant [48 x i8] c"define i32 @lp_uni_char_at(ptr %s, i32 %idx) {\0A\00"
+@.str3654 = 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"
+@.str3655 = 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"
+@.str3656 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00"
+@.str3657 = 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"
+@.str3658 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00"
+@.str3659 = 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"
+@.str3660 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00"
+@.str3661 = private unnamed_addr constant [36 x i8] c"define ptr @lp_uni_chars(ptr %s) {\0A\00"
+@.str3662 = 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"
+@.str3663 = 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"
+@.str3664 = 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"
+@.str3665 = 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"
+@.str3666 = 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"
+@.str3667 = 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"
+@.str3668 = 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"
+@.str3669 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
+@.str3670 = 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"
+@.str3671 = 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"
+@.str3672 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00"
+@.str3673 = private unnamed_addr constant [44 x i8] c"define ptr @lp_uni_case(ptr %s, i32 %up) {\0A\00"
+@.str3674 = 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"
+@.str3675 = 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"
+@.str3676 = 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"
+@.str3677 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
+@.str3678 = 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"
+@.str3679 = 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"
+@.str3680 = 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"
+@.str3681 = 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"
+@.str3682 = private unnamed_addr constant [47 x i8] c"define ptr @lp_uni_truncate(ptr %s, i32 %n) {\0A\00"
+@.str3683 = 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"
+@.str3684 = 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"
+@.str3685 = 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"
+@.str3686 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00"
+@.str3687 = 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"
+@.str3688 = 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"
+@.str3689 = 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"
+@.str3690 = private unnamed_addr constant [43 x i8] c"define i32 @lp_uni_grapheme_len(ptr %s) {\0A\00"
+@.str3691 = 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"
+@.str3692 = 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"
+@.str3693 = 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"
+@.str3694 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
+@.str3695 = 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"
+@.str3696 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00"
+@.str3697 = 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"
+@.str3698 = 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"
+@.str3699 = 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"
+@.str3700 = 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"
+@.str3701 = 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"
+@.str3702 = 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"
+@.str3703 = 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"
+@.str3704 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00"
+@.str3705 = 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"
+@.str3706 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00"
+@.str3707 = 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"
+@.str3708 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00"
+@.str3709 = private unnamed_addr constant [7 x i8] c"exists\00"
+@.str3710 = private unnamed_addr constant [7 x i8] c"is_dir\00"
+@.str3711 = private unnamed_addr constant [10 x i8] c"read_text\00"
+@.str3712 = private unnamed_addr constant [11 x i8] c"write_text\00"
+@.str3713 = private unnamed_addr constant [12 x i8] c"append_text\00"
+@.str3714 = private unnamed_addr constant [7 x i8] c"remove\00"
+@.str3715 = private unnamed_addr constant [5 x i8] c"size\00"
+@.str3716 = private unnamed_addr constant [6 x i8] c"mkdir\00"
+@.str3717 = private unnamed_addr constant [5 x i8] c"copy\00"
+@.str3718 = private unnamed_addr constant [5 x i8] c"list\00"
+@.str3719 = private unnamed_addr constant [5 x i8] c"join\00"
+@.str3720 = private unnamed_addr constant [4 x i8] c"dir\00"
+@.str3721 = private unnamed_addr constant [5 x i8] c"base\00"
+@.str3722 = private unnamed_addr constant [4 x i8] c"ext\00"
+@.str3723 = private unnamed_addr constant [5 x i8] c"stem\00"
+@.str3724 = private unnamed_addr constant [10 x i8] c"normalize\00"
+@.str3725 = private unnamed_addr constant [3 x i8] c"of\00"
+@.str3726 = private unnamed_addr constant [6 x i8] c"sniff\00"
+@.str3727 = private unnamed_addr constant [7 x i8] c"exists\00"
+@.str3728 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_exists(ptr \00"
@.str3729 = private unnamed_addr constant [2 x i8] c")\00"
@.str3730 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str3731 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fs_copy(ptr \00"
-@.str3732 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str3731 = private unnamed_addr constant [7 x i8] c"is_dir\00"
+@.str3732 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_is_dir(ptr \00"
@.str3733 = private unnamed_addr constant [2 x i8] c")\00"
@.str3734 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str3735 = private unnamed_addr constant [4 x i8] c"dir\00"
-@.str3736 = private unnamed_addr constant [27 x i8] c"call ptr @fn_path_dir(ptr \00"
+@.str3735 = private unnamed_addr constant [10 x i8] c"read_text\00"
+@.str3736 = private unnamed_addr constant [31 x i8] c"call ptr @lp_fs_read_text(ptr \00"
@.str3737 = private unnamed_addr constant [2 x i8] c")\00"
@.str3738 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3739 = private unnamed_addr constant [5 x i8] c"base\00"
-@.str3740 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_base(ptr \00"
+@.str3739 = private unnamed_addr constant [7 x i8] c"remove\00"
+@.str3740 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_remove(ptr \00"
@.str3741 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3742 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3743 = private unnamed_addr constant [4 x i8] c"ext\00"
-@.str3744 = private unnamed_addr constant [27 x i8] c"call ptr @fn_path_ext(ptr \00"
+@.str3742 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str3743 = private unnamed_addr constant [5 x i8] c"size\00"
+@.str3744 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_size(ptr \00"
@.str3745 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3746 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3747 = private unnamed_addr constant [5 x i8] c"stem\00"
-@.str3748 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_stem(ptr \00"
+@.str3746 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str3747 = private unnamed_addr constant [6 x i8] c"mkdir\00"
+@.str3748 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fs_mkdir(ptr \00"
@.str3749 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3750 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3751 = private unnamed_addr constant [10 x i8] c"normalize\00"
-@.str3752 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_norm(ptr \00"
+@.str3750 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str3751 = private unnamed_addr constant [5 x i8] c"list\00"
+@.str3752 = private unnamed_addr constant [26 x i8] c"call ptr @lp_fs_list(ptr \00"
@.str3753 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3754 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3755 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_join(ptr \00"
-@.str3756 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str3757 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3758 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3759 = private unnamed_addr constant [6 x i8] c"sniff\00"
-@.str3760 = private unnamed_addr constant [29 x i8] c"call ptr @fn_mime_sniff(ptr \00"
-@.str3761 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3762 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3763 = private unnamed_addr constant [26 x i8] c"call ptr @fn_mime_of(ptr \00"
-@.str3764 = private unnamed_addr constant [2 x i8] c")\00"
-@.str3765 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str3766 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00"
-@.str3767 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00"
-@.str3768 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00"
-@.str3769 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00"
-@.str3770 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00"
-@.str3771 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00"
-@.str3772 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00"
-@.str3773 = private unnamed_addr constant [41 x i8] c"define ptr @fn_fs_dup(ptr %s, i32 %n) {\0A\00"
-@.str3774 = 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"
-@.str3775 = 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"
-@.str3776 = private unnamed_addr constant [36 x i8] c"define ptr @fn_fs_strdup(ptr %s) {\0A\00"
-@.str3777 = private unnamed_addr constant [127 x i8] c"entry:\0A %l = call i64 @strlen(ptr %s)\0A %li = trunc i64 %l to i32\0A %r = call ptr @fn_fs_dup(ptr %s, i32 %li)\0A ret ptr %r\0A}\0A\00"
-@.str3778 = private unnamed_addr constant [39 x i8] c"define i32 @fn_fs_lastslash(ptr %s) {\0A\00"
-@.str3779 = 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"
-@.str3780 = 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"
-@.str3781 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
-@.str3782 = 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"
-@.str3783 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00"
-@.str3784 = 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"
-@.str3785 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00"
-@.str3786 = private unnamed_addr constant [44 x i8] c"define ptr @fn_path_join(ptr %a, ptr %b) {\0A\00"
-@.str3787 = 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"
-@.str3788 = 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"
-@.str3789 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @fn_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00"
-@.str3790 = 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"
-@.str3791 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @fn_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00"
-@.str3792 = 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"
-@.str3793 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @fn_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00"
-@.str3794 = 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"
-@.str3795 = 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"
-@.str3796 = 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"
-@.str3797 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00"
-@.str3798 = 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"
-@.str3799 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00"
-@.str3800 = 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"
-@.str3801 = 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"
-@.str3802 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_base(ptr %s) {\0A\00"
-@.str3803 = private unnamed_addr constant [121 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %whole, label %tail\0A\00"
-@.str3804 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @fn_fs_strdup(ptr %s)\0A ret ptr %r\0A\00"
-@.str3805 = private unnamed_addr constant [126 x i8] c"tail:\0A %st = add i32 %ls, 1\0A %p = getelementptr i8, ptr %s, i32 %st\0A %r2 = call ptr @fn_fs_strdup(ptr %p)\0A ret ptr %r2\0A}\0A\00"
-@.str3806 = private unnamed_addr constant [35 x i8] c"define ptr @fn_path_dir(ptr %s) {\0A\00"
-@.str3807 = private unnamed_addr constant [119 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %dot, label %chk0\0A\00"
-@.str3808 = private unnamed_addr constant [66 x i8] c"dot:\0A %d = call ptr @fn_fs_strdup(ptr @fn_str_dot)\0A ret ptr %d\0A\00"
-@.str3809 = 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"
-@.str3810 = private unnamed_addr constant [69 x i8] c"root:\0A %r = call ptr @fn_fs_strdup(ptr @fn_str_slash)\0A ret ptr %r\0A\00"
-@.str3811 = private unnamed_addr constant [67 x i8] c"cut:\0A %r2 = call ptr @fn_fs_dup(ptr %s, i32 %ls)\0A ret ptr %r2\0A}\0A\00"
-@.str3812 = private unnamed_addr constant [35 x i8] c"define ptr @fn_path_ext(ptr %s) {\0A\00"
-@.str3813 = private unnamed_addr constant [77 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %bstart = add i32 %ls, 1\0A\00"
-@.str3814 = 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"
-@.str3815 = 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"
-@.str3816 = 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"
-@.str3817 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00"
+@.str3754 = private unnamed_addr constant [9 x i8] c"[]string\00"
+@.str3755 = private unnamed_addr constant [11 x i8] c"write_text\00"
+@.str3756 = private unnamed_addr constant [32 x i8] c"call i32 @lp_fs_write_text(ptr \00"
+@.str3757 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str3758 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3759 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str3760 = private unnamed_addr constant [12 x i8] c"append_text\00"
+@.str3761 = private unnamed_addr constant [33 x i8] c"call i32 @lp_fs_append_text(ptr \00"
+@.str3762 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str3763 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3764 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str3765 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_copy(ptr \00"
+@.str3766 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str3767 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3768 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str3769 = private unnamed_addr constant [4 x i8] c"dir\00"
+@.str3770 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_dir(ptr \00"
+@.str3771 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3772 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3773 = private unnamed_addr constant [5 x i8] c"base\00"
+@.str3774 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_base(ptr \00"
+@.str3775 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3776 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3777 = private unnamed_addr constant [4 x i8] c"ext\00"
+@.str3778 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_ext(ptr \00"
+@.str3779 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3780 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3781 = private unnamed_addr constant [5 x i8] c"stem\00"
+@.str3782 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_stem(ptr \00"
+@.str3783 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3784 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3785 = private unnamed_addr constant [10 x i8] c"normalize\00"
+@.str3786 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_norm(ptr \00"
+@.str3787 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3788 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3789 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_join(ptr \00"
+@.str3790 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str3791 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3792 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3793 = private unnamed_addr constant [6 x i8] c"sniff\00"
+@.str3794 = private unnamed_addr constant [29 x i8] c"call ptr @lp_mime_sniff(ptr \00"
+@.str3795 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3796 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3797 = private unnamed_addr constant [26 x i8] c"call ptr @lp_mime_of(ptr \00"
+@.str3798 = private unnamed_addr constant [2 x i8] c")\00"
+@.str3799 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str3800 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00"
+@.str3801 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00"
+@.str3802 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00"
+@.str3803 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00"
+@.str3804 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00"
+@.str3805 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00"
+@.str3806 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00"
+@.str3807 = private unnamed_addr constant [41 x i8] c"define ptr @lp_fs_dup(ptr %s, i32 %n) {\0A\00"
+@.str3808 = 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"
+@.str3809 = 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"
+@.str3810 = private unnamed_addr constant [36 x i8] c"define ptr @lp_fs_strdup(ptr %s) {\0A\00"
+@.str3811 = 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"
+@.str3812 = private unnamed_addr constant [39 x i8] c"define i32 @lp_fs_lastslash(ptr %s) {\0A\00"
+@.str3813 = 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"
+@.str3814 = 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"
+@.str3815 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
+@.str3816 = 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"
+@.str3817 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00"
@.str3818 = 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"
-@.str3819 = 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"
-@.str3820 = private unnamed_addr constant [70 x i8] c"empty:\0A %e = call ptr @fn_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e\0A\00"
-@.str3821 = 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"
-@.str3822 = private unnamed_addr constant [73 x i8] c"empty2:\0A %e2 = call ptr @fn_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e2\0A\00"
-@.str3823 = private unnamed_addr constant [102 x i8] c"take:\0A %pp = getelementptr i8, ptr %s, i32 %d\0A %r = call ptr @fn_fs_strdup(ptr %pp)\0A ret ptr %r\0A}\0A\00"
-@.str3824 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_stem(ptr %s) {\0A\00"
-@.str3825 = private unnamed_addr constant [88 x i8] c"entry:\0A %base = call ptr @fn_path_base(ptr %s)\0A %ext = call ptr @fn_path_ext(ptr %s)\0A\00"
-@.str3826 = 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"
-@.str3827 = private unnamed_addr constant [92 x i8] c" %keep = sub i32 %bl, %el\0A %r = call ptr @fn_fs_dup(ptr %base, i32 %keep)\0A ret ptr %r\0A}\0A\00"
-@.str3828 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_norm(ptr %s) {\0A\00"
-@.str3829 = 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"
-@.str3830 = private unnamed_addr constant [38 x i8] c" %out = call ptr @malloc(i64 %capz)\0A\00"
-@.str3831 = 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"
-@.str3832 = 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"
-@.str3833 = 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"
-@.str3834 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00"
-@.str3835 = 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"
-@.str3836 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00"
-@.str3837 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00"
-@.str3838 = 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"
-@.str3839 = 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"
-@.str3840 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00"
-@.str3841 = 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"
-@.str3842 = 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"
-@.str3843 = 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"
-@.str3844 = private unnamed_addr constant [11 x i8] c"classify:\0A\00"
-@.str3845 = 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"
-@.str3846 = 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"
-@.str3847 = 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"
-@.str3848 = 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"
-@.str3849 = 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"
-@.str3850 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00"
-@.str3851 = 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"
-@.str3852 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00"
-@.str3853 = 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"
-@.str3854 = 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"
-@.str3855 = 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"
-@.str3856 = 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"
-@.str3857 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00"
-@.str3858 = 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"
-@.str3859 = 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"
-@.str3860 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00"
-@.str3861 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00"
-@.str3862 = 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"
-@.str3863 = 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"
-@.str3864 = 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"
-@.str3865 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_exists(ptr %p) {\0A\00"
-@.str3866 = private unnamed_addr constant [114 x i8] c"entry:\0A %r = call i32 @access(ptr %p, i32 0)\0A %ok = icmp eq i32 %r, 0\0A %z = zext i1 %ok to i32\0A ret i32 %z\0A}\0A\00"
-@.str3867 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_is_dir(ptr %p) {\0A\00"
-@.str3868 = 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"
-@.str3869 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00"
-@.str3870 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00"
-@.str3871 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fs_size(ptr %p) {\0A\00"
-@.str3872 = private unnamed_addr constant [119 x i8] c"entry:\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00"
-@.str3873 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00"
-@.str3874 = 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"
-@.str3875 = private unnamed_addr constant [50 x i8] c"define ptr @fn_fs_readall(ptr %p, ptr %lenout) {\0A\00"
-@.str3876 = private unnamed_addr constant [146 x i8] c"entry:\0A store i32 0, ptr %lenout\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00"
-@.str3877 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00"
-@.str3878 = 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"
-@.str3879 = 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"
-@.str3880 = 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"
-@.str3881 = private unnamed_addr constant [39 x i8] c"define ptr @fn_fs_read_text(ptr %p) {\0A\00"
-@.str3882 = private unnamed_addr constant [90 x i8] c"entry:\0A %lp = alloca i32\0A %r = call ptr @fn_fs_readall(ptr %p, ptr %lp)\0A ret ptr %r\0A}\0A\00"
-@.str3883 = private unnamed_addr constant [48 x i8] c"define i32 @fn_fs_write_text(ptr %p, ptr %s) {\0A\00"
-@.str3884 = private unnamed_addr constant [185 x i8] c"entry:\0A %tmp = call ptr @fn_path_join_ext(ptr %p, ptr @fn_str_dottmp)\0A %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00"
-@.str3885 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
-@.str3886 = 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"
-@.str3887 = 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"
-@.str3888 = private unnamed_addr constant [48 x i8] c"define ptr @fn_path_join_ext(ptr %a, ptr %b) {\0A\00"
-@.str3889 = 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"
-@.str3890 = 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"
-@.str3891 = private unnamed_addr constant [49 x i8] c"define i32 @fn_fs_append_text(ptr %p, ptr %s) {\0A\00"
-@.str3892 = 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"
-@.str3893 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
-@.str3894 = 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"
-@.str3895 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_remove(ptr %p) {\0A\00"
-@.str3896 = 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"
-@.str3897 = private unnamed_addr constant [46 x i8] c"define i32 @fn_fs_copy(ptr %src, ptr %dst) {\0A\00"
-@.str3898 = private unnamed_addr constant [145 x i8] c"entry:\0A %lp = alloca i32\0A %buf = call ptr @fn_fs_readall(ptr %src, ptr %lp)\0A %nz = icmp ne ptr %buf, null\0A br i1 %nz, label %ok, label %bad\0A\00"
-@.str3899 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
-@.str3900 = private unnamed_addr constant [185 x i8] c"ok:\0A %tmp = call ptr @fn_path_join_ext(ptr %dst, ptr @fn_str_dottmp)\0A %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\0A %fnz = icmp ne ptr %f, null\0A br i1 %fnz, label %w, label %bad\0A\00"
-@.str3901 = 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"
-@.str3902 = private unnamed_addr constant [35 x i8] c"define i32 @fn_fs_mkdir(ptr %p) {\0A\00"
-@.str3903 = private unnamed_addr constant [105 x i8] c"entry:\0A %dup = call ptr @fn_fs_strdup(ptr %p)\0A %ip = alloca i32\0A store i32 1, ptr %ip\0A br label %lp\0A\00"
-@.str3904 = 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"
-@.str3905 = 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"
-@.str3906 = 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"
-@.str3907 = 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"
-@.str3908 = private unnamed_addr constant [96 x i8] c"fin:\0A call i32 @mkdir(ptr %dup, i32 493)\0A %r = call i32 @fn_fs_is_dir(ptr %p)\0A ret i32 %r\0A}\0A\00"
-@.str3909 = private unnamed_addr constant [37 x i8] c"define ptr @fn_fs_list(ptr %path) {\0A\00"
-@.str3910 = 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"
-@.str3911 = 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"
-@.str3912 = 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"
-@.str3913 = 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"
-@.str3914 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00"
-@.str3915 = 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"
-@.str3916 = 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"
-@.str3917 = 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"
-@.str3918 = 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"
-@.str3919 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @fn_fs_strdup(ptr %namep)\0A\00"
-@.str3920 = 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"
-@.str3921 = 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"
-@.str3922 = 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"
-@.str3923 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00"
-@.str3924 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00"
-@.str3925 = 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"
-@.str3926 = 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"
-@.str3927 = 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"
-@.str3928 = 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"
-@.str3929 = 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"
-@.str3930 = 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"
-@.str3931 = 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"
-@.str3932 = 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"
-@.str3933 = private unnamed_addr constant [4 x i8] c"png\00"
-@.str3934 = private unnamed_addr constant [10 x i8] c"image/png\00"
-@.str3935 = private unnamed_addr constant [4 x i8] c"jpg\00"
-@.str3936 = private unnamed_addr constant [11 x i8] c"image/jpeg\00"
-@.str3937 = private unnamed_addr constant [5 x i8] c"jpeg\00"
-@.str3938 = private unnamed_addr constant [11 x i8] c"image/jpeg\00"
-@.str3939 = private unnamed_addr constant [4 x i8] c"gif\00"
-@.str3940 = private unnamed_addr constant [10 x i8] c"image/gif\00"
-@.str3941 = private unnamed_addr constant [4 x i8] c"bmp\00"
-@.str3942 = private unnamed_addr constant [10 x i8] c"image/bmp\00"
-@.str3943 = private unnamed_addr constant [5 x i8] c"webp\00"
-@.str3944 = private unnamed_addr constant [11 x i8] c"image/webp\00"
-@.str3945 = private unnamed_addr constant [4 x i8] c"svg\00"
-@.str3946 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00"
-@.str3947 = private unnamed_addr constant [4 x i8] c"txt\00"
-@.str3948 = private unnamed_addr constant [11 x i8] c"text/plain\00"
-@.str3949 = private unnamed_addr constant [3 x i8] c"md\00"
-@.str3950 = private unnamed_addr constant [14 x i8] c"text/markdown\00"
-@.str3951 = private unnamed_addr constant [4 x i8] c"csv\00"
-@.str3952 = private unnamed_addr constant [9 x i8] c"text/csv\00"
-@.str3953 = private unnamed_addr constant [5 x i8] c"html\00"
-@.str3954 = private unnamed_addr constant [10 x i8] c"text/html\00"
-@.str3955 = private unnamed_addr constant [4 x i8] c"htm\00"
-@.str3956 = private unnamed_addr constant [10 x i8] c"text/html\00"
-@.str3957 = private unnamed_addr constant [4 x i8] c"css\00"
-@.str3958 = private unnamed_addr constant [9 x i8] c"text/css\00"
-@.str3959 = private unnamed_addr constant [3 x i8] c"js\00"
-@.str3960 = private unnamed_addr constant [16 x i8] c"text/javascript\00"
-@.str3961 = private unnamed_addr constant [5 x i8] c"json\00"
-@.str3962 = private unnamed_addr constant [17 x i8] c"application/json\00"
-@.str3963 = private unnamed_addr constant [4 x i8] c"xml\00"
-@.str3964 = private unnamed_addr constant [16 x i8] c"application/xml\00"
-@.str3965 = private unnamed_addr constant [4 x i8] c"zip\00"
-@.str3966 = private unnamed_addr constant [16 x i8] c"application/zip\00"
-@.str3967 = private unnamed_addr constant [4 x i8] c"pdf\00"
-@.str3968 = private unnamed_addr constant [16 x i8] c"application/pdf\00"
-@.str3969 = private unnamed_addr constant [4 x i8] c"wav\00"
-@.str3970 = private unnamed_addr constant [10 x i8] c"audio/wav\00"
-@.str3971 = private unnamed_addr constant [4 x i8] c"ogg\00"
-@.str3972 = private unnamed_addr constant [10 x i8] c"audio/ogg\00"
-@.str3973 = private unnamed_addr constant [4 x i8] c"mp3\00"
-@.str3974 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00"
-@.str3975 = private unnamed_addr constant [4 x i8] c"ttf\00"
-@.str3976 = private unnamed_addr constant [9 x i8] c"font/ttf\00"
-@.str3977 = private unnamed_addr constant [4 x i8] c"otf\00"
-@.str3978 = private unnamed_addr constant [9 x i8] c"font/otf\00"
-@.str3979 = private unnamed_addr constant [6 x i8] c"ludic\00"
-@.str3980 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00"
-@.str3981 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00"
-@.str3982 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00"
-@.str3983 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00"
-@.str3984 = private unnamed_addr constant [3 x i8] c", \00"
-@.str3985 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00"
-@.str3986 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str3987 = private unnamed_addr constant [3 x i8] c" }\00"
-@.str3988 = private unnamed_addr constant [3 x i8] c"]\0A\00"
-@.str3989 = private unnamed_addr constant [37 x i8] c"define ptr @fn_mime_of(ptr %path) {\0A\00"
-@.str3990 = private unnamed_addr constant [146 x i8] c"entry:\0A %ext = call ptr @fn_path_ext(ptr %path)\0A %lc = call ptr @fn_mime_lc(ptr %ext)\0A %ip = alloca i32\0A store i32 0, ptr %ip\0A br label %lp\0A\00"
-@.str3991 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00"
-@.str3992 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00"
-@.str3993 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00"
-@.str3994 = 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"
-@.str3995 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00"
-@.str3996 = private unnamed_addr constant [131 x i8] c" x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 1\0A %v = load ptr, ptr %vp\0A %r = call ptr @fn_fs_strdup(ptr %v)\0A ret ptr %r\0A\00"
-@.str3997 = 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"
-@.str3998 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @fn_fs_strdup(ptr \00"
-@.str3999 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %d\0A}\0A\00"
-@.str4000 = private unnamed_addr constant [34 x i8] c"define ptr @fn_mime_lc(ptr %s) {\0A\00"
-@.str4001 = 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"
-@.str4002 = 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"
-@.str4003 = 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"
-@.str4004 = 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"
-@.str4005 = 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"
-@.str4006 = 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"
-@.str4007 = private unnamed_addr constant [40 x i8] c"define ptr @fn_mime_sniff(ptr %path) {\0A\00"
-@.str4008 = 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"
-@.str4009 = 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"
-@.str4010 = 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"
-@.str4011 = 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"
-@.str4012 = private unnamed_addr constant [72 x i8] c"png:\0A %rpng = call ptr @fn_fs_strdup(ptr @fn_sig_png)\0A ret ptr %rpng\0A\00"
-@.str4013 = 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"
-@.str4014 = private unnamed_addr constant [72 x i8] c"jpg:\0A %rjpg = call ptr @fn_fs_strdup(ptr @fn_sig_jpg)\0A ret ptr %rjpg\0A\00"
-@.str4015 = 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"
-@.str4016 = private unnamed_addr constant [72 x i8] c"gif:\0A %rgif = call ptr @fn_fs_strdup(ptr @fn_sig_gif)\0A ret ptr %rgif\0A\00"
-@.str4017 = 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"
-@.str4018 = private unnamed_addr constant [72 x i8] c"pdf:\0A %rpdf = call ptr @fn_fs_strdup(ptr @fn_sig_pdf)\0A ret ptr %rpdf\0A\00"
-@.str4019 = private unnamed_addr constant [65 x i8] c"fallback:\0A %r = call ptr @fn_mime_of(ptr %path)\0A ret ptr %r\0A}\0A\00"
-@.str4020 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00"
-@.str4021 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00"
-@.str4022 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00"
-@.str4023 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00"
-@.str4024 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00"
-@.str4025 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00"
-@.str4026 = 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"
-@.str4027 = 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"
-@.str4028 = 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"
-@.str4029 = 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"
-@.str4030 = 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"
-@.str4031 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
-@.str4032 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00"
-@.str4033 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4034 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4035 = private unnamed_addr constant [4 x i8] c"len\00"
-@.str4036 = private unnamed_addr constant [5 x i8] c"push\00"
-@.str4037 = private unnamed_addr constant [6 x i8] c"clear\00"
-@.str4038 = private unnamed_addr constant [7 x i8] c"sample\00"
-@.str4039 = private unnamed_addr constant [6 x i8] c"first\00"
-@.str4040 = private unnamed_addr constant [5 x i8] c"last\00"
-@.str4041 = private unnamed_addr constant [4 x i8] c"pop\00"
-@.str4042 = private unnamed_addr constant [5 x i8] c"swap\00"
-@.str4043 = private unnamed_addr constant [9 x i8] c"contains\00"
-@.str4044 = private unnamed_addr constant [9 x i8] c"index_of\00"
-@.str4045 = private unnamed_addr constant [8 x i8] c"reverse\00"
-@.str4046 = private unnamed_addr constant [7 x i8] c"insert\00"
-@.str4047 = private unnamed_addr constant [10 x i8] c"remove_at\00"
-@.str4048 = private unnamed_addr constant [7 x i8] c"remove\00"
-@.str4049 = private unnamed_addr constant [5 x i8] c"sort\00"
-@.str4050 = private unnamed_addr constant [8 x i8] c"sort_by\00"
-@.str4051 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
-@.str4052 = private unnamed_addr constant [10 x i8] c"sort_with\00"
-@.str4053 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4054 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4055 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
-@.str4056 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4057 = private unnamed_addr constant [3 x i8] c"ig\00"
-@.str4058 = private unnamed_addr constant [4 x i8] c"igd\00"
-@.str4059 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4060 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4061 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4062 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4063 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4064 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str4065 = private unnamed_addr constant [4 x i8] c", 2\00"
-@.str4066 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str4067 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str4068 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4069 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00"
-@.str4070 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str4071 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str4072 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
-@.str4073 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4074 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
-@.str4075 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
-@.str4076 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str4077 = private unnamed_addr constant [2 x i8] c")\00"
-@.str4078 = private unnamed_addr constant [13 x i8] c" store ptr \00"
-@.str4079 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4080 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4081 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str4082 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4083 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4084 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4085 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4086 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4087 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00"
-@.str4088 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4089 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4090 = private unnamed_addr constant [10 x i8] c"icmp slt \00"
-@.str4091 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4092 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4093 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00"
-@.str4094 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str4095 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4096 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4097 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4098 = private unnamed_addr constant [2 x i8] c")\00"
-@.str4099 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
-@.str4100 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str4101 = private unnamed_addr constant [6 x i8] c"call \00"
-@.str4102 = private unnamed_addr constant [6 x i8] c" @fn_\00"
-@.str4103 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str4104 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4105 = private unnamed_addr constant [2 x i8] c")\00"
-@.str4106 = private unnamed_addr constant [6 x i8] c"call \00"
-@.str4107 = private unnamed_addr constant [6 x i8] c" @fn_\00"
-@.str4108 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str4109 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4110 = private unnamed_addr constant [2 x i8] c")\00"
-@.str4111 = private unnamed_addr constant [10 x i8] c"icmp slt \00"
-@.str4112 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4113 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4114 = private unnamed_addr constant [10 x i8] c"icmp sgt \00"
-@.str4115 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4116 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4117 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
-@.str4118 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4119 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str4120 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str4121 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
-@.str4122 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4123 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
-@.str4124 = private unnamed_addr constant [2 x i8] c")\00"
-@.str4125 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4126 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4127 = private unnamed_addr constant [2 x i8] c"1\00"
-@.str4128 = private unnamed_addr constant [6 x i8] c"ms_wc\00"
-@.str4129 = private unnamed_addr constant [6 x i8] c"ms_wb\00"
-@.str4130 = private unnamed_addr constant [6 x i8] c"ms_we\00"
-@.str4131 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4132 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4133 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4134 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4135 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4136 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4137 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4138 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4139 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4140 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4141 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4142 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str4143 = private unnamed_addr constant [4 x i8] c", 2\00"
-@.str4144 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4145 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4146 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str4147 = private unnamed_addr constant [6 x i8] c"ms_ic\00"
-@.str4148 = private unnamed_addr constant [6 x i8] c"ms_ib\00"
-@.str4149 = private unnamed_addr constant [6 x i8] c"ms_ie\00"
-@.str4150 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4151 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4152 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4153 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4154 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4155 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4156 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4157 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4158 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4159 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4160 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4161 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4162 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4163 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4164 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4165 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4166 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4167 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4168 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4169 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4170 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4171 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4172 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4173 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4174 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4175 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4176 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4177 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str3819 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00"
+@.str3820 = private unnamed_addr constant [44 x i8] c"define ptr @lp_path_join(ptr %a, ptr %b) {\0A\00"
+@.str3821 = 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"
+@.str3822 = 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"
+@.str3823 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00"
+@.str3824 = 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"
+@.str3825 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00"
+@.str3826 = 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"
+@.str3827 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @lp_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00"
+@.str3828 = 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"
+@.str3829 = 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"
+@.str3830 = 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"
+@.str3831 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00"
+@.str3832 = 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"
+@.str3833 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00"
+@.str3834 = 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"
+@.str3835 = 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"
+@.str3836 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_base(ptr %s) {\0A\00"
+@.str3837 = 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"
+@.str3838 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @lp_fs_strdup(ptr %s)\0A ret ptr %r\0A\00"
+@.str3839 = 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"
+@.str3840 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_dir(ptr %s) {\0A\00"
+@.str3841 = 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"
+@.str3842 = 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"
+@.str3843 = 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"
+@.str3844 = 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"
+@.str3845 = 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"
+@.str3846 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_ext(ptr %s) {\0A\00"
+@.str3847 = 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"
+@.str3848 = 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"
+@.str3849 = 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"
+@.str3850 = 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"
+@.str3851 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00"
+@.str3852 = 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"
+@.str3853 = 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"
+@.str3854 = 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"
+@.str3855 = 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"
+@.str3856 = 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"
+@.str3857 = 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"
+@.str3858 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_stem(ptr %s) {\0A\00"
+@.str3859 = 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"
+@.str3860 = 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"
+@.str3861 = 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"
+@.str3862 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_norm(ptr %s) {\0A\00"
+@.str3863 = 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"
+@.str3864 = private unnamed_addr constant [38 x i8] c" %out = call ptr @malloc(i64 %capz)\0A\00"
+@.str3865 = 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"
+@.str3866 = 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"
+@.str3867 = 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"
+@.str3868 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00"
+@.str3869 = 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"
+@.str3870 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00"
+@.str3871 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00"
+@.str3872 = 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"
+@.str3873 = 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"
+@.str3874 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00"
+@.str3875 = 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"
+@.str3876 = 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"
+@.str3877 = 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"
+@.str3878 = private unnamed_addr constant [11 x i8] c"classify:\0A\00"
+@.str3879 = 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"
+@.str3880 = 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"
+@.str3881 = 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"
+@.str3882 = 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"
+@.str3883 = 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"
+@.str3884 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00"
+@.str3885 = 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"
+@.str3886 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00"
+@.str3887 = 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"
+@.str3888 = 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"
+@.str3889 = 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"
+@.str3890 = 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"
+@.str3891 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00"
+@.str3892 = 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"
+@.str3893 = 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"
+@.str3894 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00"
+@.str3895 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00"
+@.str3896 = 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"
+@.str3897 = 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"
+@.str3898 = 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"
+@.str3899 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_exists(ptr %p) {\0A\00"
+@.str3900 = private unnamed_addr constant [114 x i8] c"entry:\0A %r = call i32 @access(ptr %p, i32 0)\0A %ok = icmp eq i32 %r, 0\0A %z = zext i1 %ok to i32\0A ret i32 %z\0A}\0A\00"
+@.str3901 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_is_dir(ptr %p) {\0A\00"
+@.str3902 = 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"
+@.str3903 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00"
+@.str3904 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00"
+@.str3905 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fs_size(ptr %p) {\0A\00"
+@.str3906 = private unnamed_addr constant [119 x i8] c"entry:\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00"
+@.str3907 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00"
+@.str3908 = 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"
+@.str3909 = private unnamed_addr constant [50 x i8] c"define ptr @lp_fs_readall(ptr %p, ptr %lenout) {\0A\00"
+@.str3910 = private unnamed_addr constant [146 x i8] c"entry:\0A store i32 0, ptr %lenout\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00"
+@.str3911 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00"
+@.str3912 = 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"
+@.str3913 = 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"
+@.str3914 = 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"
+@.str3915 = private unnamed_addr constant [39 x i8] c"define ptr @lp_fs_read_text(ptr %p) {\0A\00"
+@.str3916 = 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"
+@.str3917 = private unnamed_addr constant [48 x i8] c"define i32 @lp_fs_write_text(ptr %p, ptr %s) {\0A\00"
+@.str3918 = 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"
+@.str3919 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
+@.str3920 = 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"
+@.str3921 = 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"
+@.str3922 = private unnamed_addr constant [48 x i8] c"define ptr @lp_path_join_ext(ptr %a, ptr %b) {\0A\00"
+@.str3923 = 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"
+@.str3924 = 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"
+@.str3925 = private unnamed_addr constant [49 x i8] c"define i32 @lp_fs_append_text(ptr %p, ptr %s) {\0A\00"
+@.str3926 = 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"
+@.str3927 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
+@.str3928 = 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"
+@.str3929 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_remove(ptr %p) {\0A\00"
+@.str3930 = 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"
+@.str3931 = private unnamed_addr constant [46 x i8] c"define i32 @lp_fs_copy(ptr %src, ptr %dst) {\0A\00"
+@.str3932 = 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"
+@.str3933 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
+@.str3934 = 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"
+@.str3935 = 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"
+@.str3936 = private unnamed_addr constant [35 x i8] c"define i32 @lp_fs_mkdir(ptr %p) {\0A\00"
+@.str3937 = 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"
+@.str3938 = 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"
+@.str3939 = 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"
+@.str3940 = 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"
+@.str3941 = 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"
+@.str3942 = 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"
+@.str3943 = private unnamed_addr constant [37 x i8] c"define ptr @lp_fs_list(ptr %path) {\0A\00"
+@.str3944 = 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"
+@.str3945 = 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"
+@.str3946 = 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"
+@.str3947 = 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"
+@.str3948 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00"
+@.str3949 = 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"
+@.str3950 = 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"
+@.str3951 = 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"
+@.str3952 = 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"
+@.str3953 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @lp_fs_strdup(ptr %namep)\0A\00"
+@.str3954 = 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"
+@.str3955 = 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"
+@.str3956 = 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"
+@.str3957 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00"
+@.str3958 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00"
+@.str3959 = 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"
+@.str3960 = 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"
+@.str3961 = 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"
+@.str3962 = 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"
+@.str3963 = 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"
+@.str3964 = 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"
+@.str3965 = 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"
+@.str3966 = 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"
+@.str3967 = private unnamed_addr constant [4 x i8] c"png\00"
+@.str3968 = private unnamed_addr constant [10 x i8] c"image/png\00"
+@.str3969 = private unnamed_addr constant [4 x i8] c"jpg\00"
+@.str3970 = private unnamed_addr constant [11 x i8] c"image/jpeg\00"
+@.str3971 = private unnamed_addr constant [5 x i8] c"jpeg\00"
+@.str3972 = private unnamed_addr constant [11 x i8] c"image/jpeg\00"
+@.str3973 = private unnamed_addr constant [4 x i8] c"gif\00"
+@.str3974 = private unnamed_addr constant [10 x i8] c"image/gif\00"
+@.str3975 = private unnamed_addr constant [4 x i8] c"bmp\00"
+@.str3976 = private unnamed_addr constant [10 x i8] c"image/bmp\00"
+@.str3977 = private unnamed_addr constant [5 x i8] c"webp\00"
+@.str3978 = private unnamed_addr constant [11 x i8] c"image/webp\00"
+@.str3979 = private unnamed_addr constant [4 x i8] c"svg\00"
+@.str3980 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00"
+@.str3981 = private unnamed_addr constant [4 x i8] c"txt\00"
+@.str3982 = private unnamed_addr constant [11 x i8] c"text/plain\00"
+@.str3983 = private unnamed_addr constant [3 x i8] c"md\00"
+@.str3984 = private unnamed_addr constant [14 x i8] c"text/markdown\00"
+@.str3985 = private unnamed_addr constant [4 x i8] c"csv\00"
+@.str3986 = private unnamed_addr constant [9 x i8] c"text/csv\00"
+@.str3987 = private unnamed_addr constant [5 x i8] c"html\00"
+@.str3988 = private unnamed_addr constant [10 x i8] c"text/html\00"
+@.str3989 = private unnamed_addr constant [4 x i8] c"htm\00"
+@.str3990 = private unnamed_addr constant [10 x i8] c"text/html\00"
+@.str3991 = private unnamed_addr constant [4 x i8] c"css\00"
+@.str3992 = private unnamed_addr constant [9 x i8] c"text/css\00"
+@.str3993 = private unnamed_addr constant [3 x i8] c"js\00"
+@.str3994 = private unnamed_addr constant [16 x i8] c"text/javascript\00"
+@.str3995 = private unnamed_addr constant [5 x i8] c"json\00"
+@.str3996 = private unnamed_addr constant [17 x i8] c"application/json\00"
+@.str3997 = private unnamed_addr constant [4 x i8] c"xml\00"
+@.str3998 = private unnamed_addr constant [16 x i8] c"application/xml\00"
+@.str3999 = private unnamed_addr constant [4 x i8] c"zip\00"
+@.str4000 = private unnamed_addr constant [16 x i8] c"application/zip\00"
+@.str4001 = private unnamed_addr constant [4 x i8] c"pdf\00"
+@.str4002 = private unnamed_addr constant [16 x i8] c"application/pdf\00"
+@.str4003 = private unnamed_addr constant [4 x i8] c"wav\00"
+@.str4004 = private unnamed_addr constant [10 x i8] c"audio/wav\00"
+@.str4005 = private unnamed_addr constant [4 x i8] c"ogg\00"
+@.str4006 = private unnamed_addr constant [10 x i8] c"audio/ogg\00"
+@.str4007 = private unnamed_addr constant [4 x i8] c"mp3\00"
+@.str4008 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00"
+@.str4009 = private unnamed_addr constant [4 x i8] c"ttf\00"
+@.str4010 = private unnamed_addr constant [9 x i8] c"font/ttf\00"
+@.str4011 = private unnamed_addr constant [4 x i8] c"otf\00"
+@.str4012 = private unnamed_addr constant [9 x i8] c"font/otf\00"
+@.str4013 = private unnamed_addr constant [6 x i8] c"ludic\00"
+@.str4014 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00"
+@.str4015 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00"
+@.str4016 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00"
+@.str4017 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00"
+@.str4018 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4019 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00"
+@.str4020 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4021 = private unnamed_addr constant [3 x i8] c" }\00"
+@.str4022 = private unnamed_addr constant [3 x i8] c"]\0A\00"
+@.str4023 = private unnamed_addr constant [37 x i8] c"define ptr @lp_mime_of(ptr %path) {\0A\00"
+@.str4024 = 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"
+@.str4025 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00"
+@.str4026 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00"
+@.str4027 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00"
+@.str4028 = 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"
+@.str4029 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00"
+@.str4030 = 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"
+@.str4031 = 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"
+@.str4032 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @lp_fs_strdup(ptr \00"
+@.str4033 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %d\0A}\0A\00"
+@.str4034 = private unnamed_addr constant [34 x i8] c"define ptr @lp_mime_lc(ptr %s) {\0A\00"
+@.str4035 = 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"
+@.str4036 = 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"
+@.str4037 = 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"
+@.str4038 = 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"
+@.str4039 = 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"
+@.str4040 = 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"
+@.str4041 = private unnamed_addr constant [40 x i8] c"define ptr @lp_mime_sniff(ptr %path) {\0A\00"
+@.str4042 = 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"
+@.str4043 = 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"
+@.str4044 = 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"
+@.str4045 = 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"
+@.str4046 = 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"
+@.str4047 = 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"
+@.str4048 = 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"
+@.str4049 = 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"
+@.str4050 = 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"
+@.str4051 = 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"
+@.str4052 = 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"
+@.str4053 = 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"
+@.str4054 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00"
+@.str4055 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00"
+@.str4056 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00"
+@.str4057 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00"
+@.str4058 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00"
+@.str4059 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00"
+@.str4060 = 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"
+@.str4061 = 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"
+@.str4062 = 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"
+@.str4063 = 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"
+@.str4064 = 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"
+@.str4065 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
+@.str4066 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00"
+@.str4067 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4068 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4069 = private unnamed_addr constant [4 x i8] c"len\00"
+@.str4070 = private unnamed_addr constant [5 x i8] c"push\00"
+@.str4071 = private unnamed_addr constant [6 x i8] c"clear\00"
+@.str4072 = private unnamed_addr constant [7 x i8] c"sample\00"
+@.str4073 = private unnamed_addr constant [6 x i8] c"first\00"
+@.str4074 = private unnamed_addr constant [5 x i8] c"last\00"
+@.str4075 = private unnamed_addr constant [4 x i8] c"pop\00"
+@.str4076 = private unnamed_addr constant [5 x i8] c"swap\00"
+@.str4077 = private unnamed_addr constant [9 x i8] c"contains\00"
+@.str4078 = private unnamed_addr constant [9 x i8] c"index_of\00"
+@.str4079 = private unnamed_addr constant [8 x i8] c"reverse\00"
+@.str4080 = private unnamed_addr constant [7 x i8] c"insert\00"
+@.str4081 = private unnamed_addr constant [10 x i8] c"remove_at\00"
+@.str4082 = private unnamed_addr constant [7 x i8] c"remove\00"
+@.str4083 = private unnamed_addr constant [5 x i8] c"sort\00"
+@.str4084 = private unnamed_addr constant [8 x i8] c"sort_by\00"
+@.str4085 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
+@.str4086 = private unnamed_addr constant [10 x i8] c"sort_with\00"
+@.str4087 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4088 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4089 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
+@.str4090 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4091 = private unnamed_addr constant [3 x i8] c"ig\00"
+@.str4092 = private unnamed_addr constant [4 x i8] c"igd\00"
+@.str4093 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4094 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4095 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4096 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4097 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4098 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str4099 = private unnamed_addr constant [4 x i8] c", 2\00"
+@.str4100 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str4101 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str4102 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4103 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00"
+@.str4104 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str4105 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str4106 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
+@.str4107 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4108 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
+@.str4109 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
+@.str4110 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str4111 = private unnamed_addr constant [2 x i8] c")\00"
+@.str4112 = private unnamed_addr constant [13 x i8] c" store ptr \00"
+@.str4113 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4114 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4115 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str4116 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4117 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4118 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4119 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4120 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4121 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00"
+@.str4122 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4123 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4124 = private unnamed_addr constant [10 x i8] c"icmp slt \00"
+@.str4125 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4126 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4127 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00"
+@.str4128 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str4129 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4130 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4131 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4132 = private unnamed_addr constant [2 x i8] c")\00"
+@.str4133 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
+@.str4134 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str4135 = private unnamed_addr constant [6 x i8] c"call \00"
+@.str4136 = private unnamed_addr constant [6 x i8] c" @fn_\00"
+@.str4137 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str4138 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4139 = private unnamed_addr constant [2 x i8] c")\00"
+@.str4140 = private unnamed_addr constant [6 x i8] c"call \00"
+@.str4141 = private unnamed_addr constant [6 x i8] c" @fn_\00"
+@.str4142 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str4143 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4144 = private unnamed_addr constant [2 x i8] c")\00"
+@.str4145 = private unnamed_addr constant [10 x i8] c"icmp slt \00"
+@.str4146 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4147 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4148 = private unnamed_addr constant [10 x i8] c"icmp sgt \00"
+@.str4149 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4150 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4151 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
+@.str4152 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4153 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str4154 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str4155 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
+@.str4156 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4157 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
+@.str4158 = private unnamed_addr constant [2 x i8] c")\00"
+@.str4159 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4160 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4161 = private unnamed_addr constant [2 x i8] c"1\00"
+@.str4162 = private unnamed_addr constant [6 x i8] c"ms_wc\00"
+@.str4163 = private unnamed_addr constant [6 x i8] c"ms_wb\00"
+@.str4164 = private unnamed_addr constant [6 x i8] c"ms_we\00"
+@.str4165 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4166 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4167 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4168 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4169 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4170 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4171 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4172 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4173 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4174 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4175 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4176 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str4177 = private unnamed_addr constant [4 x i8] c", 2\00"
@.str4178 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4179 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4180 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4181 = private unnamed_addr constant [6 x i8] c"ms_mc\00"
-@.str4182 = private unnamed_addr constant [6 x i8] c"ms_mb\00"
-@.str4183 = private unnamed_addr constant [8 x i8] c"ms_mend\00"
+@.str4180 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str4181 = private unnamed_addr constant [6 x i8] c"ms_ic\00"
+@.str4182 = private unnamed_addr constant [6 x i8] c"ms_ib\00"
+@.str4183 = private unnamed_addr constant [6 x i8] c"ms_ie\00"
@.str4184 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4185 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4186 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4187 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4188 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4189 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4190 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4191 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4192 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4193 = private unnamed_addr constant [8 x i8] c"and i1 \00"
-@.str4194 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4195 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4196 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4197 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4198 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4199 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4200 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4201 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4202 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4203 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4204 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4205 = private unnamed_addr constant [9 x i8] c"ms_takeR\00"
-@.str4206 = private unnamed_addr constant [9 x i8] c"ms_takeL\00"
-@.str4207 = private unnamed_addr constant [9 x i8] c"ms_takeD\00"
-@.str4208 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4209 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4210 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4211 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4212 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4213 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str4214 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4215 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4216 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4217 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4218 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4219 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4220 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4221 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4222 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4223 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str4224 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4225 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4226 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4227 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4228 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4229 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4230 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4231 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4232 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4233 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4234 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4235 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4236 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4237 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4238 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4239 = private unnamed_addr constant [7 x i8] c"ms_dac\00"
-@.str4240 = private unnamed_addr constant [7 x i8] c"ms_dab\00"
-@.str4241 = private unnamed_addr constant [7 x i8] c"ms_dae\00"
-@.str4242 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4243 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4244 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4245 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4246 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4247 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4248 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4249 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4250 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4251 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4252 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4253 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4254 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4255 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4256 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str4257 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4258 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4259 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4260 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4261 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4262 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4263 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4264 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4265 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4266 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4267 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4268 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4269 = private unnamed_addr constant [7 x i8] c"ms_dbc\00"
-@.str4270 = private unnamed_addr constant [7 x i8] c"ms_dbb\00"
-@.str4271 = private unnamed_addr constant [7 x i8] c"ms_dbe\00"
-@.str4272 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4273 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4274 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4275 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4276 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4277 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4278 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4279 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4280 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4281 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4282 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4283 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4284 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4285 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4286 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str4287 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4188 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4189 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4190 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4191 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4192 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4193 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4194 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4195 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4196 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4197 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4198 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4199 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4200 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4201 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4202 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4203 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4204 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4205 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4206 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4207 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4208 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4209 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4210 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4211 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4212 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4213 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4214 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4215 = private unnamed_addr constant [6 x i8] c"ms_mc\00"
+@.str4216 = private unnamed_addr constant [6 x i8] c"ms_mb\00"
+@.str4217 = private unnamed_addr constant [8 x i8] c"ms_mend\00"
+@.str4218 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4219 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4220 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4221 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4222 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4223 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4224 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4225 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4226 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4227 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str4228 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4229 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4230 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4231 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4232 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4233 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4234 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4235 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4236 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4237 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4238 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4239 = private unnamed_addr constant [9 x i8] c"ms_takeR\00"
+@.str4240 = private unnamed_addr constant [9 x i8] c"ms_takeL\00"
+@.str4241 = private unnamed_addr constant [9 x i8] c"ms_takeD\00"
+@.str4242 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4243 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4244 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4245 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4246 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4247 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4248 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4249 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4250 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4251 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4252 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4253 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4254 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4255 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4256 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4257 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4258 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4259 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4260 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4261 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4262 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4263 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4264 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4265 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4266 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4267 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4268 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4269 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4270 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4271 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4272 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4273 = private unnamed_addr constant [7 x i8] c"ms_dac\00"
+@.str4274 = private unnamed_addr constant [7 x i8] c"ms_dab\00"
+@.str4275 = private unnamed_addr constant [7 x i8] c"ms_dae\00"
+@.str4276 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4277 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4278 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4279 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4280 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4281 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4282 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4283 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4284 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4285 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4286 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4287 = private unnamed_addr constant [6 x i8] c"load \00"
@.str4288 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4289 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4290 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4291 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4292 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4293 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4294 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4295 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4296 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4297 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4298 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4289 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4290 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4291 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4292 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4293 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4294 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4295 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4296 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4297 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4298 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4299 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4300 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4301 = private unnamed_addr constant [7 x i8] c"ms_cbc\00"
-@.str4302 = private unnamed_addr constant [7 x i8] c"ms_cbb\00"
-@.str4303 = private unnamed_addr constant [7 x i8] c"ms_cbe\00"
-@.str4304 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4305 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4306 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4307 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4308 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4309 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4310 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4311 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4312 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4313 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4314 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4315 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4316 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4317 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str4318 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4319 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4320 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4321 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4322 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4323 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4324 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4325 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4326 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4300 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4301 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4302 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4303 = private unnamed_addr constant [7 x i8] c"ms_dbc\00"
+@.str4304 = private unnamed_addr constant [7 x i8] c"ms_dbb\00"
+@.str4305 = private unnamed_addr constant [7 x i8] c"ms_dbe\00"
+@.str4306 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4307 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4308 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4309 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4310 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4311 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4312 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4313 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4314 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4315 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4316 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4317 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4318 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4319 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4320 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4321 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4322 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4323 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4324 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4325 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4326 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4327 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4328 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4328 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4329 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4330 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4331 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4332 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4333 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4334 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4335 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4336 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4337 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00"
-@.str4338 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str4339 = private unnamed_addr constant [6 x i8] c"List.\00"
-@.str4340 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00"
-@.str4341 = private unnamed_addr constant [6 x i8] c"List.\00"
-@.str4342 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00"
-@.str4343 = private unnamed_addr constant [6 x i8] c"List.\00"
-@.str4344 = private unnamed_addr constant [22 x i8] c": no function named '\00"
-@.str4345 = private unnamed_addr constant [2 x i8] c"'\00"
-@.str4346 = private unnamed_addr constant [4 x i8] c"len\00"
-@.str4347 = private unnamed_addr constant [5 x i8] c"push\00"
-@.str4348 = private unnamed_addr constant [7 x i8] c"sample\00"
-@.str4349 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00"
-@.str4350 = private unnamed_addr constant [68 x i8] c"List.sample needs the engine runtime (a game, or import ludic.core)\00"
-@.str4351 = private unnamed_addr constant [33 x i8] c"call ptr @fn_rt_list_sample(ptr \00"
-@.str4352 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4353 = private unnamed_addr constant [2 x i8] c")\00"
-@.str4354 = private unnamed_addr constant [6 x i8] c"[]int\00"
-@.str4355 = private unnamed_addr constant [6 x i8] c"List.\00"
-@.str4356 = private unnamed_addr constant [15 x i8] c" needs a slice\00"
-@.str4357 = private unnamed_addr constant [6 x i8] c"clear\00"
-@.str4358 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
+@.str4334 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4335 = private unnamed_addr constant [7 x i8] c"ms_cbc\00"
+@.str4336 = private unnamed_addr constant [7 x i8] c"ms_cbb\00"
+@.str4337 = private unnamed_addr constant [7 x i8] c"ms_cbe\00"
+@.str4338 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4339 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4340 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4341 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4342 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4343 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4344 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4345 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4346 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4347 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4348 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4349 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4350 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4351 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4352 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4353 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4354 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4355 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4356 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4357 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4358 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4359 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4360 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str4361 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str4362 = private unnamed_addr constant [6 x i8] c"first\00"
-@.str4363 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str4364 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4365 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4366 = private unnamed_addr constant [5 x i8] c"last\00"
-@.str4367 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4368 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4369 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4370 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4371 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4372 = private unnamed_addr constant [4 x i8] c"pop\00"
-@.str4373 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4374 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4375 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4376 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4377 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4378 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str4379 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4380 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4381 = private unnamed_addr constant [5 x i8] c"swap\00"
-@.str4382 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4383 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4384 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4385 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4386 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str4387 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4388 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4389 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4390 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str4391 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4392 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4360 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4361 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4362 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4363 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4364 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4365 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4366 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4367 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4368 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4369 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4370 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4371 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00"
+@.str4372 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str4373 = private unnamed_addr constant [6 x i8] c"List.\00"
+@.str4374 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00"
+@.str4375 = private unnamed_addr constant [6 x i8] c"List.\00"
+@.str4376 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00"
+@.str4377 = private unnamed_addr constant [6 x i8] c"List.\00"
+@.str4378 = private unnamed_addr constant [22 x i8] c": no function named '\00"
+@.str4379 = private unnamed_addr constant [2 x i8] c"'\00"
+@.str4380 = private unnamed_addr constant [4 x i8] c"len\00"
+@.str4381 = private unnamed_addr constant [5 x i8] c"push\00"
+@.str4382 = private unnamed_addr constant [7 x i8] c"sample\00"
+@.str4383 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00"
+@.str4384 = private unnamed_addr constant [68 x i8] c"List.sample needs the engine runtime (a game, or import ludic.core)\00"
+@.str4385 = private unnamed_addr constant [33 x i8] c"call ptr @fn_rt_list_sample(ptr \00"
+@.str4386 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4387 = private unnamed_addr constant [2 x i8] c")\00"
+@.str4388 = private unnamed_addr constant [6 x i8] c"[]int\00"
+@.str4389 = private unnamed_addr constant [6 x i8] c"List.\00"
+@.str4390 = private unnamed_addr constant [15 x i8] c" needs a slice\00"
+@.str4391 = private unnamed_addr constant [6 x i8] c"clear\00"
+@.str4392 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
@.str4393 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4394 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4395 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str4396 = private unnamed_addr constant [9 x i8] c"contains\00"
-@.str4397 = private unnamed_addr constant [9 x i8] c"index_of\00"
-@.str4398 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4399 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4400 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4401 = private unnamed_addr constant [3 x i8] c"-1\00"
-@.str4402 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4403 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4404 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str4405 = private unnamed_addr constant [8 x i8] c"lc_cond\00"
-@.str4406 = private unnamed_addr constant [8 x i8] c"lc_body\00"
-@.str4407 = private unnamed_addr constant [7 x i8] c"lc_hit\00"
-@.str4408 = private unnamed_addr constant [8 x i8] c"lc_next\00"
-@.str4409 = private unnamed_addr constant [7 x i8] c"lc_end\00"
-@.str4410 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4411 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4412 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4413 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4414 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4415 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4416 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4417 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4418 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4419 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4420 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4421 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4396 = private unnamed_addr constant [6 x i8] c"first\00"
+@.str4397 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str4398 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4399 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4400 = private unnamed_addr constant [5 x i8] c"last\00"
+@.str4401 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4402 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4403 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4404 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4405 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4406 = private unnamed_addr constant [4 x i8] c"pop\00"
+@.str4407 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4408 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4409 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4410 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4411 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4412 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str4413 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4414 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4415 = private unnamed_addr constant [5 x i8] c"swap\00"
+@.str4416 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4417 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4418 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4419 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4420 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4421 = private unnamed_addr constant [2 x i8] c" \00"
@.str4422 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4423 = private unnamed_addr constant [9 x i8] c"icmp eq \00"
-@.str4424 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4425 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4426 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4427 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4428 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4429 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4430 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4431 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4432 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4433 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4434 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4435 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4436 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4423 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4424 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4425 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4426 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4427 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4428 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str4429 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str4430 = private unnamed_addr constant [9 x i8] c"contains\00"
+@.str4431 = private unnamed_addr constant [9 x i8] c"index_of\00"
+@.str4432 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4433 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4434 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4435 = private unnamed_addr constant [3 x i8] c"-1\00"
+@.str4436 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4437 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4438 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4439 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4440 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4441 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4442 = private unnamed_addr constant [9 x i8] c"index_of\00"
-@.str4443 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str4444 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
-@.str4445 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str4446 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str4447 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str4448 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str4449 = private unnamed_addr constant [7 x i8] c"insert\00"
-@.str4450 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4451 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4452 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4453 = private unnamed_addr constant [5 x i8] c"li_c\00"
-@.str4454 = private unnamed_addr constant [5 x i8] c"li_b\00"
-@.str4455 = private unnamed_addr constant [5 x i8] c"li_e\00"
-@.str4456 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4457 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4458 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4459 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4460 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
-@.str4461 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4462 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4463 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4464 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4465 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4466 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4467 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4468 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4469 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4470 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4471 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str4472 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4473 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4474 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4475 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4476 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4477 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4478 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4479 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str4480 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4481 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4482 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4483 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4484 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4485 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str4486 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4487 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4488 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str4489 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str4490 = private unnamed_addr constant [10 x i8] c"remove_at\00"
-@.str4491 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4492 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4493 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4494 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4495 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4496 = private unnamed_addr constant [5 x i8] c"lr_c\00"
-@.str4497 = private unnamed_addr constant [5 x i8] c"lr_b\00"
-@.str4498 = private unnamed_addr constant [5 x i8] c"lr_e\00"
-@.str4499 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4500 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4501 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4502 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4503 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4504 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4505 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4506 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4507 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4438 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str4439 = private unnamed_addr constant [8 x i8] c"lc_cond\00"
+@.str4440 = private unnamed_addr constant [8 x i8] c"lc_body\00"
+@.str4441 = private unnamed_addr constant [7 x i8] c"lc_hit\00"
+@.str4442 = private unnamed_addr constant [8 x i8] c"lc_next\00"
+@.str4443 = private unnamed_addr constant [7 x i8] c"lc_end\00"
+@.str4444 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4445 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4446 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4447 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4448 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4449 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4450 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4451 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4452 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4453 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4454 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4455 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4456 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4457 = private unnamed_addr constant [9 x i8] c"icmp eq \00"
+@.str4458 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4459 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4460 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4461 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4462 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4463 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4464 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4465 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4466 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4467 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4468 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4469 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4470 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4471 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4472 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4473 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4474 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4475 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4476 = private unnamed_addr constant [9 x i8] c"index_of\00"
+@.str4477 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str4478 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
+@.str4479 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str4480 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str4481 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str4482 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str4483 = private unnamed_addr constant [7 x i8] c"insert\00"
+@.str4484 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4485 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4486 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4487 = private unnamed_addr constant [5 x i8] c"li_c\00"
+@.str4488 = private unnamed_addr constant [5 x i8] c"li_b\00"
+@.str4489 = private unnamed_addr constant [5 x i8] c"li_e\00"
+@.str4490 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4491 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4492 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4493 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4494 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
+@.str4495 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4496 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4497 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4498 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4499 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4500 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4501 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4502 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4503 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4504 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4505 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4506 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4507 = private unnamed_addr constant [7 x i8] c", ptr \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 [9 x i8] c"add i32 \00"
-@.str4511 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4512 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4513 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4514 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str4515 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4516 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4517 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4518 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4519 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4520 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4521 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4522 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str4523 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4524 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4525 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str4526 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str4527 = private unnamed_addr constant [7 x i8] c"remove\00"
-@.str4528 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4509 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4510 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4511 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4512 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4513 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4514 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4515 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4516 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4517 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4518 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4519 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str4520 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4521 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4522 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str4523 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str4524 = private unnamed_addr constant [10 x i8] c"remove_at\00"
+@.str4525 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4526 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4527 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4528 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4529 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4530 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4531 = private unnamed_addr constant [3 x i8] c"-1\00"
-@.str4532 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4533 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4534 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str4535 = private unnamed_addr constant [5 x i8] c"lv_c\00"
-@.str4536 = private unnamed_addr constant [5 x i8] c"lv_b\00"
-@.str4537 = private unnamed_addr constant [5 x i8] c"lv_h\00"
-@.str4538 = private unnamed_addr constant [5 x i8] c"lv_n\00"
-@.str4539 = private unnamed_addr constant [5 x i8] c"lv_e\00"
-@.str4540 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4541 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4542 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4543 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4544 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4545 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4546 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4547 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4548 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str4549 = private unnamed_addr constant [8 x i8] c"and i1 \00"
-@.str4550 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4551 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4552 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4553 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4530 = private unnamed_addr constant [5 x i8] c"lr_c\00"
+@.str4531 = private unnamed_addr constant [5 x i8] c"lr_b\00"
+@.str4532 = private unnamed_addr constant [5 x i8] c"lr_e\00"
+@.str4533 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4534 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4535 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4536 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4537 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4538 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4539 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4540 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4541 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4542 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4543 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4544 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4545 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4546 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4547 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4548 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4549 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4550 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4551 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4552 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4553 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4554 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4555 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4556 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4556 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str4557 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4558 = private unnamed_addr constant [9 x i8] c"icmp eq \00"
-@.str4559 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4560 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4561 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4562 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4563 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4564 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4565 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4558 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4559 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str4560 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str4561 = private unnamed_addr constant [7 x i8] c"remove\00"
+@.str4562 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4563 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4564 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4565 = private unnamed_addr constant [3 x i8] c"-1\00"
@.str4566 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4567 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4568 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4569 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4570 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4571 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4572 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4573 = private unnamed_addr constant [13 x i8] c" br 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 [15 x i8] c"load i32, ptr \00"
-@.str4577 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
-@.str4578 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str4579 = private unnamed_addr constant [6 x i8] c"lv_do\00"
-@.str4580 = private unnamed_addr constant [7 x i8] c"lv_end\00"
-@.str4581 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4582 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4583 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4584 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4585 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4586 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4587 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4588 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4589 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4590 = private unnamed_addr constant [6 x i8] c"lv_dc\00"
-@.str4591 = private unnamed_addr constant [6 x i8] c"lv_db\00"
-@.str4592 = private unnamed_addr constant [6 x i8] c"lv_de\00"
-@.str4593 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4594 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4595 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4596 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4597 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4598 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4599 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4600 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4601 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4567 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4568 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str4569 = private unnamed_addr constant [5 x i8] c"lv_c\00"
+@.str4570 = private unnamed_addr constant [5 x i8] c"lv_b\00"
+@.str4571 = private unnamed_addr constant [5 x i8] c"lv_h\00"
+@.str4572 = private unnamed_addr constant [5 x i8] c"lv_n\00"
+@.str4573 = private unnamed_addr constant [5 x i8] c"lv_e\00"
+@.str4574 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4575 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4576 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4577 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4578 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4579 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4580 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4581 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4582 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str4583 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str4584 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4585 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4586 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4587 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4588 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4589 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4590 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4591 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4592 = private unnamed_addr constant [9 x i8] c"icmp eq \00"
+@.str4593 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4594 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4595 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4596 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4597 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4598 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4599 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4600 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4601 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4602 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4603 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4604 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4605 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4606 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4607 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4608 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str4609 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4610 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4611 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4612 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4613 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4614 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4615 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4616 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str4617 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4606 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4607 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4608 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4609 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4610 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4611 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
+@.str4612 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str4613 = private unnamed_addr constant [6 x i8] c"lv_do\00"
+@.str4614 = private unnamed_addr constant [7 x i8] c"lv_end\00"
+@.str4615 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4616 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4617 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str4618 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4619 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4620 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4621 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4622 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str4623 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str4624 = private unnamed_addr constant [5 x i8] c"sort\00"
-@.str4625 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4626 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4627 = private unnamed_addr constant [5 x i8] c", 32\00"
-@.str4628 = private unnamed_addr constant [9 x i8] c"sort_ins\00"
-@.str4629 = private unnamed_addr constant [9 x i8] c"sort_mrg\00"
-@.str4630 = private unnamed_addr constant [9 x i8] c"sort_end\00"
-@.str4631 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4632 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4633 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4634 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4635 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4636 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4637 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4638 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4639 = private unnamed_addr constant [2 x i8] c"1\00"
-@.str4640 = private unnamed_addr constant [6 x i8] c"ls_oc\00"
-@.str4641 = private unnamed_addr constant [6 x i8] c"ls_ob\00"
-@.str4642 = private unnamed_addr constant [6 x i8] c"ls_oe\00"
-@.str4643 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4644 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4645 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4646 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4647 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4648 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4649 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4650 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4651 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4619 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4620 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4621 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4622 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4623 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4624 = private unnamed_addr constant [6 x i8] c"lv_dc\00"
+@.str4625 = private unnamed_addr constant [6 x i8] c"lv_db\00"
+@.str4626 = private unnamed_addr constant [6 x i8] c"lv_de\00"
+@.str4627 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4628 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4629 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4630 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4631 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4632 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4633 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4634 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4635 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4636 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4637 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4638 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4639 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4640 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4641 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4642 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4643 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4644 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4645 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4646 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4647 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4648 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4649 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4650 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str4651 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4652 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4653 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4654 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4655 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4656 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4657 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4658 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4659 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4660 = private unnamed_addr constant [6 x i8] c"ls_ic\00"
-@.str4661 = private unnamed_addr constant [6 x i8] c"ls_ib\00"
-@.str4662 = private unnamed_addr constant [6 x i8] c"ls_ie\00"
-@.str4663 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4664 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4665 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4666 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4667 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
-@.str4668 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str4669 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str4670 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4671 = private unnamed_addr constant [10 x i8] c"icmp sgt \00"
-@.str4672 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4673 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4674 = private unnamed_addr constant [8 x i8] c"and i1 \00"
-@.str4675 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4676 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4677 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4678 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4679 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4680 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4681 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4682 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4683 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str4684 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4685 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4653 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4654 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4655 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4656 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str4657 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str4658 = private unnamed_addr constant [5 x i8] c"sort\00"
+@.str4659 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4660 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4661 = private unnamed_addr constant [5 x i8] c", 32\00"
+@.str4662 = private unnamed_addr constant [9 x i8] c"sort_ins\00"
+@.str4663 = private unnamed_addr constant [9 x i8] c"sort_mrg\00"
+@.str4664 = private unnamed_addr constant [9 x i8] c"sort_end\00"
+@.str4665 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4666 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4667 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4668 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4669 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4670 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4671 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4672 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4673 = private unnamed_addr constant [2 x i8] c"1\00"
+@.str4674 = private unnamed_addr constant [6 x i8] c"ls_oc\00"
+@.str4675 = private unnamed_addr constant [6 x i8] c"ls_ob\00"
+@.str4676 = private unnamed_addr constant [6 x i8] c"ls_oe\00"
+@.str4677 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4678 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4679 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4680 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4681 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4682 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4683 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4684 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4685 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str4686 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4687 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4688 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4689 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4690 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4691 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4692 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4693 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4694 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4695 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4696 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str4697 = private unnamed_addr constant [2 x i8] c" \00"
-@.str4698 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str4699 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4700 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4701 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4702 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4703 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4704 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4705 = private unnamed_addr constant [3 x i8] c":\0A\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 [1 x i8] c"\00"
-@.str4710 = private unnamed_addr constant [1 x i8] c"\00"
-@.str4711 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4712 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4713 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4714 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str4715 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str4716 = private unnamed_addr constant [10 x i8] c"sort_with\00"
-@.str4717 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00"
-@.str4718 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00"
-@.str4719 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4720 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str4721 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str4722 = private unnamed_addr constant [8 x i8] c"sort_by\00"
-@.str4723 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
-@.str4724 = private unnamed_addr constant [6 x i8] c"List.\00"
-@.str4725 = private unnamed_addr constant [8 x i8] c": key '\00"
-@.str4726 = private unnamed_addr constant [25 x i8] c"' must take one argument\00"
-@.str4727 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str4728 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str4729 = private unnamed_addr constant [6 x i8] c"List.\00"
-@.str4730 = private unnamed_addr constant [8 x i8] c": key '\00"
-@.str4731 = private unnamed_addr constant [23 x i8] c"' must return a number\00"
-@.str4732 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
-@.str4733 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str4734 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str4735 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4687 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4688 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4689 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4690 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4691 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4692 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4693 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4694 = private unnamed_addr constant [6 x i8] c"ls_ic\00"
+@.str4695 = private unnamed_addr constant [6 x i8] c"ls_ib\00"
+@.str4696 = private unnamed_addr constant [6 x i8] c"ls_ie\00"
+@.str4697 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4698 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4699 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4700 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4701 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
+@.str4702 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str4703 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4704 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4705 = private unnamed_addr constant [10 x i8] c"icmp sgt \00"
+@.str4706 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4707 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4708 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str4709 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4710 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4711 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4712 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4713 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4714 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4715 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4716 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4717 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4718 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4719 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4720 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4721 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4722 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4723 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4724 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4725 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4726 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4727 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4728 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4729 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4730 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4731 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4732 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4733 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4734 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4735 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4736 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4737 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4738 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str4739 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4740 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4741 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4742 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4743 = private unnamed_addr constant [8 x i8] c"lr_cond\00"
-@.str4744 = private unnamed_addr constant [8 x i8] c"lr_body\00"
-@.str4745 = private unnamed_addr constant [7 x i8] c"lr_end\00"
-@.str4746 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4747 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4748 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4749 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4750 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str4751 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4752 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4753 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str4754 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4755 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str4756 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4757 = private unnamed_addr constant [3 x i8] c":\0A\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 [9 x i8] c"add i32 \00"
-@.str4771 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4772 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4773 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4774 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4775 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str4776 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str4777 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str4778 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str4779 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str4780 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str4781 = private unnamed_addr constant [3 x i8] c"in\00"
-@.str4782 = private unnamed_addr constant [4 x i8] c"out\00"
-@.str4783 = private unnamed_addr constant [7 x i8] c"in_out\00"
-@.str4784 = private unnamed_addr constant [5 x i8] c"back\00"
-@.str4785 = private unnamed_addr constant [7 x i8] c"bounce\00"
-@.str4786 = private unnamed_addr constant [8 x i8] c"elastic\00"
-@.str4787 = private unnamed_addr constant [7 x i8] c"495616\00"
-@.str4788 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4789 = private unnamed_addr constant [8 x i8] c", 35747\00"
-@.str4790 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4791 = private unnamed_addr constant [8 x i8] c", 49152\00"
-@.str4792 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4793 = private unnamed_addr constant [8 x i8] c", 53620\00"
-@.str4794 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4795 = private unnamed_addr constant [8 x i8] c", 61440\00"
-@.str4796 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4797 = private unnamed_addr constant [8 x i8] c", 62557\00"
-@.str4798 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4799 = private unnamed_addr constant [8 x i8] c", 64512\00"
-@.str4800 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4801 = private unnamed_addr constant [8 x i8] c", 59578\00"
-@.str4802 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4803 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4804 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4805 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4806 = private unnamed_addr constant [8 x i8] c", 47663\00"
-@.str4807 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4808 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4809 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4810 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4811 = private unnamed_addr constant [8 x i8] c", 23831\00"
-@.str4812 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4813 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4814 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4815 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00"
-@.str4816 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str4817 = private unnamed_addr constant [4 x i8] c", 3\00"
-@.str4818 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str4819 = private unnamed_addr constant [4 x i8] c", 2\00"
-@.str4820 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4821 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4822 = private unnamed_addr constant [7 x i8] c"177051\00"
-@.str4823 = private unnamed_addr constant [7 x i8] c"111515\00"
-@.str4824 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4825 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4826 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str4827 = private unnamed_addr constant [5 x i8] c", 10\00"
-@.str4828 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
-@.str4829 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00"
-@.str4830 = private unnamed_addr constant [2 x i8] c")\00"
-@.str4831 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4832 = private unnamed_addr constant [8 x i8] c", 49152\00"
-@.str4833 = private unnamed_addr constant [7 x i8] c"137258\00"
-@.str4834 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
-@.str4835 = private unnamed_addr constant [2 x i8] c")\00"
-@.str4836 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4837 = private unnamed_addr constant [8 x i8] c", 65536\00"
-@.str4838 = private unnamed_addr constant [3 x i8] c"in\00"
-@.str4839 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str4840 = private unnamed_addr constant [4 x i8] c"out\00"
-@.str4841 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str4842 = private unnamed_addr constant [7 x i8] c"in_out\00"
-@.str4843 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str4844 = private unnamed_addr constant [5 x i8] c"back\00"
-@.str4845 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str4846 = private unnamed_addr constant [8 x i8] c"elastic\00"
-@.str4847 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str4848 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str4849 = private unnamed_addr constant [6 x i8] c"frame\00"
-@.str4850 = private unnamed_addr constant [5 x i8] c"once\00"
-@.str4851 = private unnamed_addr constant [9 x i8] c"pingpong\00"
-@.str4852 = private unnamed_addr constant [9 x i8] c"finished\00"
-@.str4853 = private unnamed_addr constant [9 x i8] c"duration\00"
-@.str4854 = private unnamed_addr constant [7 x i8] c"cell_x\00"
-@.str4855 = private unnamed_addr constant [7 x i8] c"cell_y\00"
-@.str4856 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str4857 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str4858 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str4859 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str4860 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
-@.str4861 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4862 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
-@.str4863 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str4864 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str4865 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str4866 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4867 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4868 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4869 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
-@.str4870 = private unnamed_addr constant [6 x i8] c"frame\00"
-@.str4871 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str4872 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4873 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str4874 = private unnamed_addr constant [5 x i8] c"once\00"
-@.str4875 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4876 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str4877 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4878 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4879 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4880 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4881 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4882 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str4883 = private unnamed_addr constant [9 x i8] c"pingpong\00"
-@.str4884 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str4885 = private unnamed_addr constant [4 x i8] c", 2\00"
-@.str4886 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4887 = private unnamed_addr constant [4 x i8] c", 2\00"
-@.str4888 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str4889 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4890 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4891 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4892 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4893 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4894 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4895 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4896 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4897 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str4898 = private unnamed_addr constant [9 x i8] c"finished\00"
-@.str4899 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
-@.str4900 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4901 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str4902 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str4903 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str4904 = private unnamed_addr constant [9 x i8] c"duration\00"
-@.str4905 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
-@.str4906 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str4907 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
-@.str4908 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4909 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str4910 = private unnamed_addr constant [7 x i8] c"cell_x\00"
-@.str4911 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str4737 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4738 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4739 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4740 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4741 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4742 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4743 = private unnamed_addr constant [1 x i8] c"\00"
+@.str4744 = private unnamed_addr constant [1 x i8] c"\00"
+@.str4745 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4746 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4747 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4748 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str4749 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str4750 = private unnamed_addr constant [10 x i8] c"sort_with\00"
+@.str4751 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00"
+@.str4752 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00"
+@.str4753 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4754 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str4755 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str4756 = private unnamed_addr constant [8 x i8] c"sort_by\00"
+@.str4757 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
+@.str4758 = private unnamed_addr constant [6 x i8] c"List.\00"
+@.str4759 = private unnamed_addr constant [8 x i8] c": key '\00"
+@.str4760 = private unnamed_addr constant [25 x i8] c"' must take one argument\00"
+@.str4761 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str4762 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str4763 = private unnamed_addr constant [6 x i8] c"List.\00"
+@.str4764 = private unnamed_addr constant [8 x i8] c": key '\00"
+@.str4765 = private unnamed_addr constant [23 x i8] c"' must return a number\00"
+@.str4766 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
+@.str4767 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str4768 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str4769 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4770 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4771 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4772 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str4773 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4774 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4775 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4776 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4777 = private unnamed_addr constant [8 x i8] c"lr_cond\00"
+@.str4778 = private unnamed_addr constant [8 x i8] c"lr_body\00"
+@.str4779 = private unnamed_addr constant [7 x i8] c"lr_end\00"
+@.str4780 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4781 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4782 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4783 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4784 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str4785 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4786 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4787 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str4788 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4789 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str4790 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4791 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4792 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4793 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4794 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str4795 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4796 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4797 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4798 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4799 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4800 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str4801 = private unnamed_addr constant [2 x i8] c" \00"
+@.str4802 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str4803 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4804 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4805 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4806 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4807 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4808 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4809 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str4810 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str4811 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str4812 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str4813 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str4814 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str4815 = private unnamed_addr constant [3 x i8] c"in\00"
+@.str4816 = private unnamed_addr constant [4 x i8] c"out\00"
+@.str4817 = private unnamed_addr constant [7 x i8] c"in_out\00"
+@.str4818 = private unnamed_addr constant [5 x i8] c"back\00"
+@.str4819 = private unnamed_addr constant [7 x i8] c"bounce\00"
+@.str4820 = private unnamed_addr constant [8 x i8] c"elastic\00"
+@.str4821 = private unnamed_addr constant [7 x i8] c"495616\00"
+@.str4822 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4823 = private unnamed_addr constant [8 x i8] c", 35747\00"
+@.str4824 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4825 = private unnamed_addr constant [8 x i8] c", 49152\00"
+@.str4826 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4827 = private unnamed_addr constant [8 x i8] c", 53620\00"
+@.str4828 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4829 = private unnamed_addr constant [8 x i8] c", 61440\00"
+@.str4830 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4831 = private unnamed_addr constant [8 x i8] c", 62557\00"
+@.str4832 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4833 = private unnamed_addr constant [8 x i8] c", 64512\00"
+@.str4834 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4835 = private unnamed_addr constant [8 x i8] c", 59578\00"
+@.str4836 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4837 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4838 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4839 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4840 = private unnamed_addr constant [8 x i8] c", 47663\00"
+@.str4841 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4842 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4843 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4844 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4845 = private unnamed_addr constant [8 x i8] c", 23831\00"
+@.str4846 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4847 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4848 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4849 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00"
+@.str4850 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str4851 = private unnamed_addr constant [4 x i8] c", 3\00"
+@.str4852 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str4853 = private unnamed_addr constant [4 x i8] c", 2\00"
+@.str4854 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4855 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4856 = private unnamed_addr constant [7 x i8] c"177051\00"
+@.str4857 = private unnamed_addr constant [7 x i8] c"111515\00"
+@.str4858 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4859 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4860 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str4861 = private unnamed_addr constant [5 x i8] c", 10\00"
+@.str4862 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
+@.str4863 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00"
+@.str4864 = private unnamed_addr constant [2 x i8] c")\00"
+@.str4865 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4866 = private unnamed_addr constant [8 x i8] c", 49152\00"
+@.str4867 = private unnamed_addr constant [7 x i8] c"137258\00"
+@.str4868 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00"
+@.str4869 = private unnamed_addr constant [2 x i8] c")\00"
+@.str4870 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str4871 = private unnamed_addr constant [8 x i8] c", 65536\00"
+@.str4872 = private unnamed_addr constant [3 x i8] c"in\00"
+@.str4873 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str4874 = private unnamed_addr constant [4 x i8] c"out\00"
+@.str4875 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str4876 = private unnamed_addr constant [7 x i8] c"in_out\00"
+@.str4877 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str4878 = private unnamed_addr constant [5 x i8] c"back\00"
+@.str4879 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str4880 = private unnamed_addr constant [8 x i8] c"elastic\00"
+@.str4881 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str4882 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str4883 = private unnamed_addr constant [6 x i8] c"frame\00"
+@.str4884 = private unnamed_addr constant [5 x i8] c"once\00"
+@.str4885 = private unnamed_addr constant [9 x i8] c"pingpong\00"
+@.str4886 = private unnamed_addr constant [9 x i8] c"finished\00"
+@.str4887 = private unnamed_addr constant [9 x i8] c"duration\00"
+@.str4888 = private unnamed_addr constant [7 x i8] c"cell_x\00"
+@.str4889 = private unnamed_addr constant [7 x i8] c"cell_y\00"
+@.str4890 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str4891 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str4892 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str4893 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str4894 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
+@.str4895 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4896 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
+@.str4897 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str4898 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str4899 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str4900 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4901 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4902 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4903 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
+@.str4904 = private unnamed_addr constant [6 x i8] c"frame\00"
+@.str4905 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str4906 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4907 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str4908 = private unnamed_addr constant [5 x i8] c"once\00"
+@.str4909 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4910 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str4911 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4912 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4913 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str4914 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4915 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str4916 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
-@.str4917 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4913 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4914 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4915 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4916 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str4917 = private unnamed_addr constant [9 x i8] c"pingpong\00"
@.str4918 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str4919 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4920 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str4921 = private unnamed_addr constant [9 x i8] c"progress\00"
-@.str4922 = private unnamed_addr constant [5 x i8] c"loop\00"
-@.str4923 = private unnamed_addr constant [5 x i8] c"yoyo\00"
-@.str4924 = private unnamed_addr constant [5 x i8] c"done\00"
-@.str4925 = private unnamed_addr constant [5 x i8] c"ease\00"
-@.str4926 = private unnamed_addr constant [7 x i8] c"number\00"
-@.str4927 = private unnamed_addr constant [6 x i8] c"round\00"
-@.str4928 = private unnamed_addr constant [6 x i8] c"point\00"
-@.str4929 = private unnamed_addr constant [5 x i8] c"tint\00"
-@.str4930 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
-@.str4931 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str4932 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4933 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4934 = private unnamed_addr constant [12 x i8] c", i32 65536\00"
-@.str4935 = private unnamed_addr constant [9 x i8] c"progress\00"
-@.str4936 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
-@.str4937 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str4938 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4939 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4940 = private unnamed_addr constant [12 x i8] c", i32 65536\00"
-@.str4941 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str4942 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str4943 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4944 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str4945 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
-@.str4946 = private unnamed_addr constant [8 x i8] c", 65536\00"
-@.str4947 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4948 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
-@.str4949 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4950 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4951 = private unnamed_addr constant [12 x i8] c", i32 65536\00"
-@.str4952 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str4953 = private unnamed_addr constant [5 x i8] c"loop\00"
-@.str4954 = private unnamed_addr constant [9 x i8] c"and i32 \00"
-@.str4955 = private unnamed_addr constant [8 x i8] c", 65535\00"
-@.str4956 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str4919 = private unnamed_addr constant [4 x i8] c", 2\00"
+@.str4920 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4921 = private unnamed_addr constant [4 x i8] c", 2\00"
+@.str4922 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str4923 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4924 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str4925 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4926 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4927 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4928 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4929 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4930 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4931 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str4932 = private unnamed_addr constant [9 x i8] c"finished\00"
+@.str4933 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
+@.str4934 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4935 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str4936 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str4937 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str4938 = private unnamed_addr constant [9 x i8] c"duration\00"
+@.str4939 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
+@.str4940 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str4941 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
+@.str4942 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4943 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str4944 = private unnamed_addr constant [7 x i8] c"cell_x\00"
+@.str4945 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str4946 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4947 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str4948 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4949 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str4950 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
+@.str4951 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4952 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str4953 = private unnamed_addr constant [3 x i8] c", \00"
+@.str4954 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str4955 = private unnamed_addr constant [9 x i8] c"progress\00"
+@.str4956 = private unnamed_addr constant [5 x i8] c"loop\00"
@.str4957 = private unnamed_addr constant [5 x i8] c"yoyo\00"
-@.str4958 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str4959 = private unnamed_addr constant [9 x i8] c", 131072\00"
-@.str4960 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00"
-@.str4961 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
-@.str4962 = private unnamed_addr constant [8 x i8] c", 65536\00"
-@.str4963 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str4964 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4965 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str4966 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str4967 = private unnamed_addr constant [5 x i8] c"done\00"
-@.str4968 = private unnamed_addr constant [29 x i8] c"call i32 @fn_tween_done(i32 \00"
-@.str4969 = private unnamed_addr constant [2 x i8] c")\00"
-@.str4970 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str4971 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
-@.str4972 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4973 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str4974 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str4975 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str4976 = private unnamed_addr constant [5 x i8] c"ease\00"
-@.str4977 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00"
-@.str4978 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str4979 = private unnamed_addr constant [7 x i8] c"number\00"
-@.str4980 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str4981 = private unnamed_addr constant [6 x i8] c"round\00"
-@.str4982 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str4983 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4984 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str4985 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str4986 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str4987 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str4988 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
-@.str4989 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4990 = private unnamed_addr constant [9 x i8] c"add i64 \00"
-@.str4991 = private unnamed_addr constant [8 x i8] c", 32768\00"
-@.str4992 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
-@.str4993 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str4994 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str4995 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str4996 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str4997 = private unnamed_addr constant [3 x i8] c", \00"
-@.str4998 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str4999 = private unnamed_addr constant [6 x i8] c"point\00"
-@.str5000 = private unnamed_addr constant [7 x i8] c"Vector\00"
-@.str5001 = private unnamed_addr constant [3 x i8] c"16\00"
-@.str5002 = private unnamed_addr constant [3 x i8] c"16\00"
-@.str5003 = private unnamed_addr constant [2 x i8] c"8\00"
-@.str5004 = private unnamed_addr constant [2 x i8] c"8\00"
-@.str5005 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5006 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5007 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5008 = private unnamed_addr constant [6 x i8] c"rects\00"
-@.str5009 = private unnamed_addr constant [11 x i8] c"point_rect\00"
-@.str5010 = private unnamed_addr constant [8 x i8] c"circles\00"
-@.str5011 = private unnamed_addr constant [12 x i8] c"rect_circle\00"
-@.str5012 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str5013 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str5014 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str5015 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str5016 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
+@.str4958 = private unnamed_addr constant [5 x i8] c"done\00"
+@.str4959 = private unnamed_addr constant [5 x i8] c"ease\00"
+@.str4960 = private unnamed_addr constant [7 x i8] c"number\00"
+@.str4961 = private unnamed_addr constant [6 x i8] c"round\00"
+@.str4962 = private unnamed_addr constant [6 x i8] c"point\00"
+@.str4963 = private unnamed_addr constant [5 x i8] c"tint\00"
+@.str4964 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
+@.str4965 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str4966 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4967 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4968 = private unnamed_addr constant [12 x i8] c", i32 65536\00"
+@.str4969 = private unnamed_addr constant [9 x i8] c"progress\00"
+@.str4970 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
+@.str4971 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str4972 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4973 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4974 = private unnamed_addr constant [12 x i8] c", i32 65536\00"
+@.str4975 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str4976 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str4977 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4978 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str4979 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
+@.str4980 = private unnamed_addr constant [8 x i8] c", 65536\00"
+@.str4981 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4982 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
+@.str4983 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4984 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4985 = private unnamed_addr constant [12 x i8] c", i32 65536\00"
+@.str4986 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str4987 = private unnamed_addr constant [5 x i8] c"loop\00"
+@.str4988 = private unnamed_addr constant [9 x i8] c"and i32 \00"
+@.str4989 = private unnamed_addr constant [8 x i8] c", 65535\00"
+@.str4990 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str4991 = private unnamed_addr constant [5 x i8] c"yoyo\00"
+@.str4992 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str4993 = private unnamed_addr constant [9 x i8] c", 131072\00"
+@.str4994 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00"
+@.str4995 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
+@.str4996 = private unnamed_addr constant [8 x i8] c", 65536\00"
+@.str4997 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str4998 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str4999 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5000 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str5001 = private unnamed_addr constant [5 x i8] c"done\00"
+@.str5002 = private unnamed_addr constant [29 x i8] c"call i32 @fn_tween_done(i32 \00"
+@.str5003 = private unnamed_addr constant [2 x i8] c")\00"
+@.str5004 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str5005 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
+@.str5006 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5007 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str5008 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str5009 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str5010 = private unnamed_addr constant [5 x i8] c"ease\00"
+@.str5011 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00"
+@.str5012 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str5013 = private unnamed_addr constant [7 x i8] c"number\00"
+@.str5014 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str5015 = private unnamed_addr constant [6 x i8] c"round\00"
+@.str5016 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str5017 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5018 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
-@.str5019 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5020 = private unnamed_addr constant [9 x i8] c"add i64 \00"
-@.str5021 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5022 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str5018 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str5019 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str5020 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str5021 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str5022 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str5023 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5024 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str5025 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5026 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5027 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
-@.str5028 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5029 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str5030 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5031 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5032 = private unnamed_addr constant [6 x i8] c"rects\00"
-@.str5033 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5034 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5035 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5036 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5037 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5038 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5039 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5040 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5041 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str5042 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5043 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str5044 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5045 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str5046 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5047 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str5048 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5049 = private unnamed_addr constant [8 x i8] c"and i1 \00"
-@.str5050 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5051 = private unnamed_addr constant [8 x i8] c"and i1 \00"
-@.str5052 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5053 = private unnamed_addr constant [8 x i8] c"and i1 \00"
-@.str5054 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5055 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str5056 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str5057 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str5058 = private unnamed_addr constant [11 x i8] c"point_rect\00"
-@.str5059 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5060 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5061 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5024 = private unnamed_addr constant [9 x i8] c"add i64 \00"
+@.str5025 = private unnamed_addr constant [8 x i8] c", 32768\00"
+@.str5026 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
+@.str5027 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str5028 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str5029 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str5030 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5031 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5032 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5033 = private unnamed_addr constant [6 x i8] c"point\00"
+@.str5034 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str5035 = private unnamed_addr constant [3 x i8] c"16\00"
+@.str5036 = private unnamed_addr constant [3 x i8] c"16\00"
+@.str5037 = private unnamed_addr constant [2 x i8] c"8\00"
+@.str5038 = private unnamed_addr constant [2 x i8] c"8\00"
+@.str5039 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5040 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5041 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5042 = private unnamed_addr constant [6 x i8] c"rects\00"
+@.str5043 = private unnamed_addr constant [11 x i8] c"point_rect\00"
+@.str5044 = private unnamed_addr constant [8 x i8] c"circles\00"
+@.str5045 = private unnamed_addr constant [12 x i8] c"rect_circle\00"
+@.str5046 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str5047 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str5048 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str5049 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str5050 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
+@.str5051 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5052 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
+@.str5053 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5054 = private unnamed_addr constant [9 x i8] c"add i64 \00"
+@.str5055 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5056 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str5057 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5058 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str5059 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5060 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5061 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
@.str5062 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5063 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
-@.str5064 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5065 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str5066 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5067 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
+@.str5063 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str5064 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5065 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5066 = private unnamed_addr constant [6 x i8] c"rects\00"
+@.str5067 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str5068 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5069 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str5069 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str5070 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5071 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str5071 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str5072 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5073 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str5073 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str5074 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5075 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str5075 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str5076 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5077 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str5078 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str5079 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str5080 = private unnamed_addr constant [8 x i8] c"circles\00"
-@.str5081 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str5077 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str5078 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5079 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str5080 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5081 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str5082 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5083 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str5083 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str5084 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5085 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5085 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str5086 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5087 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str5088 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str5089 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
-@.str5090 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5091 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00"
-@.str5092 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5093 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str5094 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str5095 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str5096 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5097 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5098 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5099 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5100 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str5101 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5102 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str5103 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5104 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str5105 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str5106 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
-@.str5107 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5108 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00"
-@.str5109 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5110 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str5111 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str5112 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str5113 = private unnamed_addr constant [6 x i8] c"bytes\00"
-@.str5114 = private unnamed_addr constant [6 x i8] c"words\00"
-@.str5115 = private unnamed_addr constant [5 x i8] c"copy\00"
-@.str5116 = private unnamed_addr constant [5 x i8] c"fill\00"
-@.str5117 = private unnamed_addr constant [5 x i8] c"peek\00"
-@.str5118 = private unnamed_addr constant [5 x i8] c"poke\00"
-@.str5119 = private unnamed_addr constant [6 x i8] c"bytes\00"
-@.str5120 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str5121 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str5122 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
-@.str5123 = private unnamed_addr constant [2 x i8] c")\00"
-@.str5124 = private unnamed_addr constant [8 x i8] c"pointer\00"
-@.str5125 = private unnamed_addr constant [6 x i8] c"words\00"
-@.str5126 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5127 = private unnamed_addr constant [4 x i8] c", 4\00"
-@.str5128 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str5129 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str5130 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
-@.str5131 = private unnamed_addr constant [2 x i8] c")\00"
-@.str5132 = private unnamed_addr constant [6 x i8] c"words\00"
-@.str5133 = private unnamed_addr constant [5 x i8] c"copy\00"
-@.str5134 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str5135 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str5136 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
-@.str5137 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str5138 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str5139 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str5140 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5141 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str5142 = private unnamed_addr constant [5 x i8] c"fill\00"
-@.str5143 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str5144 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str5145 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00"
-@.str5146 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5147 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str5148 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str5149 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5150 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str5087 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str5088 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5089 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str5090 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str5091 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str5092 = private unnamed_addr constant [11 x i8] c"point_rect\00"
+@.str5093 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5094 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5095 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5096 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5097 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
+@.str5098 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5099 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str5100 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5101 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
+@.str5102 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5103 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str5104 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5105 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str5106 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5107 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str5108 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5109 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str5110 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5111 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str5112 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str5113 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str5114 = private unnamed_addr constant [8 x i8] c"circles\00"
+@.str5115 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str5116 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5117 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str5118 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5119 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5120 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5121 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str5122 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str5123 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
+@.str5124 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5125 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00"
+@.str5126 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5127 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str5128 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str5129 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str5130 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5131 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5132 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5133 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5134 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str5135 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5136 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str5137 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5138 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str5139 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str5140 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
+@.str5141 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5142 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00"
+@.str5143 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5144 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str5145 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str5146 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str5147 = private unnamed_addr constant [6 x i8] c"bytes\00"
+@.str5148 = private unnamed_addr constant [6 x i8] c"words\00"
+@.str5149 = private unnamed_addr constant [5 x i8] c"copy\00"
+@.str5150 = private unnamed_addr constant [5 x i8] c"fill\00"
@.str5151 = private unnamed_addr constant [5 x i8] c"peek\00"
-@.str5152 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
-@.str5153 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5154 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
-@.str5155 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
-@.str5156 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str5157 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5158 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
-@.str5159 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5160 = private unnamed_addr constant [11 x i8] c"trunc i32 \00"
-@.str5161 = private unnamed_addr constant [7 x i8] c" to i8\00"
-@.str5162 = private unnamed_addr constant [12 x i8] c" store i8 \00"
-@.str5163 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str5164 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str5165 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5166 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str5167 = private unnamed_addr constant [6 x i8] c"frame\00"
-@.str5168 = private unnamed_addr constant [6 x i8] c"delta\00"
-@.str5169 = private unnamed_addr constant [8 x i8] c"elapsed\00"
-@.str5170 = private unnamed_addr constant [4 x i8] c"now\00"
-@.str5171 = private unnamed_addr constant [6 x i8] c"since\00"
-@.str5172 = private unnamed_addr constant [6 x i8] c"frame\00"
-@.str5173 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
-@.str5174 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5175 = private unnamed_addr constant [6 x i8] c"delta\00"
-@.str5176 = private unnamed_addr constant [5 x i8] c"1092\00"
-@.str5177 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str5178 = private unnamed_addr constant [8 x i8] c"elapsed\00"
-@.str5179 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
-@.str5180 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5181 = private unnamed_addr constant [7 x i8] c", 1092\00"
-@.str5182 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str5183 = private unnamed_addr constant [6 x i8] c"since\00"
-@.str5184 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00"
-@.str5185 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str5186 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str5187 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str5188 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5189 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5190 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00"
-@.str5191 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str5192 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str5193 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5194 = private unnamed_addr constant [8 x i8] c"seconds\00"
-@.str5195 = private unnamed_addr constant [8 x i8] c"minutes\00"
-@.str5196 = private unnamed_addr constant [6 x i8] c"hours\00"
-@.str5197 = private unnamed_addr constant [5 x i8] c"days\00"
-@.str5198 = private unnamed_addr constant [11 x i8] c"as_seconds\00"
-@.str5199 = private unnamed_addr constant [11 x i8] c"as_minutes\00"
-@.str5200 = private unnamed_addr constant [9 x i8] c"as_hours\00"
-@.str5201 = private unnamed_addr constant [8 x i8] c"as_days\00"
-@.str5202 = private unnamed_addr constant [8 x i8] c"seconds\00"
-@.str5203 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5204 = private unnamed_addr constant [8 x i8] c"minutes\00"
-@.str5205 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5206 = private unnamed_addr constant [5 x i8] c", 60\00"
-@.str5207 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5208 = private unnamed_addr constant [6 x i8] c"hours\00"
-@.str5209 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5210 = private unnamed_addr constant [7 x i8] c", 3600\00"
-@.str5211 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5212 = private unnamed_addr constant [5 x i8] c"days\00"
-@.str5213 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5214 = private unnamed_addr constant [8 x i8] c", 86400\00"
-@.str5215 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5216 = private unnamed_addr constant [11 x i8] c"as_seconds\00"
-@.str5217 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5218 = private unnamed_addr constant [11 x i8] c"as_minutes\00"
-@.str5219 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
-@.str5220 = private unnamed_addr constant [5 x i8] c", 60\00"
-@.str5221 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5222 = private unnamed_addr constant [9 x i8] c"as_hours\00"
-@.str5223 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
-@.str5224 = private unnamed_addr constant [7 x i8] c", 3600\00"
-@.str5225 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5226 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
-@.str5227 = private unnamed_addr constant [8 x i8] c", 86400\00"
-@.str5228 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5229 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5230 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5231 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5232 = private unnamed_addr constant [37 x i8] c" call void @fn_civil_from_days(i32 \00"
-@.str5233 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str5234 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str5235 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str5236 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str5237 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str5238 = private unnamed_addr constant [4 x i8] c"new\00"
-@.str5239 = private unnamed_addr constant [5 x i8] c"year\00"
-@.str5240 = private unnamed_addr constant [6 x i8] c"month\00"
-@.str5241 = private unnamed_addr constant [4 x i8] c"day\00"
-@.str5242 = private unnamed_addr constant [8 x i8] c"weekday\00"
-@.str5243 = private unnamed_addr constant [8 x i8] c"is_leap\00"
-@.str5244 = private unnamed_addr constant [14 x i8] c"days_in_month\00"
-@.str5245 = private unnamed_addr constant [9 x i8] c"to_epoch\00"
-@.str5246 = private unnamed_addr constant [9 x i8] c"add_days\00"
-@.str5247 = private unnamed_addr constant [10 x i8] c"diff_days\00"
-@.str5248 = private unnamed_addr constant [4 x i8] c"new\00"
-@.str5249 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
-@.str5250 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5251 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5252 = private unnamed_addr constant [2 x i8] c")\00"
-@.str5253 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5254 = private unnamed_addr constant [5 x i8] c"year\00"
+@.str5152 = private unnamed_addr constant [5 x i8] c"poke\00"
+@.str5153 = private unnamed_addr constant [6 x i8] c"bytes\00"
+@.str5154 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str5155 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str5156 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
+@.str5157 = private unnamed_addr constant [2 x i8] c")\00"
+@.str5158 = private unnamed_addr constant [8 x i8] c"pointer\00"
+@.str5159 = private unnamed_addr constant [6 x i8] c"words\00"
+@.str5160 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5161 = private unnamed_addr constant [4 x i8] c", 4\00"
+@.str5162 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str5163 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str5164 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
+@.str5165 = private unnamed_addr constant [2 x i8] c")\00"
+@.str5166 = private unnamed_addr constant [6 x i8] c"words\00"
+@.str5167 = private unnamed_addr constant [5 x i8] c"copy\00"
+@.str5168 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str5169 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str5170 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
+@.str5171 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str5172 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str5173 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str5174 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5175 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str5176 = private unnamed_addr constant [5 x i8] c"fill\00"
+@.str5177 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str5178 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str5179 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00"
+@.str5180 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5181 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str5182 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str5183 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5184 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str5185 = private unnamed_addr constant [5 x i8] c"peek\00"
+@.str5186 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
+@.str5187 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5188 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
+@.str5189 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
+@.str5190 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str5191 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5192 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
+@.str5193 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5194 = private unnamed_addr constant [11 x i8] c"trunc i32 \00"
+@.str5195 = private unnamed_addr constant [7 x i8] c" to i8\00"
+@.str5196 = private unnamed_addr constant [12 x i8] c" store i8 \00"
+@.str5197 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str5198 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str5199 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5200 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str5201 = private unnamed_addr constant [6 x i8] c"frame\00"
+@.str5202 = private unnamed_addr constant [6 x i8] c"delta\00"
+@.str5203 = private unnamed_addr constant [8 x i8] c"elapsed\00"
+@.str5204 = private unnamed_addr constant [4 x i8] c"now\00"
+@.str5205 = private unnamed_addr constant [6 x i8] c"since\00"
+@.str5206 = private unnamed_addr constant [6 x i8] c"frame\00"
+@.str5207 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
+@.str5208 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5209 = private unnamed_addr constant [6 x i8] c"delta\00"
+@.str5210 = private unnamed_addr constant [5 x i8] c"1092\00"
+@.str5211 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str5212 = private unnamed_addr constant [8 x i8] c"elapsed\00"
+@.str5213 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
+@.str5214 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5215 = private unnamed_addr constant [7 x i8] c", 1092\00"
+@.str5216 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str5217 = private unnamed_addr constant [6 x i8] c"since\00"
+@.str5218 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00"
+@.str5219 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str5220 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str5221 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str5222 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5223 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5224 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00"
+@.str5225 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str5226 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str5227 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5228 = private unnamed_addr constant [8 x i8] c"seconds\00"
+@.str5229 = private unnamed_addr constant [8 x i8] c"minutes\00"
+@.str5230 = private unnamed_addr constant [6 x i8] c"hours\00"
+@.str5231 = private unnamed_addr constant [5 x i8] c"days\00"
+@.str5232 = private unnamed_addr constant [11 x i8] c"as_seconds\00"
+@.str5233 = private unnamed_addr constant [11 x i8] c"as_minutes\00"
+@.str5234 = private unnamed_addr constant [9 x i8] c"as_hours\00"
+@.str5235 = private unnamed_addr constant [8 x i8] c"as_days\00"
+@.str5236 = private unnamed_addr constant [8 x i8] c"seconds\00"
+@.str5237 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5238 = private unnamed_addr constant [8 x i8] c"minutes\00"
+@.str5239 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5240 = private unnamed_addr constant [5 x i8] c", 60\00"
+@.str5241 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5242 = private unnamed_addr constant [6 x i8] c"hours\00"
+@.str5243 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5244 = private unnamed_addr constant [7 x i8] c", 3600\00"
+@.str5245 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5246 = private unnamed_addr constant [5 x i8] c"days\00"
+@.str5247 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5248 = private unnamed_addr constant [8 x i8] c", 86400\00"
+@.str5249 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5250 = private unnamed_addr constant [11 x i8] c"as_seconds\00"
+@.str5251 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5252 = private unnamed_addr constant [11 x i8] c"as_minutes\00"
+@.str5253 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
+@.str5254 = private unnamed_addr constant [5 x i8] c", 60\00"
@.str5255 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5256 = private unnamed_addr constant [6 x i8] c"month\00"
-@.str5257 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5258 = private unnamed_addr constant [4 x i8] c"day\00"
+@.str5256 = private unnamed_addr constant [9 x i8] c"as_hours\00"
+@.str5257 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
+@.str5258 = private unnamed_addr constant [7 x i8] c", 3600\00"
@.str5259 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5260 = private unnamed_addr constant [8 x i8] c"weekday\00"
-@.str5261 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5262 = private unnamed_addr constant [4 x i8] c", 4\00"
-@.str5263 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5264 = private unnamed_addr constant [4 x i8] c", 7\00"
-@.str5265 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5266 = private unnamed_addr constant [4 x i8] c", 7\00"
-@.str5267 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5268 = private unnamed_addr constant [4 x i8] c", 7\00"
-@.str5269 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5270 = private unnamed_addr constant [8 x i8] c"is_leap\00"
-@.str5271 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5272 = private unnamed_addr constant [4 x i8] c", 4\00"
-@.str5273 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str5274 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str5275 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5276 = private unnamed_addr constant [6 x i8] c", 100\00"
-@.str5277 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str5278 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str5279 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5280 = private unnamed_addr constant [6 x i8] c", 400\00"
-@.str5281 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str5282 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str5283 = private unnamed_addr constant [8 x i8] c"and i1 \00"
-@.str5284 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5285 = private unnamed_addr constant [7 x i8] c"or i1 \00"
-@.str5286 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5287 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str5288 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str5289 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str5290 = private unnamed_addr constant [14 x i8] c"days_in_month\00"
-@.str5291 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
-@.str5292 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5293 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
-@.str5294 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str5295 = private unnamed_addr constant [5 x i8] c", 12\00"
-@.str5296 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5297 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str5298 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str5299 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5300 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5301 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5302 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str5303 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str5304 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
-@.str5305 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
-@.str5306 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5307 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
-@.str5308 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str5309 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5310 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5311 = private unnamed_addr constant [9 x i8] c"to_epoch\00"
-@.str5312 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5313 = private unnamed_addr constant [8 x i8] c", 86400\00"
-@.str5314 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5315 = private unnamed_addr constant [9 x i8] c"add_days\00"
-@.str5316 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5317 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5318 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5319 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str5260 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
+@.str5261 = private unnamed_addr constant [8 x i8] c", 86400\00"
+@.str5262 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5263 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5264 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5265 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5266 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00"
+@.str5267 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str5268 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str5269 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str5270 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str5271 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str5272 = private unnamed_addr constant [4 x i8] c"new\00"
+@.str5273 = private unnamed_addr constant [5 x i8] c"year\00"
+@.str5274 = private unnamed_addr constant [6 x i8] c"month\00"
+@.str5275 = private unnamed_addr constant [4 x i8] c"day\00"
+@.str5276 = private unnamed_addr constant [8 x i8] c"weekday\00"
+@.str5277 = private unnamed_addr constant [8 x i8] c"is_leap\00"
+@.str5278 = private unnamed_addr constant [14 x i8] c"days_in_month\00"
+@.str5279 = private unnamed_addr constant [9 x i8] c"to_epoch\00"
+@.str5280 = private unnamed_addr constant [9 x i8] c"add_days\00"
+@.str5281 = private unnamed_addr constant [10 x i8] c"diff_days\00"
+@.str5282 = private unnamed_addr constant [4 x i8] c"new\00"
+@.str5283 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00"
+@.str5284 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5285 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5286 = private unnamed_addr constant [2 x i8] c")\00"
+@.str5287 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5288 = private unnamed_addr constant [5 x i8] c"year\00"
+@.str5289 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5290 = private unnamed_addr constant [6 x i8] c"month\00"
+@.str5291 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5292 = private unnamed_addr constant [4 x i8] c"day\00"
+@.str5293 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5294 = private unnamed_addr constant [8 x i8] c"weekday\00"
+@.str5295 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5296 = private unnamed_addr constant [4 x i8] c", 4\00"
+@.str5297 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5298 = private unnamed_addr constant [4 x i8] c", 7\00"
+@.str5299 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5300 = private unnamed_addr constant [4 x i8] c", 7\00"
+@.str5301 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5302 = private unnamed_addr constant [4 x i8] c", 7\00"
+@.str5303 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5304 = private unnamed_addr constant [8 x i8] c"is_leap\00"
+@.str5305 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5306 = private unnamed_addr constant [4 x i8] c", 4\00"
+@.str5307 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str5308 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str5309 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5310 = private unnamed_addr constant [6 x i8] c", 100\00"
+@.str5311 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str5312 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str5313 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5314 = private unnamed_addr constant [6 x i8] c", 400\00"
+@.str5315 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str5316 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str5317 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str5318 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5319 = private unnamed_addr constant [7 x i8] c"or i1 \00"
@.str5320 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5321 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5322 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5323 = private unnamed_addr constant [8 x i8] c", 86400\00"
-@.str5324 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5325 = private unnamed_addr constant [8 x i8] c", 86400\00"
-@.str5326 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5327 = private unnamed_addr constant [8 x i8] c", 86400\00"
-@.str5328 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str5329 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5330 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
-@.str5331 = private unnamed_addr constant [8 x i8] c", 86400\00"
-@.str5332 = private unnamed_addr constant [5 x i8] c"from\00"
-@.str5333 = private unnamed_addr constant [5 x i8] c"date\00"
-@.str5334 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str5335 = private unnamed_addr constant [5 x i8] c"year\00"
-@.str5336 = private unnamed_addr constant [6 x i8] c"month\00"
-@.str5337 = private unnamed_addr constant [4 x i8] c"day\00"
-@.str5338 = private unnamed_addr constant [8 x i8] c"weekday\00"
-@.str5339 = private unnamed_addr constant [5 x i8] c"hour\00"
-@.str5340 = private unnamed_addr constant [7 x i8] c"minute\00"
-@.str5341 = private unnamed_addr constant [7 x i8] c"second\00"
-@.str5342 = private unnamed_addr constant [7 x i8] c"format\00"
-@.str5343 = private unnamed_addr constant [6 x i8] c"parse\00"
-@.str5344 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00"
-@.str5345 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str5346 = private unnamed_addr constant [2 x i8] c")\00"
-@.str5347 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00"
-@.str5348 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5349 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5350 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5351 = private unnamed_addr constant [37 x i8] c" call void @fn_civil_from_days(i32 \00"
-@.str5352 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str5353 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str5354 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str5355 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str5356 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str5357 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str5358 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str5359 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
-@.str5360 = private unnamed_addr constant [7 x i8] c", 3600\00"
-@.str5361 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5362 = private unnamed_addr constant [7 x i8] c", 3600\00"
-@.str5363 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
-@.str5364 = private unnamed_addr constant [5 x i8] c", 60\00"
-@.str5365 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5366 = private unnamed_addr constant [5 x i8] c", 60\00"
-@.str5367 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5368 = private unnamed_addr constant [6 x i8] c", 100\00"
-@.str5369 = private unnamed_addr constant [1 x i8] c"\00"
-@.str5370 = private unnamed_addr constant [5 x i8] c"YYYY\00"
-@.str5371 = private unnamed_addr constant [3 x i8] c"YY\00"
-@.str5372 = private unnamed_addr constant [3 x i8] c"MM\00"
-@.str5373 = private unnamed_addr constant [3 x i8] c"DD\00"
-@.str5374 = private unnamed_addr constant [3 x i8] c"HH\00"
-@.str5375 = private unnamed_addr constant [3 x i8] c"mm\00"
-@.str5376 = private unnamed_addr constant [3 x i8] c"ss\00"
-@.str5377 = private unnamed_addr constant [26 x i8] c"call ptr @fn_dt_pad0(i32 \00"
-@.str5378 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5379 = private unnamed_addr constant [2 x i8] c")\00"
-@.str5380 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str5381 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00"
+@.str5321 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str5322 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str5323 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str5324 = private unnamed_addr constant [14 x i8] c"days_in_month\00"
+@.str5325 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00"
+@.str5326 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5327 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
+@.str5328 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str5329 = private unnamed_addr constant [5 x i8] c", 12\00"
+@.str5330 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5331 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str5332 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str5333 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5334 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5335 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5336 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str5337 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str5338 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
+@.str5339 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00"
+@.str5340 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5341 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
+@.str5342 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str5343 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5344 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5345 = private unnamed_addr constant [9 x i8] c"to_epoch\00"
+@.str5346 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5347 = private unnamed_addr constant [8 x i8] c", 86400\00"
+@.str5348 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5349 = private unnamed_addr constant [9 x i8] c"add_days\00"
+@.str5350 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5351 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5352 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5353 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str5354 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5355 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5356 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5357 = private unnamed_addr constant [8 x i8] c", 86400\00"
+@.str5358 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5359 = private unnamed_addr constant [8 x i8] c", 86400\00"
+@.str5360 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5361 = private unnamed_addr constant [8 x i8] c", 86400\00"
+@.str5362 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str5363 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5364 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
+@.str5365 = private unnamed_addr constant [8 x i8] c", 86400\00"
+@.str5366 = private unnamed_addr constant [5 x i8] c"from\00"
+@.str5367 = private unnamed_addr constant [5 x i8] c"date\00"
+@.str5368 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str5369 = private unnamed_addr constant [5 x i8] c"year\00"
+@.str5370 = private unnamed_addr constant [6 x i8] c"month\00"
+@.str5371 = private unnamed_addr constant [4 x i8] c"day\00"
+@.str5372 = private unnamed_addr constant [8 x i8] c"weekday\00"
+@.str5373 = private unnamed_addr constant [5 x i8] c"hour\00"
+@.str5374 = private unnamed_addr constant [7 x i8] c"minute\00"
+@.str5375 = private unnamed_addr constant [7 x i8] c"second\00"
+@.str5376 = private unnamed_addr constant [7 x i8] c"format\00"
+@.str5377 = private unnamed_addr constant [6 x i8] c"parse\00"
+@.str5378 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00"
+@.str5379 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str5380 = private unnamed_addr constant [2 x i8] c")\00"
+@.str5381 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00"
@.str5382 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str5383 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5384 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5385 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5386 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5387 = private unnamed_addr constant [5 x i8] c"1970\00"
-@.str5388 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5389 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5390 = private unnamed_addr constant [2 x i8] c"1\00"
-@.str5391 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5392 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5393 = private unnamed_addr constant [2 x i8] c"1\00"
-@.str5394 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5395 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5396 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5397 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5398 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5399 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5400 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5401 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5402 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5403 = private unnamed_addr constant [5 x i8] c"YYYY\00"
-@.str5404 = private unnamed_addr constant [3 x i8] c"MM\00"
-@.str5405 = private unnamed_addr constant [3 x i8] c"DD\00"
-@.str5406 = private unnamed_addr constant [3 x i8] c"HH\00"
-@.str5407 = private unnamed_addr constant [3 x i8] c"mm\00"
-@.str5408 = private unnamed_addr constant [3 x i8] c"ss\00"
-@.str5409 = private unnamed_addr constant [24 x i8] c"call i32 @fn_dt_rd(ptr \00"
-@.str5410 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5411 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5412 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str5384 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5385 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00"
+@.str5386 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str5387 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str5388 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str5389 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str5390 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str5391 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str5392 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str5393 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
+@.str5394 = private unnamed_addr constant [7 x i8] c", 3600\00"
+@.str5395 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5396 = private unnamed_addr constant [7 x i8] c", 3600\00"
+@.str5397 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
+@.str5398 = private unnamed_addr constant [5 x i8] c", 60\00"
+@.str5399 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5400 = private unnamed_addr constant [5 x i8] c", 60\00"
+@.str5401 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5402 = private unnamed_addr constant [6 x i8] c", 100\00"
+@.str5403 = private unnamed_addr constant [1 x i8] c"\00"
+@.str5404 = private unnamed_addr constant [5 x i8] c"YYYY\00"
+@.str5405 = private unnamed_addr constant [3 x i8] c"YY\00"
+@.str5406 = private unnamed_addr constant [3 x i8] c"MM\00"
+@.str5407 = private unnamed_addr constant [3 x i8] c"DD\00"
+@.str5408 = private unnamed_addr constant [3 x i8] c"HH\00"
+@.str5409 = private unnamed_addr constant [3 x i8] c"mm\00"
+@.str5410 = private unnamed_addr constant [3 x i8] c"ss\00"
+@.str5411 = private unnamed_addr constant [26 x i8] c"call ptr @lp_dt_pad0(i32 \00"
+@.str5412 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str5413 = private unnamed_addr constant [2 x i8] c")\00"
-@.str5414 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str5415 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str5416 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str5417 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str5418 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str5419 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str5420 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str5421 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
-@.str5422 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5423 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5424 = private unnamed_addr constant [2 x i8] c")\00"
-@.str5425 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5426 = private unnamed_addr constant [8 x i8] c", 86400\00"
-@.str5427 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5428 = private unnamed_addr constant [7 x i8] c", 3600\00"
-@.str5429 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5430 = private unnamed_addr constant [5 x i8] c", 60\00"
-@.str5431 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5432 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5433 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5434 = private unnamed_addr constant [3 x i8] c", \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 [15 x i8] c"load i32, ptr \00"
-@.str5438 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str5439 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str5440 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str5441 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00"
-@.str5442 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5443 = private unnamed_addr constant [7 x i8] c"format\00"
-@.str5444 = private unnamed_addr constant [6 x i8] c"parse\00"
-@.str5445 = private unnamed_addr constant [5 x i8] c"from\00"
-@.str5446 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
-@.str5447 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5448 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str5449 = private unnamed_addr constant [2 x i8] c")\00"
-@.str5450 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5451 = private unnamed_addr constant [8 x i8] c", 86400\00"
-@.str5452 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5453 = private unnamed_addr constant [7 x i8] c", 3600\00"
-@.str5454 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5455 = private unnamed_addr constant [5 x i8] c", 60\00"
-@.str5456 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5457 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5458 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5459 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5460 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5461 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5462 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5463 = private unnamed_addr constant [5 x i8] c"date\00"
-@.str5464 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5465 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str5466 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5467 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5468 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5469 = private unnamed_addr constant [5 x i8] c"year\00"
-@.str5470 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5471 = private unnamed_addr constant [6 x i8] c"month\00"
-@.str5472 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5473 = private unnamed_addr constant [4 x i8] c"day\00"
-@.str5474 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5475 = private unnamed_addr constant [8 x i8] c"weekday\00"
-@.str5476 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5477 = private unnamed_addr constant [4 x i8] c", 4\00"
-@.str5478 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5479 = private unnamed_addr constant [4 x i8] c", 7\00"
-@.str5480 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5481 = private unnamed_addr constant [4 x i8] c", 7\00"
-@.str5482 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5483 = private unnamed_addr constant [4 x i8] c", 7\00"
-@.str5484 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5485 = private unnamed_addr constant [5 x i8] c"hour\00"
-@.str5486 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
+@.str5414 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str5415 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00"
+@.str5416 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5417 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5418 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5419 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5420 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5421 = private unnamed_addr constant [5 x i8] c"1970\00"
+@.str5422 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5423 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5424 = private unnamed_addr constant [2 x i8] c"1\00"
+@.str5425 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5426 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5427 = private unnamed_addr constant [2 x i8] c"1\00"
+@.str5428 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5429 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5430 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5431 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5432 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5433 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5434 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5435 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5436 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5437 = private unnamed_addr constant [5 x i8] c"YYYY\00"
+@.str5438 = private unnamed_addr constant [3 x i8] c"MM\00"
+@.str5439 = private unnamed_addr constant [3 x i8] c"DD\00"
+@.str5440 = private unnamed_addr constant [3 x i8] c"HH\00"
+@.str5441 = private unnamed_addr constant [3 x i8] c"mm\00"
+@.str5442 = private unnamed_addr constant [3 x i8] c"ss\00"
+@.str5443 = private unnamed_addr constant [24 x i8] c"call i32 @lp_dt_rd(ptr \00"
+@.str5444 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5445 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5446 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str5447 = private unnamed_addr constant [2 x i8] c")\00"
+@.str5448 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str5449 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str5450 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str5451 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str5452 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str5453 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str5454 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str5455 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00"
+@.str5456 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5457 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5458 = private unnamed_addr constant [2 x i8] c")\00"
+@.str5459 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5460 = private unnamed_addr constant [8 x i8] c", 86400\00"
+@.str5461 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5462 = private unnamed_addr constant [7 x i8] c", 3600\00"
+@.str5463 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5464 = private unnamed_addr constant [5 x i8] c", 60\00"
+@.str5465 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5466 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5467 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5468 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5469 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5470 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5471 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str5472 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str5473 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str5474 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str5475 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00"
+@.str5476 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5477 = private unnamed_addr constant [7 x i8] c"format\00"
+@.str5478 = private unnamed_addr constant [6 x i8] c"parse\00"
+@.str5479 = private unnamed_addr constant [5 x i8] c"from\00"
+@.str5480 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00"
+@.str5481 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5482 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str5483 = private unnamed_addr constant [2 x i8] c")\00"
+@.str5484 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5485 = private unnamed_addr constant [8 x i8] c", 86400\00"
+@.str5486 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str5487 = private unnamed_addr constant [7 x i8] c", 3600\00"
-@.str5488 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5489 = private unnamed_addr constant [7 x i8] c"minute\00"
-@.str5490 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5491 = private unnamed_addr constant [7 x i8] c", 3600\00"
-@.str5492 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
-@.str5493 = private unnamed_addr constant [5 x i8] c", 60\00"
-@.str5494 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5495 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
-@.str5496 = private unnamed_addr constant [5 x i8] c", 60\00"
-@.str5497 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5498 = private unnamed_addr constant [59 x i8] c"define i32 @fn_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00"
-@.str5499 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00"
-@.str5500 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00"
-@.str5501 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00"
-@.str5502 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00"
-@.str5503 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00"
-@.str5504 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00"
-@.str5505 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00"
-@.str5506 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00"
-@.str5507 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00"
-@.str5508 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00"
-@.str5509 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00"
-@.str5510 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00"
-@.str5511 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00"
-@.str5512 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00"
-@.str5513 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00"
-@.str5514 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00"
-@.str5515 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00"
-@.str5516 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00"
-@.str5517 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00"
-@.str5518 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00"
-@.str5519 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00"
-@.str5520 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00"
-@.str5521 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00"
-@.str5522 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00"
-@.str5523 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00"
-@.str5524 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00"
-@.str5525 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00"
-@.str5526 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str5527 = private unnamed_addr constant [71 x i8] c"define void @fn_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00"
-@.str5528 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00"
-@.str5529 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00"
-@.str5530 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00"
-@.str5531 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00"
-@.str5532 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00"
-@.str5533 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00"
-@.str5534 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00"
-@.str5535 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00"
-@.str5536 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00"
-@.str5537 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00"
-@.str5538 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00"
-@.str5539 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00"
-@.str5540 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00"
-@.str5541 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00"
-@.str5542 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00"
-@.str5543 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00"
-@.str5544 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00"
-@.str5545 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00"
-@.str5546 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00"
-@.str5547 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00"
-@.str5548 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00"
-@.str5549 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00"
-@.str5550 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00"
-@.str5551 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00"
-@.str5552 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00"
-@.str5553 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00"
-@.str5554 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00"
-@.str5555 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00"
-@.str5556 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00"
-@.str5557 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00"
-@.str5558 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00"
-@.str5559 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00"
-@.str5560 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00"
-@.str5561 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00"
-@.str5562 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00"
-@.str5563 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00"
-@.str5564 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00"
-@.str5565 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00"
-@.str5566 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00"
-@.str5567 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00"
-@.str5568 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
-@.str5569 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str5570 = private unnamed_addr constant [42 x i8] c"define ptr @fn_dt_pad0(i32 %v, i32 %w) {\0A\00"
-@.str5571 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00"
-@.str5572 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00"
-@.str5573 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00"
-@.str5574 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00"
-@.str5575 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00"
-@.str5576 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00"
-@.str5577 = 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"
-@.str5578 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
-@.str5579 = 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"
-@.str5580 = 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"
-@.str5581 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00"
-@.str5582 = 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"
-@.str5583 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00"
-@.str5584 = private unnamed_addr constant [62 x i8] c"define i32 @fn_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00"
-@.str5585 = 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"
-@.str5586 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
-@.str5587 = 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"
-@.str5588 = 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"
-@.str5589 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00"
-@.str5590 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00"
-@.str5591 = 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"
-@.str5592 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00"
-@.str5593 = 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"
-@.str5594 = 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"
-@.str5595 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00"
-@.str5596 = private unnamed_addr constant [4 x i8] c"now\00"
-@.str5597 = private unnamed_addr constant [4 x i8] c"set\00"
-@.str5598 = private unnamed_addr constant [8 x i8] c"advance\00"
-@.str5599 = private unnamed_addr constant [6 x i8] c"reset\00"
-@.str5600 = private unnamed_addr constant [4 x i8] c"now\00"
-@.str5601 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00"
-@.str5602 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5603 = private unnamed_addr constant [6 x i8] c"reset\00"
-@.str5604 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00"
-@.str5605 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5606 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str5607 = private unnamed_addr constant [4 x i8] c"set\00"
-@.str5608 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str5609 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00"
-@.str5610 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5611 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str5612 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00"
-@.str5613 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5614 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5615 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str5616 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00"
-@.str5617 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5618 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str5619 = private unnamed_addr constant [4 x i8] c"rgb\00"
-@.str5620 = private unnamed_addr constant [5 x i8] c"rgba\00"
-@.str5621 = private unnamed_addr constant [5 x i8] c"lerp\00"
-@.str5622 = private unnamed_addr constant [7 x i8] c"darken\00"
-@.str5623 = private unnamed_addr constant [8 x i8] c"lighten\00"
-@.str5624 = private unnamed_addr constant [11 x i8] c"with_alpha\00"
-@.str5625 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
-@.str5626 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5627 = private unnamed_addr constant [9 x i8] c"and i32 \00"
-@.str5628 = private unnamed_addr constant [6 x i8] c", 255\00"
-@.str5629 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
-@.str5630 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str5631 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
-@.str5632 = private unnamed_addr constant [4 x i8] c", 8\00"
-@.str5633 = private unnamed_addr constant [8 x i8] c"or i32 \00"
-@.str5634 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5635 = private unnamed_addr constant [8 x i8] c"or i32 \00"
-@.str5636 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5637 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str5638 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5639 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5640 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5641 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str5642 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str5643 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5644 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5645 = private unnamed_addr constant [4 x i8] c"rgb\00"
-@.str5646 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5647 = private unnamed_addr constant [5 x i8] c"rgba\00"
-@.str5648 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
-@.str5649 = private unnamed_addr constant [5 x i8] c", 24\00"
-@.str5650 = private unnamed_addr constant [8 x i8] c"or i32 \00"
-@.str5651 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5652 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5653 = private unnamed_addr constant [11 x i8] c"with_alpha\00"
-@.str5654 = private unnamed_addr constant [9 x i8] c"and i32 \00"
-@.str5655 = private unnamed_addr constant [11 x i8] c", 16777215\00"
-@.str5656 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
-@.str5657 = private unnamed_addr constant [5 x i8] c", 24\00"
-@.str5658 = private unnamed_addr constant [8 x i8] c"or i32 \00"
-@.str5659 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5660 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5661 = private unnamed_addr constant [5 x i8] c"lerp\00"
-@.str5662 = private unnamed_addr constant [3 x i8] c"16\00"
-@.str5663 = private unnamed_addr constant [3 x i8] c"16\00"
-@.str5664 = private unnamed_addr constant [2 x i8] c"8\00"
-@.str5665 = private unnamed_addr constant [2 x i8] c"8\00"
-@.str5666 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5667 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5668 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5669 = private unnamed_addr constant [7 x i8] c"darken\00"
-@.str5670 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
-@.str5671 = private unnamed_addr constant [3 x i8] c"16\00"
-@.str5672 = private unnamed_addr constant [2 x i8] c"8\00"
-@.str5673 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5674 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5675 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5676 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str5677 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str5678 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5679 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5680 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str5681 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str5682 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5683 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5684 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str5685 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str5488 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5489 = private unnamed_addr constant [5 x i8] c", 60\00"
+@.str5490 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5491 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5492 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5493 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5494 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5495 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5496 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5497 = private unnamed_addr constant [5 x i8] c"date\00"
+@.str5498 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5499 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str5500 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5501 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5502 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5503 = private unnamed_addr constant [5 x i8] c"year\00"
+@.str5504 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5505 = private unnamed_addr constant [6 x i8] c"month\00"
+@.str5506 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5507 = private unnamed_addr constant [4 x i8] c"day\00"
+@.str5508 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5509 = private unnamed_addr constant [8 x i8] c"weekday\00"
+@.str5510 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5511 = private unnamed_addr constant [4 x i8] c", 4\00"
+@.str5512 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5513 = private unnamed_addr constant [4 x i8] c", 7\00"
+@.str5514 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5515 = private unnamed_addr constant [4 x i8] c", 7\00"
+@.str5516 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5517 = private unnamed_addr constant [4 x i8] c", 7\00"
+@.str5518 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5519 = private unnamed_addr constant [5 x i8] c"hour\00"
+@.str5520 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
+@.str5521 = private unnamed_addr constant [7 x i8] c", 3600\00"
+@.str5522 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5523 = private unnamed_addr constant [7 x i8] c"minute\00"
+@.str5524 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5525 = private unnamed_addr constant [7 x i8] c", 3600\00"
+@.str5526 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
+@.str5527 = private unnamed_addr constant [5 x i8] c", 60\00"
+@.str5528 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5529 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
+@.str5530 = private unnamed_addr constant [5 x i8] c", 60\00"
+@.str5531 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5532 = private unnamed_addr constant [59 x i8] c"define i32 @lp_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00"
+@.str5533 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00"
+@.str5534 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00"
+@.str5535 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00"
+@.str5536 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00"
+@.str5537 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00"
+@.str5538 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00"
+@.str5539 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00"
+@.str5540 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00"
+@.str5541 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00"
+@.str5542 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00"
+@.str5543 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00"
+@.str5544 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00"
+@.str5545 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00"
+@.str5546 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00"
+@.str5547 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00"
+@.str5548 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00"
+@.str5549 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00"
+@.str5550 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00"
+@.str5551 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00"
+@.str5552 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00"
+@.str5553 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00"
+@.str5554 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00"
+@.str5555 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00"
+@.str5556 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00"
+@.str5557 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00"
+@.str5558 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00"
+@.str5559 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00"
+@.str5560 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str5561 = private unnamed_addr constant [71 x i8] c"define void @lp_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00"
+@.str5562 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00"
+@.str5563 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00"
+@.str5564 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00"
+@.str5565 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00"
+@.str5566 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00"
+@.str5567 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00"
+@.str5568 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00"
+@.str5569 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00"
+@.str5570 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00"
+@.str5571 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00"
+@.str5572 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00"
+@.str5573 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00"
+@.str5574 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00"
+@.str5575 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00"
+@.str5576 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00"
+@.str5577 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00"
+@.str5578 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00"
+@.str5579 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00"
+@.str5580 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00"
+@.str5581 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00"
+@.str5582 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00"
+@.str5583 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00"
+@.str5584 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00"
+@.str5585 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00"
+@.str5586 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00"
+@.str5587 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00"
+@.str5588 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00"
+@.str5589 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00"
+@.str5590 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00"
+@.str5591 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00"
+@.str5592 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00"
+@.str5593 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00"
+@.str5594 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00"
+@.str5595 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00"
+@.str5596 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00"
+@.str5597 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00"
+@.str5598 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00"
+@.str5599 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00"
+@.str5600 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00"
+@.str5601 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00"
+@.str5602 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
+@.str5603 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str5604 = private unnamed_addr constant [42 x i8] c"define ptr @lp_dt_pad0(i32 %v, i32 %w) {\0A\00"
+@.str5605 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00"
+@.str5606 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00"
+@.str5607 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00"
+@.str5608 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00"
+@.str5609 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00"
+@.str5610 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00"
+@.str5611 = 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"
+@.str5612 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
+@.str5613 = 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"
+@.str5614 = 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"
+@.str5615 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00"
+@.str5616 = 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"
+@.str5617 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00"
+@.str5618 = private unnamed_addr constant [62 x i8] c"define i32 @lp_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00"
+@.str5619 = 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"
+@.str5620 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
+@.str5621 = 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"
+@.str5622 = 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"
+@.str5623 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00"
+@.str5624 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00"
+@.str5625 = 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"
+@.str5626 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00"
+@.str5627 = 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"
+@.str5628 = 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"
+@.str5629 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00"
+@.str5630 = private unnamed_addr constant [4 x i8] c"now\00"
+@.str5631 = private unnamed_addr constant [4 x i8] c"set\00"
+@.str5632 = private unnamed_addr constant [8 x i8] c"advance\00"
+@.str5633 = private unnamed_addr constant [6 x i8] c"reset\00"
+@.str5634 = private unnamed_addr constant [4 x i8] c"now\00"
+@.str5635 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00"
+@.str5636 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5637 = private unnamed_addr constant [6 x i8] c"reset\00"
+@.str5638 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00"
+@.str5639 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5640 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str5641 = private unnamed_addr constant [4 x i8] c"set\00"
+@.str5642 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str5643 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00"
+@.str5644 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5645 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str5646 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00"
+@.str5647 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5648 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5649 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str5650 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00"
+@.str5651 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5652 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str5653 = private unnamed_addr constant [4 x i8] c"rgb\00"
+@.str5654 = private unnamed_addr constant [5 x i8] c"rgba\00"
+@.str5655 = private unnamed_addr constant [5 x i8] c"lerp\00"
+@.str5656 = private unnamed_addr constant [7 x i8] c"darken\00"
+@.str5657 = private unnamed_addr constant [8 x i8] c"lighten\00"
+@.str5658 = private unnamed_addr constant [11 x i8] c"with_alpha\00"
+@.str5659 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
+@.str5660 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5661 = private unnamed_addr constant [9 x i8] c"and i32 \00"
+@.str5662 = private unnamed_addr constant [6 x i8] c", 255\00"
+@.str5663 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
+@.str5664 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str5665 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
+@.str5666 = private unnamed_addr constant [4 x i8] c", 8\00"
+@.str5667 = private unnamed_addr constant [8 x i8] c"or i32 \00"
+@.str5668 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5669 = private unnamed_addr constant [8 x i8] c"or i32 \00"
+@.str5670 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5671 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str5672 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5673 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5674 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5675 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str5676 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str5677 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5678 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5679 = private unnamed_addr constant [4 x i8] c"rgb\00"
+@.str5680 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5681 = private unnamed_addr constant [5 x i8] c"rgba\00"
+@.str5682 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
+@.str5683 = private unnamed_addr constant [5 x i8] c", 24\00"
+@.str5684 = private unnamed_addr constant [8 x i8] c"or 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 [3 x i8] c"16\00"
-@.str5688 = private unnamed_addr constant [2 x i8] c"8\00"
-@.str5689 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5690 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
-@.str5691 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5692 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5693 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str5694 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str5695 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5696 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5697 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
-@.str5698 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5699 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5700 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str5701 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str5702 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5703 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5704 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
-@.str5705 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str5706 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5707 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str5708 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str5709 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str5710 = private unnamed_addr constant [3 x i8] c", \00"
-@.str5711 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5712 = private unnamed_addr constant [6 x i8] c"White\00"
-@.str5713 = private unnamed_addr constant [5 x i8] c"Snow\00"
-@.str5714 = private unnamed_addr constant [6 x i8] c"Ivory\00"
-@.str5715 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00"
-@.str5716 = private unnamed_addr constant [12 x i8] c"FloralWhite\00"
-@.str5717 = private unnamed_addr constant [9 x i8] c"SeaShell\00"
-@.str5718 = private unnamed_addr constant [6 x i8] c"Linen\00"
-@.str5719 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00"
-@.str5720 = private unnamed_addr constant [8 x i8] c"OldLace\00"
-@.str5721 = private unnamed_addr constant [6 x i8] c"Beige\00"
-@.str5722 = private unnamed_addr constant [6 x i8] c"Cream\00"
-@.str5723 = private unnamed_addr constant [9 x i8] c"Honeydew\00"
-@.str5724 = private unnamed_addr constant [10 x i8] c"MintCream\00"
-@.str5725 = private unnamed_addr constant [6 x i8] c"Azure\00"
-@.str5726 = private unnamed_addr constant [10 x i8] c"AliceBlue\00"
-@.str5727 = private unnamed_addr constant [11 x i8] c"GhostWhite\00"
-@.str5728 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00"
-@.str5729 = private unnamed_addr constant [9 x i8] c"Lavender\00"
-@.str5730 = private unnamed_addr constant [5 x i8] c"Bone\00"
-@.str5731 = private unnamed_addr constant [10 x i8] c"Parchment\00"
-@.str5732 = private unnamed_addr constant [10 x i8] c"Gainsboro\00"
-@.str5733 = private unnamed_addr constant [10 x i8] c"LightGray\00"
-@.str5734 = private unnamed_addr constant [7 x i8] c"Silver\00"
-@.str5735 = private unnamed_addr constant [4 x i8] c"Ash\00"
-@.str5736 = private unnamed_addr constant [9 x i8] c"DarkGray\00"
-@.str5737 = private unnamed_addr constant [5 x i8] c"Gray\00"
-@.str5738 = private unnamed_addr constant [8 x i8] c"DimGray\00"
-@.str5739 = private unnamed_addr constant [7 x i8] c"Nickel\00"
-@.str5740 = private unnamed_addr constant [6 x i8] c"Slate\00"
-@.str5741 = private unnamed_addr constant [10 x i8] c"SlateGray\00"
-@.str5742 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00"
-@.str5743 = private unnamed_addr constant [9 x i8] c"Gunmetal\00"
-@.str5744 = private unnamed_addr constant [9 x i8] c"Charcoal\00"
-@.str5745 = private unnamed_addr constant [9 x i8] c"Graphite\00"
-@.str5746 = private unnamed_addr constant [5 x i8] c"Onyx\00"
-@.str5747 = private unnamed_addr constant [4 x i8] c"Jet\00"
-@.str5748 = private unnamed_addr constant [6 x i8] c"Black\00"
-@.str5749 = private unnamed_addr constant [11 x i8] c"EerieBlack\00"
-@.str5750 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00"
-@.str5751 = private unnamed_addr constant [6 x i8] c"Ebony\00"
-@.str5752 = private unnamed_addr constant [4 x i8] c"Red\00"
-@.str5753 = private unnamed_addr constant [8 x i8] c"Crimson\00"
-@.str5754 = private unnamed_addr constant [8 x i8] c"Scarlet\00"
-@.str5755 = private unnamed_addr constant [10 x i8] c"Vermilion\00"
-@.str5756 = private unnamed_addr constant [10 x i8] c"FireBrick\00"
-@.str5757 = private unnamed_addr constant [9 x i8] c"Cinnabar\00"
-@.str5758 = private unnamed_addr constant [8 x i8] c"DarkRed\00"
-@.str5759 = private unnamed_addr constant [7 x i8] c"Maroon\00"
-@.str5760 = private unnamed_addr constant [5 x i8] c"Ruby\00"
-@.str5761 = private unnamed_addr constant [9 x i8] c"Cardinal\00"
-@.str5762 = private unnamed_addr constant [10 x i8] c"IndianRed\00"
-@.str5763 = private unnamed_addr constant [5 x i8] c"Rust\00"
-@.str5764 = private unnamed_addr constant [8 x i8] c"Sangria\00"
-@.str5765 = private unnamed_addr constant [8 x i8] c"Redwood\00"
-@.str5766 = private unnamed_addr constant [7 x i8] c"Cerise\00"
-@.str5767 = private unnamed_addr constant [9 x i8] c"Amaranth\00"
-@.str5768 = private unnamed_addr constant [8 x i8] c"Carmine\00"
-@.str5769 = private unnamed_addr constant [9 x i8] c"Chestnut\00"
-@.str5770 = private unnamed_addr constant [6 x i8] c"Brick\00"
-@.str5771 = private unnamed_addr constant [11 x i8] c"TerraCotta\00"
-@.str5772 = private unnamed_addr constant [5 x i8] c"Pink\00"
-@.str5773 = private unnamed_addr constant [10 x i8] c"LightPink\00"
-@.str5774 = private unnamed_addr constant [8 x i8] c"HotPink\00"
-@.str5775 = private unnamed_addr constant [9 x i8] c"DeepPink\00"
-@.str5776 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00"
-@.str5777 = private unnamed_addr constant [5 x i8] c"Rose\00"
-@.str5778 = private unnamed_addr constant [6 x i8] c"Blush\00"
-@.str5779 = private unnamed_addr constant [7 x i8] c"Salmon\00"
-@.str5780 = private unnamed_addr constant [12 x i8] c"LightSalmon\00"
-@.str5781 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00"
-@.str5782 = private unnamed_addr constant [6 x i8] c"Coral\00"
-@.str5783 = private unnamed_addr constant [11 x i8] c"Watermelon\00"
-@.str5784 = private unnamed_addr constant [9 x i8] c"Flamingo\00"
-@.str5785 = private unnamed_addr constant [10 x i8] c"Bubblegum\00"
-@.str5786 = private unnamed_addr constant [8 x i8] c"Fuchsia\00"
-@.str5787 = private unnamed_addr constant [8 x i8] c"Magenta\00"
-@.str5788 = private unnamed_addr constant [6 x i8] c"Mauve\00"
-@.str5789 = private unnamed_addr constant [5 x i8] c"Puce\00"
-@.str5790 = private unnamed_addr constant [8 x i8] c"Thistle\00"
-@.str5791 = private unnamed_addr constant [7 x i8] c"Orchid\00"
-@.str5792 = private unnamed_addr constant [7 x i8] c"Orange\00"
-@.str5793 = private unnamed_addr constant [11 x i8] c"DarkOrange\00"
-@.str5794 = private unnamed_addr constant [10 x i8] c"Tangerine\00"
-@.str5795 = private unnamed_addr constant [8 x i8] c"Pumpkin\00"
-@.str5796 = private unnamed_addr constant [8 x i8] c"Apricot\00"
-@.str5797 = private unnamed_addr constant [6 x i8] c"Peach\00"
-@.str5798 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00"
-@.str5799 = private unnamed_addr constant [6 x i8] c"Amber\00"
-@.str5800 = private unnamed_addr constant [7 x i8] c"Bronze\00"
-@.str5801 = private unnamed_addr constant [7 x i8] c"Copper\00"
-@.str5802 = private unnamed_addr constant [9 x i8] c"Marigold\00"
-@.str5803 = private unnamed_addr constant [7 x i8] c"Carrot\00"
-@.str5804 = private unnamed_addr constant [10 x i8] c"Persimmon\00"
-@.str5805 = private unnamed_addr constant [7 x i8] c"Papaya\00"
-@.str5806 = private unnamed_addr constant [7 x i8] c"Sunset\00"
-@.str5807 = private unnamed_addr constant [7 x i8] c"Yellow\00"
-@.str5808 = private unnamed_addr constant [12 x i8] c"LightYellow\00"
-@.str5809 = private unnamed_addr constant [5 x i8] c"Gold\00"
-@.str5810 = private unnamed_addr constant [10 x i8] c"Goldenrod\00"
-@.str5811 = private unnamed_addr constant [6 x i8] c"Lemon\00"
-@.str5812 = private unnamed_addr constant [7 x i8] c"Canary\00"
-@.str5813 = private unnamed_addr constant [8 x i8] c"Mustard\00"
-@.str5814 = private unnamed_addr constant [5 x i8] c"Flax\00"
-@.str5815 = private unnamed_addr constant [6 x i8] c"Wheat\00"
-@.str5816 = private unnamed_addr constant [5 x i8] c"Corn\00"
-@.str5817 = private unnamed_addr constant [10 x i8] c"Dandelion\00"
-@.str5818 = private unnamed_addr constant [8 x i8] c"Saffron\00"
-@.str5819 = private unnamed_addr constant [6 x i8] c"Khaki\00"
-@.str5820 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00"
-@.str5821 = private unnamed_addr constant [6 x i8] c"Straw\00"
-@.str5822 = private unnamed_addr constant [6 x i8] c"Brown\00"
-@.str5823 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00"
-@.str5824 = private unnamed_addr constant [7 x i8] c"Sienna\00"
-@.str5825 = private unnamed_addr constant [10 x i8] c"Chocolate\00"
-@.str5826 = private unnamed_addr constant [5 x i8] c"Peru\00"
-@.str5827 = private unnamed_addr constant [4 x i8] c"Tan\00"
-@.str5828 = private unnamed_addr constant [10 x i8] c"BurlyWood\00"
-@.str5829 = private unnamed_addr constant [5 x i8] c"Sand\00"
-@.str5830 = private unnamed_addr constant [7 x i8] c"Coffee\00"
-@.str5831 = private unnamed_addr constant [9 x i8] c"Espresso\00"
-@.str5832 = private unnamed_addr constant [9 x i8] c"Mahogany\00"
-@.str5833 = private unnamed_addr constant [7 x i8] c"Walnut\00"
-@.str5834 = private unnamed_addr constant [6 x i8] c"Umber\00"
-@.str5835 = private unnamed_addr constant [6 x i8] c"Sepia\00"
-@.str5836 = private unnamed_addr constant [6 x i8] c"Taupe\00"
-@.str5837 = private unnamed_addr constant [5 x i8] c"Fawn\00"
-@.str5838 = private unnamed_addr constant [8 x i8] c"Caramel\00"
-@.str5839 = private unnamed_addr constant [6 x i8] c"Cocoa\00"
-@.str5840 = private unnamed_addr constant [6 x i8] c"Hazel\00"
-@.str5841 = private unnamed_addr constant [6 x i8] c"Wenge\00"
-@.str5842 = private unnamed_addr constant [6 x i8] c"Green\00"
-@.str5843 = private unnamed_addr constant [5 x i8] c"Lime\00"
-@.str5844 = private unnamed_addr constant [10 x i8] c"LimeGreen\00"
-@.str5845 = private unnamed_addr constant [10 x i8] c"LawnGreen\00"
-@.str5846 = private unnamed_addr constant [11 x i8] c"Chartreuse\00"
-@.str5847 = private unnamed_addr constant [12 x i8] c"GreenYellow\00"
-@.str5848 = private unnamed_addr constant [12 x i8] c"SpringGreen\00"
-@.str5849 = private unnamed_addr constant [10 x i8] c"MintGreen\00"
-@.str5850 = private unnamed_addr constant [9 x i8] c"SeaGreen\00"
-@.str5851 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00"
-@.str5852 = private unnamed_addr constant [12 x i8] c"ForestGreen\00"
-@.str5853 = private unnamed_addr constant [10 x i8] c"DarkGreen\00"
-@.str5854 = private unnamed_addr constant [10 x i8] c"OliveDrab\00"
-@.str5855 = private unnamed_addr constant [6 x i8] c"Olive\00"
-@.str5856 = private unnamed_addr constant [5 x i8] c"Moss\00"
-@.str5857 = private unnamed_addr constant [5 x i8] c"Fern\00"
-@.str5858 = private unnamed_addr constant [8 x i8] c"Emerald\00"
-@.str5859 = private unnamed_addr constant [5 x i8] c"Jade\00"
-@.str5860 = private unnamed_addr constant [10 x i8] c"Malachite\00"
-@.str5861 = private unnamed_addr constant [9 x i8] c"Shamrock\00"
-@.str5862 = private unnamed_addr constant [10 x i8] c"Pistachio\00"
-@.str5863 = private unnamed_addr constant [8 x i8] c"Avocado\00"
-@.str5864 = private unnamed_addr constant [5 x i8] c"Pine\00"
-@.str5865 = private unnamed_addr constant [5 x i8] c"Sage\00"
-@.str5866 = private unnamed_addr constant [6 x i8] c"Kelly\00"
-@.str5867 = private unnamed_addr constant [7 x i8] c"Hunter\00"
-@.str5868 = private unnamed_addr constant [6 x i8] c"Basil\00"
-@.str5869 = private unnamed_addr constant [7 x i8] c"Clover\00"
-@.str5870 = private unnamed_addr constant [8 x i8] c"Juniper\00"
-@.str5871 = private unnamed_addr constant [5 x i8] c"Neon\00"
-@.str5872 = private unnamed_addr constant [5 x i8] c"Cyan\00"
-@.str5873 = private unnamed_addr constant [5 x i8] c"Aqua\00"
-@.str5874 = private unnamed_addr constant [10 x i8] c"LightCyan\00"
-@.str5875 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00"
-@.str5876 = private unnamed_addr constant [11 x i8] c"Aquamarine\00"
-@.str5877 = private unnamed_addr constant [10 x i8] c"Turquoise\00"
-@.str5878 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00"
-@.str5879 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00"
-@.str5880 = private unnamed_addr constant [5 x i8] c"Teal\00"
-@.str5881 = private unnamed_addr constant [9 x i8] c"DarkCyan\00"
-@.str5882 = private unnamed_addr constant [10 x i8] c"CadetBlue\00"
-@.str5883 = private unnamed_addr constant [7 x i8] c"Lagoon\00"
-@.str5884 = private unnamed_addr constant [8 x i8] c"Seafoam\00"
-@.str5885 = private unnamed_addr constant [9 x i8] c"Cerulean\00"
-@.str5886 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00"
-@.str5887 = private unnamed_addr constant [6 x i8] c"Robin\00"
-@.str5888 = private unnamed_addr constant [10 x i8] c"Verdigris\00"
-@.str5889 = private unnamed_addr constant [8 x i8] c"Celadon\00"
-@.str5890 = private unnamed_addr constant [5 x i8] c"Blue\00"
-@.str5891 = private unnamed_addr constant [10 x i8] c"LightBlue\00"
-@.str5892 = private unnamed_addr constant [11 x i8] c"PowderBlue\00"
-@.str5893 = private unnamed_addr constant [8 x i8] c"SkyBlue\00"
-@.str5894 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00"
-@.str5895 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00"
-@.str5896 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00"
-@.str5897 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00"
-@.str5898 = private unnamed_addr constant [10 x i8] c"SteelBlue\00"
-@.str5899 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00"
-@.str5900 = private unnamed_addr constant [11 x i8] c"MediumBlue\00"
-@.str5901 = private unnamed_addr constant [9 x i8] c"DarkBlue\00"
-@.str5902 = private unnamed_addr constant [5 x i8] c"Navy\00"
-@.str5903 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00"
-@.str5904 = private unnamed_addr constant [7 x i8] c"Cobalt\00"
-@.str5905 = private unnamed_addr constant [9 x i8] c"Sapphire\00"
-@.str5906 = private unnamed_addr constant [6 x i8] c"Denim\00"
-@.str5907 = private unnamed_addr constant [7 x i8] c"Indigo\00"
-@.str5908 = private unnamed_addr constant [9 x i8] c"Prussian\00"
-@.str5909 = private unnamed_addr constant [12 x i8] c"Ultramarine\00"
-@.str5910 = private unnamed_addr constant [11 x i8] c"Periwinkle\00"
-@.str5911 = private unnamed_addr constant [5 x i8] c"Iris\00"
-@.str5912 = private unnamed_addr constant [9 x i8] c"Glaucous\00"
-@.str5913 = private unnamed_addr constant [7 x i8] c"Zaffre\00"
-@.str5914 = private unnamed_addr constant [6 x i8] c"Berry\00"
-@.str5915 = private unnamed_addr constant [7 x i8] c"Purple\00"
-@.str5916 = private unnamed_addr constant [7 x i8] c"Violet\00"
-@.str5917 = private unnamed_addr constant [11 x i8] c"DarkViolet\00"
-@.str5918 = private unnamed_addr constant [11 x i8] c"BlueViolet\00"
-@.str5919 = private unnamed_addr constant [13 x i8] c"MediumPurple\00"
-@.str5920 = private unnamed_addr constant [9 x i8] c"Amethyst\00"
-@.str5921 = private unnamed_addr constant [5 x i8] c"Plum\00"
-@.str5922 = private unnamed_addr constant [9 x i8] c"Eggplant\00"
-@.str5923 = private unnamed_addr constant [6 x i8] c"Grape\00"
-@.str5924 = private unnamed_addr constant [5 x i8] c"Wine\00"
-@.str5925 = private unnamed_addr constant [9 x i8] c"Mulberry\00"
-@.str5926 = private unnamed_addr constant [6 x i8] c"Lilac\00"
-@.str5927 = private unnamed_addr constant [9 x i8] c"Wisteria\00"
-@.str5928 = private unnamed_addr constant [11 x i8] c"Heliotrope\00"
-@.str5929 = private unnamed_addr constant [10 x i8] c"Byzantium\00"
-@.str5930 = private unnamed_addr constant [7 x i8] c"Tyrian\00"
-@.str5931 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00"
-@.str5932 = private unnamed_addr constant [8 x i8] c"Orchid2\00"
-@.str5933 = private unnamed_addr constant [6 x i8] c"Space\00"
-@.str5934 = private unnamed_addr constant [6 x i8] c"Enter\00"
-@.str5935 = private unnamed_addr constant [7 x i8] c"Return\00"
-@.str5936 = private unnamed_addr constant [7 x i8] c"Escape\00"
-@.str5937 = private unnamed_addr constant [4 x i8] c"Esc\00"
-@.str5938 = private unnamed_addr constant [6 x i8] c"Shift\00"
-@.str5939 = private unnamed_addr constant [4 x i8] c"Tab\00"
-@.str5940 = private unnamed_addr constant [10 x i8] c"Backspace\00"
-@.str5941 = private unnamed_addr constant [3 x i8] c"Up\00"
-@.str5942 = private unnamed_addr constant [5 x i8] c"Down\00"
-@.str5943 = private unnamed_addr constant [5 x i8] c"Left\00"
-@.str5944 = private unnamed_addr constant [6 x i8] c"Right\00"
-@.str5945 = private unnamed_addr constant [7 x i8] c"Digit0\00"
-@.str5946 = private unnamed_addr constant [7 x i8] c"Digit1\00"
-@.str5947 = private unnamed_addr constant [7 x i8] c"Digit2\00"
-@.str5948 = private unnamed_addr constant [7 x i8] c"Digit3\00"
-@.str5949 = private unnamed_addr constant [7 x i8] c"Digit4\00"
-@.str5950 = private unnamed_addr constant [7 x i8] c"Digit5\00"
-@.str5951 = private unnamed_addr constant [7 x i8] c"Digit6\00"
-@.str5952 = private unnamed_addr constant [7 x i8] c"Digit7\00"
-@.str5953 = private unnamed_addr constant [7 x i8] c"Digit8\00"
-@.str5954 = private unnamed_addr constant [7 x i8] c"Digit9\00"
-@.str5955 = private unnamed_addr constant [15 x i8] c"getelementptr \00"
-@.str5956 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00"
-@.str5957 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
-@.str5958 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str5959 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00"
-@.str5960 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
-@.str5961 = private unnamed_addr constant [2 x i8] c")\00"
-@.str5962 = private unnamed_addr constant [3 x i8] c" \00"
-@.str5963 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
-@.str5964 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str5965 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str5966 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str5967 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str5968 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str5969 = private unnamed_addr constant [5 x i8] c"null\00"
-@.str5970 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str5971 = private unnamed_addr constant [2 x i8] c" \00"
-@.str5972 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str5973 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str5974 = private unnamed_addr constant [8 x i8] c"%LSlice\00"
-@.str5975 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
-@.str5976 = private unnamed_addr constant [2 x i8] c")\00"
-@.str5977 = private unnamed_addr constant [3 x i8] c" \00"
-@.str5978 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
-@.str5979 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00"
-@.str5980 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00"
-@.str5981 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str5982 = private unnamed_addr constant [3 x i8] c" \00"
-@.str5983 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
-@.str5984 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00"
-@.str5985 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
-@.str5986 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str5987 = private unnamed_addr constant [3 x i8] c" \00"
-@.str5988 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
-@.str5989 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00"
-@.str5990 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
-@.str5991 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str5992 = private unnamed_addr constant [3 x i8] c" \00"
-@.str5993 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
-@.str5994 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str5995 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str5996 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str5997 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str5998 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
-@.str5999 = private unnamed_addr constant [2 x i8] c")\00"
-@.str6000 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str6001 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str6002 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str6003 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str6004 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str6005 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
-@.str6006 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6007 = private unnamed_addr constant [5 x i8] c"grow\00"
-@.str6008 = private unnamed_addr constant [4 x i8] c"put\00"
-@.str6009 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str6010 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str6011 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str6012 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6013 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str6014 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str6015 = private unnamed_addr constant [4 x i8] c", 2\00"
-@.str6016 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str6017 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str6018 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str6019 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00"
-@.str6020 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str6021 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str6022 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
-@.str6023 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6024 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
-@.str6025 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
-@.str6026 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str6027 = private unnamed_addr constant [2 x i8] c")\00"
-@.str6028 = private unnamed_addr constant [13 x i8] c" store ptr \00"
-@.str6029 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6030 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6031 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str6032 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6033 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6034 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str6035 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6036 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str6037 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
-@.str6038 = private unnamed_addr constant [3 x i8] c" \00"
-@.str6039 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
-@.str6040 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6041 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str6042 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6043 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str6044 = private unnamed_addr constant [2 x i8] c" \00"
-@.str6045 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6046 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6047 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str6048 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str6049 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str6050 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6051 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6052 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str6053 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str6054 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str6055 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str6056 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6057 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6058 = private unnamed_addr constant [7 x i8] c"result\00"
-@.str6059 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00"
-@.str6060 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00"
-@.str6061 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str6062 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
-@.str6063 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6064 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
-@.str6065 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
-@.str6066 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str6067 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str6068 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str6069 = private unnamed_addr constant [6 x i8] c"tryok\00"
-@.str6070 = private unnamed_addr constant [8 x i8] c"tryelse\00"
-@.str6071 = private unnamed_addr constant [7 x i8] c"tryend\00"
-@.str6072 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str6073 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str6074 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str5687 = private unnamed_addr constant [11 x i8] c"with_alpha\00"
+@.str5688 = private unnamed_addr constant [9 x i8] c"and i32 \00"
+@.str5689 = private unnamed_addr constant [11 x i8] c", 16777215\00"
+@.str5690 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
+@.str5691 = private unnamed_addr constant [5 x i8] c", 24\00"
+@.str5692 = private unnamed_addr constant [8 x i8] c"or 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 [5 x i8] c"lerp\00"
+@.str5696 = private unnamed_addr constant [3 x i8] c"16\00"
+@.str5697 = private unnamed_addr constant [3 x i8] c"16\00"
+@.str5698 = private unnamed_addr constant [2 x i8] c"8\00"
+@.str5699 = private unnamed_addr constant [2 x i8] c"8\00"
+@.str5700 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5701 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5702 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5703 = private unnamed_addr constant [7 x i8] c"darken\00"
+@.str5704 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
+@.str5705 = private unnamed_addr constant [3 x i8] c"16\00"
+@.str5706 = private unnamed_addr constant [2 x i8] c"8\00"
+@.str5707 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5708 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5709 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5710 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str5711 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str5712 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5713 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5714 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str5715 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str5716 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5717 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5718 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str5719 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str5720 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5721 = private unnamed_addr constant [3 x i8] c"16\00"
+@.str5722 = private unnamed_addr constant [2 x i8] c"8\00"
+@.str5723 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str5724 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
+@.str5725 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5726 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5727 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str5728 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str5729 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5730 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5731 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
+@.str5732 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5733 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5734 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str5735 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str5736 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5737 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5738 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
+@.str5739 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str5740 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5741 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str5742 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str5743 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str5744 = private unnamed_addr constant [3 x i8] c", \00"
+@.str5745 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str5746 = private unnamed_addr constant [6 x i8] c"White\00"
+@.str5747 = private unnamed_addr constant [5 x i8] c"Snow\00"
+@.str5748 = private unnamed_addr constant [6 x i8] c"Ivory\00"
+@.str5749 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00"
+@.str5750 = private unnamed_addr constant [12 x i8] c"FloralWhite\00"
+@.str5751 = private unnamed_addr constant [9 x i8] c"SeaShell\00"
+@.str5752 = private unnamed_addr constant [6 x i8] c"Linen\00"
+@.str5753 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00"
+@.str5754 = private unnamed_addr constant [8 x i8] c"OldLace\00"
+@.str5755 = private unnamed_addr constant [6 x i8] c"Beige\00"
+@.str5756 = private unnamed_addr constant [6 x i8] c"Cream\00"
+@.str5757 = private unnamed_addr constant [9 x i8] c"Honeydew\00"
+@.str5758 = private unnamed_addr constant [10 x i8] c"MintCream\00"
+@.str5759 = private unnamed_addr constant [6 x i8] c"Azure\00"
+@.str5760 = private unnamed_addr constant [10 x i8] c"AliceBlue\00"
+@.str5761 = private unnamed_addr constant [11 x i8] c"GhostWhite\00"
+@.str5762 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00"
+@.str5763 = private unnamed_addr constant [9 x i8] c"Lavender\00"
+@.str5764 = private unnamed_addr constant [5 x i8] c"Bone\00"
+@.str5765 = private unnamed_addr constant [10 x i8] c"Parchment\00"
+@.str5766 = private unnamed_addr constant [10 x i8] c"Gainsboro\00"
+@.str5767 = private unnamed_addr constant [10 x i8] c"LightGray\00"
+@.str5768 = private unnamed_addr constant [7 x i8] c"Silver\00"
+@.str5769 = private unnamed_addr constant [4 x i8] c"Ash\00"
+@.str5770 = private unnamed_addr constant [9 x i8] c"DarkGray\00"
+@.str5771 = private unnamed_addr constant [5 x i8] c"Gray\00"
+@.str5772 = private unnamed_addr constant [8 x i8] c"DimGray\00"
+@.str5773 = private unnamed_addr constant [7 x i8] c"Nickel\00"
+@.str5774 = private unnamed_addr constant [6 x i8] c"Slate\00"
+@.str5775 = private unnamed_addr constant [10 x i8] c"SlateGray\00"
+@.str5776 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00"
+@.str5777 = private unnamed_addr constant [9 x i8] c"Gunmetal\00"
+@.str5778 = private unnamed_addr constant [9 x i8] c"Charcoal\00"
+@.str5779 = private unnamed_addr constant [9 x i8] c"Graphite\00"
+@.str5780 = private unnamed_addr constant [5 x i8] c"Onyx\00"
+@.str5781 = private unnamed_addr constant [4 x i8] c"Jet\00"
+@.str5782 = private unnamed_addr constant [6 x i8] c"Black\00"
+@.str5783 = private unnamed_addr constant [11 x i8] c"EerieBlack\00"
+@.str5784 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00"
+@.str5785 = private unnamed_addr constant [6 x i8] c"Ebony\00"
+@.str5786 = private unnamed_addr constant [4 x i8] c"Red\00"
+@.str5787 = private unnamed_addr constant [8 x i8] c"Crimson\00"
+@.str5788 = private unnamed_addr constant [8 x i8] c"Scarlet\00"
+@.str5789 = private unnamed_addr constant [10 x i8] c"Vermilion\00"
+@.str5790 = private unnamed_addr constant [10 x i8] c"FireBrick\00"
+@.str5791 = private unnamed_addr constant [9 x i8] c"Cinnabar\00"
+@.str5792 = private unnamed_addr constant [8 x i8] c"DarkRed\00"
+@.str5793 = private unnamed_addr constant [7 x i8] c"Maroon\00"
+@.str5794 = private unnamed_addr constant [5 x i8] c"Ruby\00"
+@.str5795 = private unnamed_addr constant [9 x i8] c"Cardinal\00"
+@.str5796 = private unnamed_addr constant [10 x i8] c"IndianRed\00"
+@.str5797 = private unnamed_addr constant [5 x i8] c"Rust\00"
+@.str5798 = private unnamed_addr constant [8 x i8] c"Sangria\00"
+@.str5799 = private unnamed_addr constant [8 x i8] c"Redwood\00"
+@.str5800 = private unnamed_addr constant [7 x i8] c"Cerise\00"
+@.str5801 = private unnamed_addr constant [9 x i8] c"Amaranth\00"
+@.str5802 = private unnamed_addr constant [8 x i8] c"Carmine\00"
+@.str5803 = private unnamed_addr constant [9 x i8] c"Chestnut\00"
+@.str5804 = private unnamed_addr constant [6 x i8] c"Brick\00"
+@.str5805 = private unnamed_addr constant [11 x i8] c"TerraCotta\00"
+@.str5806 = private unnamed_addr constant [5 x i8] c"Pink\00"
+@.str5807 = private unnamed_addr constant [10 x i8] c"LightPink\00"
+@.str5808 = private unnamed_addr constant [8 x i8] c"HotPink\00"
+@.str5809 = private unnamed_addr constant [9 x i8] c"DeepPink\00"
+@.str5810 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00"
+@.str5811 = private unnamed_addr constant [5 x i8] c"Rose\00"
+@.str5812 = private unnamed_addr constant [6 x i8] c"Blush\00"
+@.str5813 = private unnamed_addr constant [7 x i8] c"Salmon\00"
+@.str5814 = private unnamed_addr constant [12 x i8] c"LightSalmon\00"
+@.str5815 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00"
+@.str5816 = private unnamed_addr constant [6 x i8] c"Coral\00"
+@.str5817 = private unnamed_addr constant [11 x i8] c"Watermelon\00"
+@.str5818 = private unnamed_addr constant [9 x i8] c"Flamingo\00"
+@.str5819 = private unnamed_addr constant [10 x i8] c"Bubblegum\00"
+@.str5820 = private unnamed_addr constant [8 x i8] c"Fuchsia\00"
+@.str5821 = private unnamed_addr constant [8 x i8] c"Magenta\00"
+@.str5822 = private unnamed_addr constant [6 x i8] c"Mauve\00"
+@.str5823 = private unnamed_addr constant [5 x i8] c"Puce\00"
+@.str5824 = private unnamed_addr constant [8 x i8] c"Thistle\00"
+@.str5825 = private unnamed_addr constant [7 x i8] c"Orchid\00"
+@.str5826 = private unnamed_addr constant [7 x i8] c"Orange\00"
+@.str5827 = private unnamed_addr constant [11 x i8] c"DarkOrange\00"
+@.str5828 = private unnamed_addr constant [10 x i8] c"Tangerine\00"
+@.str5829 = private unnamed_addr constant [8 x i8] c"Pumpkin\00"
+@.str5830 = private unnamed_addr constant [8 x i8] c"Apricot\00"
+@.str5831 = private unnamed_addr constant [6 x i8] c"Peach\00"
+@.str5832 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00"
+@.str5833 = private unnamed_addr constant [6 x i8] c"Amber\00"
+@.str5834 = private unnamed_addr constant [7 x i8] c"Bronze\00"
+@.str5835 = private unnamed_addr constant [7 x i8] c"Copper\00"
+@.str5836 = private unnamed_addr constant [9 x i8] c"Marigold\00"
+@.str5837 = private unnamed_addr constant [7 x i8] c"Carrot\00"
+@.str5838 = private unnamed_addr constant [10 x i8] c"Persimmon\00"
+@.str5839 = private unnamed_addr constant [7 x i8] c"Papaya\00"
+@.str5840 = private unnamed_addr constant [7 x i8] c"Sunset\00"
+@.str5841 = private unnamed_addr constant [7 x i8] c"Yellow\00"
+@.str5842 = private unnamed_addr constant [12 x i8] c"LightYellow\00"
+@.str5843 = private unnamed_addr constant [5 x i8] c"Gold\00"
+@.str5844 = private unnamed_addr constant [10 x i8] c"Goldenrod\00"
+@.str5845 = private unnamed_addr constant [6 x i8] c"Lemon\00"
+@.str5846 = private unnamed_addr constant [7 x i8] c"Canary\00"
+@.str5847 = private unnamed_addr constant [8 x i8] c"Mustard\00"
+@.str5848 = private unnamed_addr constant [5 x i8] c"Flax\00"
+@.str5849 = private unnamed_addr constant [6 x i8] c"Wheat\00"
+@.str5850 = private unnamed_addr constant [5 x i8] c"Corn\00"
+@.str5851 = private unnamed_addr constant [10 x i8] c"Dandelion\00"
+@.str5852 = private unnamed_addr constant [8 x i8] c"Saffron\00"
+@.str5853 = private unnamed_addr constant [6 x i8] c"Khaki\00"
+@.str5854 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00"
+@.str5855 = private unnamed_addr constant [6 x i8] c"Straw\00"
+@.str5856 = private unnamed_addr constant [6 x i8] c"Brown\00"
+@.str5857 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00"
+@.str5858 = private unnamed_addr constant [7 x i8] c"Sienna\00"
+@.str5859 = private unnamed_addr constant [10 x i8] c"Chocolate\00"
+@.str5860 = private unnamed_addr constant [5 x i8] c"Peru\00"
+@.str5861 = private unnamed_addr constant [4 x i8] c"Tan\00"
+@.str5862 = private unnamed_addr constant [10 x i8] c"BurlyWood\00"
+@.str5863 = private unnamed_addr constant [5 x i8] c"Sand\00"
+@.str5864 = private unnamed_addr constant [7 x i8] c"Coffee\00"
+@.str5865 = private unnamed_addr constant [9 x i8] c"Espresso\00"
+@.str5866 = private unnamed_addr constant [9 x i8] c"Mahogany\00"
+@.str5867 = private unnamed_addr constant [7 x i8] c"Walnut\00"
+@.str5868 = private unnamed_addr constant [6 x i8] c"Umber\00"
+@.str5869 = private unnamed_addr constant [6 x i8] c"Sepia\00"
+@.str5870 = private unnamed_addr constant [6 x i8] c"Taupe\00"
+@.str5871 = private unnamed_addr constant [5 x i8] c"Fawn\00"
+@.str5872 = private unnamed_addr constant [8 x i8] c"Caramel\00"
+@.str5873 = private unnamed_addr constant [6 x i8] c"Cocoa\00"
+@.str5874 = private unnamed_addr constant [6 x i8] c"Hazel\00"
+@.str5875 = private unnamed_addr constant [6 x i8] c"Wenge\00"
+@.str5876 = private unnamed_addr constant [6 x i8] c"Green\00"
+@.str5877 = private unnamed_addr constant [5 x i8] c"Lime\00"
+@.str5878 = private unnamed_addr constant [10 x i8] c"LimeGreen\00"
+@.str5879 = private unnamed_addr constant [10 x i8] c"LawnGreen\00"
+@.str5880 = private unnamed_addr constant [11 x i8] c"Chartreuse\00"
+@.str5881 = private unnamed_addr constant [12 x i8] c"GreenYellow\00"
+@.str5882 = private unnamed_addr constant [12 x i8] c"SpringGreen\00"
+@.str5883 = private unnamed_addr constant [10 x i8] c"MintGreen\00"
+@.str5884 = private unnamed_addr constant [9 x i8] c"SeaGreen\00"
+@.str5885 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00"
+@.str5886 = private unnamed_addr constant [12 x i8] c"ForestGreen\00"
+@.str5887 = private unnamed_addr constant [10 x i8] c"DarkGreen\00"
+@.str5888 = private unnamed_addr constant [10 x i8] c"OliveDrab\00"
+@.str5889 = private unnamed_addr constant [6 x i8] c"Olive\00"
+@.str5890 = private unnamed_addr constant [5 x i8] c"Moss\00"
+@.str5891 = private unnamed_addr constant [5 x i8] c"Fern\00"
+@.str5892 = private unnamed_addr constant [8 x i8] c"Emerald\00"
+@.str5893 = private unnamed_addr constant [5 x i8] c"Jade\00"
+@.str5894 = private unnamed_addr constant [10 x i8] c"Malachite\00"
+@.str5895 = private unnamed_addr constant [9 x i8] c"Shamrock\00"
+@.str5896 = private unnamed_addr constant [10 x i8] c"Pistachio\00"
+@.str5897 = private unnamed_addr constant [8 x i8] c"Avocado\00"
+@.str5898 = private unnamed_addr constant [5 x i8] c"Pine\00"
+@.str5899 = private unnamed_addr constant [5 x i8] c"Sage\00"
+@.str5900 = private unnamed_addr constant [6 x i8] c"Kelly\00"
+@.str5901 = private unnamed_addr constant [7 x i8] c"Hunter\00"
+@.str5902 = private unnamed_addr constant [6 x i8] c"Basil\00"
+@.str5903 = private unnamed_addr constant [7 x i8] c"Clover\00"
+@.str5904 = private unnamed_addr constant [8 x i8] c"Juniper\00"
+@.str5905 = private unnamed_addr constant [5 x i8] c"Neon\00"
+@.str5906 = private unnamed_addr constant [5 x i8] c"Cyan\00"
+@.str5907 = private unnamed_addr constant [5 x i8] c"Aqua\00"
+@.str5908 = private unnamed_addr constant [10 x i8] c"LightCyan\00"
+@.str5909 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00"
+@.str5910 = private unnamed_addr constant [11 x i8] c"Aquamarine\00"
+@.str5911 = private unnamed_addr constant [10 x i8] c"Turquoise\00"
+@.str5912 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00"
+@.str5913 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00"
+@.str5914 = private unnamed_addr constant [5 x i8] c"Teal\00"
+@.str5915 = private unnamed_addr constant [9 x i8] c"DarkCyan\00"
+@.str5916 = private unnamed_addr constant [10 x i8] c"CadetBlue\00"
+@.str5917 = private unnamed_addr constant [7 x i8] c"Lagoon\00"
+@.str5918 = private unnamed_addr constant [8 x i8] c"Seafoam\00"
+@.str5919 = private unnamed_addr constant [9 x i8] c"Cerulean\00"
+@.str5920 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00"
+@.str5921 = private unnamed_addr constant [6 x i8] c"Robin\00"
+@.str5922 = private unnamed_addr constant [10 x i8] c"Verdigris\00"
+@.str5923 = private unnamed_addr constant [8 x i8] c"Celadon\00"
+@.str5924 = private unnamed_addr constant [5 x i8] c"Blue\00"
+@.str5925 = private unnamed_addr constant [10 x i8] c"LightBlue\00"
+@.str5926 = private unnamed_addr constant [11 x i8] c"PowderBlue\00"
+@.str5927 = private unnamed_addr constant [8 x i8] c"SkyBlue\00"
+@.str5928 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00"
+@.str5929 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00"
+@.str5930 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00"
+@.str5931 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00"
+@.str5932 = private unnamed_addr constant [10 x i8] c"SteelBlue\00"
+@.str5933 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00"
+@.str5934 = private unnamed_addr constant [11 x i8] c"MediumBlue\00"
+@.str5935 = private unnamed_addr constant [9 x i8] c"DarkBlue\00"
+@.str5936 = private unnamed_addr constant [5 x i8] c"Navy\00"
+@.str5937 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00"
+@.str5938 = private unnamed_addr constant [7 x i8] c"Cobalt\00"
+@.str5939 = private unnamed_addr constant [9 x i8] c"Sapphire\00"
+@.str5940 = private unnamed_addr constant [6 x i8] c"Denim\00"
+@.str5941 = private unnamed_addr constant [7 x i8] c"Indigo\00"
+@.str5942 = private unnamed_addr constant [9 x i8] c"Prussian\00"
+@.str5943 = private unnamed_addr constant [12 x i8] c"Ultramarine\00"
+@.str5944 = private unnamed_addr constant [11 x i8] c"Periwinkle\00"
+@.str5945 = private unnamed_addr constant [5 x i8] c"Iris\00"
+@.str5946 = private unnamed_addr constant [9 x i8] c"Glaucous\00"
+@.str5947 = private unnamed_addr constant [7 x i8] c"Zaffre\00"
+@.str5948 = private unnamed_addr constant [6 x i8] c"Berry\00"
+@.str5949 = private unnamed_addr constant [7 x i8] c"Purple\00"
+@.str5950 = private unnamed_addr constant [7 x i8] c"Violet\00"
+@.str5951 = private unnamed_addr constant [11 x i8] c"DarkViolet\00"
+@.str5952 = private unnamed_addr constant [11 x i8] c"BlueViolet\00"
+@.str5953 = private unnamed_addr constant [13 x i8] c"MediumPurple\00"
+@.str5954 = private unnamed_addr constant [9 x i8] c"Amethyst\00"
+@.str5955 = private unnamed_addr constant [5 x i8] c"Plum\00"
+@.str5956 = private unnamed_addr constant [9 x i8] c"Eggplant\00"
+@.str5957 = private unnamed_addr constant [6 x i8] c"Grape\00"
+@.str5958 = private unnamed_addr constant [5 x i8] c"Wine\00"
+@.str5959 = private unnamed_addr constant [9 x i8] c"Mulberry\00"
+@.str5960 = private unnamed_addr constant [6 x i8] c"Lilac\00"
+@.str5961 = private unnamed_addr constant [9 x i8] c"Wisteria\00"
+@.str5962 = private unnamed_addr constant [11 x i8] c"Heliotrope\00"
+@.str5963 = private unnamed_addr constant [10 x i8] c"Byzantium\00"
+@.str5964 = private unnamed_addr constant [7 x i8] c"Tyrian\00"
+@.str5965 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00"
+@.str5966 = private unnamed_addr constant [8 x i8] c"Orchid2\00"
+@.str5967 = private unnamed_addr constant [6 x i8] c"Space\00"
+@.str5968 = private unnamed_addr constant [6 x i8] c"Enter\00"
+@.str5969 = private unnamed_addr constant [7 x i8] c"Return\00"
+@.str5970 = private unnamed_addr constant [7 x i8] c"Escape\00"
+@.str5971 = private unnamed_addr constant [4 x i8] c"Esc\00"
+@.str5972 = private unnamed_addr constant [6 x i8] c"Shift\00"
+@.str5973 = private unnamed_addr constant [4 x i8] c"Tab\00"
+@.str5974 = private unnamed_addr constant [10 x i8] c"Backspace\00"
+@.str5975 = private unnamed_addr constant [3 x i8] c"Up\00"
+@.str5976 = private unnamed_addr constant [5 x i8] c"Down\00"
+@.str5977 = private unnamed_addr constant [5 x i8] c"Left\00"
+@.str5978 = private unnamed_addr constant [6 x i8] c"Right\00"
+@.str5979 = private unnamed_addr constant [7 x i8] c"Digit0\00"
+@.str5980 = private unnamed_addr constant [7 x i8] c"Digit1\00"
+@.str5981 = private unnamed_addr constant [7 x i8] c"Digit2\00"
+@.str5982 = private unnamed_addr constant [7 x i8] c"Digit3\00"
+@.str5983 = private unnamed_addr constant [7 x i8] c"Digit4\00"
+@.str5984 = private unnamed_addr constant [7 x i8] c"Digit5\00"
+@.str5985 = private unnamed_addr constant [7 x i8] c"Digit6\00"
+@.str5986 = private unnamed_addr constant [7 x i8] c"Digit7\00"
+@.str5987 = private unnamed_addr constant [7 x i8] c"Digit8\00"
+@.str5988 = private unnamed_addr constant [7 x i8] c"Digit9\00"
+@.str5989 = private unnamed_addr constant [15 x i8] c"getelementptr \00"
+@.str5990 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00"
+@.str5991 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
+@.str5992 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str5993 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00"
+@.str5994 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
+@.str5995 = private unnamed_addr constant [2 x i8] c")\00"
+@.str5996 = private unnamed_addr constant [3 x i8] c" \00"
+@.str5997 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
+@.str5998 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str5999 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str6000 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6001 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str6002 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str6003 = private unnamed_addr constant [5 x i8] c"null\00"
+@.str6004 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str6005 = private unnamed_addr constant [2 x i8] c" \00"
+@.str6006 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6007 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6008 = private unnamed_addr constant [8 x i8] c"%LSlice\00"
+@.str6009 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
+@.str6010 = private unnamed_addr constant [2 x i8] c")\00"
+@.str6011 = private unnamed_addr constant [3 x i8] c" \00"
+@.str6012 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
+@.str6013 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00"
+@.str6014 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00"
+@.str6015 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6016 = private unnamed_addr constant [3 x i8] c" \00"
+@.str6017 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
+@.str6018 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00"
+@.str6019 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
+@.str6020 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6021 = private unnamed_addr constant [3 x i8] c" \00"
+@.str6022 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
+@.str6023 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00"
+@.str6024 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
+@.str6025 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6026 = private unnamed_addr constant [3 x i8] c" \00"
+@.str6027 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
+@.str6028 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str6029 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6030 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str6031 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str6032 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
+@.str6033 = private unnamed_addr constant [2 x i8] c")\00"
+@.str6034 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str6035 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str6036 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str6037 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str6038 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str6039 = private unnamed_addr constant [67 x i8] c"an empty list literal has no element type: write `new []T` instead\00"
+@.str6040 = private unnamed_addr constant [3 x i8] c"[]\00"
+@.str6041 = private unnamed_addr constant [34 x i8] c"list literal mixes element types \00"
+@.str6042 = private unnamed_addr constant [6 x i8] c" and \00"
+@.str6043 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str6044 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str6045 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
+@.str6046 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6047 = private unnamed_addr constant [5 x i8] c"grow\00"
+@.str6048 = private unnamed_addr constant [4 x i8] c"put\00"
+@.str6049 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str6050 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str6051 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str6052 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6053 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str6054 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str6055 = private unnamed_addr constant [4 x i8] c", 2\00"
+@.str6056 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str6057 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str6058 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str6059 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00"
+@.str6060 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str6061 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str6062 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
+@.str6063 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6064 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
+@.str6065 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
+@.str6066 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str6067 = private unnamed_addr constant [2 x i8] c")\00"
+@.str6068 = private unnamed_addr constant [13 x i8] c" store ptr \00"
+@.str6069 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6070 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6071 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str6072 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6073 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6074 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str6075 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6076 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str6077 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
-@.str6078 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
-@.str6079 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str6080 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str6081 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6077 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
+@.str6078 = private unnamed_addr constant [3 x i8] c" \00"
+@.str6079 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
+@.str6080 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6081 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6082 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6083 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str6084 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6085 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str6086 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
-@.str6087 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00"
-@.str6088 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
-@.str6089 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str6090 = private unnamed_addr constant [13 x i8] c" store ptr \00"
-@.str6091 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6092 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6093 = private unnamed_addr constant [6 x i8] c"error\00"
-@.str6094 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str6095 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str6096 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6097 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str6098 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str6099 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str6100 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str6101 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6102 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str6103 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str6104 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str6105 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str6106 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str6107 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str6108 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6109 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6110 = private unnamed_addr constant [3 x i8] c"sc\00"
-@.str6111 = private unnamed_addr constant [6 x i8] c"scend\00"
-@.str6112 = private unnamed_addr constant [4 x i8] c"and\00"
-@.str6113 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str6114 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str6115 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str6116 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6117 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str6118 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str6119 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str6083 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str6084 = private unnamed_addr constant [2 x i8] c" \00"
+@.str6085 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6086 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6087 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str6088 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str6089 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str6090 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6091 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6092 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str6093 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str6094 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6095 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6096 = private unnamed_addr constant [7 x i8] c"result\00"
+@.str6097 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00"
+@.str6098 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00"
+@.str6099 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str6100 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
+@.str6101 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6102 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
+@.str6103 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
+@.str6104 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str6105 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str6106 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str6107 = private unnamed_addr constant [6 x i8] c"tryok\00"
+@.str6108 = private unnamed_addr constant [8 x i8] c"tryelse\00"
+@.str6109 = private unnamed_addr constant [7 x i8] c"tryend\00"
+@.str6110 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str6111 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str6112 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str6113 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6114 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str6115 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
+@.str6116 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
+@.str6117 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str6118 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str6119 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6120 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6121 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str6122 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str6123 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str6124 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str6125 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str6126 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str6127 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6128 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6129 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str6121 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str6122 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6123 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str6124 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
+@.str6125 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00"
+@.str6126 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
+@.str6127 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str6128 = private unnamed_addr constant [13 x i8] c" store ptr \00"
+@.str6129 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6130 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6131 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str6132 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str6133 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str6134 = private unnamed_addr constant [2 x i8] c"<\00"
-@.str6135 = private unnamed_addr constant [4 x i8] c"slt\00"
-@.str6136 = private unnamed_addr constant [3 x i8] c"<=\00"
-@.str6137 = private unnamed_addr constant [4 x i8] c"sle\00"
-@.str6138 = private unnamed_addr constant [2 x i8] c">\00"
-@.str6139 = private unnamed_addr constant [4 x i8] c"sgt\00"
-@.str6140 = private unnamed_addr constant [3 x i8] c">=\00"
-@.str6141 = private unnamed_addr constant [4 x i8] c"sge\00"
-@.str6142 = private unnamed_addr constant [3 x i8] c"==\00"
-@.str6143 = private unnamed_addr constant [3 x i8] c"eq\00"
-@.str6144 = private unnamed_addr constant [3 x i8] c"ne\00"
-@.str6145 = private unnamed_addr constant [2 x i8] c"<\00"
-@.str6146 = private unnamed_addr constant [3 x i8] c"<=\00"
-@.str6147 = private unnamed_addr constant [2 x i8] c">\00"
-@.str6148 = private unnamed_addr constant [3 x i8] c">=\00"
-@.str6149 = private unnamed_addr constant [3 x i8] c"==\00"
-@.str6150 = private unnamed_addr constant [3 x i8] c"!=\00"
-@.str6151 = private unnamed_addr constant [2 x i8] c"+\00"
-@.str6152 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str6153 = private unnamed_addr constant [2 x i8] c"-\00"
-@.str6154 = private unnamed_addr constant [4 x i8] c"sub\00"
-@.str6155 = private unnamed_addr constant [2 x i8] c"*\00"
-@.str6156 = private unnamed_addr constant [4 x i8] c"mul\00"
-@.str6157 = private unnamed_addr constant [2 x i8] c"/\00"
-@.str6158 = private unnamed_addr constant [5 x i8] c"sdiv\00"
-@.str6159 = private unnamed_addr constant [2 x i8] c"&\00"
-@.str6160 = private unnamed_addr constant [4 x i8] c"and\00"
-@.str6161 = private unnamed_addr constant [2 x i8] c"|\00"
-@.str6162 = private unnamed_addr constant [3 x i8] c"or\00"
-@.str6163 = private unnamed_addr constant [2 x i8] c"^\00"
-@.str6164 = private unnamed_addr constant [4 x i8] c"xor\00"
-@.str6165 = private unnamed_addr constant [3 x i8] c"<<\00"
-@.str6166 = private unnamed_addr constant [4 x i8] c"shl\00"
-@.str6167 = private unnamed_addr constant [3 x i8] c">>\00"
-@.str6168 = private unnamed_addr constant [5 x i8] c"lshr\00"
-@.str6169 = private unnamed_addr constant [5 x i8] c"srem\00"
-@.str6170 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str6171 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
-@.str6172 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str6173 = private unnamed_addr constant [4 x i8] c"i64\00"
-@.str6174 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str6175 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str6176 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str6177 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str6178 = private unnamed_addr constant [4 x i8] c"i64\00"
-@.str6179 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str6180 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str6181 = private unnamed_addr constant [4 x i8] c"i64\00"
-@.str6182 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str6183 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str6184 = private unnamed_addr constant [2 x i8] c"+\00"
-@.str6185 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00"
-@.str6186 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6187 = private unnamed_addr constant [2 x i8] c")\00"
-@.str6188 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str6189 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00"
-@.str6190 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6191 = private unnamed_addr constant [2 x i8] c")\00"
-@.str6192 = private unnamed_addr constant [3 x i8] c"!=\00"
-@.str6193 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str6194 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str6195 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str6196 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str6197 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str6198 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str6199 = private unnamed_addr constant [4 x i8] c"and\00"
+@.str6131 = private unnamed_addr constant [6 x i8] c"error\00"
+@.str6132 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str6133 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str6134 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6135 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str6136 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str6137 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str6138 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str6139 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6140 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str6141 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str6142 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str6143 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str6144 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str6145 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str6146 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6147 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6148 = private unnamed_addr constant [3 x i8] c"sc\00"
+@.str6149 = private unnamed_addr constant [6 x i8] c"scend\00"
+@.str6150 = private unnamed_addr constant [4 x i8] c"and\00"
+@.str6151 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str6152 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str6153 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str6154 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6155 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str6156 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str6157 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str6158 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6159 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str6160 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str6161 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str6162 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str6163 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str6164 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str6165 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6166 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6167 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str6168 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6169 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str6170 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str6171 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str6172 = private unnamed_addr constant [2 x i8] c"<\00"
+@.str6173 = private unnamed_addr constant [4 x i8] c"slt\00"
+@.str6174 = private unnamed_addr constant [3 x i8] c"<=\00"
+@.str6175 = private unnamed_addr constant [4 x i8] c"sle\00"
+@.str6176 = private unnamed_addr constant [2 x i8] c">\00"
+@.str6177 = private unnamed_addr constant [4 x i8] c"sgt\00"
+@.str6178 = private unnamed_addr constant [3 x i8] c">=\00"
+@.str6179 = private unnamed_addr constant [4 x i8] c"sge\00"
+@.str6180 = private unnamed_addr constant [3 x i8] c"==\00"
+@.str6181 = private unnamed_addr constant [3 x i8] c"eq\00"
+@.str6182 = private unnamed_addr constant [3 x i8] c"ne\00"
+@.str6183 = private unnamed_addr constant [2 x i8] c"<\00"
+@.str6184 = private unnamed_addr constant [3 x i8] c"<=\00"
+@.str6185 = private unnamed_addr constant [2 x i8] c">\00"
+@.str6186 = private unnamed_addr constant [3 x i8] c">=\00"
+@.str6187 = private unnamed_addr constant [3 x i8] c"==\00"
+@.str6188 = private unnamed_addr constant [3 x i8] c"!=\00"
+@.str6189 = private unnamed_addr constant [2 x i8] c"+\00"
+@.str6190 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str6191 = private unnamed_addr constant [2 x i8] c"-\00"
+@.str6192 = private unnamed_addr constant [4 x i8] c"sub\00"
+@.str6193 = private unnamed_addr constant [2 x i8] c"*\00"
+@.str6194 = private unnamed_addr constant [4 x i8] c"mul\00"
+@.str6195 = private unnamed_addr constant [2 x i8] c"/\00"
+@.str6196 = private unnamed_addr constant [5 x i8] c"sdiv\00"
+@.str6197 = private unnamed_addr constant [2 x i8] c"&\00"
+@.str6198 = private unnamed_addr constant [4 x i8] c"and\00"
+@.str6199 = private unnamed_addr constant [2 x i8] c"|\00"
@.str6200 = private unnamed_addr constant [3 x i8] c"or\00"
-@.str6201 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str6202 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str6203 = private unnamed_addr constant [2 x i8] c"+\00"
-@.str6204 = private unnamed_addr constant [2 x i8] c"+\00"
-@.str6205 = private unnamed_addr constant [3 x i8] c"==\00"
-@.str6206 = private unnamed_addr constant [3 x i8] c"!=\00"
-@.str6207 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str6201 = private unnamed_addr constant [2 x i8] c"^\00"
+@.str6202 = private unnamed_addr constant [4 x i8] c"xor\00"
+@.str6203 = private unnamed_addr constant [3 x i8] c"<<\00"
+@.str6204 = private unnamed_addr constant [4 x i8] c"shl\00"
+@.str6205 = private unnamed_addr constant [3 x i8] c">>\00"
+@.str6206 = private unnamed_addr constant [5 x i8] c"lshr\00"
+@.str6207 = private unnamed_addr constant [5 x i8] c"srem\00"
@.str6208 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str6209 = private unnamed_addr constant [4 x i8] c"i64\00"
-@.str6210 = private unnamed_addr constant [4 x i8] c"i64\00"
-@.str6211 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str6212 = private unnamed_addr constant [4 x i8] c"i64\00"
-@.str6213 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str6214 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str6215 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str6216 = private unnamed_addr constant [6 x i8] c"icmp \00"
-@.str6217 = private unnamed_addr constant [2 x i8] c" \00"
-@.str6218 = private unnamed_addr constant [2 x i8] c" \00"
-@.str6219 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6220 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str6221 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str6222 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str6223 = private unnamed_addr constant [6 x i8] c" i64 \00"
-@.str6224 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6225 = private unnamed_addr constant [5 x i8] c"long\00"
-@.str6226 = private unnamed_addr constant [2 x i8] c"*\00"
-@.str6227 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str6228 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str6229 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str6230 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str6231 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
-@.str6232 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6233 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
-@.str6234 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str6235 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str6236 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str6209 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
+@.str6210 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str6211 = private unnamed_addr constant [4 x i8] c"i64\00"
+@.str6212 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str6213 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str6214 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str6215 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str6216 = private unnamed_addr constant [4 x i8] c"i64\00"
+@.str6217 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str6218 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str6219 = private unnamed_addr constant [4 x i8] c"i64\00"
+@.str6220 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str6221 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str6222 = private unnamed_addr constant [2 x i8] c"+\00"
+@.str6223 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00"
+@.str6224 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6225 = private unnamed_addr constant [2 x i8] c")\00"
+@.str6226 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str6227 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00"
+@.str6228 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6229 = private unnamed_addr constant [2 x i8] c")\00"
+@.str6230 = private unnamed_addr constant [3 x i8] c"!=\00"
+@.str6231 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str6232 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str6233 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str6234 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str6235 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str6236 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str6237 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str6238 = private unnamed_addr constant [2 x i8] c"/\00"
-@.str6239 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str6240 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str6241 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
-@.str6242 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str6243 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str6244 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str6245 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00"
-@.str6246 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6247 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str6248 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str6238 = private unnamed_addr constant [5 x i8] c"long\00"
+@.str6239 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str6240 = private unnamed_addr constant [4 x i8] c"and\00"
+@.str6241 = private unnamed_addr constant [3 x i8] c"or\00"
+@.str6242 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str6243 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str6244 = private unnamed_addr constant [2 x i8] c"+\00"
+@.str6245 = private unnamed_addr constant [2 x i8] c"+\00"
+@.str6246 = private unnamed_addr constant [3 x i8] c"==\00"
+@.str6247 = private unnamed_addr constant [3 x i8] c"!=\00"
+@.str6248 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str6249 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str6250 = private unnamed_addr constant [6 x i8] c" i32 \00"
-@.str6251 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6252 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str6253 = private unnamed_addr constant [6 x i8] c" i32 \00"
-@.str6254 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6255 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str6256 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00"
-@.str6257 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00"
-@.str6258 = private unnamed_addr constant [19 x i8] c"no argument named \00"
-@.str6259 = private unnamed_addr constant [5 x i8] c"exok\00"
-@.str6260 = private unnamed_addr constant [6 x i8] c"exbad\00"
-@.str6261 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str6262 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str6263 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str6264 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6265 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str6266 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00"
-@.str6267 = private unnamed_addr constant [1 x i8] c"\00"
-@.str6268 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
-@.str6269 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str6270 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00"
-@.str6271 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str6272 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str6273 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str6274 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str6275 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6276 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str6277 = private unnamed_addr constant [12 x i8] c"despawn_all\00"
-@.str6278 = private unnamed_addr constant [32 x i8] c".despawn_all takes no arguments\00"
-@.str6279 = private unnamed_addr constant [7 x i8] c"__each\00"
-@.str6280 = private unnamed_addr constant [5 x i8] c"self\00"
-@.str6281 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str6282 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str6283 = private unnamed_addr constant [6 x i8] c"count\00"
-@.str6284 = private unnamed_addr constant [26 x i8] c".count takes no arguments\00"
-@.str6285 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str6286 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str6287 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str6288 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str6289 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str6290 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str6291 = private unnamed_addr constant [3 x i8] c"cc\00"
-@.str6292 = private unnamed_addr constant [3 x i8] c"cb\00"
-@.str6293 = private unnamed_addr constant [3 x i8] c"cn\00"
-@.str6294 = private unnamed_addr constant [3 x i8] c"ce\00"
-@.str6295 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str6296 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6297 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str6298 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str6299 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00"
-@.str6300 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str6301 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6250 = private unnamed_addr constant [4 x i8] c"i64\00"
+@.str6251 = private unnamed_addr constant [4 x i8] c"i64\00"
+@.str6252 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str6253 = private unnamed_addr constant [4 x i8] c"i64\00"
+@.str6254 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str6255 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str6256 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str6257 = private unnamed_addr constant [6 x i8] c"icmp \00"
+@.str6258 = private unnamed_addr constant [2 x i8] c" \00"
+@.str6259 = private unnamed_addr constant [2 x i8] c" \00"
+@.str6260 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6261 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str6262 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str6263 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str6264 = private unnamed_addr constant [6 x i8] c" i64 \00"
+@.str6265 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6266 = private unnamed_addr constant [5 x i8] c"long\00"
+@.str6267 = private unnamed_addr constant [2 x i8] c"*\00"
+@.str6268 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str6269 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str6270 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str6271 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str6272 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
+@.str6273 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6274 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
+@.str6275 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str6276 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str6277 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str6278 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str6279 = private unnamed_addr constant [2 x i8] c"/\00"
+@.str6280 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str6281 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str6282 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
+@.str6283 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str6284 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str6285 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str6286 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00"
+@.str6287 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6288 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str6289 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str6290 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str6291 = private unnamed_addr constant [6 x i8] c" i32 \00"
+@.str6292 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6293 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str6294 = private unnamed_addr constant [6 x i8] c" i32 \00"
+@.str6295 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6296 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str6297 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00"
+@.str6298 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00"
+@.str6299 = private unnamed_addr constant [19 x i8] c"no argument named \00"
+@.str6300 = private unnamed_addr constant [5 x i8] c"exok\00"
+@.str6301 = private unnamed_addr constant [6 x i8] c"exbad\00"
@.str6302 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str6303 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6304 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6305 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6306 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str6307 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00"
-@.str6308 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00"
-@.str6309 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str6310 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00"
-@.str6311 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
-@.str6312 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str6313 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
-@.str6314 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
-@.str6315 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str6316 = private unnamed_addr constant [9 x i8] c"and i32 \00"
-@.str6317 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6318 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str6319 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str6320 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6321 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str6322 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str6323 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6324 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str6325 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str6326 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str6307 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00"
+@.str6308 = private unnamed_addr constant [1 x i8] c"\00"
+@.str6309 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
+@.str6310 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str6311 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00"
+@.str6312 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str6313 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str6314 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str6315 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str6316 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6317 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str6318 = private unnamed_addr constant [12 x i8] c"despawn_all\00"
+@.str6319 = private unnamed_addr constant [32 x i8] c".despawn_all takes no arguments\00"
+@.str6320 = private unnamed_addr constant [7 x i8] c"__each\00"
+@.str6321 = private unnamed_addr constant [5 x i8] c"self\00"
+@.str6322 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str6323 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str6324 = private unnamed_addr constant [6 x i8] c"count\00"
+@.str6325 = private unnamed_addr constant [26 x i8] c".count takes no arguments\00"
+@.str6326 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str6327 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str6328 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str6329 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6330 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str6331 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str6332 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str6333 = private unnamed_addr constant [2 x i8] c".\00"
-@.str6334 = private unnamed_addr constant [32 x i8] c" takes one argument: the entity\00"
-@.str6335 = private unnamed_addr constant [3 x i8] c"of\00"
-@.str6336 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00"
-@.str6337 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
-@.str6338 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
-@.str6339 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str6340 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00"
-@.str6341 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6342 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str6343 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str6344 = private unnamed_addr constant [8 x i8] c", i32 0\00"
-@.str6345 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00"
-@.str6346 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00"
-@.str6347 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str6348 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str6349 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str6350 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00"
-@.str6351 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
-@.str6352 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str6353 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
-@.str6354 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00"
-@.str6355 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str6356 = private unnamed_addr constant [8 x i8] c"and i1 \00"
-@.str6357 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6358 = private unnamed_addr constant [8 x i8] c"and i1 \00"
-@.str6359 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6360 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str6361 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str6362 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str6363 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str6364 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str6365 = private unnamed_addr constant [3 x i8] c"of\00"
-@.str6366 = private unnamed_addr constant [4 x i8] c"has\00"
-@.str6367 = private unnamed_addr constant [6 x i8] c"count\00"
-@.str6368 = private unnamed_addr constant [12 x i8] c"despawn_all\00"
-@.str6369 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str6370 = private unnamed_addr constant [5 x i8] c"Math\00"
-@.str6371 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00"
-@.str6372 = private unnamed_addr constant [5 x i8] c"Text\00"
-@.str6373 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00"
-@.str6374 = private unnamed_addr constant [5 x i8] c"List\00"
-@.str6375 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00"
-@.str6376 = private unnamed_addr constant [5 x i8] c"Ease\00"
-@.str6377 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00"
-@.str6378 = private unnamed_addr constant [5 x i8] c"Anim\00"
-@.str6379 = private unnamed_addr constant [6 x i8] c"Tween\00"
-@.str6380 = private unnamed_addr constant [10 x i8] c"Collision\00"
-@.str6381 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00"
-@.str6382 = private unnamed_addr constant [7 x i8] c"Memory\00"
-@.str6383 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00"
-@.str6384 = private unnamed_addr constant [6 x i8] c"Color\00"
-@.str6385 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00"
-@.str6386 = private unnamed_addr constant [5 x i8] c"Time\00"
-@.str6387 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00"
-@.str6388 = private unnamed_addr constant [5 x i8] c"Hash\00"
-@.str6389 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00"
-@.str6390 = private unnamed_addr constant [7 x i8] c"Crypto\00"
-@.str6391 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00"
-@.str6392 = private unnamed_addr constant [5 x i8] c"Uuid\00"
-@.str6393 = private unnamed_addr constant [22 x i8] c"unknown builtin Uuid.\00"
-@.str6394 = private unnamed_addr constant [6 x i8] c"Noise\00"
-@.str6395 = private unnamed_addr constant [23 x i8] c"unknown builtin Noise.\00"
-@.str6396 = private unnamed_addr constant [4 x i8] c"Log\00"
-@.str6397 = private unnamed_addr constant [21 x i8] c"unknown builtin Log.\00"
-@.str6398 = private unnamed_addr constant [3 x i8] c"Os\00"
-@.str6399 = private unnamed_addr constant [20 x i8] c"unknown builtin Os.\00"
-@.str6400 = private unnamed_addr constant [8 x i8] c"Unicode\00"
-@.str6401 = private unnamed_addr constant [25 x i8] c"unknown builtin Unicode.\00"
-@.str6402 = private unnamed_addr constant [3 x i8] c"Fs\00"
-@.str6403 = private unnamed_addr constant [20 x i8] c"unknown builtin Fs.\00"
-@.str6404 = private unnamed_addr constant [5 x i8] c"Path\00"
-@.str6405 = private unnamed_addr constant [22 x i8] c"unknown builtin Path.\00"
-@.str6406 = private unnamed_addr constant [5 x i8] c"Mime\00"
-@.str6407 = private unnamed_addr constant [22 x i8] c"unknown builtin Mime.\00"
-@.str6408 = private unnamed_addr constant [7 x i8] c"Vector\00"
-@.str6409 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00"
-@.str6410 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str6411 = private unnamed_addr constant [23 x i8] c"unknown builtin IVec2.\00"
-@.str6412 = private unnamed_addr constant [5 x i8] c"Rect\00"
-@.str6413 = private unnamed_addr constant [22 x i8] c"unknown builtin Rect.\00"
-@.str6414 = private unnamed_addr constant [9 x i8] c"Duration\00"
-@.str6415 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00"
-@.str6416 = private unnamed_addr constant [5 x i8] c"Date\00"
-@.str6417 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00"
-@.str6418 = private unnamed_addr constant [9 x i8] c"DateTime\00"
-@.str6419 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00"
-@.str6420 = private unnamed_addr constant [6 x i8] c"Clock\00"
-@.str6421 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00"
-@.str6422 = private unnamed_addr constant [5 x i8] c"Pool\00"
-@.str6423 = private unnamed_addr constant [9 x i8] c"capacity\00"
-@.str6424 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str6425 = private unnamed_addr constant [9 x i8] c"reserved\00"
-@.str6426 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00"
-@.str6427 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str6428 = private unnamed_addr constant [5 x i8] c"free\00"
-@.str6429 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00"
-@.str6430 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str6431 = private unnamed_addr constant [5 x i8] c"live\00"
-@.str6432 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00"
-@.str6433 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00"
-@.str6434 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str6435 = private unnamed_addr constant [3 x i8] c", \00"
-@.str6436 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str6437 = private unnamed_addr constant [22 x i8] c"unknown builtin Pool.\00"
-@.str6438 = private unnamed_addr constant [7 x i8] c"Screen\00"
-@.str6439 = private unnamed_addr constant [6 x i8] c"clear\00"
-@.str6440 = private unnamed_addr constant [6 x i8] c"clear\00"
-@.str6441 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6442 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00"
-@.str6443 = private unnamed_addr constant [10 x i8] c"fill_rect\00"
-@.str6444 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6445 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6446 = private unnamed_addr constant [6 x i8] c"width\00"
-@.str6447 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str6448 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6449 = private unnamed_addr constant [4 x i8] c"bar\00"
-@.str6450 = private unnamed_addr constant [4 x i8] c"bar\00"
-@.str6451 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6452 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6453 = private unnamed_addr constant [6 x i8] c"width\00"
-@.str6454 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str6455 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str6456 = private unnamed_addr constant [4 x i8] c"max\00"
-@.str6457 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6458 = private unnamed_addr constant [5 x i8] c"back\00"
-@.str6459 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00"
-@.str6460 = private unnamed_addr constant [11 x i8] c"frame_rect\00"
-@.str6461 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6462 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6463 = private unnamed_addr constant [6 x i8] c"width\00"
-@.str6464 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str6465 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6466 = private unnamed_addr constant [10 x i8] c"put_pixel\00"
-@.str6467 = private unnamed_addr constant [7 x i8] c"put_px\00"
-@.str6468 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6469 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6470 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6471 = private unnamed_addr constant [10 x i8] c"draw_text\00"
-@.str6472 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str6473 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6474 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6475 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str6476 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6477 = private unnamed_addr constant [6 x i8] c"scale\00"
-@.str6478 = private unnamed_addr constant [12 x i8] c"draw_number\00"
-@.str6479 = private unnamed_addr constant [9 x i8] c"text_int\00"
-@.str6480 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6481 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6482 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str6483 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6484 = private unnamed_addr constant [6 x i8] c"scale\00"
-@.str6485 = private unnamed_addr constant [5 x i8] c"show\00"
-@.str6486 = private unnamed_addr constant [8 x i8] c"present\00"
+@.str6328 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str6329 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str6330 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str6331 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str6332 = private unnamed_addr constant [3 x i8] c"cc\00"
+@.str6333 = private unnamed_addr constant [3 x i8] c"cb\00"
+@.str6334 = private unnamed_addr constant [3 x i8] c"cn\00"
+@.str6335 = private unnamed_addr constant [3 x i8] c"ce\00"
+@.str6336 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str6337 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6338 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str6339 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str6340 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00"
+@.str6341 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str6342 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6343 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str6344 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str6345 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str6346 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6347 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str6348 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00"
+@.str6349 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00"
+@.str6350 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str6351 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00"
+@.str6352 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
+@.str6353 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str6354 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
+@.str6355 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
+@.str6356 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str6357 = private unnamed_addr constant [9 x i8] c"and i32 \00"
+@.str6358 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6359 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str6360 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str6361 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6362 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str6363 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str6364 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6365 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str6366 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str6367 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str6368 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str6369 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str6370 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6371 = private unnamed_addr constant [3 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 [2 x i8] c".\00"
+@.str6375 = private unnamed_addr constant [32 x i8] c" takes one argument: the entity\00"
+@.str6376 = private unnamed_addr constant [3 x i8] c"of\00"
+@.str6377 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00"
+@.str6378 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
+@.str6379 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
+@.str6380 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str6381 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00"
+@.str6382 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6383 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str6384 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str6385 = private unnamed_addr constant [8 x i8] c", i32 0\00"
+@.str6386 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00"
+@.str6387 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00"
+@.str6388 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str6389 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str6390 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str6391 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00"
+@.str6392 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
+@.str6393 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str6394 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
+@.str6395 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00"
+@.str6396 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str6397 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str6398 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6399 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str6400 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6401 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str6402 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str6403 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str6404 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str6405 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str6406 = private unnamed_addr constant [3 x i8] c"of\00"
+@.str6407 = private unnamed_addr constant [4 x i8] c"has\00"
+@.str6408 = private unnamed_addr constant [6 x i8] c"count\00"
+@.str6409 = private unnamed_addr constant [12 x i8] c"despawn_all\00"
+@.str6410 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str6411 = private unnamed_addr constant [5 x i8] c"Math\00"
+@.str6412 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00"
+@.str6413 = private unnamed_addr constant [5 x i8] c"Text\00"
+@.str6414 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00"
+@.str6415 = private unnamed_addr constant [5 x i8] c"List\00"
+@.str6416 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00"
+@.str6417 = private unnamed_addr constant [5 x i8] c"Ease\00"
+@.str6418 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00"
+@.str6419 = private unnamed_addr constant [5 x i8] c"Anim\00"
+@.str6420 = private unnamed_addr constant [6 x i8] c"Tween\00"
+@.str6421 = private unnamed_addr constant [10 x i8] c"Collision\00"
+@.str6422 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00"
+@.str6423 = private unnamed_addr constant [7 x i8] c"Memory\00"
+@.str6424 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00"
+@.str6425 = private unnamed_addr constant [6 x i8] c"Color\00"
+@.str6426 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00"
+@.str6427 = private unnamed_addr constant [5 x i8] c"Time\00"
+@.str6428 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00"
+@.str6429 = private unnamed_addr constant [5 x i8] c"Hash\00"
+@.str6430 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00"
+@.str6431 = private unnamed_addr constant [7 x i8] c"Crypto\00"
+@.str6432 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00"
+@.str6433 = private unnamed_addr constant [5 x i8] c"Uuid\00"
+@.str6434 = private unnamed_addr constant [22 x i8] c"unknown builtin Uuid.\00"
+@.str6435 = private unnamed_addr constant [6 x i8] c"Noise\00"
+@.str6436 = private unnamed_addr constant [23 x i8] c"unknown builtin Noise.\00"
+@.str6437 = private unnamed_addr constant [4 x i8] c"Log\00"
+@.str6438 = private unnamed_addr constant [21 x i8] c"unknown builtin Log.\00"
+@.str6439 = private unnamed_addr constant [3 x i8] c"Os\00"
+@.str6440 = private unnamed_addr constant [20 x i8] c"unknown builtin Os.\00"
+@.str6441 = private unnamed_addr constant [8 x i8] c"Unicode\00"
+@.str6442 = private unnamed_addr constant [25 x i8] c"unknown builtin Unicode.\00"
+@.str6443 = private unnamed_addr constant [3 x i8] c"Fs\00"
+@.str6444 = private unnamed_addr constant [20 x i8] c"unknown builtin Fs.\00"
+@.str6445 = private unnamed_addr constant [5 x i8] c"Path\00"
+@.str6446 = private unnamed_addr constant [22 x i8] c"unknown builtin Path.\00"
+@.str6447 = private unnamed_addr constant [5 x i8] c"Mime\00"
+@.str6448 = private unnamed_addr constant [22 x i8] c"unknown builtin Mime.\00"
+@.str6449 = private unnamed_addr constant [7 x i8] c"Vector\00"
+@.str6450 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00"
+@.str6451 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str6452 = private unnamed_addr constant [23 x i8] c"unknown builtin IVec2.\00"
+@.str6453 = private unnamed_addr constant [5 x i8] c"Rect\00"
+@.str6454 = private unnamed_addr constant [22 x i8] c"unknown builtin Rect.\00"
+@.str6455 = private unnamed_addr constant [9 x i8] c"Duration\00"
+@.str6456 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00"
+@.str6457 = private unnamed_addr constant [5 x i8] c"Date\00"
+@.str6458 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00"
+@.str6459 = private unnamed_addr constant [9 x i8] c"DateTime\00"
+@.str6460 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00"
+@.str6461 = private unnamed_addr constant [6 x i8] c"Clock\00"
+@.str6462 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00"
+@.str6463 = private unnamed_addr constant [5 x i8] c"Pool\00"
+@.str6464 = private unnamed_addr constant [9 x i8] c"capacity\00"
+@.str6465 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str6466 = private unnamed_addr constant [9 x i8] c"reserved\00"
+@.str6467 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00"
+@.str6468 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str6469 = private unnamed_addr constant [5 x i8] c"free\00"
+@.str6470 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00"
+@.str6471 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str6472 = private unnamed_addr constant [5 x i8] c"live\00"
+@.str6473 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00"
+@.str6474 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00"
+@.str6475 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str6476 = private unnamed_addr constant [3 x i8] c", \00"
+@.str6477 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str6478 = private unnamed_addr constant [22 x i8] c"unknown builtin Pool.\00"
+@.str6479 = private unnamed_addr constant [7 x i8] c"Screen\00"
+@.str6480 = private unnamed_addr constant [6 x i8] c"clear\00"
+@.str6481 = private unnamed_addr constant [6 x i8] c"clear\00"
+@.str6482 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6483 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00"
+@.str6484 = private unnamed_addr constant [10 x i8] c"fill_rect\00"
+@.str6485 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6486 = private unnamed_addr constant [2 x i8] c"y\00"
@.str6487 = private unnamed_addr constant [6 x i8] c"width\00"
-@.str6488 = private unnamed_addr constant [9 x i8] c"screen_w\00"
-@.str6489 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str6490 = private unnamed_addr constant [9 x i8] c"screen_h\00"
-@.str6491 = private unnamed_addr constant [7 x i8] c"status\00"
-@.str6492 = private unnamed_addr constant [7 x i8] c"status\00"
-@.str6493 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str6494 = private unnamed_addr constant [5 x i8] c"line\00"
-@.str6495 = private unnamed_addr constant [5 x i8] c"line\00"
-@.str6496 = private unnamed_addr constant [3 x i8] c"x1\00"
-@.str6497 = private unnamed_addr constant [3 x i8] c"y1\00"
-@.str6498 = private unnamed_addr constant [3 x i8] c"x2\00"
-@.str6499 = private unnamed_addr constant [3 x i8] c"y2\00"
-@.str6500 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6501 = private unnamed_addr constant [7 x i8] c"circle\00"
-@.str6502 = private unnamed_addr constant [7 x i8] c"circle\00"
-@.str6503 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6504 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6505 = private unnamed_addr constant [7 x i8] c"radius\00"
+@.str6488 = private unnamed_addr constant [7 x i8] c"height\00"
+@.str6489 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6490 = private unnamed_addr constant [4 x i8] c"bar\00"
+@.str6491 = private unnamed_addr constant [4 x i8] c"bar\00"
+@.str6492 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6493 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6494 = private unnamed_addr constant [6 x i8] c"width\00"
+@.str6495 = private unnamed_addr constant [7 x i8] c"height\00"
+@.str6496 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str6497 = private unnamed_addr constant [4 x i8] c"max\00"
+@.str6498 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6499 = private unnamed_addr constant [5 x i8] c"back\00"
+@.str6500 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00"
+@.str6501 = private unnamed_addr constant [11 x i8] c"frame_rect\00"
+@.str6502 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6503 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6504 = private unnamed_addr constant [6 x i8] c"width\00"
+@.str6505 = private unnamed_addr constant [7 x i8] c"height\00"
@.str6506 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6507 = private unnamed_addr constant [12 x i8] c"fill_circle\00"
-@.str6508 = private unnamed_addr constant [12 x i8] c"fill_circle\00"
+@.str6507 = private unnamed_addr constant [10 x i8] c"put_pixel\00"
+@.str6508 = private unnamed_addr constant [7 x i8] c"put_px\00"
@.str6509 = private unnamed_addr constant [2 x i8] c"x\00"
@.str6510 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6511 = private unnamed_addr constant [7 x i8] c"radius\00"
-@.str6512 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6513 = private unnamed_addr constant [9 x i8] c"triangle\00"
-@.str6514 = private unnamed_addr constant [9 x i8] c"triangle\00"
-@.str6515 = private unnamed_addr constant [3 x i8] c"x1\00"
-@.str6516 = private unnamed_addr constant [3 x i8] c"y1\00"
-@.str6517 = private unnamed_addr constant [3 x i8] c"x2\00"
-@.str6518 = private unnamed_addr constant [3 x i8] c"y2\00"
-@.str6519 = private unnamed_addr constant [3 x i8] c"x3\00"
-@.str6520 = private unnamed_addr constant [3 x i8] c"y3\00"
-@.str6521 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6522 = private unnamed_addr constant [14 x i8] c"fill_triangle\00"
-@.str6523 = private unnamed_addr constant [14 x i8] c"fill_triangle\00"
-@.str6524 = private unnamed_addr constant [3 x i8] c"x1\00"
-@.str6525 = private unnamed_addr constant [3 x i8] c"y1\00"
-@.str6526 = private unnamed_addr constant [3 x i8] c"x2\00"
-@.str6527 = private unnamed_addr constant [3 x i8] c"y2\00"
-@.str6528 = private unnamed_addr constant [3 x i8] c"x3\00"
-@.str6529 = private unnamed_addr constant [3 x i8] c"y3\00"
-@.str6530 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6531 = private unnamed_addr constant [7 x i8] c"sprite\00"
-@.str6532 = private unnamed_addr constant [12 x i8] c"draw_sprite\00"
-@.str6533 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str6534 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6535 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6536 = private unnamed_addr constant [14 x i8] c"sprite_scaled\00"
-@.str6537 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00"
-@.str6538 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str6539 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6540 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6541 = private unnamed_addr constant [6 x i8] c"scale\00"
-@.str6542 = private unnamed_addr constant [5 x i8] c"oval\00"
-@.str6543 = private unnamed_addr constant [5 x i8] c"oval\00"
+@.str6511 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6512 = private unnamed_addr constant [10 x i8] c"draw_text\00"
+@.str6513 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str6514 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6515 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6516 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str6517 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6518 = private unnamed_addr constant [6 x i8] c"scale\00"
+@.str6519 = private unnamed_addr constant [12 x i8] c"draw_number\00"
+@.str6520 = private unnamed_addr constant [9 x i8] c"text_int\00"
+@.str6521 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6522 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6523 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str6524 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6525 = private unnamed_addr constant [6 x i8] c"scale\00"
+@.str6526 = private unnamed_addr constant [5 x i8] c"show\00"
+@.str6527 = private unnamed_addr constant [8 x i8] c"present\00"
+@.str6528 = private unnamed_addr constant [6 x i8] c"width\00"
+@.str6529 = private unnamed_addr constant [9 x i8] c"screen_w\00"
+@.str6530 = private unnamed_addr constant [7 x i8] c"height\00"
+@.str6531 = private unnamed_addr constant [9 x i8] c"screen_h\00"
+@.str6532 = private unnamed_addr constant [7 x i8] c"status\00"
+@.str6533 = private unnamed_addr constant [7 x i8] c"status\00"
+@.str6534 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str6535 = private unnamed_addr constant [5 x i8] c"line\00"
+@.str6536 = private unnamed_addr constant [5 x i8] c"line\00"
+@.str6537 = private unnamed_addr constant [3 x i8] c"x1\00"
+@.str6538 = private unnamed_addr constant [3 x i8] c"y1\00"
+@.str6539 = private unnamed_addr constant [3 x i8] c"x2\00"
+@.str6540 = private unnamed_addr constant [3 x i8] c"y2\00"
+@.str6541 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6542 = private unnamed_addr constant [7 x i8] c"circle\00"
+@.str6543 = private unnamed_addr constant [7 x i8] c"circle\00"
@.str6544 = private unnamed_addr constant [2 x i8] c"x\00"
@.str6545 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6546 = private unnamed_addr constant [3 x i8] c"rx\00"
-@.str6547 = private unnamed_addr constant [3 x i8] c"ry\00"
-@.str6548 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6549 = private unnamed_addr constant [7 x i8] c"camera\00"
-@.str6550 = private unnamed_addr constant [7 x i8] c"camera\00"
-@.str6551 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6552 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6553 = private unnamed_addr constant [5 x i8] c"clip\00"
-@.str6554 = private unnamed_addr constant [5 x i8] c"clip\00"
-@.str6555 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6556 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6557 = private unnamed_addr constant [6 x i8] c"width\00"
-@.str6558 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str6559 = private unnamed_addr constant [11 x i8] c"clip_reset\00"
-@.str6560 = private unnamed_addr constant [11 x i8] c"clip_reset\00"
-@.str6561 = private unnamed_addr constant [11 x i8] c"blend_mode\00"
-@.str6562 = private unnamed_addr constant [11 x i8] c"blend_mode\00"
-@.str6563 = private unnamed_addr constant [5 x i8] c"mode\00"
-@.str6564 = private unnamed_addr constant [13 x i8] c"measure_text\00"
-@.str6565 = private unnamed_addr constant [13 x i8] c"measure_text\00"
-@.str6566 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str6567 = private unnamed_addr constant [6 x i8] c"pixel\00"
-@.str6568 = private unnamed_addr constant [7 x i8] c"get_px\00"
-@.str6569 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6570 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6571 = private unnamed_addr constant [7 x i8] c"Sprite\00"
-@.str6572 = private unnamed_addr constant [6 x i8] c"sheet\00"
-@.str6573 = private unnamed_addr constant [12 x i8] c"atlas_sheet\00"
-@.str6574 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str6575 = private unnamed_addr constant [6 x i8] c"cellw\00"
-@.str6576 = private unnamed_addr constant [6 x i8] c"cellh\00"
-@.str6577 = private unnamed_addr constant [5 x i8] c"cell\00"
-@.str6578 = private unnamed_addr constant [11 x i8] c"atlas_cell\00"
-@.str6579 = private unnamed_addr constant [6 x i8] c"sheet\00"
-@.str6580 = private unnamed_addr constant [4 x i8] c"col\00"
-@.str6581 = private unnamed_addr constant [4 x i8] c"row\00"
-@.str6582 = private unnamed_addr constant [10 x i8] c"cell_span\00"
-@.str6583 = private unnamed_addr constant [16 x i8] c"atlas_cell_span\00"
-@.str6584 = private unnamed_addr constant [6 x i8] c"sheet\00"
-@.str6585 = private unnamed_addr constant [4 x i8] c"col\00"
-@.str6586 = private unnamed_addr constant [4 x i8] c"row\00"
-@.str6587 = private unnamed_addr constant [5 x i8] c"cols\00"
-@.str6588 = private unnamed_addr constant [5 x i8] c"rows\00"
-@.str6589 = private unnamed_addr constant [6 x i8] c"strip\00"
-@.str6590 = private unnamed_addr constant [12 x i8] c"atlas_strip\00"
-@.str6591 = private unnamed_addr constant [6 x i8] c"sheet\00"
-@.str6592 = private unnamed_addr constant [4 x i8] c"col\00"
-@.str6593 = private unnamed_addr constant [4 x i8] c"row\00"
-@.str6594 = private unnamed_addr constant [6 x i8] c"count\00"
-@.str6595 = private unnamed_addr constant [5 x i8] c"rows\00"
-@.str6596 = private unnamed_addr constant [7 x i8] c"define\00"
-@.str6597 = private unnamed_addr constant [13 x i8] c"atlas_define\00"
-@.str6598 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str6599 = private unnamed_addr constant [6 x i8] c"sheet\00"
-@.str6600 = private unnamed_addr constant [4 x i8] c"col\00"
-@.str6601 = private unnamed_addr constant [4 x i8] c"row\00"
-@.str6602 = private unnamed_addr constant [6 x i8] c"named\00"
-@.str6603 = private unnamed_addr constant [12 x i8] c"atlas_named\00"
-@.str6604 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str6605 = private unnamed_addr constant [5 x i8] c"draw\00"
-@.str6606 = private unnamed_addr constant [11 x i8] c"atlas_draw\00"
-@.str6607 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str6608 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6609 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6610 = private unnamed_addr constant [12 x i8] c"draw_scaled\00"
-@.str6611 = private unnamed_addr constant [18 x i8] c"atlas_draw_scaled\00"
-@.str6612 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str6613 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6614 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6615 = private unnamed_addr constant [6 x i8] c"scale\00"
-@.str6616 = private unnamed_addr constant [11 x i8] c"draw_meter\00"
-@.str6617 = private unnamed_addr constant [17 x i8] c"atlas_draw_meter\00"
-@.str6618 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6619 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6620 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str6621 = private unnamed_addr constant [4 x i8] c"max\00"
-@.str6622 = private unnamed_addr constant [9 x i8] c"per_icon\00"
-@.str6623 = private unnamed_addr constant [8 x i8] c"spacing\00"
-@.str6624 = private unnamed_addr constant [5 x i8] c"full\00"
-@.str6625 = private unnamed_addr constant [5 x i8] c"half\00"
-@.str6626 = private unnamed_addr constant [6 x i8] c"empty\00"
-@.str6627 = private unnamed_addr constant [6 x i8] c"width\00"
-@.str6628 = private unnamed_addr constant [12 x i8] c"atlas_width\00"
-@.str6629 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str6630 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str6631 = private unnamed_addr constant [13 x i8] c"atlas_height\00"
-@.str6632 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str6633 = private unnamed_addr constant [5 x i8] c"Font\00"
-@.str6634 = private unnamed_addr constant [5 x i8] c"load\00"
-@.str6635 = private unnamed_addr constant [10 x i8] c"font_load\00"
-@.str6636 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str6637 = private unnamed_addr constant [3 x i8] c"Ui\00"
-@.str6638 = private unnamed_addr constant [6 x i8] c"build\00"
-@.str6639 = private unnamed_addr constant [9 x i8] c"ui_build\00"
-@.str6640 = private unnamed_addr constant [5 x i8] c"open\00"
-@.str6641 = private unnamed_addr constant [8 x i8] c"ui_open\00"
-@.str6642 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str6643 = private unnamed_addr constant [6 x i8] c"close\00"
-@.str6644 = private unnamed_addr constant [9 x i8] c"ui_close\00"
-@.str6645 = private unnamed_addr constant [5 x i8] c"tick\00"
-@.str6646 = private unnamed_addr constant [8 x i8] c"ui_tick\00"
-@.str6647 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str6648 = private unnamed_addr constant [8 x i8] c"clicked\00"
-@.str6649 = private unnamed_addr constant [11 x i8] c"ui_clicked\00"
-@.str6650 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str6651 = private unnamed_addr constant [9 x i8] c"set_text\00"
-@.str6652 = private unnamed_addr constant [12 x i8] c"ui_set_text\00"
+@.str6546 = private unnamed_addr constant [7 x i8] c"radius\00"
+@.str6547 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6548 = private unnamed_addr constant [12 x i8] c"fill_circle\00"
+@.str6549 = private unnamed_addr constant [12 x i8] c"fill_circle\00"
+@.str6550 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6551 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6552 = private unnamed_addr constant [7 x i8] c"radius\00"
+@.str6553 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6554 = private unnamed_addr constant [9 x i8] c"triangle\00"
+@.str6555 = private unnamed_addr constant [9 x i8] c"triangle\00"
+@.str6556 = private unnamed_addr constant [3 x i8] c"x1\00"
+@.str6557 = private unnamed_addr constant [3 x i8] c"y1\00"
+@.str6558 = private unnamed_addr constant [3 x i8] c"x2\00"
+@.str6559 = private unnamed_addr constant [3 x i8] c"y2\00"
+@.str6560 = private unnamed_addr constant [3 x i8] c"x3\00"
+@.str6561 = private unnamed_addr constant [3 x i8] c"y3\00"
+@.str6562 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6563 = private unnamed_addr constant [14 x i8] c"fill_triangle\00"
+@.str6564 = private unnamed_addr constant [14 x i8] c"fill_triangle\00"
+@.str6565 = private unnamed_addr constant [3 x i8] c"x1\00"
+@.str6566 = private unnamed_addr constant [3 x i8] c"y1\00"
+@.str6567 = private unnamed_addr constant [3 x i8] c"x2\00"
+@.str6568 = private unnamed_addr constant [3 x i8] c"y2\00"
+@.str6569 = private unnamed_addr constant [3 x i8] c"x3\00"
+@.str6570 = private unnamed_addr constant [3 x i8] c"y3\00"
+@.str6571 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6572 = private unnamed_addr constant [7 x i8] c"sprite\00"
+@.str6573 = private unnamed_addr constant [12 x i8] c"draw_sprite\00"
+@.str6574 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str6575 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6576 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6577 = private unnamed_addr constant [14 x i8] c"sprite_scaled\00"
+@.str6578 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00"
+@.str6579 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str6580 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6581 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6582 = private unnamed_addr constant [6 x i8] c"scale\00"
+@.str6583 = private unnamed_addr constant [5 x i8] c"oval\00"
+@.str6584 = private unnamed_addr constant [5 x i8] c"oval\00"
+@.str6585 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6586 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6587 = private unnamed_addr constant [3 x i8] c"rx\00"
+@.str6588 = private unnamed_addr constant [3 x i8] c"ry\00"
+@.str6589 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6590 = private unnamed_addr constant [7 x i8] c"camera\00"
+@.str6591 = private unnamed_addr constant [7 x i8] c"camera\00"
+@.str6592 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6593 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6594 = private unnamed_addr constant [5 x i8] c"clip\00"
+@.str6595 = private unnamed_addr constant [5 x i8] c"clip\00"
+@.str6596 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6597 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6598 = private unnamed_addr constant [6 x i8] c"width\00"
+@.str6599 = private unnamed_addr constant [7 x i8] c"height\00"
+@.str6600 = private unnamed_addr constant [11 x i8] c"clip_reset\00"
+@.str6601 = private unnamed_addr constant [11 x i8] c"clip_reset\00"
+@.str6602 = private unnamed_addr constant [11 x i8] c"blend_mode\00"
+@.str6603 = private unnamed_addr constant [11 x i8] c"blend_mode\00"
+@.str6604 = private unnamed_addr constant [5 x i8] c"mode\00"
+@.str6605 = private unnamed_addr constant [13 x i8] c"measure_text\00"
+@.str6606 = private unnamed_addr constant [13 x i8] c"measure_text\00"
+@.str6607 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str6608 = private unnamed_addr constant [6 x i8] c"pixel\00"
+@.str6609 = private unnamed_addr constant [7 x i8] c"get_px\00"
+@.str6610 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6611 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6612 = private unnamed_addr constant [7 x i8] c"Sprite\00"
+@.str6613 = private unnamed_addr constant [6 x i8] c"sheet\00"
+@.str6614 = private unnamed_addr constant [12 x i8] c"atlas_sheet\00"
+@.str6615 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str6616 = private unnamed_addr constant [6 x i8] c"cellw\00"
+@.str6617 = private unnamed_addr constant [6 x i8] c"cellh\00"
+@.str6618 = private unnamed_addr constant [5 x i8] c"cell\00"
+@.str6619 = private unnamed_addr constant [11 x i8] c"atlas_cell\00"
+@.str6620 = private unnamed_addr constant [6 x i8] c"sheet\00"
+@.str6621 = private unnamed_addr constant [4 x i8] c"col\00"
+@.str6622 = private unnamed_addr constant [4 x i8] c"row\00"
+@.str6623 = private unnamed_addr constant [10 x i8] c"cell_span\00"
+@.str6624 = private unnamed_addr constant [16 x i8] c"atlas_cell_span\00"
+@.str6625 = private unnamed_addr constant [6 x i8] c"sheet\00"
+@.str6626 = private unnamed_addr constant [4 x i8] c"col\00"
+@.str6627 = private unnamed_addr constant [4 x i8] c"row\00"
+@.str6628 = private unnamed_addr constant [5 x i8] c"cols\00"
+@.str6629 = private unnamed_addr constant [5 x i8] c"rows\00"
+@.str6630 = private unnamed_addr constant [6 x i8] c"strip\00"
+@.str6631 = private unnamed_addr constant [12 x i8] c"atlas_strip\00"
+@.str6632 = private unnamed_addr constant [6 x i8] c"sheet\00"
+@.str6633 = private unnamed_addr constant [4 x i8] c"col\00"
+@.str6634 = private unnamed_addr constant [4 x i8] c"row\00"
+@.str6635 = private unnamed_addr constant [6 x i8] c"count\00"
+@.str6636 = private unnamed_addr constant [5 x i8] c"rows\00"
+@.str6637 = private unnamed_addr constant [7 x i8] c"define\00"
+@.str6638 = private unnamed_addr constant [13 x i8] c"atlas_define\00"
+@.str6639 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str6640 = private unnamed_addr constant [6 x i8] c"sheet\00"
+@.str6641 = private unnamed_addr constant [4 x i8] c"col\00"
+@.str6642 = private unnamed_addr constant [4 x i8] c"row\00"
+@.str6643 = private unnamed_addr constant [6 x i8] c"named\00"
+@.str6644 = private unnamed_addr constant [12 x i8] c"atlas_named\00"
+@.str6645 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str6646 = private unnamed_addr constant [5 x i8] c"draw\00"
+@.str6647 = private unnamed_addr constant [11 x i8] c"atlas_draw\00"
+@.str6648 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str6649 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6650 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6651 = private unnamed_addr constant [12 x i8] c"draw_scaled\00"
+@.str6652 = private unnamed_addr constant [18 x i8] c"atlas_draw_scaled\00"
@.str6653 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str6654 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str6655 = private unnamed_addr constant [7 x i8] c"render\00"
-@.str6656 = private unnamed_addr constant [10 x i8] c"ui_render\00"
-@.str6657 = private unnamed_addr constant [5 x i8] c"File\00"
-@.str6658 = private unnamed_addr constant [5 x i8] c"open\00"
-@.str6659 = private unnamed_addr constant [10 x i8] c"file_open\00"
-@.str6660 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str6661 = private unnamed_addr constant [5 x i8] c"mode\00"
-@.str6662 = private unnamed_addr constant [5 x i8] c"read\00"
-@.str6663 = private unnamed_addr constant [10 x i8] c"file_read\00"
-@.str6664 = private unnamed_addr constant [5 x i8] c"file\00"
-@.str6665 = private unnamed_addr constant [7 x i8] c"buffer\00"
-@.str6666 = private unnamed_addr constant [6 x i8] c"count\00"
-@.str6667 = private unnamed_addr constant [6 x i8] c"write\00"
-@.str6668 = private unnamed_addr constant [11 x i8] c"file_write\00"
-@.str6669 = private unnamed_addr constant [5 x i8] c"file\00"
-@.str6670 = private unnamed_addr constant [7 x i8] c"buffer\00"
-@.str6671 = private unnamed_addr constant [6 x i8] c"count\00"
-@.str6672 = private unnamed_addr constant [5 x i8] c"seek\00"
-@.str6673 = private unnamed_addr constant [10 x i8] c"file_seek\00"
-@.str6674 = private unnamed_addr constant [5 x i8] c"file\00"
-@.str6675 = private unnamed_addr constant [7 x i8] c"offset\00"
-@.str6676 = private unnamed_addr constant [7 x i8] c"whence\00"
-@.str6677 = private unnamed_addr constant [5 x i8] c"tell\00"
-@.str6678 = private unnamed_addr constant [10 x i8] c"file_tell\00"
-@.str6679 = private unnamed_addr constant [5 x i8] c"file\00"
-@.str6680 = private unnamed_addr constant [6 x i8] c"close\00"
-@.str6681 = private unnamed_addr constant [11 x i8] c"file_close\00"
-@.str6682 = private unnamed_addr constant [5 x i8] c"file\00"
-@.str6683 = private unnamed_addr constant [3 x i8] c"Fx\00"
-@.str6684 = private unnamed_addr constant [7 x i8] c"sparks\00"
-@.str6685 = private unnamed_addr constant [10 x i8] c"fx_sparks\00"
-@.str6686 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6687 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6688 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6689 = private unnamed_addr constant [6 x i8] c"count\00"
-@.str6690 = private unnamed_addr constant [7 x i8] c"number\00"
-@.str6691 = private unnamed_addr constant [10 x i8] c"fx_number\00"
-@.str6692 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6693 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6694 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str6695 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str6696 = private unnamed_addr constant [6 x i8] c"clear\00"
-@.str6697 = private unnamed_addr constant [9 x i8] c"fx_clear\00"
-@.str6698 = private unnamed_addr constant [7 x i8] c"Prefab\00"
-@.str6699 = private unnamed_addr constant [9 x i8] c"spawn_at\00"
-@.str6700 = private unnamed_addr constant [48 x i8] c"Prefab.spawn_at: the program declares no prefab\00"
-@.str6701 = private unnamed_addr constant [9 x i8] c"Position\00"
-@.str6702 = private unnamed_addr constant [42 x i8] c"Prefab.spawn_at needs a Position property\00"
-@.str6703 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str6704 = private unnamed_addr constant [3 x i8] c"at\00"
-@.str6705 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00"
-@.str6706 = private unnamed_addr constant [2 x i8] c")\00"
-@.str6707 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00"
-@.str6708 = private unnamed_addr constant [48 x i8] c" x %Cmp_Position], ptr @S_Position, i32 0, i32 \00"
-@.str6709 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00"
-@.str6710 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str6711 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6712 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00"
-@.str6713 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str6714 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6715 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str6716 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6717 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6718 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str6719 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str6720 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str6721 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str6722 = private unnamed_addr constant [6 x i8] c"spawn\00"
-@.str6723 = private unnamed_addr constant [45 x i8] c"Prefab.spawn: the program declares no prefab\00"
-@.str6724 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str6725 = private unnamed_addr constant [51 x i8] c"Prefab.spawn takes one argument: the prefab's name\00"
-@.str6726 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00"
-@.str6727 = private unnamed_addr constant [2 x i8] c")\00"
-@.str6728 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str6729 = private unnamed_addr constant [24 x i8] c"unknown builtin Prefab.\00"
-@.str6730 = private unnamed_addr constant [7 x i8] c"Assets\00"
-@.str6731 = private unnamed_addr constant [5 x i8] c"font\00"
-@.str6732 = private unnamed_addr constant [12 x i8] c"assets_font\00"
-@.str6733 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str6734 = private unnamed_addr constant [12 x i8] c"enqueue_dir\00"
-@.str6735 = private unnamed_addr constant [19 x i8] c"assets_enqueue_dir\00"
-@.str6736 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str6737 = private unnamed_addr constant [6 x i8] c"image\00"
-@.str6738 = private unnamed_addr constant [12 x i8] c"atlas_image\00"
-@.str6739 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str6740 = private unnamed_addr constant [5 x i8] c"load\00"
-@.str6741 = private unnamed_addr constant [12 x i8] c"atlas_image\00"
-@.str6742 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str6743 = private unnamed_addr constant [4 x i8] c"get\00"
-@.str6744 = private unnamed_addr constant [12 x i8] c"atlas_named\00"
-@.str6745 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str6746 = private unnamed_addr constant [8 x i8] c"enqueue\00"
-@.str6747 = private unnamed_addr constant [15 x i8] c"assets_enqueue\00"
-@.str6748 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str6749 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str6750 = private unnamed_addr constant [5 x i8] c"pump\00"
-@.str6751 = private unnamed_addr constant [12 x i8] c"assets_pump\00"
-@.str6752 = private unnamed_addr constant [4 x i8] c"max\00"
-@.str6753 = private unnamed_addr constant [6 x i8] c"total\00"
-@.str6754 = private unnamed_addr constant [13 x i8] c"assets_total\00"
-@.str6755 = private unnamed_addr constant [7 x i8] c"loaded\00"
-@.str6756 = private unnamed_addr constant [14 x i8] c"assets_loaded\00"
-@.str6757 = private unnamed_addr constant [6 x i8] c"ready\00"
-@.str6758 = private unnamed_addr constant [13 x i8] c"assets_ready\00"
-@.str6759 = private unnamed_addr constant [9 x i8] c"progress\00"
-@.str6760 = private unnamed_addr constant [16 x i8] c"assets_progress\00"
-@.str6761 = private unnamed_addr constant [7 x i8] c"Camera\00"
-@.str6762 = private unnamed_addr constant [4 x i8] c"set\00"
-@.str6763 = private unnamed_addr constant [7 x i8] c"camera\00"
-@.str6764 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6765 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6766 = private unnamed_addr constant [7 x i8] c"follow\00"
-@.str6767 = private unnamed_addr constant [14 x i8] c"camera_follow\00"
-@.str6768 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6769 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6770 = private unnamed_addr constant [5 x i8] c"lerp\00"
-@.str6771 = private unnamed_addr constant [6 x i8] c"shake\00"
-@.str6772 = private unnamed_addr constant [13 x i8] c"camera_shake\00"
-@.str6773 = private unnamed_addr constant [7 x i8] c"amount\00"
-@.str6774 = private unnamed_addr constant [10 x i8] c"shake_for\00"
-@.str6775 = private unnamed_addr constant [17 x i8] c"camera_shake_for\00"
-@.str6776 = private unnamed_addr constant [7 x i8] c"amount\00"
-@.str6777 = private unnamed_addr constant [7 x i8] c"frames\00"
-@.str6778 = private unnamed_addr constant [5 x i8] c"zoom\00"
-@.str6779 = private unnamed_addr constant [12 x i8] c"camera_zoom\00"
-@.str6780 = private unnamed_addr constant [6 x i8] c"scale\00"
-@.str6781 = private unnamed_addr constant [4 x i8] c"Map\00"
-@.str6782 = private unnamed_addr constant [5 x i8] c"size\00"
-@.str6783 = private unnamed_addr constant [9 x i8] c"map_size\00"
-@.str6784 = private unnamed_addr constant [6 x i8] c"width\00"
-@.str6785 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str6786 = private unnamed_addr constant [4 x i8] c"row\00"
-@.str6787 = private unnamed_addr constant [8 x i8] c"map_row\00"
-@.str6788 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6789 = private unnamed_addr constant [6 x i8] c"cells\00"
-@.str6790 = private unnamed_addr constant [5 x i8] c"tile\00"
-@.str6791 = private unnamed_addr constant [5 x i8] c"tile\00"
-@.str6792 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6793 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6794 = private unnamed_addr constant [4 x i8] c"get\00"
-@.str6795 = private unnamed_addr constant [5 x i8] c"tile\00"
-@.str6796 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6797 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6798 = private unnamed_addr constant [4 x i8] c"set\00"
-@.str6799 = private unnamed_addr constant [8 x i8] c"map_set\00"
-@.str6800 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6801 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6802 = private unnamed_addr constant [6 x i8] c"glyph\00"
-@.str6803 = private unnamed_addr constant [5 x i8] c"fill\00"
-@.str6804 = private unnamed_addr constant [9 x i8] c"map_fill\00"
-@.str6805 = private unnamed_addr constant [6 x i8] c"glyph\00"
-@.str6806 = private unnamed_addr constant [5 x i8] c"rect\00"
-@.str6807 = private unnamed_addr constant [9 x i8] c"map_rect\00"
-@.str6808 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6809 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6810 = private unnamed_addr constant [6 x i8] c"width\00"
-@.str6811 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str6812 = private unnamed_addr constant [6 x i8] c"glyph\00"
-@.str6813 = private unnamed_addr constant [7 x i8] c"border\00"
-@.str6814 = private unnamed_addr constant [11 x i8] c"map_border\00"
-@.str6815 = private unnamed_addr constant [6 x i8] c"glyph\00"
-@.str6816 = private unnamed_addr constant [12 x i8] c"random_cell\00"
-@.str6817 = private unnamed_addr constant [16 x i8] c"map_random_cell\00"
-@.str6818 = private unnamed_addr constant [6 x i8] c"glyph\00"
-@.str6819 = private unnamed_addr constant [16 x i8] c"random_cell_far\00"
-@.str6820 = private unnamed_addr constant [20 x i8] c"map_random_cell_far\00"
-@.str6821 = private unnamed_addr constant [6 x i8] c"glyph\00"
-@.str6822 = private unnamed_addr constant [5 x i8] c"from\00"
-@.str6823 = private unnamed_addr constant [10 x i8] c"min_tiles\00"
-@.str6824 = private unnamed_addr constant [9 x i8] c"is_solid\00"
-@.str6825 = private unnamed_addr constant [13 x i8] c"map_is_solid\00"
-@.str6826 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6827 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6828 = private unnamed_addr constant [12 x i8] c"is_solid_at\00"
-@.str6829 = private unnamed_addr constant [16 x i8] c"map_is_solid_at\00"
-@.str6830 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6831 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6832 = private unnamed_addr constant [8 x i8] c"to_tile\00"
-@.str6833 = private unnamed_addr constant [12 x i8] c"map_to_tile\00"
-@.str6834 = private unnamed_addr constant [6 x i8] c"pixel\00"
-@.str6835 = private unnamed_addr constant [6 x i8] c"width\00"
-@.str6836 = private unnamed_addr constant [10 x i8] c"map_width\00"
-@.str6837 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str6838 = private unnamed_addr constant [11 x i8] c"map_height\00"
-@.str6839 = private unnamed_addr constant [7 x i8] c"Random\00"
-@.str6840 = private unnamed_addr constant [6 x i8] c"range\00"
-@.str6841 = private unnamed_addr constant [10 x i8] c"rng_range\00"
-@.str6842 = private unnamed_addr constant [4 x i8] c"low\00"
-@.str6843 = private unnamed_addr constant [5 x i8] c"high\00"
-@.str6844 = private unnamed_addr constant [9 x i8] c"weighted\00"
-@.str6845 = private unnamed_addr constant [13 x i8] c"rng_weighted\00"
-@.str6846 = private unnamed_addr constant [8 x i8] c"weights\00"
-@.str6847 = private unnamed_addr constant [7 x i8] c"chance\00"
-@.str6848 = private unnamed_addr constant [11 x i8] c"rng_chance\00"
-@.str6849 = private unnamed_addr constant [8 x i8] c"percent\00"
-@.str6850 = private unnamed_addr constant [5 x i8] c"seed\00"
-@.str6851 = private unnamed_addr constant [5 x i8] c"seed\00"
-@.str6852 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str6853 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str6854 = private unnamed_addr constant [10 x i8] c"rng_value\00"
-@.str6855 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str6856 = private unnamed_addr constant [8 x i8] c"rng_int\00"
-@.str6857 = private unnamed_addr constant [4 x i8] c"max\00"
-@.str6858 = private unnamed_addr constant [5 x i8] c"sign\00"
-@.str6859 = private unnamed_addr constant [9 x i8] c"rng_sign\00"
-@.str6860 = private unnamed_addr constant [6 x i8] c"Input\00"
-@.str6861 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str6862 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str6863 = private unnamed_addr constant [5 x i8] c"bind\00"
-@.str6864 = private unnamed_addr constant [11 x i8] c"input_bind\00"
-@.str6865 = private unnamed_addr constant [7 x i8] c"action\00"
-@.str6866 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str6867 = private unnamed_addr constant [7 x i8] c"rebind\00"
-@.str6868 = private unnamed_addr constant [13 x i8] c"input_rebind\00"
-@.str6869 = private unnamed_addr constant [7 x i8] c"action\00"
-@.str6870 = private unnamed_addr constant [4 x i8] c"old\00"
-@.str6871 = private unnamed_addr constant [4 x i8] c"new\00"
-@.str6872 = private unnamed_addr constant [5 x i8] c"poll\00"
-@.str6873 = private unnamed_addr constant [11 x i8] c"input_poll\00"
-@.str6874 = private unnamed_addr constant [5 x i8] c"down\00"
-@.str6875 = private unnamed_addr constant [11 x i8] c"input_down\00"
-@.str6876 = private unnamed_addr constant [8 x i8] c"pressed\00"
-@.str6877 = private unnamed_addr constant [14 x i8] c"input_pressed\00"
-@.str6878 = private unnamed_addr constant [7 x i8] c"record\00"
-@.str6879 = private unnamed_addr constant [13 x i8] c"input_record\00"
-@.str6880 = private unnamed_addr constant [7 x i8] c"replay\00"
-@.str6881 = private unnamed_addr constant [13 x i8] c"input_replay\00"
-@.str6882 = private unnamed_addr constant [7 x i8] c"action\00"
-@.str6883 = private unnamed_addr constant [14 x i8] c"input_default\00"
-@.str6884 = private unnamed_addr constant [7 x i8] c"action\00"
-@.str6885 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str6886 = private unnamed_addr constant [9 x i8] c"bind_pad\00"
-@.str6887 = private unnamed_addr constant [15 x i8] c"input_bind_pad\00"
-@.str6888 = private unnamed_addr constant [7 x i8] c"action\00"
-@.str6889 = private unnamed_addr constant [7 x i8] c"button\00"
-@.str6890 = private unnamed_addr constant [7 x i8] c"active\00"
-@.str6891 = private unnamed_addr constant [13 x i8] c"input_active\00"
-@.str6892 = private unnamed_addr constant [7 x i8] c"action\00"
-@.str6893 = private unnamed_addr constant [13 x i8] c"just_pressed\00"
-@.str6894 = private unnamed_addr constant [19 x i8] c"input_just_pressed\00"
-@.str6895 = private unnamed_addr constant [7 x i8] c"action\00"
-@.str6896 = private unnamed_addr constant [14 x i8] c"just_released\00"
-@.str6897 = private unnamed_addr constant [20 x i8] c"input_just_released\00"
-@.str6898 = private unnamed_addr constant [7 x i8] c"action\00"
-@.str6899 = private unnamed_addr constant [9 x i8] c"key_down\00"
-@.str6900 = private unnamed_addr constant [15 x i8] c"input_key_down\00"
-@.str6901 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str6902 = private unnamed_addr constant [12 x i8] c"key_pressed\00"
-@.str6903 = private unnamed_addr constant [18 x i8] c"input_key_pressed\00"
-@.str6904 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str6905 = private unnamed_addr constant [13 x i8] c"key_released\00"
-@.str6906 = private unnamed_addr constant [19 x i8] c"input_key_released\00"
+@.str6654 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6655 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6656 = private unnamed_addr constant [6 x i8] c"scale\00"
+@.str6657 = private unnamed_addr constant [11 x i8] c"draw_meter\00"
+@.str6658 = private unnamed_addr constant [17 x i8] c"atlas_draw_meter\00"
+@.str6659 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6660 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6661 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str6662 = private unnamed_addr constant [4 x i8] c"max\00"
+@.str6663 = private unnamed_addr constant [9 x i8] c"per_icon\00"
+@.str6664 = private unnamed_addr constant [8 x i8] c"spacing\00"
+@.str6665 = private unnamed_addr constant [5 x i8] c"full\00"
+@.str6666 = private unnamed_addr constant [5 x i8] c"half\00"
+@.str6667 = private unnamed_addr constant [6 x i8] c"empty\00"
+@.str6668 = private unnamed_addr constant [6 x i8] c"width\00"
+@.str6669 = private unnamed_addr constant [12 x i8] c"atlas_width\00"
+@.str6670 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str6671 = private unnamed_addr constant [7 x i8] c"height\00"
+@.str6672 = private unnamed_addr constant [13 x i8] c"atlas_height\00"
+@.str6673 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str6674 = private unnamed_addr constant [5 x i8] c"Font\00"
+@.str6675 = private unnamed_addr constant [5 x i8] c"load\00"
+@.str6676 = private unnamed_addr constant [10 x i8] c"font_load\00"
+@.str6677 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str6678 = private unnamed_addr constant [3 x i8] c"Ui\00"
+@.str6679 = private unnamed_addr constant [6 x i8] c"build\00"
+@.str6680 = private unnamed_addr constant [9 x i8] c"ui_build\00"
+@.str6681 = private unnamed_addr constant [5 x i8] c"open\00"
+@.str6682 = private unnamed_addr constant [8 x i8] c"ui_open\00"
+@.str6683 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str6684 = private unnamed_addr constant [6 x i8] c"close\00"
+@.str6685 = private unnamed_addr constant [9 x i8] c"ui_close\00"
+@.str6686 = private unnamed_addr constant [5 x i8] c"tick\00"
+@.str6687 = private unnamed_addr constant [8 x i8] c"ui_tick\00"
+@.str6688 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str6689 = private unnamed_addr constant [8 x i8] c"clicked\00"
+@.str6690 = private unnamed_addr constant [11 x i8] c"ui_clicked\00"
+@.str6691 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str6692 = private unnamed_addr constant [9 x i8] c"set_text\00"
+@.str6693 = private unnamed_addr constant [12 x i8] c"ui_set_text\00"
+@.str6694 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str6695 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str6696 = private unnamed_addr constant [7 x i8] c"render\00"
+@.str6697 = private unnamed_addr constant [10 x i8] c"ui_render\00"
+@.str6698 = private unnamed_addr constant [5 x i8] c"File\00"
+@.str6699 = private unnamed_addr constant [5 x i8] c"open\00"
+@.str6700 = private unnamed_addr constant [10 x i8] c"file_open\00"
+@.str6701 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str6702 = private unnamed_addr constant [5 x i8] c"mode\00"
+@.str6703 = private unnamed_addr constant [5 x i8] c"read\00"
+@.str6704 = private unnamed_addr constant [10 x i8] c"file_read\00"
+@.str6705 = private unnamed_addr constant [5 x i8] c"file\00"
+@.str6706 = private unnamed_addr constant [7 x i8] c"buffer\00"
+@.str6707 = private unnamed_addr constant [6 x i8] c"count\00"
+@.str6708 = private unnamed_addr constant [6 x i8] c"write\00"
+@.str6709 = private unnamed_addr constant [11 x i8] c"file_write\00"
+@.str6710 = private unnamed_addr constant [5 x i8] c"file\00"
+@.str6711 = private unnamed_addr constant [7 x i8] c"buffer\00"
+@.str6712 = private unnamed_addr constant [6 x i8] c"count\00"
+@.str6713 = private unnamed_addr constant [5 x i8] c"seek\00"
+@.str6714 = private unnamed_addr constant [10 x i8] c"file_seek\00"
+@.str6715 = private unnamed_addr constant [5 x i8] c"file\00"
+@.str6716 = private unnamed_addr constant [7 x i8] c"offset\00"
+@.str6717 = private unnamed_addr constant [7 x i8] c"whence\00"
+@.str6718 = private unnamed_addr constant [5 x i8] c"tell\00"
+@.str6719 = private unnamed_addr constant [10 x i8] c"file_tell\00"
+@.str6720 = private unnamed_addr constant [5 x i8] c"file\00"
+@.str6721 = private unnamed_addr constant [6 x i8] c"close\00"
+@.str6722 = private unnamed_addr constant [11 x i8] c"file_close\00"
+@.str6723 = private unnamed_addr constant [5 x i8] c"file\00"
+@.str6724 = private unnamed_addr constant [3 x i8] c"Fx\00"
+@.str6725 = private unnamed_addr constant [7 x i8] c"sparks\00"
+@.str6726 = private unnamed_addr constant [10 x i8] c"fx_sparks\00"
+@.str6727 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6728 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6729 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6730 = private unnamed_addr constant [6 x i8] c"count\00"
+@.str6731 = private unnamed_addr constant [7 x i8] c"number\00"
+@.str6732 = private unnamed_addr constant [10 x i8] c"fx_number\00"
+@.str6733 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6734 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6735 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str6736 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str6737 = private unnamed_addr constant [6 x i8] c"clear\00"
+@.str6738 = private unnamed_addr constant [9 x i8] c"fx_clear\00"
+@.str6739 = private unnamed_addr constant [7 x i8] c"Prefab\00"
+@.str6740 = private unnamed_addr constant [9 x i8] c"spawn_at\00"
+@.str6741 = private unnamed_addr constant [48 x i8] c"Prefab.spawn_at: the program declares no prefab\00"
+@.str6742 = private unnamed_addr constant [9 x i8] c"Position\00"
+@.str6743 = private unnamed_addr constant [42 x i8] c"Prefab.spawn_at needs a Position property\00"
+@.str6744 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str6745 = private unnamed_addr constant [3 x i8] c"at\00"
+@.str6746 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00"
+@.str6747 = private unnamed_addr constant [2 x i8] c")\00"
+@.str6748 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00"
+@.str6749 = private unnamed_addr constant [48 x i8] c" x %Cmp_Position], ptr @S_Position, i32 0, i32 \00"
+@.str6750 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00"
+@.str6751 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str6752 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6753 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00"
+@.str6754 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str6755 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6756 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str6757 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6758 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6759 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str6760 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str6761 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str6762 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str6763 = private unnamed_addr constant [6 x i8] c"spawn\00"
+@.str6764 = private unnamed_addr constant [45 x i8] c"Prefab.spawn: the program declares no prefab\00"
+@.str6765 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str6766 = private unnamed_addr constant [51 x i8] c"Prefab.spawn takes one argument: the prefab's name\00"
+@.str6767 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00"
+@.str6768 = private unnamed_addr constant [2 x i8] c")\00"
+@.str6769 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str6770 = private unnamed_addr constant [24 x i8] c"unknown builtin Prefab.\00"
+@.str6771 = private unnamed_addr constant [7 x i8] c"Assets\00"
+@.str6772 = private unnamed_addr constant [5 x i8] c"font\00"
+@.str6773 = private unnamed_addr constant [12 x i8] c"assets_font\00"
+@.str6774 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str6775 = private unnamed_addr constant [12 x i8] c"enqueue_dir\00"
+@.str6776 = private unnamed_addr constant [19 x i8] c"assets_enqueue_dir\00"
+@.str6777 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str6778 = private unnamed_addr constant [6 x i8] c"image\00"
+@.str6779 = private unnamed_addr constant [12 x i8] c"atlas_image\00"
+@.str6780 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str6781 = private unnamed_addr constant [5 x i8] c"load\00"
+@.str6782 = private unnamed_addr constant [12 x i8] c"atlas_image\00"
+@.str6783 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str6784 = private unnamed_addr constant [4 x i8] c"get\00"
+@.str6785 = private unnamed_addr constant [12 x i8] c"atlas_named\00"
+@.str6786 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str6787 = private unnamed_addr constant [8 x i8] c"enqueue\00"
+@.str6788 = private unnamed_addr constant [15 x i8] c"assets_enqueue\00"
+@.str6789 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str6790 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str6791 = private unnamed_addr constant [5 x i8] c"pump\00"
+@.str6792 = private unnamed_addr constant [12 x i8] c"assets_pump\00"
+@.str6793 = private unnamed_addr constant [4 x i8] c"max\00"
+@.str6794 = private unnamed_addr constant [6 x i8] c"total\00"
+@.str6795 = private unnamed_addr constant [13 x i8] c"assets_total\00"
+@.str6796 = private unnamed_addr constant [7 x i8] c"loaded\00"
+@.str6797 = private unnamed_addr constant [14 x i8] c"assets_loaded\00"
+@.str6798 = private unnamed_addr constant [6 x i8] c"ready\00"
+@.str6799 = private unnamed_addr constant [13 x i8] c"assets_ready\00"
+@.str6800 = private unnamed_addr constant [9 x i8] c"progress\00"
+@.str6801 = private unnamed_addr constant [16 x i8] c"assets_progress\00"
+@.str6802 = private unnamed_addr constant [7 x i8] c"Camera\00"
+@.str6803 = private unnamed_addr constant [4 x i8] c"set\00"
+@.str6804 = private unnamed_addr constant [7 x i8] c"camera\00"
+@.str6805 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6806 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6807 = private unnamed_addr constant [7 x i8] c"follow\00"
+@.str6808 = private unnamed_addr constant [14 x i8] c"camera_follow\00"
+@.str6809 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6810 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6811 = private unnamed_addr constant [5 x i8] c"lerp\00"
+@.str6812 = private unnamed_addr constant [6 x i8] c"shake\00"
+@.str6813 = private unnamed_addr constant [13 x i8] c"camera_shake\00"
+@.str6814 = private unnamed_addr constant [7 x i8] c"amount\00"
+@.str6815 = private unnamed_addr constant [10 x i8] c"shake_for\00"
+@.str6816 = private unnamed_addr constant [17 x i8] c"camera_shake_for\00"
+@.str6817 = private unnamed_addr constant [7 x i8] c"amount\00"
+@.str6818 = private unnamed_addr constant [7 x i8] c"frames\00"
+@.str6819 = private unnamed_addr constant [5 x i8] c"zoom\00"
+@.str6820 = private unnamed_addr constant [12 x i8] c"camera_zoom\00"
+@.str6821 = private unnamed_addr constant [6 x i8] c"scale\00"
+@.str6822 = private unnamed_addr constant [4 x i8] c"Map\00"
+@.str6823 = private unnamed_addr constant [5 x i8] c"size\00"
+@.str6824 = private unnamed_addr constant [9 x i8] c"map_size\00"
+@.str6825 = private unnamed_addr constant [6 x i8] c"width\00"
+@.str6826 = private unnamed_addr constant [7 x i8] c"height\00"
+@.str6827 = private unnamed_addr constant [4 x i8] c"row\00"
+@.str6828 = private unnamed_addr constant [8 x i8] c"map_row\00"
+@.str6829 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6830 = private unnamed_addr constant [6 x i8] c"cells\00"
+@.str6831 = private unnamed_addr constant [5 x i8] c"tile\00"
+@.str6832 = private unnamed_addr constant [5 x i8] c"tile\00"
+@.str6833 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6834 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6835 = private unnamed_addr constant [4 x i8] c"get\00"
+@.str6836 = private unnamed_addr constant [5 x i8] c"tile\00"
+@.str6837 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6838 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6839 = private unnamed_addr constant [4 x i8] c"set\00"
+@.str6840 = private unnamed_addr constant [8 x i8] c"map_set\00"
+@.str6841 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6842 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6843 = private unnamed_addr constant [6 x i8] c"glyph\00"
+@.str6844 = private unnamed_addr constant [5 x i8] c"fill\00"
+@.str6845 = private unnamed_addr constant [9 x i8] c"map_fill\00"
+@.str6846 = private unnamed_addr constant [6 x i8] c"glyph\00"
+@.str6847 = private unnamed_addr constant [5 x i8] c"rect\00"
+@.str6848 = private unnamed_addr constant [9 x i8] c"map_rect\00"
+@.str6849 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6850 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6851 = private unnamed_addr constant [6 x i8] c"width\00"
+@.str6852 = private unnamed_addr constant [7 x i8] c"height\00"
+@.str6853 = private unnamed_addr constant [6 x i8] c"glyph\00"
+@.str6854 = private unnamed_addr constant [7 x i8] c"border\00"
+@.str6855 = private unnamed_addr constant [11 x i8] c"map_border\00"
+@.str6856 = private unnamed_addr constant [6 x i8] c"glyph\00"
+@.str6857 = private unnamed_addr constant [12 x i8] c"random_cell\00"
+@.str6858 = private unnamed_addr constant [16 x i8] c"map_random_cell\00"
+@.str6859 = private unnamed_addr constant [6 x i8] c"glyph\00"
+@.str6860 = private unnamed_addr constant [16 x i8] c"random_cell_far\00"
+@.str6861 = private unnamed_addr constant [20 x i8] c"map_random_cell_far\00"
+@.str6862 = private unnamed_addr constant [6 x i8] c"glyph\00"
+@.str6863 = private unnamed_addr constant [5 x i8] c"from\00"
+@.str6864 = private unnamed_addr constant [10 x i8] c"min_tiles\00"
+@.str6865 = private unnamed_addr constant [9 x i8] c"is_solid\00"
+@.str6866 = private unnamed_addr constant [13 x i8] c"map_is_solid\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 [12 x i8] c"is_solid_at\00"
+@.str6870 = private unnamed_addr constant [16 x i8] c"map_is_solid_at\00"
+@.str6871 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6872 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6873 = private unnamed_addr constant [8 x i8] c"to_tile\00"
+@.str6874 = private unnamed_addr constant [12 x i8] c"map_to_tile\00"
+@.str6875 = private unnamed_addr constant [6 x i8] c"pixel\00"
+@.str6876 = private unnamed_addr constant [6 x i8] c"width\00"
+@.str6877 = private unnamed_addr constant [10 x i8] c"map_width\00"
+@.str6878 = private unnamed_addr constant [7 x i8] c"height\00"
+@.str6879 = private unnamed_addr constant [11 x i8] c"map_height\00"
+@.str6880 = private unnamed_addr constant [7 x i8] c"Random\00"
+@.str6881 = private unnamed_addr constant [6 x i8] c"range\00"
+@.str6882 = private unnamed_addr constant [10 x i8] c"rng_range\00"
+@.str6883 = private unnamed_addr constant [4 x i8] c"low\00"
+@.str6884 = private unnamed_addr constant [5 x i8] c"high\00"
+@.str6885 = private unnamed_addr constant [9 x i8] c"weighted\00"
+@.str6886 = private unnamed_addr constant [13 x i8] c"rng_weighted\00"
+@.str6887 = private unnamed_addr constant [8 x i8] c"weights\00"
+@.str6888 = private unnamed_addr constant [7 x i8] c"chance\00"
+@.str6889 = private unnamed_addr constant [11 x i8] c"rng_chance\00"
+@.str6890 = private unnamed_addr constant [8 x i8] c"percent\00"
+@.str6891 = private unnamed_addr constant [5 x i8] c"seed\00"
+@.str6892 = private unnamed_addr constant [5 x i8] c"seed\00"
+@.str6893 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str6894 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str6895 = private unnamed_addr constant [10 x i8] c"rng_value\00"
+@.str6896 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str6897 = private unnamed_addr constant [8 x i8] c"rng_int\00"
+@.str6898 = private unnamed_addr constant [4 x i8] c"max\00"
+@.str6899 = private unnamed_addr constant [5 x i8] c"sign\00"
+@.str6900 = private unnamed_addr constant [9 x i8] c"rng_sign\00"
+@.str6901 = private unnamed_addr constant [6 x i8] c"Input\00"
+@.str6902 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str6903 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str6904 = private unnamed_addr constant [5 x i8] c"bind\00"
+@.str6905 = private unnamed_addr constant [11 x i8] c"input_bind\00"
+@.str6906 = private unnamed_addr constant [7 x i8] c"action\00"
@.str6907 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str6908 = private unnamed_addr constant [6 x i8] c"press\00"
-@.str6909 = private unnamed_addr constant [12 x i8] c"input_press\00"
-@.str6910 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str6911 = private unnamed_addr constant [8 x i8] c"release\00"
-@.str6912 = private unnamed_addr constant [14 x i8] c"input_release\00"
-@.str6913 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str6914 = private unnamed_addr constant [5 x i8] c"axis\00"
-@.str6915 = private unnamed_addr constant [11 x i8] c"input_axis\00"
-@.str6916 = private unnamed_addr constant [4 x i8] c"neg\00"
-@.str6917 = private unnamed_addr constant [4 x i8] c"pos\00"
-@.str6918 = private unnamed_addr constant [7 x i8] c"axis_i\00"
-@.str6919 = private unnamed_addr constant [13 x i8] c"input_axis_i\00"
-@.str6920 = private unnamed_addr constant [4 x i8] c"neg\00"
-@.str6921 = private unnamed_addr constant [4 x i8] c"pos\00"
-@.str6922 = private unnamed_addr constant [7 x i8] c"move_i\00"
-@.str6923 = private unnamed_addr constant [13 x i8] c"input_move_i\00"
-@.str6924 = private unnamed_addr constant [7 x i8] c"vector\00"
-@.str6925 = private unnamed_addr constant [13 x i8] c"input_vector\00"
-@.str6926 = private unnamed_addr constant [5 x i8] c"left\00"
-@.str6927 = private unnamed_addr constant [6 x i8] c"right\00"
-@.str6928 = private unnamed_addr constant [3 x i8] c"up\00"
-@.str6929 = private unnamed_addr constant [5 x i8] c"down\00"
-@.str6930 = private unnamed_addr constant [9 x i8] c"strength\00"
-@.str6931 = private unnamed_addr constant [15 x i8] c"input_strength\00"
-@.str6932 = private unnamed_addr constant [7 x i8] c"action\00"
-@.str6933 = private unnamed_addr constant [8 x i8] c"mouse_x\00"
-@.str6934 = private unnamed_addr constant [14 x i8] c"input_mouse_x\00"
-@.str6935 = private unnamed_addr constant [8 x i8] c"mouse_y\00"
-@.str6936 = private unnamed_addr constant [14 x i8] c"input_mouse_y\00"
-@.str6937 = private unnamed_addr constant [9 x i8] c"mouse_dx\00"
-@.str6938 = private unnamed_addr constant [15 x i8] c"input_mouse_dx\00"
-@.str6939 = private unnamed_addr constant [9 x i8] c"mouse_dy\00"
-@.str6940 = private unnamed_addr constant [15 x i8] c"input_mouse_dy\00"
-@.str6941 = private unnamed_addr constant [11 x i8] c"mouse_down\00"
-@.str6942 = private unnamed_addr constant [17 x i8] c"input_mouse_down\00"
-@.str6943 = private unnamed_addr constant [7 x i8] c"button\00"
-@.str6944 = private unnamed_addr constant [6 x i8] c"wheel\00"
-@.str6945 = private unnamed_addr constant [12 x i8] c"input_wheel\00"
-@.str6946 = private unnamed_addr constant [10 x i8] c"set_mouse\00"
-@.str6947 = private unnamed_addr constant [16 x i8] c"input_set_mouse\00"
-@.str6948 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6949 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6950 = private unnamed_addr constant [8 x i8] c"buttons\00"
-@.str6951 = private unnamed_addr constant [6 x i8] c"wheel\00"
-@.str6952 = private unnamed_addr constant [14 x i8] c"pad_connected\00"
-@.str6953 = private unnamed_addr constant [20 x i8] c"input_pad_connected\00"
-@.str6954 = private unnamed_addr constant [4 x i8] c"pad\00"
-@.str6955 = private unnamed_addr constant [11 x i8] c"pad_button\00"
-@.str6956 = private unnamed_addr constant [17 x i8] c"input_pad_button\00"
-@.str6957 = private unnamed_addr constant [4 x i8] c"pad\00"
-@.str6958 = private unnamed_addr constant [7 x i8] c"button\00"
-@.str6959 = private unnamed_addr constant [9 x i8] c"pad_axis\00"
-@.str6960 = private unnamed_addr constant [15 x i8] c"input_pad_axis\00"
-@.str6961 = private unnamed_addr constant [4 x i8] c"pad\00"
-@.str6962 = private unnamed_addr constant [5 x i8] c"axis\00"
-@.str6963 = private unnamed_addr constant [8 x i8] c"set_pad\00"
-@.str6964 = private unnamed_addr constant [14 x i8] c"input_set_pad\00"
-@.str6965 = private unnamed_addr constant [4 x i8] c"pad\00"
-@.str6966 = private unnamed_addr constant [10 x i8] c"connected\00"
-@.str6967 = private unnamed_addr constant [8 x i8] c"buttons\00"
-@.str6968 = private unnamed_addr constant [3 x i8] c"lx\00"
-@.str6969 = private unnamed_addr constant [3 x i8] c"ly\00"
-@.str6970 = private unnamed_addr constant [3 x i8] c"rx\00"
-@.str6971 = private unnamed_addr constant [3 x i8] c"ry\00"
-@.str6972 = private unnamed_addr constant [12 x i8] c"touch_count\00"
-@.str6973 = private unnamed_addr constant [18 x i8] c"input_touch_count\00"
-@.str6974 = private unnamed_addr constant [8 x i8] c"touch_x\00"
-@.str6975 = private unnamed_addr constant [14 x i8] c"input_touch_x\00"
-@.str6976 = private unnamed_addr constant [6 x i8] c"index\00"
-@.str6977 = private unnamed_addr constant [8 x i8] c"touch_y\00"
-@.str6978 = private unnamed_addr constant [14 x i8] c"input_touch_y\00"
-@.str6979 = private unnamed_addr constant [6 x i8] c"index\00"
-@.str6980 = private unnamed_addr constant [10 x i8] c"set_touch\00"
-@.str6981 = private unnamed_addr constant [16 x i8] c"input_set_touch\00"
-@.str6982 = private unnamed_addr constant [6 x i8] c"index\00"
-@.str6983 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str6984 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str6985 = private unnamed_addr constant [7 x i8] c"active\00"
-@.str6986 = private unnamed_addr constant [12 x i8] c"cursor_mode\00"
-@.str6987 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00"
-@.str6988 = private unnamed_addr constant [5 x i8] c"mode\00"
-@.str6989 = private unnamed_addr constant [6 x i8] c"Audio\00"
-@.str6990 = private unnamed_addr constant [5 x i8] c"load\00"
-@.str6991 = private unnamed_addr constant [11 x i8] c"audio_load\00"
-@.str6992 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str6993 = private unnamed_addr constant [7 x i8] c"define\00"
-@.str6994 = private unnamed_addr constant [13 x i8] c"audio_define\00"
-@.str6995 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str6996 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str6997 = private unnamed_addr constant [6 x i8] c"named\00"
-@.str6998 = private unnamed_addr constant [12 x i8] c"audio_named\00"
-@.str6999 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str7000 = private unnamed_addr constant [5 x i8] c"play\00"
-@.str7001 = private unnamed_addr constant [17 x i8] c"audio_play_named\00"
-@.str7002 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str7003 = private unnamed_addr constant [11 x i8] c"audio_play\00"
-@.str7004 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str7005 = private unnamed_addr constant [11 x i8] c"play_sound\00"
-@.str7006 = private unnamed_addr constant [11 x i8] c"audio_play\00"
-@.str7007 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str7008 = private unnamed_addr constant [11 x i8] c"play_music\00"
-@.str7009 = private unnamed_addr constant [23 x i8] c"audio_play_music_named\00"
-@.str7010 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str7011 = private unnamed_addr constant [17 x i8] c"audio_play_music\00"
-@.str7012 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str7013 = private unnamed_addr constant [5 x i8] c"stop\00"
-@.str7014 = private unnamed_addr constant [11 x i8] c"audio_stop\00"
-@.str7015 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str7016 = private unnamed_addr constant [11 x i8] c"stop_music\00"
-@.str7017 = private unnamed_addr constant [17 x i8] c"audio_stop_music\00"
-@.str7018 = private unnamed_addr constant [9 x i8] c"stop_all\00"
-@.str7019 = private unnamed_addr constant [15 x i8] c"audio_stop_all\00"
-@.str7020 = private unnamed_addr constant [7 x i8] c"volume\00"
-@.str7021 = private unnamed_addr constant [13 x i8] c"audio_volume\00"
-@.str7022 = private unnamed_addr constant [2 x i8] c"v\00"
-@.str7023 = private unnamed_addr constant [6 x i8] c"pitch\00"
-@.str7024 = private unnamed_addr constant [12 x i8] c"audio_pitch\00"
-@.str7025 = private unnamed_addr constant [2 x i8] c"v\00"
-@.str7026 = private unnamed_addr constant [11 x i8] c"is_playing\00"
-@.str7027 = private unnamed_addr constant [17 x i8] c"audio_is_playing\00"
-@.str7028 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str7029 = private unnamed_addr constant [5 x i8] c"Http\00"
-@.str7030 = private unnamed_addr constant [4 x i8] c"get\00"
-@.str7031 = private unnamed_addr constant [9 x i8] c"http_get\00"
-@.str7032 = private unnamed_addr constant [4 x i8] c"url\00"
-@.str7033 = private unnamed_addr constant [5 x i8] c"post\00"
-@.str7034 = private unnamed_addr constant [10 x i8] c"http_post\00"
-@.str7035 = private unnamed_addr constant [4 x i8] c"url\00"
-@.str7036 = private unnamed_addr constant [5 x i8] c"body\00"
-@.str7037 = private unnamed_addr constant [8 x i8] c"request\00"
-@.str7038 = private unnamed_addr constant [13 x i8] c"http_request\00"
-@.str7039 = private unnamed_addr constant [7 x i8] c"method\00"
-@.str7040 = private unnamed_addr constant [4 x i8] c"url\00"
-@.str7041 = private unnamed_addr constant [5 x i8] c"body\00"
-@.str7042 = private unnamed_addr constant [5 x i8] c"open\00"
-@.str7043 = private unnamed_addr constant [10 x i8] c"http_open\00"
-@.str7044 = private unnamed_addr constant [7 x i8] c"method\00"
-@.str7045 = private unnamed_addr constant [4 x i8] c"url\00"
-@.str7046 = private unnamed_addr constant [4 x i8] c"set\00"
-@.str7047 = private unnamed_addr constant [16 x i8] c"http_set_header\00"
-@.str7048 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7049 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str7050 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7051 = private unnamed_addr constant [5 x i8] c"body\00"
-@.str7052 = private unnamed_addr constant [10 x i8] c"http_body\00"
-@.str7053 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7054 = private unnamed_addr constant [5 x i8] c"body\00"
-@.str7055 = private unnamed_addr constant [11 x i8] c"body_bytes\00"
-@.str7056 = private unnamed_addr constant [12 x i8] c"http_body_n\00"
-@.str7057 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7058 = private unnamed_addr constant [6 x i8] c"bytes\00"
-@.str7059 = private unnamed_addr constant [4 x i8] c"len\00"
-@.str7060 = private unnamed_addr constant [5 x i8] c"send\00"
-@.str7061 = private unnamed_addr constant [14 x i8] c"http_send_req\00"
-@.str7062 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7063 = private unnamed_addr constant [5 x i8] c"poll\00"
-@.str7064 = private unnamed_addr constant [10 x i8] c"http_poll\00"
-@.str7065 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7066 = private unnamed_addr constant [7 x i8] c"status\00"
-@.str7067 = private unnamed_addr constant [15 x i8] c"http_status_of\00"
-@.str7068 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7069 = private unnamed_addr constant [3 x i8] c"ok\00"
-@.str7070 = private unnamed_addr constant [8 x i8] c"http_ok\00"
-@.str7071 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7072 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str7073 = private unnamed_addr constant [10 x i8] c"http_text\00"
-@.str7074 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7075 = private unnamed_addr constant [9 x i8] c"body_len\00"
-@.str7076 = private unnamed_addr constant [14 x i8] c"http_body_len\00"
-@.str7077 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7078 = private unnamed_addr constant [7 x i8] c"header\00"
-@.str7079 = private unnamed_addr constant [15 x i8] c"http_header_of\00"
-@.str7080 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7081 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str7082 = private unnamed_addr constant [5 x i8] c"free\00"
-@.str7083 = private unnamed_addr constant [11 x i8] c"http_close\00"
-@.str7084 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7085 = private unnamed_addr constant [6 x i8] c"parse\00"
-@.str7086 = private unnamed_addr constant [11 x i8] c"http_parse\00"
-@.str7087 = private unnamed_addr constant [6 x i8] c"bytes\00"
-@.str7088 = private unnamed_addr constant [4 x i8] c"len\00"
-@.str7089 = private unnamed_addr constant [6 x i8] c"World\00"
-@.str7090 = private unnamed_addr constant [4 x i8] c"get\00"
-@.str7091 = private unnamed_addr constant [10 x i8] c"world_get\00"
-@.str7092 = private unnamed_addr constant [4 x i8] c"set\00"
-@.str7093 = private unnamed_addr constant [10 x i8] c"world_set\00"
-@.str7094 = private unnamed_addr constant [4 x i8] c"has\00"
-@.str7095 = private unnamed_addr constant [10 x i8] c"world_has\00"
-@.str7096 = private unnamed_addr constant [6 x i8] c"count\00"
-@.str7097 = private unnamed_addr constant [12 x i8] c"world_count\00"
-@.str7098 = private unnamed_addr constant [5 x i8] c"size\00"
-@.str7099 = private unnamed_addr constant [11 x i8] c"world_size\00"
-@.str7100 = private unnamed_addr constant [6 x i8] c"spawn\00"
-@.str7101 = private unnamed_addr constant [12 x i8] c"world_spawn\00"
-@.str7102 = private unnamed_addr constant [8 x i8] c"despawn\00"
-@.str7103 = private unnamed_addr constant [14 x i8] c"world_despawn\00"
-@.str7104 = private unnamed_addr constant [5 x i8] c"save\00"
-@.str7105 = private unnamed_addr constant [11 x i8] c"world_save\00"
-@.str7106 = private unnamed_addr constant [5 x i8] c"load\00"
-@.str7107 = private unnamed_addr constant [11 x i8] c"world_load\00"
-@.str7108 = private unnamed_addr constant [8 x i8] c"prop_id\00"
-@.str7109 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
-@.str7110 = private unnamed_addr constant [9 x i8] c"field_id\00"
-@.str7111 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
-@.str7112 = private unnamed_addr constant [9 x i8] c"model_id\00"
-@.str7113 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
-@.str7114 = private unnamed_addr constant [5 x i8] c"kind\00"
-@.str7115 = private unnamed_addr constant [11 x i8] c"world_kind\00"
-@.str7116 = private unnamed_addr constant [14 x i8] c"register_prop\00"
-@.str7117 = private unnamed_addr constant [20 x i8] c"world_register_prop\00"
-@.str7118 = private unnamed_addr constant [7 x i8] c"attach\00"
-@.str7119 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00"
-@.str7120 = private unnamed_addr constant [7 x i8] c"detach\00"
-@.str7121 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00"
-@.str7122 = private unnamed_addr constant [11 x i8] c"query_next\00"
-@.str7123 = private unnamed_addr constant [17 x i8] c"world_query_next\00"
-@.str7124 = private unnamed_addr constant [8 x i8] c"Network\00"
-@.str7125 = private unnamed_addr constant [5 x i8] c"send\00"
-@.str7126 = private unnamed_addr constant [9 x i8] c"net_send\00"
-@.str7127 = private unnamed_addr constant [5 x i8] c"poll\00"
-@.str7128 = private unnamed_addr constant [9 x i8] c"net_poll\00"
-@.str7129 = private unnamed_addr constant [10 x i8] c"serialize\00"
-@.str7130 = private unnamed_addr constant [10 x i8] c"serialize\00"
-@.str7131 = private unnamed_addr constant [6 x i8] c"apply\00"
-@.str7132 = private unnamed_addr constant [6 x i8] c"apply\00"
-@.str7133 = private unnamed_addr constant [6 x i8] c"owner\00"
-@.str7134 = private unnamed_addr constant [6 x i8] c"owner\00"
-@.str7135 = private unnamed_addr constant [10 x i8] c"set_owner\00"
-@.str7136 = private unnamed_addr constant [10 x i8] c"set_owner\00"
-@.str7137 = private unnamed_addr constant [10 x i8] c"is_server\00"
-@.str7138 = private unnamed_addr constant [10 x i8] c"is_server\00"
-@.str7139 = private unnamed_addr constant [9 x i8] c"is_owner\00"
-@.str7140 = private unnamed_addr constant [9 x i8] c"is_owner\00"
-@.str7141 = private unnamed_addr constant [9 x i8] c"local_id\00"
-@.str7142 = private unnamed_addr constant [9 x i8] c"local_id\00"
-@.str7143 = private unnamed_addr constant [7 x i8] c"System\00"
-@.str7144 = private unnamed_addr constant [4 x i8] c"run\00"
-@.str7145 = private unnamed_addr constant [4 x i8] c"run\00"
-@.str7146 = private unnamed_addr constant [10 x i8] c"read_char\00"
-@.str7147 = private unnamed_addr constant [10 x i8] c"read_char\00"
-@.str7148 = private unnamed_addr constant [10 x i8] c"file_open\00"
-@.str7149 = private unnamed_addr constant [10 x i8] c"file_open\00"
-@.str7150 = private unnamed_addr constant [10 x i8] c"file_read\00"
-@.str7151 = private unnamed_addr constant [10 x i8] c"file_read\00"
-@.str7152 = private unnamed_addr constant [11 x i8] c"file_write\00"
-@.str7153 = private unnamed_addr constant [11 x i8] c"file_write\00"
-@.str7154 = private unnamed_addr constant [10 x i8] c"file_seek\00"
-@.str7155 = private unnamed_addr constant [10 x i8] c"file_seek\00"
-@.str7156 = private unnamed_addr constant [10 x i8] c"file_tell\00"
-@.str7157 = private unnamed_addr constant [10 x i8] c"file_tell\00"
-@.str7158 = private unnamed_addr constant [11 x i8] c"file_close\00"
-@.str7159 = private unnamed_addr constant [11 x i8] c"file_close\00"
-@.str7160 = private unnamed_addr constant [5 x i8] c"Save\00"
-@.str7161 = private unnamed_addr constant [6 x i8] c"write\00"
-@.str7162 = private unnamed_addr constant [5 x i8] c"save\00"
-@.str7163 = private unnamed_addr constant [5 x i8] c"read\00"
-@.str7164 = private unnamed_addr constant [5 x i8] c"load\00"
-@.str7165 = private unnamed_addr constant [6 x i8] c"Regex\00"
-@.str7166 = private unnamed_addr constant [8 x i8] c"compile\00"
-@.str7167 = private unnamed_addr constant [14 x i8] c"regex_compile\00"
-@.str7168 = private unnamed_addr constant [8 x i8] c"pattern\00"
-@.str7169 = private unnamed_addr constant [6 x i8] c"valid\00"
-@.str7170 = private unnamed_addr constant [12 x i8] c"regex_valid\00"
-@.str7171 = private unnamed_addr constant [8 x i8] c"pattern\00"
-@.str7172 = private unnamed_addr constant [8 x i8] c"matches\00"
-@.str7173 = private unnamed_addr constant [14 x i8] c"regex_matches\00"
-@.str7174 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str7175 = private unnamed_addr constant [8 x i8] c"pattern\00"
-@.str7176 = private unnamed_addr constant [5 x i8] c"test\00"
-@.str7177 = private unnamed_addr constant [11 x i8] c"regex_test\00"
-@.str7178 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str7179 = private unnamed_addr constant [3 x i8] c"re\00"
-@.str7180 = private unnamed_addr constant [5 x i8] c"find\00"
-@.str7181 = private unnamed_addr constant [11 x i8] c"regex_find\00"
-@.str7182 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str7183 = private unnamed_addr constant [8 x i8] c"pattern\00"
-@.str7184 = private unnamed_addr constant [5 x i8] c"exec\00"
-@.str7185 = private unnamed_addr constant [11 x i8] c"regex_exec\00"
-@.str7186 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str7187 = private unnamed_addr constant [3 x i8] c"re\00"
-@.str7188 = private unnamed_addr constant [5 x i8] c"next\00"
-@.str7189 = private unnamed_addr constant [11 x i8] c"regex_next\00"
-@.str7190 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str7191 = private unnamed_addr constant [3 x i8] c"re\00"
-@.str7192 = private unnamed_addr constant [5 x i8] c"from\00"
-@.str7193 = private unnamed_addr constant [8 x i8] c"replace\00"
-@.str7194 = private unnamed_addr constant [14 x i8] c"regex_replace\00"
-@.str7195 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str7196 = private unnamed_addr constant [8 x i8] c"pattern\00"
-@.str7197 = private unnamed_addr constant [12 x i8] c"replacement\00"
-@.str7198 = private unnamed_addr constant [6 x i8] c"group\00"
-@.str7199 = private unnamed_addr constant [12 x i8] c"regex_group\00"
-@.str7200 = private unnamed_addr constant [6 x i8] c"match\00"
-@.str7201 = private unnamed_addr constant [2 x i8] c"n\00"
-@.str7202 = private unnamed_addr constant [12 x i8] c"group_count\00"
-@.str7203 = private unnamed_addr constant [18 x i8] c"regex_group_count\00"
-@.str7204 = private unnamed_addr constant [6 x i8] c"match\00"
-@.str7205 = private unnamed_addr constant [6 x i8] c"start\00"
-@.str7206 = private unnamed_addr constant [12 x i8] c"regex_start\00"
-@.str7207 = private unnamed_addr constant [6 x i8] c"match\00"
-@.str7208 = private unnamed_addr constant [2 x i8] c"n\00"
-@.str7209 = private unnamed_addr constant [4 x i8] c"end\00"
-@.str7210 = private unnamed_addr constant [10 x i8] c"regex_end\00"
-@.str7211 = private unnamed_addr constant [6 x i8] c"match\00"
-@.str7212 = private unnamed_addr constant [2 x i8] c"n\00"
-@.str7213 = private unnamed_addr constant [3 x i8] c"ok\00"
-@.str7214 = private unnamed_addr constant [9 x i8] c"regex_ok\00"
-@.str7215 = private unnamed_addr constant [6 x i8] c"match\00"
-@.str7216 = private unnamed_addr constant [7 x i8] c"BigInt\00"
-@.str7217 = private unnamed_addr constant [5 x i8] c"from\00"
-@.str7218 = private unnamed_addr constant [12 x i8] c"bigint_from\00"
-@.str7219 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7220 = private unnamed_addr constant [6 x i8] c"parse\00"
-@.str7221 = private unnamed_addr constant [16 x i8] c"bigint_from_str\00"
-@.str7222 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str7223 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str7224 = private unnamed_addr constant [11 x i8] c"bigint_add\00"
-@.str7225 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7226 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7227 = private unnamed_addr constant [4 x i8] c"sub\00"
-@.str7228 = private unnamed_addr constant [11 x i8] c"bigint_sub\00"
-@.str7229 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7230 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7231 = private unnamed_addr constant [4 x i8] c"mul\00"
-@.str7232 = private unnamed_addr constant [11 x i8] c"bigint_mul\00"
-@.str7233 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7234 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7235 = private unnamed_addr constant [4 x i8] c"neg\00"
-@.str7236 = private unnamed_addr constant [11 x i8] c"bigint_neg\00"
-@.str7237 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7238 = private unnamed_addr constant [4 x i8] c"pow\00"
-@.str7239 = private unnamed_addr constant [11 x i8] c"bigint_pow\00"
-@.str7240 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7241 = private unnamed_addr constant [4 x i8] c"exp\00"
-@.str7242 = private unnamed_addr constant [4 x i8] c"div\00"
-@.str7243 = private unnamed_addr constant [15 x i8] c"bigint_div_int\00"
-@.str7244 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7245 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7246 = private unnamed_addr constant [4 x i8] c"mod\00"
-@.str7247 = private unnamed_addr constant [15 x i8] c"bigint_mod_int\00"
-@.str7248 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7249 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7250 = private unnamed_addr constant [4 x i8] c"cmp\00"
-@.str7251 = private unnamed_addr constant [11 x i8] c"bigint_cmp\00"
-@.str7252 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7253 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7254 = private unnamed_addr constant [3 x i8] c"eq\00"
-@.str7255 = private unnamed_addr constant [10 x i8] c"bigint_eq\00"
-@.str7256 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7257 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7258 = private unnamed_addr constant [8 x i8] c"is_zero\00"
-@.str7259 = private unnamed_addr constant [15 x i8] c"bigint_is_zero\00"
-@.str7260 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7261 = private unnamed_addr constant [7 x i8] c"to_int\00"
-@.str7262 = private unnamed_addr constant [14 x i8] c"bigint_to_int\00"
-@.str7263 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7264 = private unnamed_addr constant [4 x i8] c"str\00"
-@.str7265 = private unnamed_addr constant [11 x i8] c"bigint_str\00"
+@.str6908 = private unnamed_addr constant [7 x i8] c"rebind\00"
+@.str6909 = private unnamed_addr constant [13 x i8] c"input_rebind\00"
+@.str6910 = private unnamed_addr constant [7 x i8] c"action\00"
+@.str6911 = private unnamed_addr constant [4 x i8] c"old\00"
+@.str6912 = private unnamed_addr constant [4 x i8] c"new\00"
+@.str6913 = private unnamed_addr constant [5 x i8] c"poll\00"
+@.str6914 = private unnamed_addr constant [11 x i8] c"input_poll\00"
+@.str6915 = private unnamed_addr constant [5 x i8] c"down\00"
+@.str6916 = private unnamed_addr constant [11 x i8] c"input_down\00"
+@.str6917 = private unnamed_addr constant [8 x i8] c"pressed\00"
+@.str6918 = private unnamed_addr constant [14 x i8] c"input_pressed\00"
+@.str6919 = private unnamed_addr constant [7 x i8] c"record\00"
+@.str6920 = private unnamed_addr constant [13 x i8] c"input_record\00"
+@.str6921 = private unnamed_addr constant [7 x i8] c"replay\00"
+@.str6922 = private unnamed_addr constant [13 x i8] c"input_replay\00"
+@.str6923 = private unnamed_addr constant [7 x i8] c"action\00"
+@.str6924 = private unnamed_addr constant [14 x i8] c"input_default\00"
+@.str6925 = private unnamed_addr constant [7 x i8] c"action\00"
+@.str6926 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str6927 = private unnamed_addr constant [9 x i8] c"bind_pad\00"
+@.str6928 = private unnamed_addr constant [15 x i8] c"input_bind_pad\00"
+@.str6929 = private unnamed_addr constant [7 x i8] c"action\00"
+@.str6930 = private unnamed_addr constant [7 x i8] c"button\00"
+@.str6931 = private unnamed_addr constant [7 x i8] c"active\00"
+@.str6932 = private unnamed_addr constant [13 x i8] c"input_active\00"
+@.str6933 = private unnamed_addr constant [7 x i8] c"action\00"
+@.str6934 = private unnamed_addr constant [13 x i8] c"just_pressed\00"
+@.str6935 = private unnamed_addr constant [19 x i8] c"input_just_pressed\00"
+@.str6936 = private unnamed_addr constant [7 x i8] c"action\00"
+@.str6937 = private unnamed_addr constant [14 x i8] c"just_released\00"
+@.str6938 = private unnamed_addr constant [20 x i8] c"input_just_released\00"
+@.str6939 = private unnamed_addr constant [7 x i8] c"action\00"
+@.str6940 = private unnamed_addr constant [9 x i8] c"key_down\00"
+@.str6941 = private unnamed_addr constant [15 x i8] c"input_key_down\00"
+@.str6942 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str6943 = private unnamed_addr constant [12 x i8] c"key_pressed\00"
+@.str6944 = private unnamed_addr constant [18 x i8] c"input_key_pressed\00"
+@.str6945 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str6946 = private unnamed_addr constant [13 x i8] c"key_released\00"
+@.str6947 = private unnamed_addr constant [19 x i8] c"input_key_released\00"
+@.str6948 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str6949 = private unnamed_addr constant [6 x i8] c"press\00"
+@.str6950 = private unnamed_addr constant [12 x i8] c"input_press\00"
+@.str6951 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str6952 = private unnamed_addr constant [8 x i8] c"release\00"
+@.str6953 = private unnamed_addr constant [14 x i8] c"input_release\00"
+@.str6954 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str6955 = private unnamed_addr constant [5 x i8] c"axis\00"
+@.str6956 = private unnamed_addr constant [11 x i8] c"input_axis\00"
+@.str6957 = private unnamed_addr constant [4 x i8] c"neg\00"
+@.str6958 = private unnamed_addr constant [4 x i8] c"pos\00"
+@.str6959 = private unnamed_addr constant [7 x i8] c"axis_i\00"
+@.str6960 = private unnamed_addr constant [13 x i8] c"input_axis_i\00"
+@.str6961 = private unnamed_addr constant [4 x i8] c"neg\00"
+@.str6962 = private unnamed_addr constant [4 x i8] c"pos\00"
+@.str6963 = private unnamed_addr constant [7 x i8] c"move_i\00"
+@.str6964 = private unnamed_addr constant [13 x i8] c"input_move_i\00"
+@.str6965 = private unnamed_addr constant [7 x i8] c"vector\00"
+@.str6966 = private unnamed_addr constant [13 x i8] c"input_vector\00"
+@.str6967 = private unnamed_addr constant [5 x i8] c"left\00"
+@.str6968 = private unnamed_addr constant [6 x i8] c"right\00"
+@.str6969 = private unnamed_addr constant [3 x i8] c"up\00"
+@.str6970 = private unnamed_addr constant [5 x i8] c"down\00"
+@.str6971 = private unnamed_addr constant [9 x i8] c"strength\00"
+@.str6972 = private unnamed_addr constant [15 x i8] c"input_strength\00"
+@.str6973 = private unnamed_addr constant [7 x i8] c"action\00"
+@.str6974 = private unnamed_addr constant [8 x i8] c"mouse_x\00"
+@.str6975 = private unnamed_addr constant [14 x i8] c"input_mouse_x\00"
+@.str6976 = private unnamed_addr constant [8 x i8] c"mouse_y\00"
+@.str6977 = private unnamed_addr constant [14 x i8] c"input_mouse_y\00"
+@.str6978 = private unnamed_addr constant [9 x i8] c"mouse_dx\00"
+@.str6979 = private unnamed_addr constant [15 x i8] c"input_mouse_dx\00"
+@.str6980 = private unnamed_addr constant [9 x i8] c"mouse_dy\00"
+@.str6981 = private unnamed_addr constant [15 x i8] c"input_mouse_dy\00"
+@.str6982 = private unnamed_addr constant [11 x i8] c"mouse_down\00"
+@.str6983 = private unnamed_addr constant [17 x i8] c"input_mouse_down\00"
+@.str6984 = private unnamed_addr constant [7 x i8] c"button\00"
+@.str6985 = private unnamed_addr constant [6 x i8] c"wheel\00"
+@.str6986 = private unnamed_addr constant [12 x i8] c"input_wheel\00"
+@.str6987 = private unnamed_addr constant [10 x i8] c"set_mouse\00"
+@.str6988 = private unnamed_addr constant [16 x i8] c"input_set_mouse\00"
+@.str6989 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str6990 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str6991 = private unnamed_addr constant [8 x i8] c"buttons\00"
+@.str6992 = private unnamed_addr constant [6 x i8] c"wheel\00"
+@.str6993 = private unnamed_addr constant [14 x i8] c"pad_connected\00"
+@.str6994 = private unnamed_addr constant [20 x i8] c"input_pad_connected\00"
+@.str6995 = private unnamed_addr constant [4 x i8] c"pad\00"
+@.str6996 = private unnamed_addr constant [11 x i8] c"pad_button\00"
+@.str6997 = private unnamed_addr constant [17 x i8] c"input_pad_button\00"
+@.str6998 = private unnamed_addr constant [4 x i8] c"pad\00"
+@.str6999 = private unnamed_addr constant [7 x i8] c"button\00"
+@.str7000 = private unnamed_addr constant [9 x i8] c"pad_axis\00"
+@.str7001 = private unnamed_addr constant [15 x i8] c"input_pad_axis\00"
+@.str7002 = private unnamed_addr constant [4 x i8] c"pad\00"
+@.str7003 = private unnamed_addr constant [5 x i8] c"axis\00"
+@.str7004 = private unnamed_addr constant [8 x i8] c"set_pad\00"
+@.str7005 = private unnamed_addr constant [14 x i8] c"input_set_pad\00"
+@.str7006 = private unnamed_addr constant [4 x i8] c"pad\00"
+@.str7007 = private unnamed_addr constant [10 x i8] c"connected\00"
+@.str7008 = private unnamed_addr constant [8 x i8] c"buttons\00"
+@.str7009 = private unnamed_addr constant [3 x i8] c"lx\00"
+@.str7010 = private unnamed_addr constant [3 x i8] c"ly\00"
+@.str7011 = private unnamed_addr constant [3 x i8] c"rx\00"
+@.str7012 = private unnamed_addr constant [3 x i8] c"ry\00"
+@.str7013 = private unnamed_addr constant [12 x i8] c"touch_count\00"
+@.str7014 = private unnamed_addr constant [18 x i8] c"input_touch_count\00"
+@.str7015 = private unnamed_addr constant [8 x i8] c"touch_x\00"
+@.str7016 = private unnamed_addr constant [14 x i8] c"input_touch_x\00"
+@.str7017 = private unnamed_addr constant [6 x i8] c"index\00"
+@.str7018 = private unnamed_addr constant [8 x i8] c"touch_y\00"
+@.str7019 = private unnamed_addr constant [14 x i8] c"input_touch_y\00"
+@.str7020 = private unnamed_addr constant [6 x i8] c"index\00"
+@.str7021 = private unnamed_addr constant [10 x i8] c"set_touch\00"
+@.str7022 = private unnamed_addr constant [16 x i8] c"input_set_touch\00"
+@.str7023 = private unnamed_addr constant [6 x i8] c"index\00"
+@.str7024 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str7025 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str7026 = private unnamed_addr constant [7 x i8] c"active\00"
+@.str7027 = private unnamed_addr constant [12 x i8] c"cursor_mode\00"
+@.str7028 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00"
+@.str7029 = private unnamed_addr constant [5 x i8] c"mode\00"
+@.str7030 = private unnamed_addr constant [6 x i8] c"Audio\00"
+@.str7031 = private unnamed_addr constant [5 x i8] c"load\00"
+@.str7032 = private unnamed_addr constant [11 x i8] c"audio_load\00"
+@.str7033 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str7034 = private unnamed_addr constant [7 x i8] c"define\00"
+@.str7035 = private unnamed_addr constant [13 x i8] c"audio_define\00"
+@.str7036 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str7037 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str7038 = private unnamed_addr constant [6 x i8] c"named\00"
+@.str7039 = private unnamed_addr constant [12 x i8] c"audio_named\00"
+@.str7040 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str7041 = private unnamed_addr constant [5 x i8] c"play\00"
+@.str7042 = private unnamed_addr constant [17 x i8] c"audio_play_named\00"
+@.str7043 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str7044 = private unnamed_addr constant [11 x i8] c"audio_play\00"
+@.str7045 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str7046 = private unnamed_addr constant [11 x i8] c"play_sound\00"
+@.str7047 = private unnamed_addr constant [11 x i8] c"audio_play\00"
+@.str7048 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str7049 = private unnamed_addr constant [11 x i8] c"play_music\00"
+@.str7050 = private unnamed_addr constant [23 x i8] c"audio_play_music_named\00"
+@.str7051 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str7052 = private unnamed_addr constant [17 x i8] c"audio_play_music\00"
+@.str7053 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str7054 = private unnamed_addr constant [5 x i8] c"stop\00"
+@.str7055 = private unnamed_addr constant [11 x i8] c"audio_stop\00"
+@.str7056 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str7057 = private unnamed_addr constant [11 x i8] c"stop_music\00"
+@.str7058 = private unnamed_addr constant [17 x i8] c"audio_stop_music\00"
+@.str7059 = private unnamed_addr constant [9 x i8] c"stop_all\00"
+@.str7060 = private unnamed_addr constant [15 x i8] c"audio_stop_all\00"
+@.str7061 = private unnamed_addr constant [7 x i8] c"volume\00"
+@.str7062 = private unnamed_addr constant [13 x i8] c"audio_volume\00"
+@.str7063 = private unnamed_addr constant [2 x i8] c"v\00"
+@.str7064 = private unnamed_addr constant [6 x i8] c"pitch\00"
+@.str7065 = private unnamed_addr constant [12 x i8] c"audio_pitch\00"
+@.str7066 = private unnamed_addr constant [2 x i8] c"v\00"
+@.str7067 = private unnamed_addr constant [11 x i8] c"is_playing\00"
+@.str7068 = private unnamed_addr constant [17 x i8] c"audio_is_playing\00"
+@.str7069 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str7070 = private unnamed_addr constant [5 x i8] c"Http\00"
+@.str7071 = private unnamed_addr constant [4 x i8] c"get\00"
+@.str7072 = private unnamed_addr constant [9 x i8] c"http_get\00"
+@.str7073 = private unnamed_addr constant [4 x i8] c"url\00"
+@.str7074 = private unnamed_addr constant [5 x i8] c"post\00"
+@.str7075 = private unnamed_addr constant [10 x i8] c"http_post\00"
+@.str7076 = private unnamed_addr constant [4 x i8] c"url\00"
+@.str7077 = private unnamed_addr constant [5 x i8] c"body\00"
+@.str7078 = private unnamed_addr constant [8 x i8] c"request\00"
+@.str7079 = private unnamed_addr constant [13 x i8] c"http_request\00"
+@.str7080 = private unnamed_addr constant [7 x i8] c"method\00"
+@.str7081 = private unnamed_addr constant [4 x i8] c"url\00"
+@.str7082 = private unnamed_addr constant [5 x i8] c"body\00"
+@.str7083 = private unnamed_addr constant [5 x i8] c"open\00"
+@.str7084 = private unnamed_addr constant [10 x i8] c"http_open\00"
+@.str7085 = private unnamed_addr constant [7 x i8] c"method\00"
+@.str7086 = private unnamed_addr constant [4 x i8] c"url\00"
+@.str7087 = private unnamed_addr constant [4 x i8] c"set\00"
+@.str7088 = private unnamed_addr constant [16 x i8] c"http_set_header\00"
+@.str7089 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7090 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str7091 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7092 = private unnamed_addr constant [5 x i8] c"body\00"
+@.str7093 = private unnamed_addr constant [10 x i8] c"http_body\00"
+@.str7094 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7095 = private unnamed_addr constant [5 x i8] c"body\00"
+@.str7096 = private unnamed_addr constant [11 x i8] c"body_bytes\00"
+@.str7097 = private unnamed_addr constant [12 x i8] c"http_body_n\00"
+@.str7098 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7099 = private unnamed_addr constant [6 x i8] c"bytes\00"
+@.str7100 = private unnamed_addr constant [4 x i8] c"len\00"
+@.str7101 = private unnamed_addr constant [5 x i8] c"send\00"
+@.str7102 = private unnamed_addr constant [14 x i8] c"http_send_req\00"
+@.str7103 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7104 = private unnamed_addr constant [5 x i8] c"poll\00"
+@.str7105 = private unnamed_addr constant [10 x i8] c"http_poll\00"
+@.str7106 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7107 = private unnamed_addr constant [7 x i8] c"status\00"
+@.str7108 = private unnamed_addr constant [15 x i8] c"http_status_of\00"
+@.str7109 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7110 = private unnamed_addr constant [3 x i8] c"ok\00"
+@.str7111 = private unnamed_addr constant [8 x i8] c"http_ok\00"
+@.str7112 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7113 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str7114 = private unnamed_addr constant [10 x i8] c"http_text\00"
+@.str7115 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7116 = private unnamed_addr constant [9 x i8] c"body_len\00"
+@.str7117 = private unnamed_addr constant [14 x i8] c"http_body_len\00"
+@.str7118 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7119 = private unnamed_addr constant [7 x i8] c"header\00"
+@.str7120 = private unnamed_addr constant [15 x i8] c"http_header_of\00"
+@.str7121 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7122 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str7123 = private unnamed_addr constant [5 x i8] c"free\00"
+@.str7124 = private unnamed_addr constant [11 x i8] c"http_close\00"
+@.str7125 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7126 = private unnamed_addr constant [6 x i8] c"parse\00"
+@.str7127 = private unnamed_addr constant [11 x i8] c"http_parse\00"
+@.str7128 = private unnamed_addr constant [6 x i8] c"bytes\00"
+@.str7129 = private unnamed_addr constant [4 x i8] c"len\00"
+@.str7130 = private unnamed_addr constant [6 x i8] c"World\00"
+@.str7131 = private unnamed_addr constant [4 x i8] c"get\00"
+@.str7132 = private unnamed_addr constant [10 x i8] c"world_get\00"
+@.str7133 = private unnamed_addr constant [4 x i8] c"set\00"
+@.str7134 = private unnamed_addr constant [10 x i8] c"world_set\00"
+@.str7135 = private unnamed_addr constant [4 x i8] c"has\00"
+@.str7136 = private unnamed_addr constant [10 x i8] c"world_has\00"
+@.str7137 = private unnamed_addr constant [6 x i8] c"count\00"
+@.str7138 = private unnamed_addr constant [12 x i8] c"world_count\00"
+@.str7139 = private unnamed_addr constant [5 x i8] c"size\00"
+@.str7140 = private unnamed_addr constant [11 x i8] c"world_size\00"
+@.str7141 = private unnamed_addr constant [6 x i8] c"spawn\00"
+@.str7142 = private unnamed_addr constant [12 x i8] c"world_spawn\00"
+@.str7143 = private unnamed_addr constant [8 x i8] c"despawn\00"
+@.str7144 = private unnamed_addr constant [14 x i8] c"world_despawn\00"
+@.str7145 = private unnamed_addr constant [5 x i8] c"save\00"
+@.str7146 = private unnamed_addr constant [11 x i8] c"world_save\00"
+@.str7147 = private unnamed_addr constant [5 x i8] c"load\00"
+@.str7148 = private unnamed_addr constant [11 x i8] c"world_load\00"
+@.str7149 = private unnamed_addr constant [8 x i8] c"prop_id\00"
+@.str7150 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
+@.str7151 = private unnamed_addr constant [9 x i8] c"field_id\00"
+@.str7152 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
+@.str7153 = private unnamed_addr constant [9 x i8] c"model_id\00"
+@.str7154 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
+@.str7155 = private unnamed_addr constant [5 x i8] c"kind\00"
+@.str7156 = private unnamed_addr constant [11 x i8] c"world_kind\00"
+@.str7157 = private unnamed_addr constant [14 x i8] c"register_prop\00"
+@.str7158 = private unnamed_addr constant [20 x i8] c"world_register_prop\00"
+@.str7159 = private unnamed_addr constant [7 x i8] c"attach\00"
+@.str7160 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00"
+@.str7161 = private unnamed_addr constant [7 x i8] c"detach\00"
+@.str7162 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00"
+@.str7163 = private unnamed_addr constant [11 x i8] c"query_next\00"
+@.str7164 = private unnamed_addr constant [17 x i8] c"world_query_next\00"
+@.str7165 = private unnamed_addr constant [8 x i8] c"Network\00"
+@.str7166 = private unnamed_addr constant [5 x i8] c"send\00"
+@.str7167 = private unnamed_addr constant [9 x i8] c"net_send\00"
+@.str7168 = private unnamed_addr constant [5 x i8] c"poll\00"
+@.str7169 = private unnamed_addr constant [9 x i8] c"net_poll\00"
+@.str7170 = private unnamed_addr constant [10 x i8] c"serialize\00"
+@.str7171 = private unnamed_addr constant [10 x i8] c"serialize\00"
+@.str7172 = private unnamed_addr constant [6 x i8] c"apply\00"
+@.str7173 = private unnamed_addr constant [6 x i8] c"apply\00"
+@.str7174 = private unnamed_addr constant [6 x i8] c"owner\00"
+@.str7175 = private unnamed_addr constant [6 x i8] c"owner\00"
+@.str7176 = private unnamed_addr constant [10 x i8] c"set_owner\00"
+@.str7177 = private unnamed_addr constant [10 x i8] c"set_owner\00"
+@.str7178 = private unnamed_addr constant [10 x i8] c"is_server\00"
+@.str7179 = private unnamed_addr constant [10 x i8] c"is_server\00"
+@.str7180 = private unnamed_addr constant [9 x i8] c"is_owner\00"
+@.str7181 = private unnamed_addr constant [9 x i8] c"is_owner\00"
+@.str7182 = private unnamed_addr constant [9 x i8] c"local_id\00"
+@.str7183 = private unnamed_addr constant [9 x i8] c"local_id\00"
+@.str7184 = private unnamed_addr constant [7 x i8] c"System\00"
+@.str7185 = private unnamed_addr constant [4 x i8] c"run\00"
+@.str7186 = private unnamed_addr constant [4 x i8] c"run\00"
+@.str7187 = private unnamed_addr constant [10 x i8] c"read_char\00"
+@.str7188 = private unnamed_addr constant [10 x i8] c"read_char\00"
+@.str7189 = private unnamed_addr constant [10 x i8] c"file_open\00"
+@.str7190 = private unnamed_addr constant [10 x i8] c"file_open\00"
+@.str7191 = private unnamed_addr constant [10 x i8] c"file_read\00"
+@.str7192 = private unnamed_addr constant [10 x i8] c"file_read\00"
+@.str7193 = private unnamed_addr constant [11 x i8] c"file_write\00"
+@.str7194 = private unnamed_addr constant [11 x i8] c"file_write\00"
+@.str7195 = private unnamed_addr constant [10 x i8] c"file_seek\00"
+@.str7196 = private unnamed_addr constant [10 x i8] c"file_seek\00"
+@.str7197 = private unnamed_addr constant [10 x i8] c"file_tell\00"
+@.str7198 = private unnamed_addr constant [10 x i8] c"file_tell\00"
+@.str7199 = private unnamed_addr constant [11 x i8] c"file_close\00"
+@.str7200 = private unnamed_addr constant [11 x i8] c"file_close\00"
+@.str7201 = private unnamed_addr constant [5 x i8] c"Save\00"
+@.str7202 = private unnamed_addr constant [6 x i8] c"write\00"
+@.str7203 = private unnamed_addr constant [5 x i8] c"save\00"
+@.str7204 = private unnamed_addr constant [5 x i8] c"read\00"
+@.str7205 = private unnamed_addr constant [5 x i8] c"load\00"
+@.str7206 = private unnamed_addr constant [6 x i8] c"Regex\00"
+@.str7207 = private unnamed_addr constant [8 x i8] c"compile\00"
+@.str7208 = private unnamed_addr constant [14 x i8] c"regex_compile\00"
+@.str7209 = private unnamed_addr constant [8 x i8] c"pattern\00"
+@.str7210 = private unnamed_addr constant [6 x i8] c"valid\00"
+@.str7211 = private unnamed_addr constant [12 x i8] c"regex_valid\00"
+@.str7212 = private unnamed_addr constant [8 x i8] c"pattern\00"
+@.str7213 = private unnamed_addr constant [8 x i8] c"matches\00"
+@.str7214 = private unnamed_addr constant [14 x i8] c"regex_matches\00"
+@.str7215 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str7216 = private unnamed_addr constant [8 x i8] c"pattern\00"
+@.str7217 = private unnamed_addr constant [5 x i8] c"test\00"
+@.str7218 = private unnamed_addr constant [11 x i8] c"regex_test\00"
+@.str7219 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str7220 = private unnamed_addr constant [3 x i8] c"re\00"
+@.str7221 = private unnamed_addr constant [5 x i8] c"find\00"
+@.str7222 = private unnamed_addr constant [11 x i8] c"regex_find\00"
+@.str7223 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str7224 = private unnamed_addr constant [8 x i8] c"pattern\00"
+@.str7225 = private unnamed_addr constant [5 x i8] c"exec\00"
+@.str7226 = private unnamed_addr constant [11 x i8] c"regex_exec\00"
+@.str7227 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str7228 = private unnamed_addr constant [3 x i8] c"re\00"
+@.str7229 = private unnamed_addr constant [5 x i8] c"next\00"
+@.str7230 = private unnamed_addr constant [11 x i8] c"regex_next\00"
+@.str7231 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str7232 = private unnamed_addr constant [3 x i8] c"re\00"
+@.str7233 = private unnamed_addr constant [5 x i8] c"from\00"
+@.str7234 = private unnamed_addr constant [8 x i8] c"replace\00"
+@.str7235 = private unnamed_addr constant [14 x i8] c"regex_replace\00"
+@.str7236 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str7237 = private unnamed_addr constant [8 x i8] c"pattern\00"
+@.str7238 = private unnamed_addr constant [12 x i8] c"replacement\00"
+@.str7239 = private unnamed_addr constant [6 x i8] c"group\00"
+@.str7240 = private unnamed_addr constant [12 x i8] c"regex_group\00"
+@.str7241 = private unnamed_addr constant [6 x i8] c"match\00"
+@.str7242 = private unnamed_addr constant [2 x i8] c"n\00"
+@.str7243 = private unnamed_addr constant [12 x i8] c"group_count\00"
+@.str7244 = private unnamed_addr constant [18 x i8] c"regex_group_count\00"
+@.str7245 = private unnamed_addr constant [6 x i8] c"match\00"
+@.str7246 = private unnamed_addr constant [6 x i8] c"start\00"
+@.str7247 = private unnamed_addr constant [12 x i8] c"regex_start\00"
+@.str7248 = private unnamed_addr constant [6 x i8] c"match\00"
+@.str7249 = private unnamed_addr constant [2 x i8] c"n\00"
+@.str7250 = private unnamed_addr constant [4 x i8] c"end\00"
+@.str7251 = private unnamed_addr constant [10 x i8] c"regex_end\00"
+@.str7252 = private unnamed_addr constant [6 x i8] c"match\00"
+@.str7253 = private unnamed_addr constant [2 x i8] c"n\00"
+@.str7254 = private unnamed_addr constant [3 x i8] c"ok\00"
+@.str7255 = private unnamed_addr constant [9 x i8] c"regex_ok\00"
+@.str7256 = private unnamed_addr constant [6 x i8] c"match\00"
+@.str7257 = private unnamed_addr constant [7 x i8] c"BigInt\00"
+@.str7258 = private unnamed_addr constant [5 x i8] c"from\00"
+@.str7259 = private unnamed_addr constant [12 x i8] c"bigint_from\00"
+@.str7260 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7261 = private unnamed_addr constant [6 x i8] c"parse\00"
+@.str7262 = private unnamed_addr constant [16 x i8] c"bigint_from_str\00"
+@.str7263 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str7264 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str7265 = private unnamed_addr constant [11 x i8] c"bigint_add\00"
@.str7266 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7267 = private unnamed_addr constant [8 x i8] c"Decimal\00"
-@.str7268 = private unnamed_addr constant [5 x i8] c"from\00"
-@.str7269 = private unnamed_addr constant [13 x i8] c"decimal_from\00"
-@.str7270 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7271 = private unnamed_addr constant [6 x i8] c"parse\00"
-@.str7272 = private unnamed_addr constant [17 x i8] c"decimal_from_str\00"
-@.str7273 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str7274 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str7275 = private unnamed_addr constant [12 x i8] c"decimal_add\00"
-@.str7276 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7277 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7278 = private unnamed_addr constant [4 x i8] c"sub\00"
-@.str7279 = private unnamed_addr constant [12 x i8] c"decimal_sub\00"
-@.str7280 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7281 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7282 = private unnamed_addr constant [4 x i8] c"mul\00"
-@.str7283 = private unnamed_addr constant [12 x i8] c"decimal_mul\00"
-@.str7284 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7285 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7286 = private unnamed_addr constant [4 x i8] c"neg\00"
-@.str7287 = private unnamed_addr constant [12 x i8] c"decimal_neg\00"
-@.str7288 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7289 = private unnamed_addr constant [4 x i8] c"cmp\00"
-@.str7290 = private unnamed_addr constant [12 x i8] c"decimal_cmp\00"
-@.str7291 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7292 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7293 = private unnamed_addr constant [3 x i8] c"eq\00"
-@.str7294 = private unnamed_addr constant [11 x i8] c"decimal_eq\00"
-@.str7295 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7296 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7297 = private unnamed_addr constant [6 x i8] c"scale\00"
-@.str7298 = private unnamed_addr constant [14 x i8] c"decimal_scale\00"
-@.str7299 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7300 = private unnamed_addr constant [8 x i8] c"rescale\00"
-@.str7301 = private unnamed_addr constant [16 x i8] c"decimal_rescale\00"
-@.str7302 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7303 = private unnamed_addr constant [7 x i8] c"places\00"
-@.str7304 = private unnamed_addr constant [4 x i8] c"str\00"
-@.str7305 = private unnamed_addr constant [12 x i8] c"decimal_str\00"
-@.str7306 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7307 = private unnamed_addr constant [5 x i8] c"Dict\00"
-@.str7308 = private unnamed_addr constant [4 x i8] c"new\00"
-@.str7309 = private unnamed_addr constant [9 x i8] c"dict_new\00"
-@.str7310 = private unnamed_addr constant [4 x i8] c"set\00"
-@.str7311 = private unnamed_addr constant [9 x i8] c"dict_set\00"
-@.str7312 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7313 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7314 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7315 = private unnamed_addr constant [4 x i8] c"get\00"
-@.str7316 = private unnamed_addr constant [9 x i8] c"dict_get\00"
-@.str7317 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7318 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7319 = private unnamed_addr constant [7 x i8] c"get_or\00"
-@.str7320 = private unnamed_addr constant [12 x i8] c"dict_get_or\00"
-@.str7321 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7322 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7323 = private unnamed_addr constant [9 x i8] c"fallback\00"
-@.str7324 = private unnamed_addr constant [4 x i8] c"has\00"
-@.str7325 = private unnamed_addr constant [9 x i8] c"dict_has\00"
-@.str7326 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7327 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7328 = private unnamed_addr constant [7 x i8] c"remove\00"
-@.str7329 = private unnamed_addr constant [12 x i8] c"dict_remove\00"
-@.str7330 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7331 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7332 = private unnamed_addr constant [5 x i8] c"size\00"
-@.str7333 = private unnamed_addr constant [10 x i8] c"dict_size\00"
-@.str7334 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7335 = private unnamed_addr constant [6 x i8] c"clear\00"
-@.str7336 = private unnamed_addr constant [11 x i8] c"dict_clear\00"
-@.str7337 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7338 = private unnamed_addr constant [5 x i8] c"keys\00"
-@.str7339 = private unnamed_addr constant [10 x i8] c"dict_keys\00"
+@.str7267 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7268 = private unnamed_addr constant [4 x i8] c"sub\00"
+@.str7269 = private unnamed_addr constant [11 x i8] c"bigint_sub\00"
+@.str7270 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7271 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7272 = private unnamed_addr constant [4 x i8] c"mul\00"
+@.str7273 = private unnamed_addr constant [11 x i8] c"bigint_mul\00"
+@.str7274 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7275 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7276 = private unnamed_addr constant [4 x i8] c"neg\00"
+@.str7277 = private unnamed_addr constant [11 x i8] c"bigint_neg\00"
+@.str7278 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7279 = private unnamed_addr constant [4 x i8] c"pow\00"
+@.str7280 = private unnamed_addr constant [11 x i8] c"bigint_pow\00"
+@.str7281 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7282 = private unnamed_addr constant [4 x i8] c"exp\00"
+@.str7283 = private unnamed_addr constant [4 x i8] c"div\00"
+@.str7284 = private unnamed_addr constant [15 x i8] c"bigint_div_int\00"
+@.str7285 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7286 = private unnamed_addr constant [2 x i8] c"d\00"
+@.str7287 = private unnamed_addr constant [4 x i8] c"mod\00"
+@.str7288 = private unnamed_addr constant [15 x i8] c"bigint_mod_int\00"
+@.str7289 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7290 = private unnamed_addr constant [2 x i8] c"d\00"
+@.str7291 = private unnamed_addr constant [4 x i8] c"cmp\00"
+@.str7292 = private unnamed_addr constant [11 x i8] c"bigint_cmp\00"
+@.str7293 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7294 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7295 = private unnamed_addr constant [3 x i8] c"eq\00"
+@.str7296 = private unnamed_addr constant [10 x i8] c"bigint_eq\00"
+@.str7297 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7298 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7299 = private unnamed_addr constant [8 x i8] c"is_zero\00"
+@.str7300 = private unnamed_addr constant [15 x i8] c"bigint_is_zero\00"
+@.str7301 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7302 = private unnamed_addr constant [7 x i8] c"to_int\00"
+@.str7303 = private unnamed_addr constant [14 x i8] c"bigint_to_int\00"
+@.str7304 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7305 = private unnamed_addr constant [4 x i8] c"str\00"
+@.str7306 = private unnamed_addr constant [11 x i8] c"bigint_str\00"
+@.str7307 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7308 = private unnamed_addr constant [8 x i8] c"Decimal\00"
+@.str7309 = private unnamed_addr constant [5 x i8] c"from\00"
+@.str7310 = private unnamed_addr constant [13 x i8] c"decimal_from\00"
+@.str7311 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7312 = private unnamed_addr constant [6 x i8] c"parse\00"
+@.str7313 = private unnamed_addr constant [17 x i8] c"decimal_from_str\00"
+@.str7314 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str7315 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str7316 = private unnamed_addr constant [12 x i8] c"decimal_add\00"
+@.str7317 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7318 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7319 = private unnamed_addr constant [4 x i8] c"sub\00"
+@.str7320 = private unnamed_addr constant [12 x i8] c"decimal_sub\00"
+@.str7321 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7322 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7323 = private unnamed_addr constant [4 x i8] c"mul\00"
+@.str7324 = private unnamed_addr constant [12 x i8] c"decimal_mul\00"
+@.str7325 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7326 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7327 = private unnamed_addr constant [4 x i8] c"neg\00"
+@.str7328 = private unnamed_addr constant [12 x i8] c"decimal_neg\00"
+@.str7329 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7330 = private unnamed_addr constant [4 x i8] c"cmp\00"
+@.str7331 = private unnamed_addr constant [12 x i8] c"decimal_cmp\00"
+@.str7332 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7333 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7334 = private unnamed_addr constant [3 x i8] c"eq\00"
+@.str7335 = private unnamed_addr constant [11 x i8] c"decimal_eq\00"
+@.str7336 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7337 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7338 = private unnamed_addr constant [6 x i8] c"scale\00"
+@.str7339 = private unnamed_addr constant [14 x i8] c"decimal_scale\00"
@.str7340 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7341 = private unnamed_addr constant [4 x i8] c"Set\00"
-@.str7342 = private unnamed_addr constant [4 x i8] c"new\00"
-@.str7343 = private unnamed_addr constant [8 x i8] c"set_new\00"
-@.str7344 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str7345 = private unnamed_addr constant [8 x i8] c"set_add\00"
-@.str7346 = private unnamed_addr constant [2 x i8] c"s\00"
-@.str7347 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7348 = private unnamed_addr constant [4 x i8] c"has\00"
-@.str7349 = private unnamed_addr constant [8 x i8] c"set_has\00"
-@.str7350 = private unnamed_addr constant [2 x i8] c"s\00"
-@.str7351 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7352 = private unnamed_addr constant [7 x i8] c"remove\00"
-@.str7353 = private unnamed_addr constant [11 x i8] c"set_remove\00"
-@.str7354 = private unnamed_addr constant [2 x i8] c"s\00"
-@.str7355 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7356 = private unnamed_addr constant [5 x i8] c"size\00"
-@.str7357 = private unnamed_addr constant [9 x i8] c"set_size\00"
-@.str7358 = private unnamed_addr constant [2 x i8] c"s\00"
-@.str7359 = private unnamed_addr constant [6 x i8] c"clear\00"
-@.str7360 = private unnamed_addr constant [10 x i8] c"set_clear\00"
-@.str7361 = private unnamed_addr constant [2 x i8] c"s\00"
-@.str7362 = private unnamed_addr constant [8 x i8] c"members\00"
-@.str7363 = private unnamed_addr constant [12 x i8] c"set_members\00"
-@.str7364 = private unnamed_addr constant [2 x i8] c"s\00"
-@.str7365 = private unnamed_addr constant [4 x i8] c"Job\00"
-@.str7366 = private unnamed_addr constant [6 x i8] c"defer\00"
-@.str7367 = private unnamed_addr constant [10 x i8] c"job_defer\00"
-@.str7368 = private unnamed_addr constant [4 x i8] c"run\00"
-@.str7369 = private unnamed_addr constant [8 x i8] c"job_run\00"
-@.str7370 = private unnamed_addr constant [5 x i8] c"kind\00"
-@.str7371 = private unnamed_addr constant [4 x i8] c"arg\00"
-@.str7372 = private unnamed_addr constant [8 x i8] c"fulfill\00"
-@.str7373 = private unnamed_addr constant [12 x i8] c"job_fulfill\00"
-@.str7374 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7375 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7376 = private unnamed_addr constant [5 x i8] c"fail\00"
-@.str7377 = private unnamed_addr constant [9 x i8] c"job_fail\00"
-@.str7378 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7379 = private unnamed_addr constant [6 x i8] c"error\00"
-@.str7380 = private unnamed_addr constant [7 x i8] c"cancel\00"
-@.str7381 = private unnamed_addr constant [11 x i8] c"job_cancel\00"
-@.str7382 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7383 = private unnamed_addr constant [5 x i8] c"pump\00"
-@.str7384 = private unnamed_addr constant [9 x i8] c"job_pump\00"
-@.str7385 = private unnamed_addr constant [7 x i8] c"budget\00"
-@.str7386 = private unnamed_addr constant [5 x i8] c"done\00"
-@.str7387 = private unnamed_addr constant [9 x i8] c"job_done\00"
-@.str7388 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7389 = private unnamed_addr constant [3 x i8] c"ok\00"
-@.str7390 = private unnamed_addr constant [7 x i8] c"job_ok\00"
-@.str7391 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7392 = private unnamed_addr constant [7 x i8] c"failed\00"
-@.str7393 = private unnamed_addr constant [11 x i8] c"job_failed\00"
-@.str7394 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7395 = private unnamed_addr constant [10 x i8] c"cancelled\00"
-@.str7396 = private unnamed_addr constant [14 x i8] c"job_cancelled\00"
-@.str7397 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7398 = private unnamed_addr constant [7 x i8] c"result\00"
-@.str7399 = private unnamed_addr constant [11 x i8] c"job_result\00"
-@.str7400 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7401 = private unnamed_addr constant [6 x i8] c"error\00"
-@.str7402 = private unnamed_addr constant [10 x i8] c"job_error\00"
-@.str7403 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7404 = private unnamed_addr constant [8 x i8] c"pending\00"
-@.str7405 = private unnamed_addr constant [12 x i8] c"job_pending\00"
-@.str7406 = private unnamed_addr constant [5 x i8] c"free\00"
-@.str7407 = private unnamed_addr constant [9 x i8] c"job_free\00"
-@.str7408 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7409 = private unnamed_addr constant [8 x i8] c"Promise\00"
-@.str7410 = private unnamed_addr constant [4 x i8] c"all\00"
-@.str7411 = private unnamed_addr constant [9 x i8] c"prom_all\00"
-@.str7412 = private unnamed_addr constant [8 x i8] c"handles\00"
-@.str7413 = private unnamed_addr constant [5 x i8] c"race\00"
-@.str7414 = private unnamed_addr constant [10 x i8] c"prom_race\00"
-@.str7415 = private unnamed_addr constant [8 x i8] c"handles\00"
-@.str7416 = private unnamed_addr constant [11 x i8] c"count_done\00"
-@.str7417 = private unnamed_addr constant [16 x i8] c"prom_count_done\00"
-@.str7418 = private unnamed_addr constant [8 x i8] c"handles\00"
-@.str7419 = private unnamed_addr constant [9 x i8] c"all_done\00"
-@.str7420 = private unnamed_addr constant [14 x i8] c"prom_all_done\00"
-@.str7421 = private unnamed_addr constant [8 x i8] c"handles\00"
-@.str7422 = private unnamed_addr constant [5 x i8] c"Sync\00"
-@.str7423 = private unnamed_addr constant [6 x i8] c"mutex\00"
-@.str7424 = private unnamed_addr constant [11 x i8] c"sync_mutex\00"
-@.str7425 = private unnamed_addr constant [5 x i8] c"lock\00"
-@.str7426 = private unnamed_addr constant [10 x i8] c"sync_lock\00"
-@.str7427 = private unnamed_addr constant [6 x i8] c"mutex\00"
-@.str7428 = private unnamed_addr constant [7 x i8] c"unlock\00"
-@.str7429 = private unnamed_addr constant [12 x i8] c"sync_unlock\00"
-@.str7430 = private unnamed_addr constant [6 x i8] c"mutex\00"
-@.str7431 = private unnamed_addr constant [9 x i8] c"try_lock\00"
-@.str7432 = private unnamed_addr constant [14 x i8] c"sync_try_lock\00"
-@.str7433 = private unnamed_addr constant [6 x i8] c"mutex\00"
-@.str7434 = private unnamed_addr constant [7 x i8] c"atomic\00"
-@.str7435 = private unnamed_addr constant [12 x i8] c"sync_atomic\00"
-@.str7436 = private unnamed_addr constant [4 x i8] c"get\00"
-@.str7437 = private unnamed_addr constant [9 x i8] c"sync_get\00"
-@.str7438 = private unnamed_addr constant [7 x i8] c"atomic\00"
-@.str7439 = private unnamed_addr constant [4 x i8] c"set\00"
-@.str7440 = private unnamed_addr constant [9 x i8] c"sync_set\00"
-@.str7441 = private unnamed_addr constant [7 x i8] c"atomic\00"
-@.str7442 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7443 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str7444 = private unnamed_addr constant [9 x i8] c"sync_add\00"
-@.str7445 = private unnamed_addr constant [7 x i8] c"atomic\00"
-@.str7446 = private unnamed_addr constant [6 x i8] c"delta\00"
-@.str7447 = private unnamed_addr constant [4 x i8] c"cas\00"
-@.str7448 = private unnamed_addr constant [9 x i8] c"sync_cas\00"
-@.str7449 = private unnamed_addr constant [7 x i8] c"atomic\00"
-@.str7450 = private unnamed_addr constant [7 x i8] c"expect\00"
-@.str7451 = private unnamed_addr constant [5 x i8] c"next\00"
-@.str7452 = private unnamed_addr constant [8 x i8] c"channel\00"
-@.str7453 = private unnamed_addr constant [13 x i8] c"sync_channel\00"
-@.str7454 = private unnamed_addr constant [5 x i8] c"send\00"
-@.str7455 = private unnamed_addr constant [10 x i8] c"sync_send\00"
-@.str7456 = private unnamed_addr constant [8 x i8] c"channel\00"
-@.str7457 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7458 = private unnamed_addr constant [5 x i8] c"recv\00"
-@.str7459 = private unnamed_addr constant [10 x i8] c"sync_recv\00"
-@.str7460 = private unnamed_addr constant [8 x i8] c"channel\00"
-@.str7461 = private unnamed_addr constant [9 x i8] c"can_recv\00"
-@.str7462 = private unnamed_addr constant [14 x i8] c"sync_can_recv\00"
-@.str7463 = private unnamed_addr constant [8 x i8] c"channel\00"
-@.str7464 = private unnamed_addr constant [4 x i8] c"len\00"
-@.str7465 = private unnamed_addr constant [9 x i8] c"sync_len\00"
-@.str7466 = private unnamed_addr constant [8 x i8] c"channel\00"
-@.str7467 = private unnamed_addr constant [10 x i8] c"cpu_count\00"
-@.str7468 = private unnamed_addr constant [15 x i8] c"sync_cpu_count\00"
-@.str7469 = private unnamed_addr constant [5 x i8] c"Huge\00"
-@.str7470 = private unnamed_addr constant [5 x i8] c"from\00"
-@.str7471 = private unnamed_addr constant [10 x i8] c"huge_from\00"
-@.str7472 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7473 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str7474 = private unnamed_addr constant [9 x i8] c"huge_add\00"
-@.str7475 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7476 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7477 = private unnamed_addr constant [4 x i8] c"sub\00"
-@.str7478 = private unnamed_addr constant [9 x i8] c"huge_sub\00"
-@.str7479 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7480 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7481 = private unnamed_addr constant [4 x i8] c"mul\00"
-@.str7482 = private unnamed_addr constant [9 x i8] c"huge_mul\00"
-@.str7483 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7484 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7485 = private unnamed_addr constant [4 x i8] c"neg\00"
-@.str7486 = private unnamed_addr constant [9 x i8] c"huge_neg\00"
-@.str7487 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7488 = private unnamed_addr constant [4 x i8] c"cmp\00"
-@.str7489 = private unnamed_addr constant [9 x i8] c"huge_cmp\00"
-@.str7490 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7491 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7492 = private unnamed_addr constant [5 x i8] c"sign\00"
-@.str7493 = private unnamed_addr constant [10 x i8] c"huge_sign\00"
-@.str7494 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7495 = private unnamed_addr constant [9 x i8] c"mantissa\00"
-@.str7496 = private unnamed_addr constant [14 x i8] c"huge_mantissa\00"
-@.str7497 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7498 = private unnamed_addr constant [4 x i8] c"exp\00"
-@.str7499 = private unnamed_addr constant [9 x i8] c"huge_exp\00"
-@.str7500 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7501 = private unnamed_addr constant [4 x i8] c"str\00"
-@.str7502 = private unnamed_addr constant [9 x i8] c"huge_str\00"
-@.str7503 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7504 = private unnamed_addr constant [6 x i8] c"Angle\00"
-@.str7505 = private unnamed_addr constant [13 x i8] c"from_degrees\00"
-@.str7506 = private unnamed_addr constant [19 x i8] c"angle_from_degrees\00"
-@.str7507 = private unnamed_addr constant [2 x i8] c"d\00"
-@.str7508 = private unnamed_addr constant [11 x i8] c"to_degrees\00"
-@.str7509 = private unnamed_addr constant [17 x i8] c"angle_to_degrees\00"
-@.str7510 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7511 = private unnamed_addr constant [5 x i8] c"wrap\00"
-@.str7512 = private unnamed_addr constant [11 x i8] c"angle_wrap\00"
-@.str7513 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7514 = private unnamed_addr constant [4 x i8] c"sin\00"
-@.str7515 = private unnamed_addr constant [10 x i8] c"angle_sin\00"
+@.str7341 = private unnamed_addr constant [8 x i8] c"rescale\00"
+@.str7342 = private unnamed_addr constant [16 x i8] c"decimal_rescale\00"
+@.str7343 = private unnamed_addr constant [2 x i8] c"d\00"
+@.str7344 = private unnamed_addr constant [7 x i8] c"places\00"
+@.str7345 = private unnamed_addr constant [4 x i8] c"str\00"
+@.str7346 = private unnamed_addr constant [12 x i8] c"decimal_str\00"
+@.str7347 = private unnamed_addr constant [2 x i8] c"d\00"
+@.str7348 = private unnamed_addr constant [5 x i8] c"Dict\00"
+@.str7349 = private unnamed_addr constant [4 x i8] c"new\00"
+@.str7350 = private unnamed_addr constant [9 x i8] c"dict_new\00"
+@.str7351 = private unnamed_addr constant [4 x i8] c"set\00"
+@.str7352 = private unnamed_addr constant [9 x i8] c"dict_set\00"
+@.str7353 = private unnamed_addr constant [2 x i8] c"d\00"
+@.str7354 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str7355 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7356 = private unnamed_addr constant [4 x i8] c"get\00"
+@.str7357 = private unnamed_addr constant [9 x i8] c"dict_get\00"
+@.str7358 = private unnamed_addr constant [2 x i8] c"d\00"
+@.str7359 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str7360 = private unnamed_addr constant [7 x i8] c"get_or\00"
+@.str7361 = private unnamed_addr constant [12 x i8] c"dict_get_or\00"
+@.str7362 = private unnamed_addr constant [2 x i8] c"d\00"
+@.str7363 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str7364 = private unnamed_addr constant [9 x i8] c"fallback\00"
+@.str7365 = private unnamed_addr constant [4 x i8] c"has\00"
+@.str7366 = private unnamed_addr constant [9 x i8] c"dict_has\00"
+@.str7367 = private unnamed_addr constant [2 x i8] c"d\00"
+@.str7368 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str7369 = private unnamed_addr constant [7 x i8] c"remove\00"
+@.str7370 = private unnamed_addr constant [12 x i8] c"dict_remove\00"
+@.str7371 = private unnamed_addr constant [2 x i8] c"d\00"
+@.str7372 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str7373 = private unnamed_addr constant [5 x i8] c"size\00"
+@.str7374 = private unnamed_addr constant [10 x i8] c"dict_size\00"
+@.str7375 = private unnamed_addr constant [2 x i8] c"d\00"
+@.str7376 = private unnamed_addr constant [6 x i8] c"clear\00"
+@.str7377 = private unnamed_addr constant [11 x i8] c"dict_clear\00"
+@.str7378 = private unnamed_addr constant [2 x i8] c"d\00"
+@.str7379 = private unnamed_addr constant [5 x i8] c"keys\00"
+@.str7380 = private unnamed_addr constant [10 x i8] c"dict_keys\00"
+@.str7381 = private unnamed_addr constant [2 x i8] c"d\00"
+@.str7382 = private unnamed_addr constant [4 x i8] c"Set\00"
+@.str7383 = private unnamed_addr constant [4 x i8] c"new\00"
+@.str7384 = private unnamed_addr constant [8 x i8] c"set_new\00"
+@.str7385 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str7386 = private unnamed_addr constant [8 x i8] c"set_add\00"
+@.str7387 = private unnamed_addr constant [2 x i8] c"s\00"
+@.str7388 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str7389 = private unnamed_addr constant [4 x i8] c"has\00"
+@.str7390 = private unnamed_addr constant [8 x i8] c"set_has\00"
+@.str7391 = private unnamed_addr constant [2 x i8] c"s\00"
+@.str7392 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str7393 = private unnamed_addr constant [7 x i8] c"remove\00"
+@.str7394 = private unnamed_addr constant [11 x i8] c"set_remove\00"
+@.str7395 = private unnamed_addr constant [2 x i8] c"s\00"
+@.str7396 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str7397 = private unnamed_addr constant [5 x i8] c"size\00"
+@.str7398 = private unnamed_addr constant [9 x i8] c"set_size\00"
+@.str7399 = private unnamed_addr constant [2 x i8] c"s\00"
+@.str7400 = private unnamed_addr constant [6 x i8] c"clear\00"
+@.str7401 = private unnamed_addr constant [10 x i8] c"set_clear\00"
+@.str7402 = private unnamed_addr constant [2 x i8] c"s\00"
+@.str7403 = private unnamed_addr constant [8 x i8] c"members\00"
+@.str7404 = private unnamed_addr constant [12 x i8] c"set_members\00"
+@.str7405 = private unnamed_addr constant [2 x i8] c"s\00"
+@.str7406 = private unnamed_addr constant [4 x i8] c"Job\00"
+@.str7407 = private unnamed_addr constant [6 x i8] c"defer\00"
+@.str7408 = private unnamed_addr constant [10 x i8] c"job_defer\00"
+@.str7409 = private unnamed_addr constant [4 x i8] c"run\00"
+@.str7410 = private unnamed_addr constant [8 x i8] c"job_run\00"
+@.str7411 = private unnamed_addr constant [5 x i8] c"kind\00"
+@.str7412 = private unnamed_addr constant [4 x i8] c"arg\00"
+@.str7413 = private unnamed_addr constant [8 x i8] c"fulfill\00"
+@.str7414 = private unnamed_addr constant [12 x i8] c"job_fulfill\00"
+@.str7415 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7416 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7417 = private unnamed_addr constant [5 x i8] c"fail\00"
+@.str7418 = private unnamed_addr constant [9 x i8] c"job_fail\00"
+@.str7419 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7420 = private unnamed_addr constant [6 x i8] c"error\00"
+@.str7421 = private unnamed_addr constant [7 x i8] c"cancel\00"
+@.str7422 = private unnamed_addr constant [11 x i8] c"job_cancel\00"
+@.str7423 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7424 = private unnamed_addr constant [5 x i8] c"pump\00"
+@.str7425 = private unnamed_addr constant [9 x i8] c"job_pump\00"
+@.str7426 = private unnamed_addr constant [7 x i8] c"budget\00"
+@.str7427 = private unnamed_addr constant [5 x i8] c"done\00"
+@.str7428 = private unnamed_addr constant [9 x i8] c"job_done\00"
+@.str7429 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7430 = private unnamed_addr constant [3 x i8] c"ok\00"
+@.str7431 = private unnamed_addr constant [7 x i8] c"job_ok\00"
+@.str7432 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7433 = private unnamed_addr constant [7 x i8] c"failed\00"
+@.str7434 = private unnamed_addr constant [11 x i8] c"job_failed\00"
+@.str7435 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7436 = private unnamed_addr constant [10 x i8] c"cancelled\00"
+@.str7437 = private unnamed_addr constant [14 x i8] c"job_cancelled\00"
+@.str7438 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7439 = private unnamed_addr constant [7 x i8] c"result\00"
+@.str7440 = private unnamed_addr constant [11 x i8] c"job_result\00"
+@.str7441 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7442 = private unnamed_addr constant [6 x i8] c"error\00"
+@.str7443 = private unnamed_addr constant [10 x i8] c"job_error\00"
+@.str7444 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7445 = private unnamed_addr constant [8 x i8] c"pending\00"
+@.str7446 = private unnamed_addr constant [12 x i8] c"job_pending\00"
+@.str7447 = private unnamed_addr constant [5 x i8] c"free\00"
+@.str7448 = private unnamed_addr constant [9 x i8] c"job_free\00"
+@.str7449 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7450 = private unnamed_addr constant [8 x i8] c"Promise\00"
+@.str7451 = private unnamed_addr constant [4 x i8] c"all\00"
+@.str7452 = private unnamed_addr constant [9 x i8] c"prom_all\00"
+@.str7453 = private unnamed_addr constant [8 x i8] c"handles\00"
+@.str7454 = private unnamed_addr constant [5 x i8] c"race\00"
+@.str7455 = private unnamed_addr constant [10 x i8] c"prom_race\00"
+@.str7456 = private unnamed_addr constant [8 x i8] c"handles\00"
+@.str7457 = private unnamed_addr constant [11 x i8] c"count_done\00"
+@.str7458 = private unnamed_addr constant [16 x i8] c"prom_count_done\00"
+@.str7459 = private unnamed_addr constant [8 x i8] c"handles\00"
+@.str7460 = private unnamed_addr constant [9 x i8] c"all_done\00"
+@.str7461 = private unnamed_addr constant [14 x i8] c"prom_all_done\00"
+@.str7462 = private unnamed_addr constant [8 x i8] c"handles\00"
+@.str7463 = private unnamed_addr constant [5 x i8] c"Sync\00"
+@.str7464 = private unnamed_addr constant [6 x i8] c"mutex\00"
+@.str7465 = private unnamed_addr constant [11 x i8] c"sync_mutex\00"
+@.str7466 = private unnamed_addr constant [5 x i8] c"lock\00"
+@.str7467 = private unnamed_addr constant [10 x i8] c"sync_lock\00"
+@.str7468 = private unnamed_addr constant [6 x i8] c"mutex\00"
+@.str7469 = private unnamed_addr constant [7 x i8] c"unlock\00"
+@.str7470 = private unnamed_addr constant [12 x i8] c"sync_unlock\00"
+@.str7471 = private unnamed_addr constant [6 x i8] c"mutex\00"
+@.str7472 = private unnamed_addr constant [9 x i8] c"try_lock\00"
+@.str7473 = private unnamed_addr constant [14 x i8] c"sync_try_lock\00"
+@.str7474 = private unnamed_addr constant [6 x i8] c"mutex\00"
+@.str7475 = private unnamed_addr constant [7 x i8] c"atomic\00"
+@.str7476 = private unnamed_addr constant [12 x i8] c"sync_atomic\00"
+@.str7477 = private unnamed_addr constant [4 x i8] c"get\00"
+@.str7478 = private unnamed_addr constant [9 x i8] c"sync_get\00"
+@.str7479 = private unnamed_addr constant [7 x i8] c"atomic\00"
+@.str7480 = private unnamed_addr constant [4 x i8] c"set\00"
+@.str7481 = private unnamed_addr constant [9 x i8] c"sync_set\00"
+@.str7482 = private unnamed_addr constant [7 x i8] c"atomic\00"
+@.str7483 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7484 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str7485 = private unnamed_addr constant [9 x i8] c"sync_add\00"
+@.str7486 = private unnamed_addr constant [7 x i8] c"atomic\00"
+@.str7487 = private unnamed_addr constant [6 x i8] c"delta\00"
+@.str7488 = private unnamed_addr constant [4 x i8] c"cas\00"
+@.str7489 = private unnamed_addr constant [9 x i8] c"sync_cas\00"
+@.str7490 = private unnamed_addr constant [7 x i8] c"atomic\00"
+@.str7491 = private unnamed_addr constant [7 x i8] c"expect\00"
+@.str7492 = private unnamed_addr constant [5 x i8] c"next\00"
+@.str7493 = private unnamed_addr constant [8 x i8] c"channel\00"
+@.str7494 = private unnamed_addr constant [13 x i8] c"sync_channel\00"
+@.str7495 = private unnamed_addr constant [5 x i8] c"send\00"
+@.str7496 = private unnamed_addr constant [10 x i8] c"sync_send\00"
+@.str7497 = private unnamed_addr constant [8 x i8] c"channel\00"
+@.str7498 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7499 = private unnamed_addr constant [5 x i8] c"recv\00"
+@.str7500 = private unnamed_addr constant [10 x i8] c"sync_recv\00"
+@.str7501 = private unnamed_addr constant [8 x i8] c"channel\00"
+@.str7502 = private unnamed_addr constant [9 x i8] c"can_recv\00"
+@.str7503 = private unnamed_addr constant [14 x i8] c"sync_can_recv\00"
+@.str7504 = private unnamed_addr constant [8 x i8] c"channel\00"
+@.str7505 = private unnamed_addr constant [4 x i8] c"len\00"
+@.str7506 = private unnamed_addr constant [9 x i8] c"sync_len\00"
+@.str7507 = private unnamed_addr constant [8 x i8] c"channel\00"
+@.str7508 = private unnamed_addr constant [10 x i8] c"cpu_count\00"
+@.str7509 = private unnamed_addr constant [15 x i8] c"sync_cpu_count\00"
+@.str7510 = private unnamed_addr constant [5 x i8] c"Huge\00"
+@.str7511 = private unnamed_addr constant [5 x i8] c"from\00"
+@.str7512 = private unnamed_addr constant [10 x i8] c"huge_from\00"
+@.str7513 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7514 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str7515 = private unnamed_addr constant [9 x i8] c"huge_add\00"
@.str7516 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7517 = private unnamed_addr constant [4 x i8] c"cos\00"
-@.str7518 = private unnamed_addr constant [10 x i8] c"angle_cos\00"
-@.str7519 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7520 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str7521 = private unnamed_addr constant [10 x i8] c"angle_add\00"
-@.str7522 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7523 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7524 = private unnamed_addr constant [5 x i8] c"diff\00"
-@.str7525 = private unnamed_addr constant [11 x i8] c"angle_diff\00"
-@.str7526 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7527 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7528 = private unnamed_addr constant [13 x i8] c"diff_degrees\00"
-@.str7529 = private unnamed_addr constant [19 x i8] c"angle_diff_degrees\00"
-@.str7530 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7531 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7532 = private unnamed_addr constant [5 x i8] c"lerp\00"
-@.str7533 = private unnamed_addr constant [11 x i8] c"angle_lerp\00"
-@.str7534 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7535 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7536 = private unnamed_addr constant [2 x i8] c"t\00"
-@.str7537 = private unnamed_addr constant [8 x i8] c"Percent\00"
-@.str7538 = private unnamed_addr constant [6 x i8] c"clamp\00"
-@.str7539 = private unnamed_addr constant [14 x i8] c"percent_clamp\00"
-@.str7540 = private unnamed_addr constant [2 x i8] c"v\00"
-@.str7541 = private unnamed_addr constant [3 x i8] c"of\00"
-@.str7542 = private unnamed_addr constant [11 x i8] c"percent_of\00"
-@.str7543 = private unnamed_addr constant [4 x i8] c"num\00"
-@.str7544 = private unnamed_addr constant [4 x i8] c"den\00"
-@.str7545 = private unnamed_addr constant [5 x i8] c"lerp\00"
-@.str7546 = private unnamed_addr constant [13 x i8] c"percent_lerp\00"
-@.str7547 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7548 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7549 = private unnamed_addr constant [2 x i8] c"t\00"
-@.str7550 = private unnamed_addr constant [6 x i8] c"apply\00"
-@.str7551 = private unnamed_addr constant [14 x i8] c"percent_apply\00"
-@.str7552 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7553 = private unnamed_addr constant [2 x i8] c"p\00"
-@.str7554 = private unnamed_addr constant [5 x i8] c"Grid\00"
-@.str7555 = private unnamed_addr constant [5 x i8] c"line\00"
-@.str7556 = private unnamed_addr constant [10 x i8] c"grid_line\00"
-@.str7557 = private unnamed_addr constant [3 x i8] c"x0\00"
-@.str7558 = private unnamed_addr constant [3 x i8] c"y0\00"
-@.str7559 = private unnamed_addr constant [3 x i8] c"x1\00"
-@.str7560 = private unnamed_addr constant [3 x i8] c"y1\00"
-@.str7561 = private unnamed_addr constant [8 x i8] c"blocked\00"
-@.str7562 = private unnamed_addr constant [13 x i8] c"grid_blocked\00"
-@.str7563 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str7564 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str7565 = private unnamed_addr constant [5 x i8] c"wall\00"
-@.str7566 = private unnamed_addr constant [14 x i8] c"line_of_sight\00"
-@.str7567 = private unnamed_addr constant [19 x i8] c"grid_line_of_sight\00"
-@.str7568 = private unnamed_addr constant [3 x i8] c"x0\00"
-@.str7569 = private unnamed_addr constant [3 x i8] c"y0\00"
-@.str7570 = private unnamed_addr constant [3 x i8] c"x1\00"
-@.str7571 = private unnamed_addr constant [3 x i8] c"y1\00"
-@.str7572 = private unnamed_addr constant [5 x i8] c"wall\00"
-@.str7573 = private unnamed_addr constant [6 x i8] c"flood\00"
-@.str7574 = private unnamed_addr constant [11 x i8] c"grid_flood\00"
-@.str7575 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str7576 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str7577 = private unnamed_addr constant [5 x i8] c"wall\00"
-@.str7578 = private unnamed_addr constant [7 x i8] c"a_star\00"
-@.str7579 = private unnamed_addr constant [12 x i8] c"path_a_star\00"
-@.str7580 = private unnamed_addr constant [3 x i8] c"x0\00"
-@.str7581 = private unnamed_addr constant [3 x i8] c"y0\00"
-@.str7582 = private unnamed_addr constant [3 x i8] c"x1\00"
-@.str7583 = private unnamed_addr constant [3 x i8] c"y1\00"
-@.str7584 = private unnamed_addr constant [5 x i8] c"wall\00"
-@.str7585 = private unnamed_addr constant [6 x i8] c"Light\00"
-@.str7586 = private unnamed_addr constant [8 x i8] c"ambient\00"
-@.str7587 = private unnamed_addr constant [14 x i8] c"light_ambient\00"
-@.str7588 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str7589 = private unnamed_addr constant [6 x i8] c"point\00"
-@.str7590 = private unnamed_addr constant [12 x i8] c"light_point\00"
-@.str7591 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str7592 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str7593 = private unnamed_addr constant [7 x i8] c"radius\00"
-@.str7594 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str7595 = private unnamed_addr constant [7 x i8] c"energy\00"
-@.str7596 = private unnamed_addr constant [5 x i8] c"spot\00"
-@.str7597 = private unnamed_addr constant [11 x i8] c"light_spot\00"
-@.str7598 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str7599 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str7600 = private unnamed_addr constant [7 x i8] c"radius\00"
-@.str7601 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str7602 = private unnamed_addr constant [7 x i8] c"energy\00"
-@.str7603 = private unnamed_addr constant [10 x i8] c"direction\00"
-@.str7604 = private unnamed_addr constant [7 x i8] c"spread\00"
-@.str7605 = private unnamed_addr constant [8 x i8] c"occlude\00"
-@.str7606 = private unnamed_addr constant [14 x i8] c"light_occlude\00"
-@.str7607 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str7608 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str7609 = private unnamed_addr constant [6 x i8] c"width\00"
-@.str7610 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str7611 = private unnamed_addr constant [16 x i8] c"clear_occluders\00"
-@.str7612 = private unnamed_addr constant [22 x i8] c"light_clear_occluders\00"
-@.str7613 = private unnamed_addr constant [8 x i8] c"falloff\00"
-@.str7614 = private unnamed_addr constant [18 x i8] c"light_set_falloff\00"
-@.str7615 = private unnamed_addr constant [9 x i8] c"exponent\00"
-@.str7616 = private unnamed_addr constant [5 x i8] c"soft\00"
-@.str7617 = private unnamed_addr constant [15 x i8] c"light_set_soft\00"
-@.str7618 = private unnamed_addr constant [7 x i8] c"radius\00"
-@.str7619 = private unnamed_addr constant [4 x i8] c"gel\00"
-@.str7620 = private unnamed_addr constant [14 x i8] c"light_set_gel\00"
-@.str7621 = private unnamed_addr constant [6 x i8] c"color\00"
-@.str7622 = private unnamed_addr constant [10 x i8] c"clear_gel\00"
-@.str7623 = private unnamed_addr constant [16 x i8] c"light_clear_gel\00"
-@.str7624 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str7625 = private unnamed_addr constant [17 x i8] c"light_set_height\00"
-@.str7626 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str7627 = private unnamed_addr constant [7 x i8] c"normal\00"
-@.str7628 = private unnamed_addr constant [18 x i8] c"light_normal_rect\00"
-@.str7629 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str7630 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str7631 = private unnamed_addr constant [6 x i8] c"width\00"
-@.str7632 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str7633 = private unnamed_addr constant [3 x i8] c"nx\00"
-@.str7634 = private unnamed_addr constant [3 x i8] c"ny\00"
-@.str7635 = private unnamed_addr constant [14 x i8] c"clear_normals\00"
-@.str7636 = private unnamed_addr constant [20 x i8] c"light_clear_normals\00"
-@.str7637 = private unnamed_addr constant [12 x i8] c"time_of_day\00"
-@.str7638 = private unnamed_addr constant [18 x i8] c"light_time_of_day\00"
-@.str7639 = private unnamed_addr constant [2 x i8] c"t\00"
-@.str7640 = private unnamed_addr constant [5 x i8] c"Anim\00"
-@.str7641 = private unnamed_addr constant [5 x i8] c"clip\00"
-@.str7642 = private unnamed_addr constant [10 x i8] c"anim_clip\00"
-@.str7643 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str7644 = private unnamed_addr constant [7 x i8] c"frames\00"
-@.str7645 = private unnamed_addr constant [4 x i8] c"fps\00"
-@.str7646 = private unnamed_addr constant [5 x i8] c"mode\00"
-@.str7647 = private unnamed_addr constant [9 x i8] c"on_frame\00"
-@.str7648 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00"
-@.str7649 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str7650 = private unnamed_addr constant [6 x i8] c"frame\00"
-@.str7651 = private unnamed_addr constant [6 x i8] c"fired\00"
-@.str7652 = private unnamed_addr constant [11 x i8] c"anim_fired\00"
-@.str7653 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str7654 = private unnamed_addr constant [5 x i8] c"play\00"
-@.str7655 = private unnamed_addr constant [16 x i8] c"anim_play_named\00"
-@.str7656 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str7657 = private unnamed_addr constant [5 x i8] c"clip\00"
-@.str7658 = private unnamed_addr constant [10 x i8] c"anim_play\00"
-@.str7659 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str7660 = private unnamed_addr constant [4 x i8] c"fps\00"
-@.str7661 = private unnamed_addr constant [7 x i8] c"frames\00"
-@.str7662 = private unnamed_addr constant [5 x i8] c"mode\00"
-@.str7663 = private unnamed_addr constant [7 x i8] c"Motion\00"
-@.str7664 = private unnamed_addr constant [3 x i8] c"to\00"
-@.str7665 = private unnamed_addr constant [10 x i8] c"motion_to\00"
-@.str7666 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str7667 = private unnamed_addr constant [5 x i8] c"from\00"
-@.str7668 = private unnamed_addr constant [3 x i8] c"to\00"
-@.str7669 = private unnamed_addr constant [4 x i8] c"dur\00"
-@.str7670 = private unnamed_addr constant [5 x i8] c"ease\00"
-@.str7671 = private unnamed_addr constant [6 x i8] c"Tween\00"
-@.str7672 = private unnamed_addr constant [3 x i8] c"to\00"
-@.str7673 = private unnamed_addr constant [9 x i8] c"tween_to\00"
-@.str7674 = private unnamed_addr constant [5 x i8] c"from\00"
-@.str7675 = private unnamed_addr constant [3 x i8] c"to\00"
-@.str7676 = private unnamed_addr constant [4 x i8] c"dur\00"
-@.str7677 = private unnamed_addr constant [5 x i8] c"ease\00"
-@.str7678 = private unnamed_addr constant [6 x i8] c"chain\00"
-@.str7679 = private unnamed_addr constant [12 x i8] c"tween_chain\00"
-@.str7680 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7681 = private unnamed_addr constant [3 x i8] c"to\00"
-@.str7682 = private unnamed_addr constant [4 x i8] c"dur\00"
-@.str7683 = private unnamed_addr constant [5 x i8] c"ease\00"
-@.str7684 = private unnamed_addr constant [6 x i8] c"delay\00"
-@.str7685 = private unnamed_addr constant [12 x i8] c"tween_delay\00"
-@.str7686 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7687 = private unnamed_addr constant [6 x i8] c"ticks\00"
-@.str7688 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7689 = private unnamed_addr constant [12 x i8] c"tween_value\00"
-@.str7690 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7691 = private unnamed_addr constant [5 x i8] c"stop\00"
-@.str7692 = private unnamed_addr constant [11 x i8] c"tween_stop\00"
-@.str7693 = private unnamed_addr constant [7 x i8] c"handle\00"
-@.str7694 = private unnamed_addr constant [9 x i8] c"parallel\00"
-@.str7695 = private unnamed_addr constant [15 x i8] c"tween_parallel\00"
-@.str7696 = private unnamed_addr constant [2 x i8] c"a\00"
-@.str7697 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7698 = private unnamed_addr constant [6 x i8] c"Query\00"
-@.str7699 = private unnamed_addr constant [6 x i8] c"count\00"
-@.str7700 = private unnamed_addr constant [12 x i8] c"query_count\00"
-@.str7701 = private unnamed_addr constant [5 x i8] c"prop\00"
-@.str7702 = private unnamed_addr constant [6 x i8] c"first\00"
-@.str7703 = private unnamed_addr constant [12 x i8] c"query_first\00"
-@.str7704 = private unnamed_addr constant [5 x i8] c"prop\00"
-@.str7705 = private unnamed_addr constant [8 x i8] c"nearest\00"
-@.str7706 = private unnamed_addr constant [14 x i8] c"query_nearest\00"
-@.str7707 = private unnamed_addr constant [5 x i8] c"prop\00"
-@.str7708 = private unnamed_addr constant [4 x i8] c"pos\00"
-@.str7709 = private unnamed_addr constant [8 x i8] c"x_field\00"
-@.str7710 = private unnamed_addr constant [8 x i8] c"y_field\00"
-@.str7711 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str7712 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str7713 = private unnamed_addr constant [7 x i8] c"within\00"
-@.str7714 = private unnamed_addr constant [13 x i8] c"query_within\00"
-@.str7715 = private unnamed_addr constant [5 x i8] c"prop\00"
-@.str7716 = private unnamed_addr constant [4 x i8] c"pos\00"
-@.str7717 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str7718 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str7719 = private unnamed_addr constant [7 x i8] c"radius\00"
-@.str7720 = private unnamed_addr constant [8 x i8] c"x_field\00"
-@.str7721 = private unnamed_addr constant [8 x i8] c"y_field\00"
-@.str7722 = private unnamed_addr constant [8 x i8] c"Reflect\00"
-@.str7723 = private unnamed_addr constant [5 x i8] c"prop\00"
-@.str7724 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
-@.str7725 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str7726 = private unnamed_addr constant [6 x i8] c"field\00"
-@.str7727 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
-@.str7728 = private unnamed_addr constant [5 x i8] c"prop\00"
-@.str7729 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str7730 = private unnamed_addr constant [11 x i8] c"prop_count\00"
-@.str7731 = private unnamed_addr constant [17 x i8] c"world_prop_count\00"
-@.str7732 = private unnamed_addr constant [10 x i8] c"prop_name\00"
-@.str7733 = private unnamed_addr constant [16 x i8] c"world_prop_name\00"
-@.str7734 = private unnamed_addr constant [6 x i8] c"index\00"
-@.str7735 = private unnamed_addr constant [12 x i8] c"field_count\00"
-@.str7736 = private unnamed_addr constant [18 x i8] c"world_field_count\00"
-@.str7737 = private unnamed_addr constant [5 x i8] c"prop\00"
-@.str7738 = private unnamed_addr constant [11 x i8] c"field_name\00"
-@.str7739 = private unnamed_addr constant [17 x i8] c"world_field_name\00"
-@.str7740 = private unnamed_addr constant [5 x i8] c"prop\00"
-@.str7741 = private unnamed_addr constant [6 x i8] c"index\00"
-@.str7742 = private unnamed_addr constant [11 x i8] c"field_type\00"
-@.str7743 = private unnamed_addr constant [17 x i8] c"world_field_type\00"
-@.str7744 = private unnamed_addr constant [5 x i8] c"prop\00"
-@.str7745 = private unnamed_addr constant [6 x i8] c"index\00"
-@.str7746 = private unnamed_addr constant [4 x i8] c"get\00"
-@.str7747 = private unnamed_addr constant [10 x i8] c"world_get\00"
-@.str7748 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str7749 = private unnamed_addr constant [5 x i8] c"prop\00"
-@.str7750 = private unnamed_addr constant [6 x i8] c"field\00"
-@.str7751 = private unnamed_addr constant [4 x i8] c"set\00"
-@.str7752 = private unnamed_addr constant [10 x i8] c"world_set\00"
-@.str7753 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str7754 = private unnamed_addr constant [5 x i8] c"prop\00"
-@.str7755 = private unnamed_addr constant [6 x i8] c"field\00"
-@.str7756 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7757 = private unnamed_addr constant [4 x i8] c"has\00"
-@.str7758 = private unnamed_addr constant [10 x i8] c"world_has\00"
-@.str7759 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str7760 = private unnamed_addr constant [5 x i8] c"prop\00"
-@.str7761 = private unnamed_addr constant [5 x i8] c"kind\00"
-@.str7762 = private unnamed_addr constant [11 x i8] c"world_kind\00"
-@.str7763 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str7764 = private unnamed_addr constant [6 x i8] c"model\00"
-@.str7765 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
+@.str7517 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7518 = private unnamed_addr constant [4 x i8] c"sub\00"
+@.str7519 = private unnamed_addr constant [9 x i8] c"huge_sub\00"
+@.str7520 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7521 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7522 = private unnamed_addr constant [4 x i8] c"mul\00"
+@.str7523 = private unnamed_addr constant [9 x i8] c"huge_mul\00"
+@.str7524 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7525 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7526 = private unnamed_addr constant [4 x i8] c"neg\00"
+@.str7527 = private unnamed_addr constant [9 x i8] c"huge_neg\00"
+@.str7528 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7529 = private unnamed_addr constant [4 x i8] c"cmp\00"
+@.str7530 = private unnamed_addr constant [9 x i8] c"huge_cmp\00"
+@.str7531 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7532 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7533 = private unnamed_addr constant [5 x i8] c"sign\00"
+@.str7534 = private unnamed_addr constant [10 x i8] c"huge_sign\00"
+@.str7535 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7536 = private unnamed_addr constant [9 x i8] c"mantissa\00"
+@.str7537 = private unnamed_addr constant [14 x i8] c"huge_mantissa\00"
+@.str7538 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7539 = private unnamed_addr constant [4 x i8] c"exp\00"
+@.str7540 = private unnamed_addr constant [9 x i8] c"huge_exp\00"
+@.str7541 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7542 = private unnamed_addr constant [4 x i8] c"str\00"
+@.str7543 = private unnamed_addr constant [9 x i8] c"huge_str\00"
+@.str7544 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7545 = private unnamed_addr constant [6 x i8] c"Angle\00"
+@.str7546 = private unnamed_addr constant [13 x i8] c"from_degrees\00"
+@.str7547 = private unnamed_addr constant [19 x i8] c"angle_from_degrees\00"
+@.str7548 = private unnamed_addr constant [2 x i8] c"d\00"
+@.str7549 = private unnamed_addr constant [11 x i8] c"to_degrees\00"
+@.str7550 = private unnamed_addr constant [17 x i8] c"angle_to_degrees\00"
+@.str7551 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7552 = private unnamed_addr constant [5 x i8] c"wrap\00"
+@.str7553 = private unnamed_addr constant [11 x i8] c"angle_wrap\00"
+@.str7554 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7555 = private unnamed_addr constant [4 x i8] c"sin\00"
+@.str7556 = private unnamed_addr constant [10 x i8] c"angle_sin\00"
+@.str7557 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7558 = private unnamed_addr constant [4 x i8] c"cos\00"
+@.str7559 = private unnamed_addr constant [10 x i8] c"angle_cos\00"
+@.str7560 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7561 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str7562 = private unnamed_addr constant [10 x i8] c"angle_add\00"
+@.str7563 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7564 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7565 = private unnamed_addr constant [5 x i8] c"diff\00"
+@.str7566 = private unnamed_addr constant [11 x i8] c"angle_diff\00"
+@.str7567 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7568 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7569 = private unnamed_addr constant [13 x i8] c"diff_degrees\00"
+@.str7570 = private unnamed_addr constant [19 x i8] c"angle_diff_degrees\00"
+@.str7571 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7572 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7573 = private unnamed_addr constant [5 x i8] c"lerp\00"
+@.str7574 = private unnamed_addr constant [11 x i8] c"angle_lerp\00"
+@.str7575 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7576 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7577 = private unnamed_addr constant [2 x i8] c"t\00"
+@.str7578 = private unnamed_addr constant [8 x i8] c"Percent\00"
+@.str7579 = private unnamed_addr constant [6 x i8] c"clamp\00"
+@.str7580 = private unnamed_addr constant [14 x i8] c"percent_clamp\00"
+@.str7581 = private unnamed_addr constant [2 x i8] c"v\00"
+@.str7582 = private unnamed_addr constant [3 x i8] c"of\00"
+@.str7583 = private unnamed_addr constant [11 x i8] c"percent_of\00"
+@.str7584 = private unnamed_addr constant [4 x i8] c"num\00"
+@.str7585 = private unnamed_addr constant [4 x i8] c"den\00"
+@.str7586 = private unnamed_addr constant [5 x i8] c"lerp\00"
+@.str7587 = private unnamed_addr constant [13 x i8] c"percent_lerp\00"
+@.str7588 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7589 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7590 = private unnamed_addr constant [2 x i8] c"t\00"
+@.str7591 = private unnamed_addr constant [6 x i8] c"apply\00"
+@.str7592 = private unnamed_addr constant [14 x i8] c"percent_apply\00"
+@.str7593 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7594 = private unnamed_addr constant [2 x i8] c"p\00"
+@.str7595 = private unnamed_addr constant [5 x i8] c"Grid\00"
+@.str7596 = private unnamed_addr constant [5 x i8] c"line\00"
+@.str7597 = private unnamed_addr constant [10 x i8] c"grid_line\00"
+@.str7598 = private unnamed_addr constant [3 x i8] c"x0\00"
+@.str7599 = private unnamed_addr constant [3 x i8] c"y0\00"
+@.str7600 = private unnamed_addr constant [3 x i8] c"x1\00"
+@.str7601 = private unnamed_addr constant [3 x i8] c"y1\00"
+@.str7602 = private unnamed_addr constant [8 x i8] c"blocked\00"
+@.str7603 = private unnamed_addr constant [13 x i8] c"grid_blocked\00"
+@.str7604 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str7605 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str7606 = private unnamed_addr constant [5 x i8] c"wall\00"
+@.str7607 = private unnamed_addr constant [14 x i8] c"line_of_sight\00"
+@.str7608 = private unnamed_addr constant [19 x i8] c"grid_line_of_sight\00"
+@.str7609 = private unnamed_addr constant [3 x i8] c"x0\00"
+@.str7610 = private unnamed_addr constant [3 x i8] c"y0\00"
+@.str7611 = private unnamed_addr constant [3 x i8] c"x1\00"
+@.str7612 = private unnamed_addr constant [3 x i8] c"y1\00"
+@.str7613 = private unnamed_addr constant [5 x i8] c"wall\00"
+@.str7614 = private unnamed_addr constant [6 x i8] c"flood\00"
+@.str7615 = private unnamed_addr constant [11 x i8] c"grid_flood\00"
+@.str7616 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str7617 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str7618 = private unnamed_addr constant [5 x i8] c"wall\00"
+@.str7619 = private unnamed_addr constant [7 x i8] c"a_star\00"
+@.str7620 = private unnamed_addr constant [12 x i8] c"path_a_star\00"
+@.str7621 = private unnamed_addr constant [3 x i8] c"x0\00"
+@.str7622 = private unnamed_addr constant [3 x i8] c"y0\00"
+@.str7623 = private unnamed_addr constant [3 x i8] c"x1\00"
+@.str7624 = private unnamed_addr constant [3 x i8] c"y1\00"
+@.str7625 = private unnamed_addr constant [5 x i8] c"wall\00"
+@.str7626 = private unnamed_addr constant [6 x i8] c"Light\00"
+@.str7627 = private unnamed_addr constant [8 x i8] c"ambient\00"
+@.str7628 = private unnamed_addr constant [14 x i8] c"light_ambient\00"
+@.str7629 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str7630 = private unnamed_addr constant [6 x i8] c"point\00"
+@.str7631 = private unnamed_addr constant [12 x i8] c"light_point\00"
+@.str7632 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str7633 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str7634 = private unnamed_addr constant [7 x i8] c"radius\00"
+@.str7635 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str7636 = private unnamed_addr constant [7 x i8] c"energy\00"
+@.str7637 = private unnamed_addr constant [5 x i8] c"spot\00"
+@.str7638 = private unnamed_addr constant [11 x i8] c"light_spot\00"
+@.str7639 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str7640 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str7641 = private unnamed_addr constant [7 x i8] c"radius\00"
+@.str7642 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str7643 = private unnamed_addr constant [7 x i8] c"energy\00"
+@.str7644 = private unnamed_addr constant [10 x i8] c"direction\00"
+@.str7645 = private unnamed_addr constant [7 x i8] c"spread\00"
+@.str7646 = private unnamed_addr constant [8 x i8] c"occlude\00"
+@.str7647 = private unnamed_addr constant [14 x i8] c"light_occlude\00"
+@.str7648 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str7649 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str7650 = private unnamed_addr constant [6 x i8] c"width\00"
+@.str7651 = private unnamed_addr constant [7 x i8] c"height\00"
+@.str7652 = private unnamed_addr constant [16 x i8] c"clear_occluders\00"
+@.str7653 = private unnamed_addr constant [22 x i8] c"light_clear_occluders\00"
+@.str7654 = private unnamed_addr constant [8 x i8] c"falloff\00"
+@.str7655 = private unnamed_addr constant [18 x i8] c"light_set_falloff\00"
+@.str7656 = private unnamed_addr constant [9 x i8] c"exponent\00"
+@.str7657 = private unnamed_addr constant [5 x i8] c"soft\00"
+@.str7658 = private unnamed_addr constant [15 x i8] c"light_set_soft\00"
+@.str7659 = private unnamed_addr constant [7 x i8] c"radius\00"
+@.str7660 = private unnamed_addr constant [4 x i8] c"gel\00"
+@.str7661 = private unnamed_addr constant [14 x i8] c"light_set_gel\00"
+@.str7662 = private unnamed_addr constant [6 x i8] c"color\00"
+@.str7663 = private unnamed_addr constant [10 x i8] c"clear_gel\00"
+@.str7664 = private unnamed_addr constant [16 x i8] c"light_clear_gel\00"
+@.str7665 = private unnamed_addr constant [7 x i8] c"height\00"
+@.str7666 = private unnamed_addr constant [17 x i8] c"light_set_height\00"
+@.str7667 = private unnamed_addr constant [7 x i8] c"height\00"
+@.str7668 = private unnamed_addr constant [7 x i8] c"normal\00"
+@.str7669 = private unnamed_addr constant [18 x i8] c"light_normal_rect\00"
+@.str7670 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str7671 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str7672 = private unnamed_addr constant [6 x i8] c"width\00"
+@.str7673 = private unnamed_addr constant [7 x i8] c"height\00"
+@.str7674 = private unnamed_addr constant [3 x i8] c"nx\00"
+@.str7675 = private unnamed_addr constant [3 x i8] c"ny\00"
+@.str7676 = private unnamed_addr constant [14 x i8] c"clear_normals\00"
+@.str7677 = private unnamed_addr constant [20 x i8] c"light_clear_normals\00"
+@.str7678 = private unnamed_addr constant [12 x i8] c"time_of_day\00"
+@.str7679 = private unnamed_addr constant [18 x i8] c"light_time_of_day\00"
+@.str7680 = private unnamed_addr constant [2 x i8] c"t\00"
+@.str7681 = private unnamed_addr constant [5 x i8] c"Anim\00"
+@.str7682 = private unnamed_addr constant [5 x i8] c"clip\00"
+@.str7683 = private unnamed_addr constant [10 x i8] c"anim_clip\00"
+@.str7684 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str7685 = private unnamed_addr constant [7 x i8] c"frames\00"
+@.str7686 = private unnamed_addr constant [4 x i8] c"fps\00"
+@.str7687 = private unnamed_addr constant [5 x i8] c"mode\00"
+@.str7688 = private unnamed_addr constant [9 x i8] c"on_frame\00"
+@.str7689 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00"
+@.str7690 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str7691 = private unnamed_addr constant [6 x i8] c"frame\00"
+@.str7692 = private unnamed_addr constant [6 x i8] c"fired\00"
+@.str7693 = private unnamed_addr constant [11 x i8] c"anim_fired\00"
+@.str7694 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str7695 = private unnamed_addr constant [5 x i8] c"play\00"
+@.str7696 = private unnamed_addr constant [16 x i8] c"anim_play_named\00"
+@.str7697 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str7698 = private unnamed_addr constant [5 x i8] c"clip\00"
+@.str7699 = private unnamed_addr constant [10 x i8] c"anim_play\00"
+@.str7700 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str7701 = private unnamed_addr constant [4 x i8] c"fps\00"
+@.str7702 = private unnamed_addr constant [7 x i8] c"frames\00"
+@.str7703 = private unnamed_addr constant [5 x i8] c"mode\00"
+@.str7704 = private unnamed_addr constant [7 x i8] c"Motion\00"
+@.str7705 = private unnamed_addr constant [3 x i8] c"to\00"
+@.str7706 = private unnamed_addr constant [10 x i8] c"motion_to\00"
+@.str7707 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str7708 = private unnamed_addr constant [5 x i8] c"from\00"
+@.str7709 = private unnamed_addr constant [3 x i8] c"to\00"
+@.str7710 = private unnamed_addr constant [4 x i8] c"dur\00"
+@.str7711 = private unnamed_addr constant [5 x i8] c"ease\00"
+@.str7712 = private unnamed_addr constant [6 x i8] c"Tween\00"
+@.str7713 = private unnamed_addr constant [3 x i8] c"to\00"
+@.str7714 = private unnamed_addr constant [9 x i8] c"tween_to\00"
+@.str7715 = private unnamed_addr constant [5 x i8] c"from\00"
+@.str7716 = private unnamed_addr constant [3 x i8] c"to\00"
+@.str7717 = private unnamed_addr constant [4 x i8] c"dur\00"
+@.str7718 = private unnamed_addr constant [5 x i8] c"ease\00"
+@.str7719 = private unnamed_addr constant [6 x i8] c"chain\00"
+@.str7720 = private unnamed_addr constant [12 x i8] c"tween_chain\00"
+@.str7721 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7722 = private unnamed_addr constant [3 x i8] c"to\00"
+@.str7723 = private unnamed_addr constant [4 x i8] c"dur\00"
+@.str7724 = private unnamed_addr constant [5 x i8] c"ease\00"
+@.str7725 = private unnamed_addr constant [6 x i8] c"delay\00"
+@.str7726 = private unnamed_addr constant [12 x i8] c"tween_delay\00"
+@.str7727 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7728 = private unnamed_addr constant [6 x i8] c"ticks\00"
+@.str7729 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7730 = private unnamed_addr constant [12 x i8] c"tween_value\00"
+@.str7731 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7732 = private unnamed_addr constant [5 x i8] c"stop\00"
+@.str7733 = private unnamed_addr constant [11 x i8] c"tween_stop\00"
+@.str7734 = private unnamed_addr constant [7 x i8] c"handle\00"
+@.str7735 = private unnamed_addr constant [9 x i8] c"parallel\00"
+@.str7736 = private unnamed_addr constant [15 x i8] c"tween_parallel\00"
+@.str7737 = private unnamed_addr constant [2 x i8] c"a\00"
+@.str7738 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7739 = private unnamed_addr constant [6 x i8] c"Query\00"
+@.str7740 = private unnamed_addr constant [6 x i8] c"count\00"
+@.str7741 = private unnamed_addr constant [12 x i8] c"query_count\00"
+@.str7742 = private unnamed_addr constant [5 x i8] c"prop\00"
+@.str7743 = private unnamed_addr constant [6 x i8] c"first\00"
+@.str7744 = private unnamed_addr constant [12 x i8] c"query_first\00"
+@.str7745 = private unnamed_addr constant [5 x i8] c"prop\00"
+@.str7746 = private unnamed_addr constant [8 x i8] c"nearest\00"
+@.str7747 = private unnamed_addr constant [14 x i8] c"query_nearest\00"
+@.str7748 = private unnamed_addr constant [5 x i8] c"prop\00"
+@.str7749 = private unnamed_addr constant [4 x i8] c"pos\00"
+@.str7750 = private unnamed_addr constant [8 x i8] c"x_field\00"
+@.str7751 = private unnamed_addr constant [8 x i8] c"y_field\00"
+@.str7752 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str7753 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str7754 = private unnamed_addr constant [7 x i8] c"within\00"
+@.str7755 = private unnamed_addr constant [13 x i8] c"query_within\00"
+@.str7756 = private unnamed_addr constant [5 x i8] c"prop\00"
+@.str7757 = private unnamed_addr constant [4 x i8] c"pos\00"
+@.str7758 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str7759 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str7760 = private unnamed_addr constant [7 x i8] c"radius\00"
+@.str7761 = private unnamed_addr constant [8 x i8] c"x_field\00"
+@.str7762 = private unnamed_addr constant [8 x i8] c"y_field\00"
+@.str7763 = private unnamed_addr constant [8 x i8] c"Reflect\00"
+@.str7764 = private unnamed_addr constant [5 x i8] c"prop\00"
+@.str7765 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
@.str7766 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str7767 = private unnamed_addr constant [10 x i8] c"serialize\00"
-@.str7768 = private unnamed_addr constant [18 x i8] c"reflect_serialize\00"
-@.str7769 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str7770 = private unnamed_addr constant [6 x i8] c"apply\00"
-@.str7771 = private unnamed_addr constant [14 x i8] c"reflect_apply\00"
-@.str7772 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str7773 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7774 = private unnamed_addr constant [6 x i8] c"Value\00"
-@.str7775 = private unnamed_addr constant [5 x i8] c"null\00"
-@.str7776 = private unnamed_addr constant [11 x i8] c"value_null\00"
-@.str7777 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str7778 = private unnamed_addr constant [10 x i8] c"value_int\00"
-@.str7779 = private unnamed_addr constant [2 x i8] c"n\00"
-@.str7780 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str7781 = private unnamed_addr constant [12 x i8] c"value_fixed\00"
-@.str7782 = private unnamed_addr constant [2 x i8] c"f\00"
-@.str7783 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str7784 = private unnamed_addr constant [11 x i8] c"value_bool\00"
-@.str7785 = private unnamed_addr constant [2 x i8] c"b\00"
-@.str7786 = private unnamed_addr constant [4 x i8] c"str\00"
-@.str7787 = private unnamed_addr constant [10 x i8] c"value_str\00"
-@.str7788 = private unnamed_addr constant [2 x i8] c"s\00"
-@.str7789 = private unnamed_addr constant [5 x i8] c"list\00"
-@.str7790 = private unnamed_addr constant [11 x i8] c"value_list\00"
-@.str7791 = private unnamed_addr constant [7 x i8] c"object\00"
-@.str7792 = private unnamed_addr constant [13 x i8] c"value_object\00"
-@.str7793 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str7794 = private unnamed_addr constant [10 x i8] c"value_add\00"
-@.str7795 = private unnamed_addr constant [5 x i8] c"list\00"
-@.str7796 = private unnamed_addr constant [5 x i8] c"item\00"
-@.str7797 = private unnamed_addr constant [4 x i8] c"put\00"
-@.str7798 = private unnamed_addr constant [10 x i8] c"value_put\00"
-@.str7799 = private unnamed_addr constant [4 x i8] c"obj\00"
-@.str7800 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7801 = private unnamed_addr constant [5 x i8] c"item\00"
-@.str7802 = private unnamed_addr constant [4 x i8] c"get\00"
-@.str7803 = private unnamed_addr constant [10 x i8] c"value_get\00"
-@.str7804 = private unnamed_addr constant [4 x i8] c"obj\00"
-@.str7805 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7806 = private unnamed_addr constant [4 x i8] c"has\00"
-@.str7807 = private unnamed_addr constant [10 x i8] c"value_has\00"
-@.str7808 = private unnamed_addr constant [4 x i8] c"obj\00"
-@.str7809 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7810 = private unnamed_addr constant [3 x i8] c"at\00"
-@.str7811 = private unnamed_addr constant [9 x i8] c"value_at\00"
-@.str7812 = private unnamed_addr constant [5 x i8] c"list\00"
-@.str7813 = private unnamed_addr constant [6 x i8] c"index\00"
-@.str7814 = private unnamed_addr constant [7 x i8] c"key_at\00"
-@.str7815 = private unnamed_addr constant [13 x i8] c"value_key_at\00"
-@.str7816 = private unnamed_addr constant [4 x i8] c"obj\00"
-@.str7817 = private unnamed_addr constant [6 x i8] c"index\00"
-@.str7818 = private unnamed_addr constant [6 x i8] c"count\00"
-@.str7819 = private unnamed_addr constant [12 x i8] c"value_count\00"
-@.str7820 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7821 = private unnamed_addr constant [5 x i8] c"kind\00"
-@.str7822 = private unnamed_addr constant [11 x i8] c"value_kind\00"
-@.str7823 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7824 = private unnamed_addr constant [7 x i8] c"as_int\00"
-@.str7825 = private unnamed_addr constant [13 x i8] c"value_as_int\00"
-@.str7826 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7827 = private unnamed_addr constant [7 x i8] c"as_str\00"
-@.str7828 = private unnamed_addr constant [13 x i8] c"value_as_str\00"
-@.str7829 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7830 = private unnamed_addr constant [5 x i8] c"Json\00"
-@.str7831 = private unnamed_addr constant [7 x i8] c"encode\00"
-@.str7832 = private unnamed_addr constant [12 x i8] c"json_encode\00"
-@.str7833 = private unnamed_addr constant [6 x i8] c"value\00"
-@.str7834 = private unnamed_addr constant [6 x i8] c"parse\00"
-@.str7835 = private unnamed_addr constant [11 x i8] c"json_parse\00"
-@.str7836 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str7837 = private unnamed_addr constant [4 x i8] c"Xml\00"
-@.str7838 = private unnamed_addr constant [6 x i8] c"parse\00"
-@.str7839 = private unnamed_addr constant [10 x i8] c"xml_parse\00"
-@.str7840 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str7841 = private unnamed_addr constant [4 x i8] c"tag\00"
-@.str7842 = private unnamed_addr constant [8 x i8] c"xml_tag\00"
-@.str7843 = private unnamed_addr constant [5 x i8] c"node\00"
-@.str7844 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str7845 = private unnamed_addr constant [9 x i8] c"xml_text\00"
-@.str7846 = private unnamed_addr constant [5 x i8] c"node\00"
-@.str7847 = private unnamed_addr constant [5 x i8] c"attr\00"
-@.str7848 = private unnamed_addr constant [9 x i8] c"xml_attr\00"
-@.str7849 = private unnamed_addr constant [5 x i8] c"node\00"
+@.str7767 = private unnamed_addr constant [6 x i8] c"field\00"
+@.str7768 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
+@.str7769 = private unnamed_addr constant [5 x i8] c"prop\00"
+@.str7770 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str7771 = private unnamed_addr constant [11 x i8] c"prop_count\00"
+@.str7772 = private unnamed_addr constant [17 x i8] c"world_prop_count\00"
+@.str7773 = private unnamed_addr constant [10 x i8] c"prop_name\00"
+@.str7774 = private unnamed_addr constant [16 x i8] c"world_prop_name\00"
+@.str7775 = private unnamed_addr constant [6 x i8] c"index\00"
+@.str7776 = private unnamed_addr constant [12 x i8] c"field_count\00"
+@.str7777 = private unnamed_addr constant [18 x i8] c"world_field_count\00"
+@.str7778 = private unnamed_addr constant [5 x i8] c"prop\00"
+@.str7779 = private unnamed_addr constant [11 x i8] c"field_name\00"
+@.str7780 = private unnamed_addr constant [17 x i8] c"world_field_name\00"
+@.str7781 = private unnamed_addr constant [5 x i8] c"prop\00"
+@.str7782 = private unnamed_addr constant [6 x i8] c"index\00"
+@.str7783 = private unnamed_addr constant [11 x i8] c"field_type\00"
+@.str7784 = private unnamed_addr constant [17 x i8] c"world_field_type\00"
+@.str7785 = private unnamed_addr constant [5 x i8] c"prop\00"
+@.str7786 = private unnamed_addr constant [6 x i8] c"index\00"
+@.str7787 = private unnamed_addr constant [4 x i8] c"get\00"
+@.str7788 = private unnamed_addr constant [10 x i8] c"world_get\00"
+@.str7789 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str7790 = private unnamed_addr constant [5 x i8] c"prop\00"
+@.str7791 = private unnamed_addr constant [6 x i8] c"field\00"
+@.str7792 = private unnamed_addr constant [4 x i8] c"set\00"
+@.str7793 = private unnamed_addr constant [10 x i8] c"world_set\00"
+@.str7794 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str7795 = private unnamed_addr constant [5 x i8] c"prop\00"
+@.str7796 = private unnamed_addr constant [6 x i8] c"field\00"
+@.str7797 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7798 = private unnamed_addr constant [4 x i8] c"has\00"
+@.str7799 = private unnamed_addr constant [10 x i8] c"world_has\00"
+@.str7800 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str7801 = private unnamed_addr constant [5 x i8] c"prop\00"
+@.str7802 = private unnamed_addr constant [5 x i8] c"kind\00"
+@.str7803 = private unnamed_addr constant [11 x i8] c"world_kind\00"
+@.str7804 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str7805 = private unnamed_addr constant [6 x i8] c"model\00"
+@.str7806 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
+@.str7807 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str7808 = private unnamed_addr constant [10 x i8] c"serialize\00"
+@.str7809 = private unnamed_addr constant [18 x i8] c"reflect_serialize\00"
+@.str7810 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str7811 = private unnamed_addr constant [6 x i8] c"apply\00"
+@.str7812 = private unnamed_addr constant [14 x i8] c"reflect_apply\00"
+@.str7813 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str7814 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7815 = private unnamed_addr constant [6 x i8] c"Value\00"
+@.str7816 = private unnamed_addr constant [5 x i8] c"null\00"
+@.str7817 = private unnamed_addr constant [11 x i8] c"value_null\00"
+@.str7818 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str7819 = private unnamed_addr constant [10 x i8] c"value_int\00"
+@.str7820 = private unnamed_addr constant [2 x i8] c"n\00"
+@.str7821 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str7822 = private unnamed_addr constant [12 x i8] c"value_fixed\00"
+@.str7823 = private unnamed_addr constant [2 x i8] c"f\00"
+@.str7824 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str7825 = private unnamed_addr constant [11 x i8] c"value_bool\00"
+@.str7826 = private unnamed_addr constant [2 x i8] c"b\00"
+@.str7827 = private unnamed_addr constant [4 x i8] c"str\00"
+@.str7828 = private unnamed_addr constant [10 x i8] c"value_str\00"
+@.str7829 = private unnamed_addr constant [2 x i8] c"s\00"
+@.str7830 = private unnamed_addr constant [5 x i8] c"list\00"
+@.str7831 = private unnamed_addr constant [11 x i8] c"value_list\00"
+@.str7832 = private unnamed_addr constant [7 x i8] c"object\00"
+@.str7833 = private unnamed_addr constant [13 x i8] c"value_object\00"
+@.str7834 = private unnamed_addr constant [4 x i8] c"add\00"
+@.str7835 = private unnamed_addr constant [10 x i8] c"value_add\00"
+@.str7836 = private unnamed_addr constant [5 x i8] c"list\00"
+@.str7837 = private unnamed_addr constant [5 x i8] c"item\00"
+@.str7838 = private unnamed_addr constant [4 x i8] c"put\00"
+@.str7839 = private unnamed_addr constant [10 x i8] c"value_put\00"
+@.str7840 = private unnamed_addr constant [4 x i8] c"obj\00"
+@.str7841 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str7842 = private unnamed_addr constant [5 x i8] c"item\00"
+@.str7843 = private unnamed_addr constant [4 x i8] c"get\00"
+@.str7844 = private unnamed_addr constant [10 x i8] c"value_get\00"
+@.str7845 = private unnamed_addr constant [4 x i8] c"obj\00"
+@.str7846 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str7847 = private unnamed_addr constant [4 x i8] c"has\00"
+@.str7848 = private unnamed_addr constant [10 x i8] c"value_has\00"
+@.str7849 = private unnamed_addr constant [4 x i8] c"obj\00"
@.str7850 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7851 = private unnamed_addr constant [9 x i8] c"attr_int\00"
-@.str7852 = private unnamed_addr constant [13 x i8] c"xml_attr_int\00"
-@.str7853 = private unnamed_addr constant [5 x i8] c"node\00"
-@.str7854 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7855 = private unnamed_addr constant [5 x i8] c"dflt\00"
-@.str7856 = private unnamed_addr constant [4 x i8] c"has\00"
-@.str7857 = private unnamed_addr constant [8 x i8] c"xml_has\00"
-@.str7858 = private unnamed_addr constant [5 x i8] c"node\00"
-@.str7859 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str7860 = private unnamed_addr constant [11 x i8] c"attr_count\00"
-@.str7861 = private unnamed_addr constant [15 x i8] c"xml_attr_count\00"
-@.str7862 = private unnamed_addr constant [5 x i8] c"node\00"
-@.str7863 = private unnamed_addr constant [12 x i8] c"child_count\00"
-@.str7864 = private unnamed_addr constant [16 x i8] c"xml_child_count\00"
-@.str7865 = private unnamed_addr constant [5 x i8] c"node\00"
-@.str7866 = private unnamed_addr constant [6 x i8] c"child\00"
-@.str7867 = private unnamed_addr constant [10 x i8] c"xml_child\00"
-@.str7868 = private unnamed_addr constant [5 x i8] c"node\00"
-@.str7869 = private unnamed_addr constant [6 x i8] c"index\00"
-@.str7870 = private unnamed_addr constant [5 x i8] c"find\00"
-@.str7871 = private unnamed_addr constant [9 x i8] c"xml_find\00"
-@.str7872 = private unnamed_addr constant [5 x i8] c"node\00"
-@.str7873 = private unnamed_addr constant [4 x i8] c"tag\00"
-@.str7874 = private unnamed_addr constant [6 x i8] c"count\00"
-@.str7875 = private unnamed_addr constant [10 x i8] c"xml_count\00"
-@.str7876 = private unnamed_addr constant [5 x i8] c"node\00"
-@.str7877 = private unnamed_addr constant [4 x i8] c"tag\00"
-@.str7878 = private unnamed_addr constant [7 x i8] c"Base64\00"
-@.str7879 = private unnamed_addr constant [7 x i8] c"decode\00"
-@.str7880 = private unnamed_addr constant [14 x i8] c"base64_decode\00"
-@.str7881 = private unnamed_addr constant [4 x i8] c"src\00"
-@.str7882 = private unnamed_addr constant [7 x i8] c"encode\00"
-@.str7883 = private unnamed_addr constant [14 x i8] c"base64_encode\00"
-@.str7884 = private unnamed_addr constant [4 x i8] c"src\00"
-@.str7885 = private unnamed_addr constant [6 x i8] c"Tiled\00"
-@.str7886 = private unnamed_addr constant [5 x i8] c"read\00"
-@.str7887 = private unnamed_addr constant [11 x i8] c"tiled_read\00"
-@.str7888 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str7889 = private unnamed_addr constant [9 x i8] c"read_tsx\00"
-@.str7890 = private unnamed_addr constant [15 x i8] c"tiled_read_tsx\00"
-@.str7891 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str7892 = private unnamed_addr constant [5 x i8] c"load\00"
-@.str7893 = private unnamed_addr constant [11 x i8] c"tiled_load\00"
-@.str7894 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str7895 = private unnamed_addr constant [4 x i8] c"gid\00"
-@.str7896 = private unnamed_addr constant [9 x i8] c"tmap_gid\00"
-@.str7897 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7898 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str7899 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str7900 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str7901 = private unnamed_addr constant [8 x i8] c"resolve\00"
-@.str7902 = private unnamed_addr constant [13 x i8] c"tmap_resolve\00"
-@.str7903 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7904 = private unnamed_addr constant [4 x i8] c"gid\00"
-@.str7905 = private unnamed_addr constant [6 x i8] c"width\00"
-@.str7906 = private unnamed_addr constant [11 x i8] c"tmap_width\00"
-@.str7907 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7908 = private unnamed_addr constant [7 x i8] c"height\00"
-@.str7909 = private unnamed_addr constant [12 x i8] c"tmap_height\00"
-@.str7910 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7911 = private unnamed_addr constant [12 x i8] c"layer_count\00"
-@.str7912 = private unnamed_addr constant [17 x i8] c"tmap_layer_count\00"
-@.str7913 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7914 = private unnamed_addr constant [11 x i8] c"layer_name\00"
-@.str7915 = private unnamed_addr constant [16 x i8] c"tmap_layer_name\00"
-@.str7916 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7917 = private unnamed_addr constant [6 x i8] c"index\00"
-@.str7918 = private unnamed_addr constant [5 x i8] c"draw\00"
-@.str7919 = private unnamed_addr constant [10 x i8] c"tmap_draw\00"
-@.str7920 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7921 = private unnamed_addr constant [5 x i8] c"camx\00"
-@.str7922 = private unnamed_addr constant [5 x i8] c"camy\00"
-@.str7923 = private unnamed_addr constant [10 x i8] c"draw_anim\00"
-@.str7924 = private unnamed_addr constant [15 x i8] c"tmap_draw_anim\00"
-@.str7925 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7926 = private unnamed_addr constant [5 x i8] c"camx\00"
-@.str7927 = private unnamed_addr constant [5 x i8] c"camy\00"
-@.str7928 = private unnamed_addr constant [6 x i8] c"frame\00"
-@.str7929 = private unnamed_addr constant [10 x i8] c"frame_gid\00"
-@.str7930 = private unnamed_addr constant [15 x i8] c"tmap_frame_gid\00"
-@.str7931 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7932 = private unnamed_addr constant [4 x i8] c"gid\00"
-@.str7933 = private unnamed_addr constant [6 x i8] c"frame\00"
-@.str7934 = private unnamed_addr constant [9 x i8] c"animated\00"
-@.str7935 = private unnamed_addr constant [17 x i8] c"tmap_is_animated\00"
-@.str7936 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7937 = private unnamed_addr constant [4 x i8] c"gid\00"
-@.str7938 = private unnamed_addr constant [8 x i8] c"project\00"
-@.str7939 = private unnamed_addr constant [13 x i8] c"tmap_project\00"
-@.str7940 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7941 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str7942 = private unnamed_addr constant [8 x i8] c"collide\00"
-@.str7943 = private unnamed_addr constant [13 x i8] c"tmap_collide\00"
+@.str7851 = private unnamed_addr constant [3 x i8] c"at\00"
+@.str7852 = private unnamed_addr constant [9 x i8] c"value_at\00"
+@.str7853 = private unnamed_addr constant [5 x i8] c"list\00"
+@.str7854 = private unnamed_addr constant [6 x i8] c"index\00"
+@.str7855 = private unnamed_addr constant [7 x i8] c"key_at\00"
+@.str7856 = private unnamed_addr constant [13 x i8] c"value_key_at\00"
+@.str7857 = private unnamed_addr constant [4 x i8] c"obj\00"
+@.str7858 = private unnamed_addr constant [6 x i8] c"index\00"
+@.str7859 = private unnamed_addr constant [6 x i8] c"count\00"
+@.str7860 = private unnamed_addr constant [12 x i8] c"value_count\00"
+@.str7861 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7862 = private unnamed_addr constant [5 x i8] c"kind\00"
+@.str7863 = private unnamed_addr constant [11 x i8] c"value_kind\00"
+@.str7864 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7865 = private unnamed_addr constant [7 x i8] c"as_int\00"
+@.str7866 = private unnamed_addr constant [13 x i8] c"value_as_int\00"
+@.str7867 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7868 = private unnamed_addr constant [7 x i8] c"as_str\00"
+@.str7869 = private unnamed_addr constant [13 x i8] c"value_as_str\00"
+@.str7870 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7871 = private unnamed_addr constant [5 x i8] c"Json\00"
+@.str7872 = private unnamed_addr constant [7 x i8] c"encode\00"
+@.str7873 = private unnamed_addr constant [12 x i8] c"json_encode\00"
+@.str7874 = private unnamed_addr constant [6 x i8] c"value\00"
+@.str7875 = private unnamed_addr constant [6 x i8] c"parse\00"
+@.str7876 = private unnamed_addr constant [11 x i8] c"json_parse\00"
+@.str7877 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str7878 = private unnamed_addr constant [4 x i8] c"Xml\00"
+@.str7879 = private unnamed_addr constant [6 x i8] c"parse\00"
+@.str7880 = private unnamed_addr constant [10 x i8] c"xml_parse\00"
+@.str7881 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str7882 = private unnamed_addr constant [4 x i8] c"tag\00"
+@.str7883 = private unnamed_addr constant [8 x i8] c"xml_tag\00"
+@.str7884 = private unnamed_addr constant [5 x i8] c"node\00"
+@.str7885 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str7886 = private unnamed_addr constant [9 x i8] c"xml_text\00"
+@.str7887 = private unnamed_addr constant [5 x i8] c"node\00"
+@.str7888 = private unnamed_addr constant [5 x i8] c"attr\00"
+@.str7889 = private unnamed_addr constant [9 x i8] c"xml_attr\00"
+@.str7890 = private unnamed_addr constant [5 x i8] c"node\00"
+@.str7891 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str7892 = private unnamed_addr constant [9 x i8] c"attr_int\00"
+@.str7893 = private unnamed_addr constant [13 x i8] c"xml_attr_int\00"
+@.str7894 = private unnamed_addr constant [5 x i8] c"node\00"
+@.str7895 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str7896 = private unnamed_addr constant [5 x i8] c"dflt\00"
+@.str7897 = private unnamed_addr constant [4 x i8] c"has\00"
+@.str7898 = private unnamed_addr constant [8 x i8] c"xml_has\00"
+@.str7899 = private unnamed_addr constant [5 x i8] c"node\00"
+@.str7900 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str7901 = private unnamed_addr constant [11 x i8] c"attr_count\00"
+@.str7902 = private unnamed_addr constant [15 x i8] c"xml_attr_count\00"
+@.str7903 = private unnamed_addr constant [5 x i8] c"node\00"
+@.str7904 = private unnamed_addr constant [12 x i8] c"child_count\00"
+@.str7905 = private unnamed_addr constant [16 x i8] c"xml_child_count\00"
+@.str7906 = private unnamed_addr constant [5 x i8] c"node\00"
+@.str7907 = private unnamed_addr constant [6 x i8] c"child\00"
+@.str7908 = private unnamed_addr constant [10 x i8] c"xml_child\00"
+@.str7909 = private unnamed_addr constant [5 x i8] c"node\00"
+@.str7910 = private unnamed_addr constant [6 x i8] c"index\00"
+@.str7911 = private unnamed_addr constant [5 x i8] c"find\00"
+@.str7912 = private unnamed_addr constant [9 x i8] c"xml_find\00"
+@.str7913 = private unnamed_addr constant [5 x i8] c"node\00"
+@.str7914 = private unnamed_addr constant [4 x i8] c"tag\00"
+@.str7915 = private unnamed_addr constant [6 x i8] c"count\00"
+@.str7916 = private unnamed_addr constant [10 x i8] c"xml_count\00"
+@.str7917 = private unnamed_addr constant [5 x i8] c"node\00"
+@.str7918 = private unnamed_addr constant [4 x i8] c"tag\00"
+@.str7919 = private unnamed_addr constant [7 x i8] c"Base64\00"
+@.str7920 = private unnamed_addr constant [7 x i8] c"decode\00"
+@.str7921 = private unnamed_addr constant [14 x i8] c"base64_decode\00"
+@.str7922 = private unnamed_addr constant [4 x i8] c"src\00"
+@.str7923 = private unnamed_addr constant [7 x i8] c"encode\00"
+@.str7924 = private unnamed_addr constant [14 x i8] c"base64_encode\00"
+@.str7925 = private unnamed_addr constant [4 x i8] c"src\00"
+@.str7926 = private unnamed_addr constant [6 x i8] c"Tiled\00"
+@.str7927 = private unnamed_addr constant [5 x i8] c"read\00"
+@.str7928 = private unnamed_addr constant [11 x i8] c"tiled_read\00"
+@.str7929 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str7930 = private unnamed_addr constant [9 x i8] c"read_tsx\00"
+@.str7931 = private unnamed_addr constant [15 x i8] c"tiled_read_tsx\00"
+@.str7932 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str7933 = private unnamed_addr constant [5 x i8] c"load\00"
+@.str7934 = private unnamed_addr constant [11 x i8] c"tiled_load\00"
+@.str7935 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str7936 = private unnamed_addr constant [4 x i8] c"gid\00"
+@.str7937 = private unnamed_addr constant [9 x i8] c"tmap_gid\00"
+@.str7938 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str7939 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str7940 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str7941 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str7942 = private unnamed_addr constant [8 x i8] c"resolve\00"
+@.str7943 = private unnamed_addr constant [13 x i8] c"tmap_resolve\00"
@.str7944 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7945 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str7946 = private unnamed_addr constant [15 x i8] c"collision_kind\00"
-@.str7947 = private unnamed_addr constant [20 x i8] c"tmap_collision_kind\00"
+@.str7945 = private unnamed_addr constant [4 x i8] c"gid\00"
+@.str7946 = private unnamed_addr constant [6 x i8] c"width\00"
+@.str7947 = private unnamed_addr constant [11 x i8] c"tmap_width\00"
@.str7948 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7949 = private unnamed_addr constant [4 x i8] c"gid\00"
-@.str7950 = private unnamed_addr constant [5 x i8] c"tree\00"
-@.str7951 = private unnamed_addr constant [10 x i8] c"tmap_tree\00"
-@.str7952 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7953 = private unnamed_addr constant [10 x i8] c"tile_prop\00"
-@.str7954 = private unnamed_addr constant [15 x i8] c"tmap_tile_prop\00"
-@.str7955 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7956 = private unnamed_addr constant [4 x i8] c"gid\00"
-@.str7957 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str7958 = private unnamed_addr constant [12 x i8] c"tile_shapes\00"
-@.str7959 = private unnamed_addr constant [21 x i8] c"tmap_tile_has_shapes\00"
-@.str7960 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7961 = private unnamed_addr constant [4 x i8] c"gid\00"
-@.str7962 = private unnamed_addr constant [13 x i8] c"object_count\00"
-@.str7963 = private unnamed_addr constant [18 x i8] c"tmap_object_count\00"
-@.str7964 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7965 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str7966 = private unnamed_addr constant [7 x i8] c"object\00"
-@.str7967 = private unnamed_addr constant [12 x i8] c"tmap_object\00"
-@.str7968 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7969 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str7970 = private unnamed_addr constant [6 x i8] c"index\00"
-@.str7971 = private unnamed_addr constant [13 x i8] c"object_shape\00"
-@.str7972 = private unnamed_addr constant [19 x i8] c"tiled_object_shape\00"
-@.str7973 = private unnamed_addr constant [7 x i8] c"object\00"
-@.str7974 = private unnamed_addr constant [5 x i8] c"prop\00"
-@.str7975 = private unnamed_addr constant [15 x i8] c"tiled_prop_str\00"
-@.str7976 = private unnamed_addr constant [10 x i8] c"container\00"
-@.str7977 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str7978 = private unnamed_addr constant [9 x i8] c"prop_int\00"
-@.str7979 = private unnamed_addr constant [15 x i8] c"tiled_prop_int\00"
-@.str7980 = private unnamed_addr constant [10 x i8] c"container\00"
-@.str7981 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str7982 = private unnamed_addr constant [10 x i8] c"prop_type\00"
-@.str7983 = private unnamed_addr constant [16 x i8] c"tiled_prop_type\00"
-@.str7984 = private unnamed_addr constant [10 x i8] c"container\00"
-@.str7985 = private unnamed_addr constant [5 x i8] c"name\00"
-@.str7986 = private unnamed_addr constant [11 x i8] c"load_types\00"
-@.str7987 = private unnamed_addr constant [17 x i8] c"tiled_load_types\00"
-@.str7988 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str7989 = private unnamed_addr constant [9 x i8] c"template\00"
-@.str7990 = private unnamed_addr constant [20 x i8] c"tiled_read_template\00"
-@.str7991 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str7992 = private unnamed_addr constant [6 x i8] c"spawn\00"
-@.str7993 = private unnamed_addr constant [19 x i8] c"tiled_spawn_object\00"
-@.str7994 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str7995 = private unnamed_addr constant [7 x i8] c"object\00"
-@.str7996 = private unnamed_addr constant [6 x i8] c"model\00"
-@.str7997 = private unnamed_addr constant [12 x i8] c"spawn_layer\00"
-@.str7998 = private unnamed_addr constant [18 x i8] c"tiled_spawn_layer\00"
-@.str7999 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str8000 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str8001 = private unnamed_addr constant [6 x i8] c"model\00"
-@.str8002 = private unnamed_addr constant [7 x i8] c"cell_x\00"
-@.str8003 = private unnamed_addr constant [13 x i8] c"tmap_cell_sx\00"
-@.str8004 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str8005 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str8006 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str8007 = private unnamed_addr constant [7 x i8] c"cell_y\00"
-@.str8008 = private unnamed_addr constant [13 x i8] c"tmap_cell_sy\00"
+@.str7949 = private unnamed_addr constant [7 x i8] c"height\00"
+@.str7950 = private unnamed_addr constant [12 x i8] c"tmap_height\00"
+@.str7951 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str7952 = private unnamed_addr constant [12 x i8] c"layer_count\00"
+@.str7953 = private unnamed_addr constant [17 x i8] c"tmap_layer_count\00"
+@.str7954 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str7955 = private unnamed_addr constant [11 x i8] c"layer_name\00"
+@.str7956 = private unnamed_addr constant [16 x i8] c"tmap_layer_name\00"
+@.str7957 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str7958 = private unnamed_addr constant [6 x i8] c"index\00"
+@.str7959 = private unnamed_addr constant [5 x i8] c"draw\00"
+@.str7960 = private unnamed_addr constant [10 x i8] c"tmap_draw\00"
+@.str7961 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str7962 = private unnamed_addr constant [5 x i8] c"camx\00"
+@.str7963 = private unnamed_addr constant [5 x i8] c"camy\00"
+@.str7964 = private unnamed_addr constant [10 x i8] c"draw_anim\00"
+@.str7965 = private unnamed_addr constant [15 x i8] c"tmap_draw_anim\00"
+@.str7966 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str7967 = private unnamed_addr constant [5 x i8] c"camx\00"
+@.str7968 = private unnamed_addr constant [5 x i8] c"camy\00"
+@.str7969 = private unnamed_addr constant [6 x i8] c"frame\00"
+@.str7970 = private unnamed_addr constant [10 x i8] c"frame_gid\00"
+@.str7971 = private unnamed_addr constant [15 x i8] c"tmap_frame_gid\00"
+@.str7972 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str7973 = private unnamed_addr constant [4 x i8] c"gid\00"
+@.str7974 = private unnamed_addr constant [6 x i8] c"frame\00"
+@.str7975 = private unnamed_addr constant [9 x i8] c"animated\00"
+@.str7976 = private unnamed_addr constant [17 x i8] c"tmap_is_animated\00"
+@.str7977 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str7978 = private unnamed_addr constant [4 x i8] c"gid\00"
+@.str7979 = private unnamed_addr constant [8 x i8] c"project\00"
+@.str7980 = private unnamed_addr constant [13 x i8] c"tmap_project\00"
+@.str7981 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str7982 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str7983 = private unnamed_addr constant [8 x i8] c"collide\00"
+@.str7984 = private unnamed_addr constant [13 x i8] c"tmap_collide\00"
+@.str7985 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str7986 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str7987 = private unnamed_addr constant [15 x i8] c"collision_kind\00"
+@.str7988 = private unnamed_addr constant [20 x i8] c"tmap_collision_kind\00"
+@.str7989 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str7990 = private unnamed_addr constant [4 x i8] c"gid\00"
+@.str7991 = private unnamed_addr constant [5 x i8] c"tree\00"
+@.str7992 = private unnamed_addr constant [10 x i8] c"tmap_tree\00"
+@.str7993 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str7994 = private unnamed_addr constant [10 x i8] c"tile_prop\00"
+@.str7995 = private unnamed_addr constant [15 x i8] c"tmap_tile_prop\00"
+@.str7996 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str7997 = private unnamed_addr constant [4 x i8] c"gid\00"
+@.str7998 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str7999 = private unnamed_addr constant [12 x i8] c"tile_shapes\00"
+@.str8000 = private unnamed_addr constant [21 x i8] c"tmap_tile_has_shapes\00"
+@.str8001 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str8002 = private unnamed_addr constant [4 x i8] c"gid\00"
+@.str8003 = private unnamed_addr constant [13 x i8] c"object_count\00"
+@.str8004 = private unnamed_addr constant [18 x i8] c"tmap_object_count\00"
+@.str8005 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str8006 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str8007 = private unnamed_addr constant [7 x i8] c"object\00"
+@.str8008 = private unnamed_addr constant [12 x i8] c"tmap_object\00"
@.str8009 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str8010 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str8011 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str8012 = private unnamed_addr constant [11 x i8] c"layer_kind\00"
-@.str8013 = private unnamed_addr constant [16 x i8] c"tmap_layer_kind\00"
-@.str8014 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str8015 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str8016 = private unnamed_addr constant [14 x i8] c"layer_opacity\00"
-@.str8017 = private unnamed_addr constant [19 x i8] c"tmap_layer_opacity\00"
-@.str8018 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str8019 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str8020 = private unnamed_addr constant [11 x i8] c"layer_tint\00"
-@.str8021 = private unnamed_addr constant [16 x i8] c"tmap_layer_tint\00"
-@.str8022 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str8023 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str8024 = private unnamed_addr constant [14 x i8] c"layer_offsetx\00"
-@.str8025 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsetx\00"
-@.str8026 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str8027 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str8028 = private unnamed_addr constant [14 x i8] c"layer_offsety\00"
-@.str8029 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsety\00"
-@.str8030 = private unnamed_addr constant [4 x i8] c"map\00"
-@.str8031 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str8032 = private unnamed_addr constant [6 x i8] c"world\00"
-@.str8033 = private unnamed_addr constant [17 x i8] c"tiled_read_world\00"
-@.str8034 = private unnamed_addr constant [5 x i8] c"path\00"
-@.str8035 = private unnamed_addr constant [12 x i8] c"world_count\00"
-@.str8036 = private unnamed_addr constant [18 x i8] c"tiled_world_count\00"
-@.str8037 = private unnamed_addr constant [6 x i8] c"world\00"
-@.str8038 = private unnamed_addr constant [10 x i8] c"world_map\00"
-@.str8039 = private unnamed_addr constant [16 x i8] c"tiled_world_map\00"
-@.str8040 = private unnamed_addr constant [6 x i8] c"world\00"
-@.str8041 = private unnamed_addr constant [6 x i8] c"index\00"
-@.str8042 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str8043 = private unnamed_addr constant [2 x i8] c".\00"
-@.str8044 = private unnamed_addr constant [27 x i8] c" is internal to namespace \00"
-@.str8045 = private unnamed_addr constant [17 x i8] c"unknown builtin \00"
-@.str8046 = private unnamed_addr constant [2 x i8] c".\00"
-@.str8047 = private unnamed_addr constant [14 x i8] c"enum variant \00"
-@.str8048 = private unnamed_addr constant [8 x i8] c" takes \00"
-@.str8049 = private unnamed_addr constant [18 x i8] c" payload(s), got \00"
-@.str8050 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
-@.str8051 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8052 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str8053 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8054 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8055 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8056 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00"
-@.str8057 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8058 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8059 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str8060 = private unnamed_addr constant [2 x i8] c" \00"
-@.str8061 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8062 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8063 = private unnamed_addr constant [30 x i8] c"call target is not a function\00"
-@.str8064 = private unnamed_addr constant [5 x i8] c"self\00"
-@.str8065 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8066 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str8067 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8068 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str8069 = private unnamed_addr constant [4 x i8] c"key\00"
-@.str8070 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00"
-@.str8071 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8072 = private unnamed_addr constant [5 x i8] c"save\00"
-@.str8073 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00"
-@.str8074 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8075 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8076 = private unnamed_addr constant [9 x i8] c"ui_build\00"
-@.str8077 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00"
-@.str8078 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8079 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8080 = private unnamed_addr constant [5 x i8] c"load\00"
-@.str8081 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00"
-@.str8082 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str8083 = private unnamed_addr constant [11 x i8] c"world_size\00"
-@.str8084 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00"
-@.str8085 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8086 = private unnamed_addr constant [11 x i8] c"world_save\00"
-@.str8087 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00"
-@.str8088 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8089 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8090 = private unnamed_addr constant [11 x i8] c"world_load\00"
-@.str8091 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00"
-@.str8092 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8093 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8094 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8095 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8096 = private unnamed_addr constant [5 x i8] c"quit\00"
-@.str8097 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00"
-@.str8098 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8099 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8100 = private unnamed_addr constant [10 x i8] c"serialize\00"
-@.str8101 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00"
+@.str8010 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str8011 = private unnamed_addr constant [6 x i8] c"index\00"
+@.str8012 = private unnamed_addr constant [13 x i8] c"object_shape\00"
+@.str8013 = private unnamed_addr constant [19 x i8] c"tiled_object_shape\00"
+@.str8014 = private unnamed_addr constant [7 x i8] c"object\00"
+@.str8015 = private unnamed_addr constant [5 x i8] c"prop\00"
+@.str8016 = private unnamed_addr constant [15 x i8] c"tiled_prop_str\00"
+@.str8017 = private unnamed_addr constant [10 x i8] c"container\00"
+@.str8018 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str8019 = private unnamed_addr constant [9 x i8] c"prop_int\00"
+@.str8020 = private unnamed_addr constant [15 x i8] c"tiled_prop_int\00"
+@.str8021 = private unnamed_addr constant [10 x i8] c"container\00"
+@.str8022 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str8023 = private unnamed_addr constant [10 x i8] c"prop_type\00"
+@.str8024 = private unnamed_addr constant [16 x i8] c"tiled_prop_type\00"
+@.str8025 = private unnamed_addr constant [10 x i8] c"container\00"
+@.str8026 = private unnamed_addr constant [5 x i8] c"name\00"
+@.str8027 = private unnamed_addr constant [11 x i8] c"load_types\00"
+@.str8028 = private unnamed_addr constant [17 x i8] c"tiled_load_types\00"
+@.str8029 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str8030 = private unnamed_addr constant [9 x i8] c"template\00"
+@.str8031 = private unnamed_addr constant [20 x i8] c"tiled_read_template\00"
+@.str8032 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str8033 = private unnamed_addr constant [6 x i8] c"spawn\00"
+@.str8034 = private unnamed_addr constant [19 x i8] c"tiled_spawn_object\00"
+@.str8035 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str8036 = private unnamed_addr constant [7 x i8] c"object\00"
+@.str8037 = private unnamed_addr constant [6 x i8] c"model\00"
+@.str8038 = private unnamed_addr constant [12 x i8] c"spawn_layer\00"
+@.str8039 = private unnamed_addr constant [18 x i8] c"tiled_spawn_layer\00"
+@.str8040 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str8041 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str8042 = private unnamed_addr constant [6 x i8] c"model\00"
+@.str8043 = private unnamed_addr constant [7 x i8] c"cell_x\00"
+@.str8044 = private unnamed_addr constant [13 x i8] c"tmap_cell_sx\00"
+@.str8045 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str8046 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str8047 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str8048 = private unnamed_addr constant [7 x i8] c"cell_y\00"
+@.str8049 = private unnamed_addr constant [13 x i8] c"tmap_cell_sy\00"
+@.str8050 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str8051 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str8052 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str8053 = private unnamed_addr constant [11 x i8] c"layer_kind\00"
+@.str8054 = private unnamed_addr constant [16 x i8] c"tmap_layer_kind\00"
+@.str8055 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str8056 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str8057 = private unnamed_addr constant [14 x i8] c"layer_opacity\00"
+@.str8058 = private unnamed_addr constant [19 x i8] c"tmap_layer_opacity\00"
+@.str8059 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str8060 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str8061 = private unnamed_addr constant [11 x i8] c"layer_tint\00"
+@.str8062 = private unnamed_addr constant [16 x i8] c"tmap_layer_tint\00"
+@.str8063 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str8064 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str8065 = private unnamed_addr constant [14 x i8] c"layer_offsetx\00"
+@.str8066 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsetx\00"
+@.str8067 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str8068 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str8069 = private unnamed_addr constant [14 x i8] c"layer_offsety\00"
+@.str8070 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsety\00"
+@.str8071 = private unnamed_addr constant [4 x i8] c"map\00"
+@.str8072 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str8073 = private unnamed_addr constant [6 x i8] c"world\00"
+@.str8074 = private unnamed_addr constant [17 x i8] c"tiled_read_world\00"
+@.str8075 = private unnamed_addr constant [5 x i8] c"path\00"
+@.str8076 = private unnamed_addr constant [12 x i8] c"world_count\00"
+@.str8077 = private unnamed_addr constant [18 x i8] c"tiled_world_count\00"
+@.str8078 = private unnamed_addr constant [6 x i8] c"world\00"
+@.str8079 = private unnamed_addr constant [10 x i8] c"world_map\00"
+@.str8080 = private unnamed_addr constant [16 x i8] c"tiled_world_map\00"
+@.str8081 = private unnamed_addr constant [6 x i8] c"world\00"
+@.str8082 = private unnamed_addr constant [6 x i8] c"index\00"
+@.str8083 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str8084 = private unnamed_addr constant [2 x i8] c".\00"
+@.str8085 = private unnamed_addr constant [27 x i8] c" is internal to namespace \00"
+@.str8086 = private unnamed_addr constant [17 x i8] c"unknown builtin \00"
+@.str8087 = private unnamed_addr constant [2 x i8] c".\00"
+@.str8088 = private unnamed_addr constant [14 x i8] c"enum variant \00"
+@.str8089 = private unnamed_addr constant [8 x i8] c" takes \00"
+@.str8090 = private unnamed_addr constant [18 x i8] c" payload(s), got \00"
+@.str8091 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
+@.str8092 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8093 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str8094 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8095 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8096 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8097 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00"
+@.str8098 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8099 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8100 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str8101 = private unnamed_addr constant [2 x i8] c" \00"
@.str8102 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8103 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8104 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8105 = private unnamed_addr constant [6 x i8] c"apply\00"
-@.str8106 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00"
-@.str8107 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8108 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8109 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8110 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8111 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8112 = private unnamed_addr constant [10 x i8] c"sync_size\00"
-@.str8113 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00"
-@.str8114 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8115 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8116 = private unnamed_addr constant [6 x i8] c"owner\00"
-@.str8117 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00"
-@.str8118 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8119 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8120 = private unnamed_addr constant [10 x i8] c"set_owner\00"
-@.str8121 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00"
-@.str8122 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8123 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8124 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8125 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8126 = private unnamed_addr constant [9 x i8] c"is_owner\00"
-@.str8127 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00"
-@.str8128 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8129 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str8130 = private unnamed_addr constant [10 x i8] c"is_server\00"
-@.str8131 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00"
-@.str8132 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str8133 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str8134 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str8135 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str8136 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str8137 = private unnamed_addr constant [9 x i8] c"local_id\00"
-@.str8138 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00"
-@.str8139 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8140 = private unnamed_addr constant [9 x i8] c"net_pump\00"
-@.str8141 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00"
-@.str8142 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8143 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8144 = private unnamed_addr constant [11 x i8] c"tick_fixed\00"
-@.str8145 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00"
-@.str8146 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8147 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8148 = private unnamed_addr constant [12 x i8] c"tick_render\00"
-@.str8149 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00"
-@.str8150 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8151 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8152 = private unnamed_addr constant [9 x i8] c"set_role\00"
-@.str8153 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str8154 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00"
-@.str8155 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8156 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8157 = private unnamed_addr constant [13 x i8] c"set_local_id\00"
-@.str8158 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str8159 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00"
-@.str8160 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8161 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8162 = private unnamed_addr constant [9 x i8] c"net_send\00"
-@.str8163 = private unnamed_addr constant [9 x i8] c"net_send\00"
-@.str8164 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00"
-@.str8165 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8166 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8167 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8168 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8169 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8170 = private unnamed_addr constant [9 x i8] c"net_poll\00"
-@.str8171 = private unnamed_addr constant [9 x i8] c"net_poll\00"
-@.str8172 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00"
-@.str8173 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8174 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8175 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8176 = private unnamed_addr constant [4 x i8] c"len\00"
-@.str8177 = private unnamed_addr constant [5 x i8] c"push\00"
-@.str8178 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str8179 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str8180 = private unnamed_addr constant [4 x i8] c"i64\00"
-@.str8181 = private unnamed_addr constant [27 x i8] c"call ptr @fn_long_str(i64 \00"
-@.str8182 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8183 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str8184 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00"
-@.str8185 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8186 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str8187 = private unnamed_addr constant [6 x i8] c"print\00"
-@.str8188 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str8189 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
-@.str8190 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8191 = private unnamed_addr constant [4 x i8] c"i64\00"
-@.str8192 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00"
-@.str8193 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8194 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00"
-@.str8195 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8103 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8104 = private unnamed_addr constant [30 x i8] c"call target is not a function\00"
+@.str8105 = private unnamed_addr constant [5 x i8] c"self\00"
+@.str8106 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8107 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str8108 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8109 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str8110 = private unnamed_addr constant [4 x i8] c"key\00"
+@.str8111 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00"
+@.str8112 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8113 = private unnamed_addr constant [5 x i8] c"save\00"
+@.str8114 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00"
+@.str8115 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8116 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8117 = private unnamed_addr constant [9 x i8] c"ui_build\00"
+@.str8118 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00"
+@.str8119 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8120 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8121 = private unnamed_addr constant [5 x i8] c"load\00"
+@.str8122 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00"
+@.str8123 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str8124 = private unnamed_addr constant [11 x i8] c"world_size\00"
+@.str8125 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00"
+@.str8126 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8127 = private unnamed_addr constant [11 x i8] c"world_save\00"
+@.str8128 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00"
+@.str8129 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8130 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8131 = private unnamed_addr constant [11 x i8] c"world_load\00"
+@.str8132 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00"
+@.str8133 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8134 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8135 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8136 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8137 = private unnamed_addr constant [5 x i8] c"quit\00"
+@.str8138 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00"
+@.str8139 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8140 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8141 = private unnamed_addr constant [10 x i8] c"serialize\00"
+@.str8142 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00"
+@.str8143 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8144 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8145 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8146 = private unnamed_addr constant [6 x i8] c"apply\00"
+@.str8147 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00"
+@.str8148 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8149 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8150 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8151 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8152 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8153 = private unnamed_addr constant [10 x i8] c"sync_size\00"
+@.str8154 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00"
+@.str8155 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8156 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8157 = private unnamed_addr constant [6 x i8] c"owner\00"
+@.str8158 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00"
+@.str8159 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8160 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8161 = private unnamed_addr constant [10 x i8] c"set_owner\00"
+@.str8162 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00"
+@.str8163 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8164 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8165 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8166 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8167 = private unnamed_addr constant [9 x i8] c"is_owner\00"
+@.str8168 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00"
+@.str8169 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8170 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str8171 = private unnamed_addr constant [10 x i8] c"is_server\00"
+@.str8172 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00"
+@.str8173 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str8174 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str8175 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str8176 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str8177 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str8178 = private unnamed_addr constant [9 x i8] c"local_id\00"
+@.str8179 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00"
+@.str8180 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8181 = private unnamed_addr constant [9 x i8] c"net_pump\00"
+@.str8182 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00"
+@.str8183 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8184 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8185 = private unnamed_addr constant [11 x i8] c"tick_fixed\00"
+@.str8186 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00"
+@.str8187 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8188 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8189 = private unnamed_addr constant [12 x i8] c"tick_render\00"
+@.str8190 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00"
+@.str8191 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8192 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8193 = private unnamed_addr constant [9 x i8] c"set_role\00"
+@.str8194 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str8195 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00"
@.str8196 = private unnamed_addr constant [2 x i8] c"0\00"
@.str8197 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8198 = private unnamed_addr constant [6 x i8] c"bytes\00"
-@.str8199 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str8200 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str8201 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
-@.str8202 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8203 = private unnamed_addr constant [8 x i8] c"pointer\00"
-@.str8204 = private unnamed_addr constant [6 x i8] c"words\00"
-@.str8205 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
-@.str8206 = private unnamed_addr constant [4 x i8] c", 4\00"
-@.str8207 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
-@.str8208 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str8209 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
-@.str8210 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8211 = private unnamed_addr constant [6 x i8] c"words\00"
-@.str8212 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str8213 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
-@.str8214 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str8215 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str8216 = private unnamed_addr constant [6 x i8] c"floor\00"
-@.str8217 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
-@.str8218 = private unnamed_addr constant [5 x i8] c", 16\00"
-@.str8219 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8220 = private unnamed_addr constant [7 x i8] c"expect\00"
-@.str8221 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str8222 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8223 = private unnamed_addr constant [2 x i8] c":\00"
-@.str8224 = private unnamed_addr constant [16 x i8] c": expect failed\00"
-@.str8225 = private unnamed_addr constant [1 x i8] c"\00"
-@.str8226 = private unnamed_addr constant [1 x i8] c"\00"
-@.str8227 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8228 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8229 = private unnamed_addr constant [10 x i8] c"expect_eq\00"
-@.str8230 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str8231 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8232 = private unnamed_addr constant [2 x i8] c":\00"
-@.str8233 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00"
-@.str8234 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8235 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8236 = private unnamed_addr constant [12 x i8] c"expect_near\00"
-@.str8237 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str8238 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8239 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
-@.str8240 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str8241 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8242 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str8243 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8244 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8245 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
-@.str8246 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8247 = private unnamed_addr constant [2 x i8] c":\00"
-@.str8248 = private unnamed_addr constant [21 x i8] c": expect_near failed\00"
-@.str8249 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8250 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8251 = private unnamed_addr constant [6 x i8] c"panic\00"
-@.str8252 = private unnamed_addr constant [2 x i8] c":\00"
-@.str8253 = private unnamed_addr constant [10 x i8] c": panic: \00"
-@.str8254 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00"
-@.str8255 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00"
-@.str8256 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00"
-@.str8257 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8258 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8259 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00"
-@.str8260 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8261 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8262 = private unnamed_addr constant [7 x i8] c"assert\00"
-@.str8263 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str8264 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8265 = private unnamed_addr constant [5 x i8] c"asok\00"
-@.str8266 = private unnamed_addr constant [6 x i8] c"asbad\00"
-@.str8267 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str8268 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8269 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8270 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8271 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8272 = private unnamed_addr constant [2 x i8] c":\00"
-@.str8273 = private unnamed_addr constant [21 x i8] c": assertion failed: \00"
-@.str8274 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00"
-@.str8275 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00"
-@.str8276 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00"
-@.str8277 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8278 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8279 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00"
-@.str8280 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8281 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8282 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8283 = private unnamed_addr constant [3 x i8] c"ok\00"
-@.str8284 = private unnamed_addr constant [3 x i8] c"ok\00"
-@.str8285 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00"
-@.str8286 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
-@.str8287 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
-@.str8288 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00"
-@.str8289 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8290 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
-@.str8291 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
-@.str8292 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str8293 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8294 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8295 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8296 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
-@.str8297 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00"
-@.str8298 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00"
-@.str8299 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8300 = private unnamed_addr constant [7 x i8] c"result\00"
-@.str8301 = private unnamed_addr constant [4 x i8] c"err\00"
-@.str8302 = private unnamed_addr constant [4 x i8] c"err\00"
-@.str8303 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00"
-@.str8304 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
-@.str8305 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
-@.str8306 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
-@.str8307 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8308 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
-@.str8309 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
-@.str8310 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
+@.str8198 = private unnamed_addr constant [13 x i8] c"set_local_id\00"
+@.str8199 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str8200 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00"
+@.str8201 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8202 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8203 = private unnamed_addr constant [9 x i8] c"net_send\00"
+@.str8204 = private unnamed_addr constant [9 x i8] c"net_send\00"
+@.str8205 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00"
+@.str8206 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8207 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8208 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8209 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8210 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8211 = private unnamed_addr constant [9 x i8] c"net_poll\00"
+@.str8212 = private unnamed_addr constant [9 x i8] c"net_poll\00"
+@.str8213 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00"
+@.str8214 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8215 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8216 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8217 = private unnamed_addr constant [4 x i8] c"len\00"
+@.str8218 = private unnamed_addr constant [5 x i8] c"push\00"
+@.str8219 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str8220 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str8221 = private unnamed_addr constant [4 x i8] c"i64\00"
+@.str8222 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00"
+@.str8223 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8224 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str8225 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00"
+@.str8226 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8227 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str8228 = private unnamed_addr constant [6 x i8] c"print\00"
+@.str8229 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str8230 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
+@.str8231 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8232 = private unnamed_addr constant [4 x i8] c"i64\00"
+@.str8233 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00"
+@.str8234 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8235 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00"
+@.str8236 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8237 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8238 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8239 = private unnamed_addr constant [6 x i8] c"bytes\00"
+@.str8240 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str8241 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str8242 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
+@.str8243 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8244 = private unnamed_addr constant [8 x i8] c"pointer\00"
+@.str8245 = private unnamed_addr constant [6 x i8] c"words\00"
+@.str8246 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
+@.str8247 = private unnamed_addr constant [4 x i8] c", 4\00"
+@.str8248 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
+@.str8249 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str8250 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
+@.str8251 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8252 = private unnamed_addr constant [6 x i8] c"words\00"
+@.str8253 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str8254 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
+@.str8255 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str8256 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str8257 = private unnamed_addr constant [6 x i8] c"floor\00"
+@.str8258 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
+@.str8259 = private unnamed_addr constant [5 x i8] c", 16\00"
+@.str8260 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8261 = private unnamed_addr constant [7 x i8] c"expect\00"
+@.str8262 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str8263 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8264 = private unnamed_addr constant [2 x i8] c":\00"
+@.str8265 = private unnamed_addr constant [16 x i8] c": expect failed\00"
+@.str8266 = private unnamed_addr constant [1 x i8] c"\00"
+@.str8267 = private unnamed_addr constant [1 x i8] c"\00"
+@.str8268 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8269 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8270 = private unnamed_addr constant [10 x i8] c"expect_eq\00"
+@.str8271 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str8272 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8273 = private unnamed_addr constant [2 x i8] c":\00"
+@.str8274 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00"
+@.str8275 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8276 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8277 = private unnamed_addr constant [12 x i8] c"expect_near\00"
+@.str8278 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str8279 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8280 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
+@.str8281 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str8282 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8283 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str8284 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8285 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8286 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
+@.str8287 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8288 = private unnamed_addr constant [2 x i8] c":\00"
+@.str8289 = private unnamed_addr constant [21 x i8] c": expect_near failed\00"
+@.str8290 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8291 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8292 = private unnamed_addr constant [6 x i8] c"panic\00"
+@.str8293 = private unnamed_addr constant [2 x i8] c":\00"
+@.str8294 = private unnamed_addr constant [10 x i8] c": panic: \00"
+@.str8295 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00"
+@.str8296 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00"
+@.str8297 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00"
+@.str8298 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8299 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8300 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00"
+@.str8301 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8302 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8303 = private unnamed_addr constant [7 x i8] c"assert\00"
+@.str8304 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str8305 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8306 = private unnamed_addr constant [5 x i8] c"asok\00"
+@.str8307 = private unnamed_addr constant [6 x i8] c"asbad\00"
+@.str8308 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str8309 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8310 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str8311 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8312 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
-@.str8313 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00"
-@.str8314 = private unnamed_addr constant [13 x i8] c" store ptr \00"
-@.str8315 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8316 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8317 = private unnamed_addr constant [7 x i8] c"result\00"
-@.str8318 = private unnamed_addr constant [6 x i8] c"is_ok\00"
-@.str8319 = private unnamed_addr constant [6 x i8] c"is_ok\00"
-@.str8320 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
-@.str8321 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
-@.str8322 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8323 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str8324 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8325 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str8326 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str8327 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str8328 = private unnamed_addr constant [7 x i8] c"is_err\00"
-@.str8329 = private unnamed_addr constant [7 x i8] c"is_err\00"
-@.str8330 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
-@.str8331 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
-@.str8332 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8333 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str8334 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8335 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str8336 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str8337 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str8338 = private unnamed_addr constant [5 x i8] c"some\00"
-@.str8339 = private unnamed_addr constant [5 x i8] c"some\00"
-@.str8340 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00"
-@.str8341 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
-@.str8342 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
-@.str8343 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00"
-@.str8344 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8345 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
-@.str8346 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
-@.str8347 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str8348 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8349 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8350 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8351 = private unnamed_addr constant [7 x i8] c"option\00"
-@.str8352 = private unnamed_addr constant [5 x i8] c"none\00"
-@.str8353 = private unnamed_addr constant [5 x i8] c"none\00"
-@.str8354 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00"
-@.str8355 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
-@.str8356 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
-@.str8357 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
-@.str8358 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8359 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
-@.str8360 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
-@.str8361 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
-@.str8362 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8363 = private unnamed_addr constant [7 x i8] c"option\00"
-@.str8364 = private unnamed_addr constant [8 x i8] c"is_some\00"
-@.str8365 = private unnamed_addr constant [8 x i8] c"is_some\00"
-@.str8366 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
-@.str8367 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
-@.str8368 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8369 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str8370 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8371 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str8372 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str8373 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str8374 = private unnamed_addr constant [8 x i8] c"is_none\00"
-@.str8375 = private unnamed_addr constant [8 x i8] c"is_none\00"
-@.str8376 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
-@.str8377 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
-@.str8378 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8379 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str8380 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8381 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str8382 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str8383 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str8384 = private unnamed_addr constant [10 x i8] c"unwrap_or\00"
-@.str8385 = private unnamed_addr constant [10 x i8] c"unwrap_or\00"
+@.str8312 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8313 = private unnamed_addr constant [2 x i8] c":\00"
+@.str8314 = private unnamed_addr constant [21 x i8] c": assertion failed: \00"
+@.str8315 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00"
+@.str8316 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00"
+@.str8317 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00"
+@.str8318 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8319 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8320 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00"
+@.str8321 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8322 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8323 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8324 = private unnamed_addr constant [3 x i8] c"ok\00"
+@.str8325 = private unnamed_addr constant [3 x i8] c"ok\00"
+@.str8326 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00"
+@.str8327 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
+@.str8328 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
+@.str8329 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00"
+@.str8330 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8331 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
+@.str8332 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
+@.str8333 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str8334 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8335 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8336 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8337 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
+@.str8338 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00"
+@.str8339 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00"
+@.str8340 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8341 = private unnamed_addr constant [7 x i8] c"result\00"
+@.str8342 = private unnamed_addr constant [4 x i8] c"err\00"
+@.str8343 = private unnamed_addr constant [4 x i8] c"err\00"
+@.str8344 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00"
+@.str8345 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
+@.str8346 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
+@.str8347 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
+@.str8348 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8349 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
+@.str8350 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
+@.str8351 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
+@.str8352 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8353 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
+@.str8354 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00"
+@.str8355 = private unnamed_addr constant [13 x i8] c" store ptr \00"
+@.str8356 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8357 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8358 = private unnamed_addr constant [7 x i8] c"result\00"
+@.str8359 = private unnamed_addr constant [6 x i8] c"is_ok\00"
+@.str8360 = private unnamed_addr constant [6 x i8] c"is_ok\00"
+@.str8361 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
+@.str8362 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
+@.str8363 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8364 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str8365 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8366 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str8367 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str8368 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str8369 = private unnamed_addr constant [7 x i8] c"is_err\00"
+@.str8370 = private unnamed_addr constant [7 x i8] c"is_err\00"
+@.str8371 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
+@.str8372 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
+@.str8373 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8374 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str8375 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8376 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str8377 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str8378 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str8379 = private unnamed_addr constant [5 x i8] c"some\00"
+@.str8380 = private unnamed_addr constant [5 x i8] c"some\00"
+@.str8381 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00"
+@.str8382 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
+@.str8383 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
+@.str8384 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00"
+@.str8385 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8386 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
-@.str8387 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
-@.str8388 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8389 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
-@.str8390 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
-@.str8391 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8392 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str8393 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8394 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str8395 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8396 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8397 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8398 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8399 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
-@.str8400 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00"
-@.str8401 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8402 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8403 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
-@.str8404 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00"
-@.str8405 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8406 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8407 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8408 = private unnamed_addr constant [10 x i8] c"world_get\00"
-@.str8409 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00"
-@.str8410 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8411 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8412 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8413 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
-@.str8414 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str8415 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8416 = private unnamed_addr constant [10 x i8] c"world_set\00"
-@.str8417 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
-@.str8418 = private unnamed_addr constant [8 x i8] c" to i64\00"
-@.str8419 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00"
-@.str8420 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8421 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8422 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str8423 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8424 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8425 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8426 = private unnamed_addr constant [10 x i8] c"world_has\00"
-@.str8427 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00"
-@.str8428 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8429 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8430 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8431 = private unnamed_addr constant [12 x i8] c"world_count\00"
-@.str8432 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00"
-@.str8433 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8434 = private unnamed_addr constant [11 x i8] c"world_kind\00"
-@.str8435 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00"
-@.str8436 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8437 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8438 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
-@.str8439 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00"
-@.str8440 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8441 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8442 = private unnamed_addr constant [17 x i8] c"world_query_next\00"
-@.str8443 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00"
-@.str8444 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8445 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8446 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8447 = private unnamed_addr constant [20 x i8] c"world_register_prop\00"
-@.str8448 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00"
-@.str8449 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8450 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8451 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8452 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00"
-@.str8453 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00"
-@.str8454 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8455 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8456 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8457 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8458 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00"
-@.str8459 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00"
-@.str8460 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8461 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8462 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8463 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8464 = private unnamed_addr constant [12 x i8] c"world_spawn\00"
-@.str8465 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00"
-@.str8466 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8467 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8468 = private unnamed_addr constant [17 x i8] c"world_prop_count\00"
-@.str8469 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00"
-@.str8470 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8471 = private unnamed_addr constant [16 x i8] c"world_prop_name\00"
-@.str8472 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00"
-@.str8473 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8474 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str8475 = private unnamed_addr constant [18 x i8] c"world_field_count\00"
-@.str8476 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00"
+@.str8387 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
+@.str8388 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str8389 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8390 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8391 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8392 = private unnamed_addr constant [7 x i8] c"option\00"
+@.str8393 = private unnamed_addr constant [5 x i8] c"none\00"
+@.str8394 = private unnamed_addr constant [5 x i8] c"none\00"
+@.str8395 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00"
+@.str8396 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
+@.str8397 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
+@.str8398 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
+@.str8399 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8400 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
+@.str8401 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
+@.str8402 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
+@.str8403 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8404 = private unnamed_addr constant [7 x i8] c"option\00"
+@.str8405 = private unnamed_addr constant [8 x i8] c"is_some\00"
+@.str8406 = private unnamed_addr constant [8 x i8] c"is_some\00"
+@.str8407 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
+@.str8408 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
+@.str8409 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8410 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str8411 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8412 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str8413 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str8414 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str8415 = private unnamed_addr constant [8 x i8] c"is_none\00"
+@.str8416 = private unnamed_addr constant [8 x i8] c"is_none\00"
+@.str8417 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
+@.str8418 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
+@.str8419 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8420 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str8421 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8422 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str8423 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str8424 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str8425 = private unnamed_addr constant [10 x i8] c"unwrap_or\00"
+@.str8426 = private unnamed_addr constant [10 x i8] c"unwrap_or\00"
+@.str8427 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
+@.str8428 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
+@.str8429 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8430 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00"
+@.str8431 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
+@.str8432 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8433 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str8434 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8435 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str8436 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8437 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8438 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8439 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8440 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
+@.str8441 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00"
+@.str8442 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8443 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8444 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
+@.str8445 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00"
+@.str8446 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8447 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8448 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8449 = private unnamed_addr constant [10 x i8] c"world_get\00"
+@.str8450 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00"
+@.str8451 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8452 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8453 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8454 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
+@.str8455 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str8456 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8457 = private unnamed_addr constant [10 x i8] c"world_set\00"
+@.str8458 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
+@.str8459 = private unnamed_addr constant [8 x i8] c" to i64\00"
+@.str8460 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00"
+@.str8461 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8462 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8463 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str8464 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8465 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8466 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8467 = private unnamed_addr constant [10 x i8] c"world_has\00"
+@.str8468 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00"
+@.str8469 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8470 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8471 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8472 = private unnamed_addr constant [12 x i8] c"world_count\00"
+@.str8473 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00"
+@.str8474 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8475 = private unnamed_addr constant [11 x i8] c"world_kind\00"
+@.str8476 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00"
@.str8477 = private unnamed_addr constant [2 x i8] c")\00"
@.str8478 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8479 = private unnamed_addr constant [17 x i8] c"world_field_name\00"
-@.str8480 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00"
-@.str8481 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8482 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8483 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str8484 = private unnamed_addr constant [17 x i8] c"world_field_type\00"
-@.str8485 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00"
-@.str8486 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8487 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8488 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str8489 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8490 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8491 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8492 = private unnamed_addr constant [4 x i8] c" = \00"
-@.str8493 = private unnamed_addr constant [6 x i8] c"call \00"
-@.str8494 = private unnamed_addr constant [3 x i8] c" @\00"
-@.str8495 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str8496 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8497 = private unnamed_addr constant [2 x i8] c" \00"
-@.str8498 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8499 = private unnamed_addr constant [4 x i8] c"rt_\00"
-@.str8500 = private unnamed_addr constant [18 x i8] c"unknown function \00"
-@.str8501 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8502 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8503 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str8504 = private unnamed_addr constant [4 x i8] c" = \00"
-@.str8505 = private unnamed_addr constant [6 x i8] c"call \00"
-@.str8506 = private unnamed_addr constant [6 x i8] c" @fn_\00"
-@.str8507 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str8508 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8509 = private unnamed_addr constant [2 x i8] c" \00"
-@.str8510 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8511 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8512 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8513 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8514 = private unnamed_addr constant [6 x i8] c"fixed\00"
-@.str8515 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str8516 = private unnamed_addr constant [5 x i8] c"null\00"
-@.str8517 = private unnamed_addr constant [8 x i8] c"pointer\00"
-@.str8518 = private unnamed_addr constant [7 x i8] c"entity\00"
-@.str8519 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00"
-@.str8520 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8521 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8522 = private unnamed_addr constant [2 x i8] c")\00"
-@.str8523 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str8479 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
+@.str8480 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00"
+@.str8481 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8482 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8483 = private unnamed_addr constant [17 x i8] c"world_query_next\00"
+@.str8484 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00"
+@.str8485 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8486 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8487 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8488 = private unnamed_addr constant [20 x i8] c"world_register_prop\00"
+@.str8489 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00"
+@.str8490 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8491 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8492 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8493 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00"
+@.str8494 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00"
+@.str8495 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8496 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8497 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8498 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8499 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00"
+@.str8500 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00"
+@.str8501 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8502 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8503 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8504 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8505 = private unnamed_addr constant [12 x i8] c"world_spawn\00"
+@.str8506 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00"
+@.str8507 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8508 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8509 = private unnamed_addr constant [17 x i8] c"world_prop_count\00"
+@.str8510 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00"
+@.str8511 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8512 = private unnamed_addr constant [16 x i8] c"world_prop_name\00"
+@.str8513 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00"
+@.str8514 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8515 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str8516 = private unnamed_addr constant [18 x i8] c"world_field_count\00"
+@.str8517 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00"
+@.str8518 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8519 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8520 = private unnamed_addr constant [17 x i8] c"world_field_name\00"
+@.str8521 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00"
+@.str8522 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8523 = private unnamed_addr constant [2 x i8] c")\00"
@.str8524 = private unnamed_addr constant [7 x i8] c"string\00"
-@.str8525 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str8526 = private unnamed_addr constant [10 x i8] c", ptr @g_\00"
-@.str8527 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8528 = private unnamed_addr constant [20 x i8] c"unknown identifier \00"
-@.str8529 = private unnamed_addr constant [6 x i8] c"Color\00"
-@.str8530 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00"
-@.str8531 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8532 = private unnamed_addr constant [4 x i8] c"Key\00"
-@.str8533 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00"
-@.str8534 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8535 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8536 = private unnamed_addr constant [6 x i8] c"IVec2\00"
-@.str8537 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str8538 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str8539 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str8540 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8541 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8542 = private unnamed_addr constant [5 x i8] c"byte\00"
-@.str8543 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
-@.str8544 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
-@.str8545 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str8546 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8547 = private unnamed_addr constant [4 x i8] c"i64\00"
-@.str8548 = private unnamed_addr constant [2 x i8] c"-\00"
-@.str8549 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00"
-@.str8550 = private unnamed_addr constant [5 x i8] c"long\00"
-@.str8551 = private unnamed_addr constant [2 x i8] c"~\00"
-@.str8552 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
-@.str8553 = private unnamed_addr constant [5 x i8] c", -1\00"
-@.str8554 = private unnamed_addr constant [5 x i8] c"long\00"
-@.str8555 = private unnamed_addr constant [2 x i8] c"-\00"
-@.str8556 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
-@.str8557 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8558 = private unnamed_addr constant [2 x i8] c"~\00"
-@.str8559 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
-@.str8560 = private unnamed_addr constant [5 x i8] c", -1\00"
-@.str8561 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8562 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str8563 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8564 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
-@.str8565 = private unnamed_addr constant [8 x i8] c" to i32\00"
-@.str8566 = private unnamed_addr constant [5 x i8] c"bool\00"
-@.str8567 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00"
-@.str8568 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8569 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8570 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str8571 = private unnamed_addr constant [2 x i8] c" \00"
-@.str8572 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8573 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8574 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8525 = private unnamed_addr constant [17 x i8] c"world_field_type\00"
+@.str8526 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00"
+@.str8527 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8528 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8529 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str8530 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8531 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8532 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8533 = private unnamed_addr constant [4 x i8] c" = \00"
+@.str8534 = private unnamed_addr constant [6 x i8] c"call \00"
+@.str8535 = private unnamed_addr constant [3 x i8] c" @\00"
+@.str8536 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str8537 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8538 = private unnamed_addr constant [2 x i8] c" \00"
+@.str8539 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8540 = private unnamed_addr constant [4 x i8] c"rt_\00"
+@.str8541 = private unnamed_addr constant [18 x i8] c"unknown function \00"
+@.str8542 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8543 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8544 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str8545 = private unnamed_addr constant [4 x i8] c" = \00"
+@.str8546 = private unnamed_addr constant [6 x i8] c"call \00"
+@.str8547 = private unnamed_addr constant [6 x i8] c" @fn_\00"
+@.str8548 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str8549 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8550 = private unnamed_addr constant [2 x i8] c" \00"
+@.str8551 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8552 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8553 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8554 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8555 = private unnamed_addr constant [6 x i8] c"fixed\00"
+@.str8556 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str8557 = private unnamed_addr constant [5 x i8] c"null\00"
+@.str8558 = private unnamed_addr constant [8 x i8] c"pointer\00"
+@.str8559 = private unnamed_addr constant [7 x i8] c"entity\00"
+@.str8560 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00"
+@.str8561 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8562 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8563 = private unnamed_addr constant [2 x i8] c")\00"
+@.str8564 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str8565 = private unnamed_addr constant [7 x i8] c"string\00"
+@.str8566 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str8567 = private unnamed_addr constant [10 x i8] c", ptr @g_\00"
+@.str8568 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8569 = private unnamed_addr constant [20 x i8] c"unknown identifier \00"
+@.str8570 = private unnamed_addr constant [6 x i8] c"Color\00"
+@.str8571 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00"
+@.str8572 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8573 = private unnamed_addr constant [4 x i8] c"Key\00"
+@.str8574 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00"
@.str8575 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8576 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00"
-@.str8577 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00"
-@.str8578 = private unnamed_addr constant [19 x i8] c"assign to unknown \00"
-@.str8579 = private unnamed_addr constant [4 x i8] c"@g_\00"
-@.str8580 = private unnamed_addr constant [22 x i8] c"bad assignment target\00"
-@.str8581 = private unnamed_addr constant [3 x i8] c"i8\00"
-@.str8582 = private unnamed_addr constant [11 x i8] c"trunc i32 \00"
-@.str8583 = private unnamed_addr constant [7 x i8] c" to i8\00"
-@.str8584 = private unnamed_addr constant [2 x i8] c"=\00"
-@.str8585 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str8586 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8587 = private unnamed_addr constant [4 x i8] c"add\00"
-@.str8588 = private unnamed_addr constant [3 x i8] c"-=\00"
-@.str8589 = private unnamed_addr constant [4 x i8] c"sub\00"
-@.str8590 = private unnamed_addr constant [3 x i8] c"*=\00"
-@.str8591 = private unnamed_addr constant [4 x i8] c"mul\00"
-@.str8592 = private unnamed_addr constant [3 x i8] c"/=\00"
-@.str8593 = private unnamed_addr constant [5 x i8] c"sdiv\00"
-@.str8594 = private unnamed_addr constant [2 x i8] c" \00"
-@.str8595 = private unnamed_addr constant [2 x i8] c" \00"
-@.str8596 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8597 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str8598 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8599 = private unnamed_addr constant [5 x i8] c"then\00"
-@.str8600 = private unnamed_addr constant [5 x i8] c"else\00"
-@.str8601 = private unnamed_addr constant [6 x i8] c"ifend\00"
-@.str8602 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str8603 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8604 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8605 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8606 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str8607 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8608 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8609 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8610 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8611 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8576 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8577 = private unnamed_addr constant [6 x i8] c"IVec2\00"
+@.str8578 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str8579 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str8580 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str8581 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8582 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8583 = private unnamed_addr constant [5 x i8] c"byte\00"
+@.str8584 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
+@.str8585 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
+@.str8586 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str8587 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8588 = private unnamed_addr constant [4 x i8] c"i64\00"
+@.str8589 = private unnamed_addr constant [2 x i8] c"-\00"
+@.str8590 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00"
+@.str8591 = private unnamed_addr constant [5 x i8] c"long\00"
+@.str8592 = private unnamed_addr constant [2 x i8] c"~\00"
+@.str8593 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
+@.str8594 = private unnamed_addr constant [5 x i8] c", -1\00"
+@.str8595 = private unnamed_addr constant [5 x i8] c"long\00"
+@.str8596 = private unnamed_addr constant [2 x i8] c"-\00"
+@.str8597 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
+@.str8598 = private unnamed_addr constant [2 x i8] c"~\00"
+@.str8599 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
+@.str8600 = private unnamed_addr constant [5 x i8] c", -1\00"
+@.str8601 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str8602 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8603 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
+@.str8604 = private unnamed_addr constant [8 x i8] c" to i32\00"
+@.str8605 = private unnamed_addr constant [5 x i8] c"bool\00"
+@.str8606 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00"
+@.str8607 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8608 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8609 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str8610 = private unnamed_addr constant [2 x i8] c" \00"
+@.str8611 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str8612 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8613 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8614 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str8615 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8616 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8617 = private unnamed_addr constant [6 x i8] c"wcond\00"
-@.str8618 = private unnamed_addr constant [6 x i8] c"wbody\00"
-@.str8619 = private unnamed_addr constant [5 x i8] c"wend\00"
-@.str8620 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str8621 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8622 = private unnamed_addr constant [3 x i8] c":\0A\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 [9 x i8] c" br i1 \00"
-@.str8626 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8627 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8628 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8629 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8630 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str8631 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8632 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8633 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str8634 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str8635 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8636 = private unnamed_addr constant [6 x i8] c"fcond\00"
-@.str8637 = private unnamed_addr constant [6 x i8] c"fbody\00"
-@.str8638 = private unnamed_addr constant [6 x i8] c"fcont\00"
-@.str8639 = private unnamed_addr constant [5 x i8] c"fend\00"
+@.str8613 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8614 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8615 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00"
+@.str8616 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00"
+@.str8617 = private unnamed_addr constant [19 x i8] c"assign to unknown \00"
+@.str8618 = private unnamed_addr constant [4 x i8] c"@g_\00"
+@.str8619 = private unnamed_addr constant [22 x i8] c"bad assignment target\00"
+@.str8620 = private unnamed_addr constant [2 x i8] c"=\00"
+@.str8621 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str8622 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8623 = private unnamed_addr constant [3 x i8] c"i8\00"
+@.str8624 = private unnamed_addr constant [11 x i8] c"trunc i32 \00"
+@.str8625 = private unnamed_addr constant [7 x i8] c" to i8\00"
+@.str8626 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str8627 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8628 = private unnamed_addr constant [5 x i8] c"then\00"
+@.str8629 = private unnamed_addr constant [5 x i8] c"else\00"
+@.str8630 = private unnamed_addr constant [6 x i8] c"ifend\00"
+@.str8631 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str8632 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8633 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8634 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8635 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str8636 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8637 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8638 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8639 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8640 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str8641 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8642 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8643 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8644 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str8645 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8646 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str8647 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8648 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8649 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8650 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8651 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str8652 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8653 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8654 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8655 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str8656 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str8657 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str8658 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str8659 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8660 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8661 = private unnamed_addr constant [8 x i8] c"%retval\00"
-@.str8662 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
-@.str8663 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str8664 = private unnamed_addr constant [8 x i8] c"match: \00"
-@.str8665 = private unnamed_addr constant [8 x i8] c" binds \00"
-@.str8666 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00"
-@.str8667 = private unnamed_addr constant [8 x i8] c"match: \00"
-@.str8668 = private unnamed_addr constant [10 x i8] c" payload \00"
-@.str8669 = private unnamed_addr constant [24 x i8] c" must be a binding name\00"
-@.str8670 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8671 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00"
-@.str8672 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str8673 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8674 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str8675 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8676 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8677 = private unnamed_addr constant [5 x i8] c"mend\00"
-@.str8678 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8679 = private unnamed_addr constant [8 x i8] c"match: \00"
-@.str8680 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00"
-@.str8681 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str8682 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8683 = private unnamed_addr constant [7 x i8] c"or i1 \00"
-@.str8684 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8685 = private unnamed_addr constant [6 x i8] c"mbody\00"
-@.str8686 = private unnamed_addr constant [5 x i8] c"marm\00"
-@.str8687 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str8688 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8689 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8690 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8691 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8692 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str8693 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8694 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8695 = private unnamed_addr constant [10 x i8] c"match on \00"
-@.str8696 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00"
-@.str8697 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00"
-@.str8698 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str8699 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8700 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8701 = private unnamed_addr constant [5 x i8] c"mend\00"
-@.str8702 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8703 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str8704 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8705 = private unnamed_addr constant [7 x i8] c"or i1 \00"
-@.str8706 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8707 = private unnamed_addr constant [6 x i8] c"mbody\00"
-@.str8708 = private unnamed_addr constant [5 x i8] c"marm\00"
-@.str8709 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str8710 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8711 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8712 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8713 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8714 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str8715 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8716 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8717 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str8718 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8719 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8720 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00"
-@.str8721 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8722 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str8723 = private unnamed_addr constant [5 x i8] c"null\00"
-@.str8724 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8725 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00"
-@.str8726 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str8727 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8643 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8644 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8645 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8646 = private unnamed_addr constant [6 x i8] c"wcond\00"
+@.str8647 = private unnamed_addr constant [6 x i8] c"wbody\00"
+@.str8648 = private unnamed_addr constant [5 x i8] c"wend\00"
+@.str8649 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8650 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8651 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8652 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str8653 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8654 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str8655 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8656 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8657 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8658 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8659 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8660 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8661 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8662 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str8663 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str8664 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8665 = private unnamed_addr constant [6 x i8] c"fcond\00"
+@.str8666 = private unnamed_addr constant [6 x i8] c"fbody\00"
+@.str8667 = private unnamed_addr constant [6 x i8] c"fcont\00"
+@.str8668 = private unnamed_addr constant [5 x i8] c"fend\00"
+@.str8669 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8670 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8671 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8672 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8673 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str8674 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8675 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str8676 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8677 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8678 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8679 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8680 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8681 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8682 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8683 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8684 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str8685 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str8686 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str8687 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8688 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8689 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8690 = private unnamed_addr constant [8 x i8] c"%retval\00"
+@.str8691 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
+@.str8692 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str8693 = private unnamed_addr constant [8 x i8] c"match: \00"
+@.str8694 = private unnamed_addr constant [8 x i8] c" binds \00"
+@.str8695 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00"
+@.str8696 = private unnamed_addr constant [8 x i8] c"match: \00"
+@.str8697 = private unnamed_addr constant [10 x i8] c" payload \00"
+@.str8698 = private unnamed_addr constant [24 x i8] c" must be a binding name\00"
+@.str8699 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8700 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00"
+@.str8701 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str8702 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8703 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str8704 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8705 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8706 = private unnamed_addr constant [5 x i8] c"mend\00"
+@.str8707 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8708 = private unnamed_addr constant [8 x i8] c"match: \00"
+@.str8709 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00"
+@.str8710 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str8711 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8712 = private unnamed_addr constant [7 x i8] c"or i1 \00"
+@.str8713 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8714 = private unnamed_addr constant [6 x i8] c"mbody\00"
+@.str8715 = private unnamed_addr constant [5 x i8] c"marm\00"
+@.str8716 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str8717 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8718 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8719 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8720 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8721 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8722 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8723 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8724 = private unnamed_addr constant [10 x i8] c"match on \00"
+@.str8725 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00"
+@.str8726 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00"
+@.str8727 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str8728 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8729 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8730 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00"
-@.str8731 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8732 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str8733 = private unnamed_addr constant [2 x i8] c" \00"
-@.str8734 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8735 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8736 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8737 = private unnamed_addr constant [10 x i8] c"toclients\00"
-@.str8738 = private unnamed_addr constant [3 x i8] c"-1\00"
-@.str8739 = private unnamed_addr constant [9 x i8] c"net_send\00"
-@.str8740 = private unnamed_addr constant [14 x i8] c" call void @\00"
-@.str8741 = private unnamed_addr constant [6 x i8] c"(i32 \00"
-@.str8742 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00"
-@.str8743 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8744 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8745 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8746 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8747 = private unnamed_addr constant [2 x i8] c" \00"
-@.str8748 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8749 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00"
-@.str8750 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str8751 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8752 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8753 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
-@.str8754 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str8755 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8756 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8757 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str8758 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8759 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str8760 = private unnamed_addr constant [5 x i8] c"null\00"
-@.str8761 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str8762 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8763 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8729 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8730 = private unnamed_addr constant [5 x i8] c"mend\00"
+@.str8731 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8732 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str8733 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8734 = private unnamed_addr constant [7 x i8] c"or i1 \00"
+@.str8735 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8736 = private unnamed_addr constant [6 x i8] c"mbody\00"
+@.str8737 = private unnamed_addr constant [5 x i8] c"marm\00"
+@.str8738 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str8739 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8740 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8741 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8742 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8743 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8744 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8745 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8746 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8747 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8748 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8749 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00"
+@.str8750 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8751 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str8752 = private unnamed_addr constant [5 x i8] c"null\00"
+@.str8753 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8754 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00"
+@.str8755 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str8756 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8757 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8758 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8759 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00"
+@.str8760 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8761 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str8762 = private unnamed_addr constant [2 x i8] c" \00"
+@.str8763 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str8764 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8765 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00"
-@.str8766 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00"
-@.str8767 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8768 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00"
-@.str8769 = private unnamed_addr constant [9 x i8] c"Occluder\00"
-@.str8770 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00"
-@.str8771 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00"
-@.str8772 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00"
-@.str8773 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00"
-@.str8774 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00"
-@.str8775 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00"
-@.str8776 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
-@.str8777 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00"
-@.str8778 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
-@.str8779 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00"
-@.str8780 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
-@.str8781 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00"
-@.str8782 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00"
-@.str8783 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00"
-@.str8784 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00"
-@.str8785 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
-@.str8786 = private unnamed_addr constant [4 x i8] c"@S_\00"
-@.str8787 = private unnamed_addr constant [21 x i8] c" = internal global [\00"
-@.str8788 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
-@.str8789 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00"
-@.str8790 = private unnamed_addr constant [4 x i8] c"@H_\00"
-@.str8791 = private unnamed_addr constant [21 x i8] c" = internal global [\00"
-@.str8792 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00"
-@.str8793 = private unnamed_addr constant [5 x i8] c"@ME_\00"
-@.str8794 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
-@.str8795 = private unnamed_addr constant [5 x i8] c"@HE_\00"
-@.str8796 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
-@.str8797 = private unnamed_addr constant [5 x i8] c"@LE_\00"
-@.str8798 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
-@.str8799 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00"
-@.str8800 = private unnamed_addr constant [3 x i8] c"%h\00"
-@.str8801 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8802 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str8803 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
-@.str8804 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
-@.str8805 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00"
-@.str8806 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8807 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00"
-@.str8808 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00"
-@.str8809 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00"
-@.str8810 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00"
-@.str8811 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00"
-@.str8812 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00"
-@.str8813 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
-@.str8814 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00"
-@.str8815 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00"
-@.str8816 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00"
-@.str8817 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00"
-@.str8818 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00"
-@.str8819 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00"
-@.str8820 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00"
-@.str8821 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00"
-@.str8822 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00"
-@.str8823 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00"
-@.str8824 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
-@.str8825 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00"
-@.str8826 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00"
-@.str8827 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00"
-@.str8828 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00"
-@.str8829 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
-@.str8830 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
-@.str8831 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00"
-@.str8832 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00"
-@.str8833 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00"
-@.str8834 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
-@.str8835 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00"
-@.str8836 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00"
-@.str8837 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00"
-@.str8838 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00"
-@.str8839 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
-@.str8840 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00"
-@.str8841 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00"
-@.str8842 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00"
-@.str8843 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00"
-@.str8844 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00"
-@.str8845 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00"
-@.str8846 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00"
-@.str8847 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00"
-@.str8848 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
-@.str8849 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str8850 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str8851 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8852 = private unnamed_addr constant [6 x i8] c"qcond\00"
-@.str8853 = private unnamed_addr constant [6 x i8] c"qbody\00"
-@.str8854 = private unnamed_addr constant [6 x i8] c"qnext\00"
-@.str8855 = private unnamed_addr constant [5 x i8] c"qend\00"
-@.str8856 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str8857 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8858 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8859 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8860 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00"
-@.str8861 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str8862 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8863 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str8864 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8865 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8866 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8867 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8868 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8869 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8870 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str8871 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00"
-@.str8872 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8873 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8874 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str8875 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8876 = private unnamed_addr constant [3 x i8] c"qa\00"
-@.str8877 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str8878 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8879 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8880 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8881 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8882 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8883 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8884 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str8885 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
+@.str8765 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8766 = private unnamed_addr constant [10 x i8] c"toclients\00"
+@.str8767 = private unnamed_addr constant [3 x i8] c"-1\00"
+@.str8768 = private unnamed_addr constant [9 x i8] c"net_send\00"
+@.str8769 = private unnamed_addr constant [14 x i8] c" call void @\00"
+@.str8770 = private unnamed_addr constant [6 x i8] c"(i32 \00"
+@.str8771 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00"
+@.str8772 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8773 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8774 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8775 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8776 = private unnamed_addr constant [2 x i8] c" \00"
+@.str8777 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8778 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00"
+@.str8779 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str8780 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8781 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8782 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
+@.str8783 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str8784 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str8785 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8786 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str8787 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8788 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str8789 = private unnamed_addr constant [5 x i8] c"null\00"
+@.str8790 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8791 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8792 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8793 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8794 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00"
+@.str8795 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00"
+@.str8796 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8797 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00"
+@.str8798 = private unnamed_addr constant [9 x i8] c"Occluder\00"
+@.str8799 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00"
+@.str8800 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00"
+@.str8801 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00"
+@.str8802 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00"
+@.str8803 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00"
+@.str8804 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00"
+@.str8805 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
+@.str8806 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00"
+@.str8807 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
+@.str8808 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00"
+@.str8809 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
+@.str8810 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00"
+@.str8811 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00"
+@.str8812 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00"
+@.str8813 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00"
+@.str8814 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
+@.str8815 = private unnamed_addr constant [4 x i8] c"@S_\00"
+@.str8816 = private unnamed_addr constant [21 x i8] c" = internal global [\00"
+@.str8817 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
+@.str8818 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00"
+@.str8819 = private unnamed_addr constant [4 x i8] c"@H_\00"
+@.str8820 = private unnamed_addr constant [21 x i8] c" = internal global [\00"
+@.str8821 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00"
+@.str8822 = private unnamed_addr constant [5 x i8] c"@ME_\00"
+@.str8823 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
+@.str8824 = private unnamed_addr constant [5 x i8] c"@HE_\00"
+@.str8825 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
+@.str8826 = private unnamed_addr constant [5 x i8] c"@LE_\00"
+@.str8827 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
+@.str8828 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00"
+@.str8829 = private unnamed_addr constant [3 x i8] c"%h\00"
+@.str8830 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8831 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str8832 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
+@.str8833 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
+@.str8834 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00"
+@.str8835 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8836 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00"
+@.str8837 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00"
+@.str8838 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00"
+@.str8839 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00"
+@.str8840 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00"
+@.str8841 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00"
+@.str8842 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
+@.str8843 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00"
+@.str8844 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00"
+@.str8845 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00"
+@.str8846 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00"
+@.str8847 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00"
+@.str8848 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00"
+@.str8849 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00"
+@.str8850 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00"
+@.str8851 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00"
+@.str8852 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00"
+@.str8853 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
+@.str8854 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00"
+@.str8855 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00"
+@.str8856 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00"
+@.str8857 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00"
+@.str8858 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
+@.str8859 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
+@.str8860 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00"
+@.str8861 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00"
+@.str8862 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00"
+@.str8863 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
+@.str8864 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00"
+@.str8865 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00"
+@.str8866 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00"
+@.str8867 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00"
+@.str8868 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
+@.str8869 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00"
+@.str8870 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00"
+@.str8871 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00"
+@.str8872 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00"
+@.str8873 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00"
+@.str8874 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00"
+@.str8875 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00"
+@.str8876 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00"
+@.str8877 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
+@.str8878 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str8879 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str8880 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8881 = private unnamed_addr constant [6 x i8] c"qcond\00"
+@.str8882 = private unnamed_addr constant [6 x i8] c"qbody\00"
+@.str8883 = private unnamed_addr constant [6 x i8] c"qnext\00"
+@.str8884 = private unnamed_addr constant [5 x i8] c"qend\00"
+@.str8885 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str8886 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8887 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8888 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str8889 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8890 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00"
-@.str8891 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str8892 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8893 = private unnamed_addr constant [8 x i8] c"and i1 \00"
-@.str8894 = private unnamed_addr constant [3 x i8] c", \00"
-@.str8895 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8896 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str8897 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
-@.str8898 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str8899 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8900 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
-@.str8901 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00"
-@.str8902 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8903 = private unnamed_addr constant [3 x i8] c"qt\00"
-@.str8904 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str8905 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8906 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8907 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8908 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8909 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8910 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str8911 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
-@.str8912 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
-@.str8913 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str8914 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8915 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str8916 = private unnamed_addr constant [13 x i8] c" store ptr \00"
-@.str8917 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8918 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8919 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str8920 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str8921 = private unnamed_addr constant [3 x i8] c"qw\00"
-@.str8922 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str8923 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8924 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str8925 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8926 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8927 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8887 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8888 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8889 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00"
+@.str8890 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str8891 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8892 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str8893 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8894 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8895 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8896 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8897 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8898 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8899 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str8900 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00"
+@.str8901 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8902 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8903 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str8904 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8905 = private unnamed_addr constant [3 x i8] c"qa\00"
+@.str8906 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str8907 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8908 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8909 = private unnamed_addr constant [2 x i8] c"\0A\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 [3 x i8] c" \00"
+@.str8913 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str8914 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
+@.str8915 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8916 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8917 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str8918 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8919 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00"
+@.str8920 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str8921 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8922 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str8923 = private unnamed_addr constant [3 x i8] c", \00"
+@.str8924 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8925 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str8926 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
+@.str8927 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str8928 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8929 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8930 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str8931 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str8932 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str8933 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str8934 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str8935 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8936 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str8937 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str8938 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str8939 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8940 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8941 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00"
-@.str8942 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8943 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str8944 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
-@.str8945 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str8946 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8947 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00"
-@.str8948 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8949 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8950 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str8951 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
-@.str8952 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
-@.str8953 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str8929 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
+@.str8930 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00"
+@.str8931 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8932 = private unnamed_addr constant [3 x i8] c"qt\00"
+@.str8933 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str8934 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8935 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8936 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8937 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8938 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8939 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str8940 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
+@.str8941 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
+@.str8942 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str8943 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8944 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str8945 = private unnamed_addr constant [13 x i8] c" store ptr \00"
+@.str8946 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8947 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8948 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str8949 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str8950 = private unnamed_addr constant [3 x i8] c"qw\00"
+@.str8951 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str8952 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str8953 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str8954 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8955 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8956 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
-@.str8957 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8958 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str8959 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8960 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str8961 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str8962 = private unnamed_addr constant [5 x i8] c"null\00"
-@.str8963 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str8964 = private unnamed_addr constant [2 x i8] c" \00"
-@.str8965 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8966 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8967 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8968 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
-@.str8969 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8970 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str8971 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8972 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str8973 = private unnamed_addr constant [2 x i8] c" \00"
-@.str8974 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8955 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8956 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8957 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8958 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8959 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str8960 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str8961 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str8962 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str8963 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str8964 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8965 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str8966 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str8967 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str8968 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8969 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8970 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00"
+@.str8971 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8972 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str8973 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
+@.str8974 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str8975 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8976 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str8977 = private unnamed_addr constant [13 x i8] c" store ptr \00"
-@.str8978 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8979 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8980 = private unnamed_addr constant [6 x i8] c"prop_\00"
-@.str8981 = private unnamed_addr constant [8 x i8] c"_attach\00"
-@.str8982 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
-@.str8983 = private unnamed_addr constant [6 x i8] c"(i32 \00"
-@.str8984 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str8985 = private unnamed_addr constant [3 x i8] c" \00"
-@.str8986 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str8987 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
-@.str8988 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
-@.str8989 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str8990 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8991 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str8992 = private unnamed_addr constant [13 x i8] c" store ptr \00"
-@.str8993 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str8994 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str8995 = private unnamed_addr constant [8 x i8] c"prefab \00"
-@.str8996 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00"
-@.str8997 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00"
-@.str8998 = private unnamed_addr constant [8 x i8] c"prefab \00"
-@.str8999 = private unnamed_addr constant [17 x i8] c": unknown model \00"
-@.str9000 = private unnamed_addr constant [3 x i8] c" \00"
-@.str9001 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9002 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
-@.str9003 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9004 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str9005 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str9006 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9007 = private unnamed_addr constant [7 x i8] c"model_\00"
-@.str9008 = private unnamed_addr constant [7 x i8] c"_spawn\00"
-@.str9009 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
-@.str9010 = private unnamed_addr constant [6 x i8] c"(i32 \00"
-@.str9011 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str9012 = private unnamed_addr constant [3 x i8] c" \00"
-@.str9013 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9014 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
-@.str9015 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9016 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str9017 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str9018 = private unnamed_addr constant [3 x i8] c", \00"
-@.str9019 = private unnamed_addr constant [3 x i8] c"dh\00"
-@.str9020 = private unnamed_addr constant [4 x i8] c"dhn\00"
-@.str9021 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str9022 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9023 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9024 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9025 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00"
-@.str9026 = private unnamed_addr constant [6 x i8] c"(i32 \00"
-@.str9027 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00"
-@.str9028 = private unnamed_addr constant [7 x i8] c"model_\00"
-@.str9029 = private unnamed_addr constant [9 x i8] c"_despawn\00"
-@.str9030 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
-@.str9031 = private unnamed_addr constant [6 x i8] c"(i32 \00"
-@.str9032 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00"
-@.str9033 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str9034 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9035 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9036 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00"
-@.str9037 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str9038 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00"
-@.str9039 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str9040 = private unnamed_addr constant [3 x i8] c" \00"
-@.str9041 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9042 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
-@.str9043 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str8976 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00"
+@.str8977 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8978 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8979 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str8980 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
+@.str8981 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
+@.str8982 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str8983 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8984 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8985 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
+@.str8986 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8987 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str8988 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8989 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str8990 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str8991 = private unnamed_addr constant [5 x i8] c"null\00"
+@.str8992 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str8993 = private unnamed_addr constant [2 x i8] c" \00"
+@.str8994 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8995 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str8996 = private unnamed_addr constant [3 x i8] c" \00"
+@.str8997 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
+@.str8998 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str8999 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str9000 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9001 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str9002 = private unnamed_addr constant [2 x i8] c" \00"
+@.str9003 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str9004 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9005 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str9006 = private unnamed_addr constant [13 x i8] c" store ptr \00"
+@.str9007 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str9008 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9009 = private unnamed_addr constant [6 x i8] c"prop_\00"
+@.str9010 = private unnamed_addr constant [8 x i8] c"_attach\00"
+@.str9011 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
+@.str9012 = private unnamed_addr constant [6 x i8] c"(i32 \00"
+@.str9013 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str9014 = private unnamed_addr constant [3 x i8] c" \00"
+@.str9015 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9016 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
+@.str9017 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
+@.str9018 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str9019 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9020 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str9021 = private unnamed_addr constant [13 x i8] c" store ptr \00"
+@.str9022 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str9023 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9024 = private unnamed_addr constant [8 x i8] c"prefab \00"
+@.str9025 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00"
+@.str9026 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00"
+@.str9027 = private unnamed_addr constant [8 x i8] c"prefab \00"
+@.str9028 = private unnamed_addr constant [17 x i8] c": unknown model \00"
+@.str9029 = private unnamed_addr constant [3 x i8] c" \00"
+@.str9030 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9031 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
+@.str9032 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9033 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str9034 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str9035 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9036 = private unnamed_addr constant [7 x i8] c"model_\00"
+@.str9037 = private unnamed_addr constant [7 x i8] c"_spawn\00"
+@.str9038 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
+@.str9039 = private unnamed_addr constant [6 x i8] c"(i32 \00"
+@.str9040 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str9041 = private unnamed_addr constant [3 x i8] c" \00"
+@.str9042 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9043 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
@.str9044 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9045 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
-@.str9046 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00"
-@.str9047 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str9048 = private unnamed_addr constant [7 x i8] c"attach\00"
-@.str9049 = private unnamed_addr constant [8 x i8] c"attdone\00"
+@.str9045 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str9046 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str9047 = private unnamed_addr constant [3 x i8] c", \00"
+@.str9048 = private unnamed_addr constant [3 x i8] c"dh\00"
+@.str9049 = private unnamed_addr constant [4 x i8] c"dhn\00"
@.str9050 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str9051 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str9052 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str9053 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9054 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9055 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str9056 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9057 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9058 = private unnamed_addr constant [3 x i8] c" \00"
-@.str9059 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9060 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
-@.str9061 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str9062 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9063 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
-@.str9064 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00"
-@.str9065 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str9066 = private unnamed_addr constant [7 x i8] c"detach\00"
-@.str9067 = private unnamed_addr constant [8 x i8] c"detdone\00"
-@.str9068 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str9069 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9070 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9071 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9072 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9073 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00"
-@.str9074 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9075 = private unnamed_addr constant [3 x i8] c" \00"
-@.str9076 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9077 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
-@.str9078 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
-@.str9079 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str9080 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9081 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str9082 = private unnamed_addr constant [13 x i8] c" store ptr \00"
-@.str9083 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str9084 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9085 = private unnamed_addr constant [6 x i8] c"prop_\00"
-@.str9086 = private unnamed_addr constant [8 x i8] c"_detach\00"
-@.str9087 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
-@.str9088 = private unnamed_addr constant [6 x i8] c"(i32 \00"
-@.str9089 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str9090 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str9054 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00"
+@.str9055 = private unnamed_addr constant [6 x i8] c"(i32 \00"
+@.str9056 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00"
+@.str9057 = private unnamed_addr constant [7 x i8] c"model_\00"
+@.str9058 = private unnamed_addr constant [9 x i8] c"_despawn\00"
+@.str9059 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
+@.str9060 = private unnamed_addr constant [6 x i8] c"(i32 \00"
+@.str9061 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00"
+@.str9062 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str9063 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9064 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9065 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00"
+@.str9066 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str9067 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00"
+@.str9068 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str9069 = private unnamed_addr constant [3 x i8] c" \00"
+@.str9070 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9071 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
+@.str9072 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str9073 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9074 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
+@.str9075 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00"
+@.str9076 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str9077 = private unnamed_addr constant [7 x i8] c"attach\00"
+@.str9078 = private unnamed_addr constant [8 x i8] c"attdone\00"
+@.str9079 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str9080 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9081 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9082 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9083 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9084 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str9085 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9086 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9087 = private unnamed_addr constant [3 x i8] c" \00"
+@.str9088 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9089 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
+@.str9090 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str9091 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9092 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9093 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str9094 = private unnamed_addr constant [2 x i8] c"1\00"
-@.str9095 = private unnamed_addr constant [7 x i8] c"system\00"
-@.str9096 = private unnamed_addr constant [6 x i8] c"layer\00"
-@.str9097 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str9098 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00"
-@.str9099 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9100 = private unnamed_addr constant [7 x i8] c"layer_\00"
-@.str9101 = private unnamed_addr constant [6 x i8] c"_hide\00"
-@.str9102 = private unnamed_addr constant [7 x i8] c"layer_\00"
-@.str9103 = private unnamed_addr constant [6 x i8] c"_show\00"
-@.str9104 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
-@.str9105 = private unnamed_addr constant [4 x i8] c"()\0A\00"
-@.str9106 = private unnamed_addr constant [3 x i8] c" \00"
-@.str9107 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9108 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
-@.str9109 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str9110 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9111 = private unnamed_addr constant [12 x i8] c" store i8 \00"
+@.str9092 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
+@.str9093 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00"
+@.str9094 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str9095 = private unnamed_addr constant [7 x i8] c"detach\00"
+@.str9096 = private unnamed_addr constant [8 x i8] c"detdone\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 [19 x i8] c" store i8 0, ptr \00"
+@.str9103 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9104 = private unnamed_addr constant [3 x i8] c" \00"
+@.str9105 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9106 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
+@.str9107 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
+@.str9108 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str9109 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9110 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str9111 = private unnamed_addr constant [13 x i8] c" store ptr \00"
@.str9112 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str9113 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9114 = private unnamed_addr constant [3 x i8] c" \00"
-@.str9115 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9116 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
-@.str9117 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
-@.str9118 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str9119 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9120 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str9121 = private unnamed_addr constant [13 x i8] c" store ptr \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 [6 x i8] c"prop_\00"
-@.str9125 = private unnamed_addr constant [9 x i8] c"_disable\00"
-@.str9126 = private unnamed_addr constant [6 x i8] c"prop_\00"
-@.str9127 = private unnamed_addr constant [8 x i8] c"_enable\00"
-@.str9128 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
-@.str9129 = private unnamed_addr constant [6 x i8] c"(i32 \00"
-@.str9130 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str9131 = private unnamed_addr constant [5 x i8] c"@HE_\00"
-@.str9132 = private unnamed_addr constant [5 x i8] c"@ME_\00"
-@.str9133 = private unnamed_addr constant [5 x i8] c"@HE_\00"
-@.str9134 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str9135 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str9136 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str9137 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9138 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str9139 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
-@.str9140 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
-@.str9141 = private unnamed_addr constant [18 x i8] c"define void @sys_\00"
-@.str9142 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
-@.str9143 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
-@.str9144 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00"
-@.str9145 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str9146 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str9147 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00"
-@.str9148 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str9149 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str9150 = private unnamed_addr constant [8 x i8] c"and i1 \00"
-@.str9151 = private unnamed_addr constant [3 x i8] c", \00"
-@.str9152 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00"
-@.str9153 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str9154 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str9155 = private unnamed_addr constant [8 x i8] c"and i1 \00"
-@.str9156 = private unnamed_addr constant [3 x i8] c", \00"
-@.str9157 = private unnamed_addr constant [5 x i8] c"hrun\00"
-@.str9158 = private unnamed_addr constant [6 x i8] c"hskip\00"
-@.str9159 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str9160 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9161 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9162 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9163 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00"
-@.str9164 = private unnamed_addr constant [4 x i8] c"()\0A\00"
-@.str9165 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str9114 = private unnamed_addr constant [6 x i8] c"prop_\00"
+@.str9115 = private unnamed_addr constant [8 x i8] c"_detach\00"
+@.str9116 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
+@.str9117 = private unnamed_addr constant [6 x i8] c"(i32 \00"
+@.str9118 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str9119 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str9120 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9121 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9122 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str9123 = private unnamed_addr constant [2 x i8] c"1\00"
+@.str9124 = private unnamed_addr constant [7 x i8] c"system\00"
+@.str9125 = private unnamed_addr constant [6 x i8] c"layer\00"
+@.str9126 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str9127 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00"
+@.str9128 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9129 = private unnamed_addr constant [7 x i8] c"layer_\00"
+@.str9130 = private unnamed_addr constant [6 x i8] c"_hide\00"
+@.str9131 = private unnamed_addr constant [7 x i8] c"layer_\00"
+@.str9132 = private unnamed_addr constant [6 x i8] c"_show\00"
+@.str9133 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
+@.str9134 = private unnamed_addr constant [4 x i8] c"()\0A\00"
+@.str9135 = private unnamed_addr constant [3 x i8] c" \00"
+@.str9136 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9137 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
+@.str9138 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str9139 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9140 = private unnamed_addr constant [12 x i8] c" store i8 \00"
+@.str9141 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str9142 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9143 = private unnamed_addr constant [3 x i8] c" \00"
+@.str9144 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9145 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
+@.str9146 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
+@.str9147 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str9148 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9149 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str9150 = private unnamed_addr constant [13 x i8] c" store ptr \00"
+@.str9151 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str9152 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9153 = private unnamed_addr constant [6 x i8] c"prop_\00"
+@.str9154 = private unnamed_addr constant [9 x i8] c"_disable\00"
+@.str9155 = private unnamed_addr constant [6 x i8] c"prop_\00"
+@.str9156 = private unnamed_addr constant [8 x i8] c"_enable\00"
+@.str9157 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
+@.str9158 = private unnamed_addr constant [6 x i8] c"(i32 \00"
+@.str9159 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str9160 = private unnamed_addr constant [5 x i8] c"@HE_\00"
+@.str9161 = private unnamed_addr constant [5 x i8] c"@ME_\00"
+@.str9162 = private unnamed_addr constant [5 x i8] c"@HE_\00"
+@.str9163 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str9164 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str9165 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str9166 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9167 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9168 = private unnamed_addr constant [17 x i8] c" call void @fn_\00"
-@.str9169 = private unnamed_addr constant [4 x i8] c"()\0A\00"
-@.str9170 = private unnamed_addr constant [7 x i8] c"Update\00"
-@.str9171 = private unnamed_addr constant [11 x i8] c"esys_tween\00"
-@.str9172 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00"
-@.str9173 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00"
-@.str9174 = private unnamed_addr constant [8 x i8] c"fx_tick\00"
-@.str9175 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00"
-@.str9176 = private unnamed_addr constant [7 x i8] c"Render\00"
-@.str9177 = private unnamed_addr constant [8 x i8] c"fx_draw\00"
-@.str9178 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00"
-@.str9179 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00"
-@.str9180 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00"
-@.str9181 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00"
-@.str9182 = 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"
-@.str9183 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00"
-@.str9184 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00"
-@.str9185 = 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"
-@.str9186 = private unnamed_addr constant [10 x i8] c"countdown\00"
-@.str9187 = private unnamed_addr constant [2 x i8] c"c\00"
-@.str9188 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9189 = private unnamed_addr constant [5 x i8] c" %h\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 %i\0A\00"
-@.str9193 = private unnamed_addr constant [6 x i8] c" %hv\00"
-@.str9194 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00"
+@.str9167 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str9168 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
+@.str9169 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
+@.str9170 = private unnamed_addr constant [18 x i8] c"define void @sys_\00"
+@.str9171 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
+@.str9172 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
+@.str9173 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00"
+@.str9174 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str9175 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str9176 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00"
+@.str9177 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str9178 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str9179 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str9180 = private unnamed_addr constant [3 x i8] c", \00"
+@.str9181 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00"
+@.str9182 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str9183 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str9184 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str9185 = private unnamed_addr constant [3 x i8] c", \00"
+@.str9186 = private unnamed_addr constant [5 x i8] c"hrun\00"
+@.str9187 = private unnamed_addr constant [6 x i8] c"hskip\00"
+@.str9188 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str9189 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9190 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9191 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9192 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00"
+@.str9193 = private unnamed_addr constant [4 x i8] c"()\0A\00"
+@.str9194 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str9195 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9196 = private unnamed_addr constant [7 x i8] c" %has\00"
-@.str9197 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00"
-@.str9198 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
-@.str9199 = private unnamed_addr constant [13 x i8] c" br i1 %has\00"
-@.str9200 = private unnamed_addr constant [11 x i8] c", label %t\00"
-@.str9201 = private unnamed_addr constant [11 x i8] c", label %c\00"
-@.str9202 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9203 = private unnamed_addr constant [2 x i8] c"t\00"
-@.str9204 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9205 = private unnamed_addr constant [5 x i8] c" %s\00"
-@.str9206 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9207 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
-@.str9208 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
-@.str9209 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00"
-@.str9210 = private unnamed_addr constant [10 x i8] c"countdown\00"
-@.str9211 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str9212 = private unnamed_addr constant [6 x i8] c" %fa\00"
-@.str9213 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
-@.str9214 = private unnamed_addr constant [9 x i8] c", ptr %s\00"
-@.str9215 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str9216 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9217 = private unnamed_addr constant [6 x i8] c" %fv\00"
-@.str9218 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00"
-@.str9219 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9220 = private unnamed_addr constant [6 x i8] c" %fp\00"
-@.str9221 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00"
-@.str9222 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
-@.str9223 = private unnamed_addr constant [6 x i8] c" %fd\00"
-@.str9224 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00"
-@.str9225 = private unnamed_addr constant [5 x i8] c", 1\0A\00"
-@.str9226 = private unnamed_addr constant [6 x i8] c" %fn\00"
-@.str9227 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00"
-@.str9228 = private unnamed_addr constant [10 x i8] c", i32 %fd\00"
-@.str9229 = private unnamed_addr constant [10 x i8] c", i32 %fv\00"
-@.str9230 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9231 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00"
-@.str9232 = private unnamed_addr constant [10 x i8] c", ptr %fa\00"
-@.str9233 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9234 = private unnamed_addr constant [14 x i8] c" br label %c\00"
-@.str9235 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9236 = private unnamed_addr constant [2 x i8] c"c\00"
-@.str9237 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00"
-@.str9238 = 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"
-@.str9239 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str9240 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
-@.str9241 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9242 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00"
-@.str9243 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
-@.str9244 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
-@.str9245 = private unnamed_addr constant [36 x i8] c"call i32 @fn_str_eq(ptr %name, ptr \00"
-@.str9246 = private unnamed_addr constant [2 x i8] c")\00"
-@.str9247 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str9248 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str9249 = private unnamed_addr constant [3 x i8] c"pf\00"
-@.str9250 = private unnamed_addr constant [4 x i8] c"pfn\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 [20 x i8] c"call i32 @L_prefab_\00"
-@.str9257 = private unnamed_addr constant [3 x i8] c"()\00"
-@.str9258 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
+@.str9196 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9197 = private unnamed_addr constant [17 x i8] c" call void @fn_\00"
+@.str9198 = private unnamed_addr constant [4 x i8] c"()\0A\00"
+@.str9199 = private unnamed_addr constant [7 x i8] c"Update\00"
+@.str9200 = private unnamed_addr constant [11 x i8] c"esys_tween\00"
+@.str9201 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00"
+@.str9202 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00"
+@.str9203 = private unnamed_addr constant [8 x i8] c"fx_tick\00"
+@.str9204 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00"
+@.str9205 = private unnamed_addr constant [7 x i8] c"Render\00"
+@.str9206 = private unnamed_addr constant [8 x i8] c"fx_draw\00"
+@.str9207 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00"
+@.str9208 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00"
+@.str9209 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00"
+@.str9210 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00"
+@.str9211 = 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"
+@.str9212 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00"
+@.str9213 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00"
+@.str9214 = 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"
+@.str9215 = private unnamed_addr constant [10 x i8] c"countdown\00"
+@.str9216 = private unnamed_addr constant [2 x i8] c"c\00"
+@.str9217 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9218 = private unnamed_addr constant [5 x i8] c" %h\00"
+@.str9219 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9220 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
+@.str9221 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00"
+@.str9222 = private unnamed_addr constant [6 x i8] c" %hv\00"
+@.str9223 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00"
+@.str9224 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9225 = private unnamed_addr constant [7 x i8] c" %has\00"
+@.str9226 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00"
+@.str9227 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
+@.str9228 = private unnamed_addr constant [13 x i8] c" br i1 %has\00"
+@.str9229 = private unnamed_addr constant [11 x i8] c", label %t\00"
+@.str9230 = private unnamed_addr constant [11 x i8] c", label %c\00"
+@.str9231 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9232 = private unnamed_addr constant [2 x i8] c"t\00"
+@.str9233 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9234 = private unnamed_addr constant [5 x i8] c" %s\00"
+@.str9235 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9236 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
+@.str9237 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
+@.str9238 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00"
+@.str9239 = private unnamed_addr constant [10 x i8] c"countdown\00"
+@.str9240 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str9241 = private unnamed_addr constant [6 x i8] c" %fa\00"
+@.str9242 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
+@.str9243 = private unnamed_addr constant [9 x i8] c", ptr %s\00"
+@.str9244 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str9245 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9246 = private unnamed_addr constant [6 x i8] c" %fv\00"
+@.str9247 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00"
+@.str9248 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9249 = private unnamed_addr constant [6 x i8] c" %fp\00"
+@.str9250 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00"
+@.str9251 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
+@.str9252 = private unnamed_addr constant [6 x i8] c" %fd\00"
+@.str9253 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00"
+@.str9254 = private unnamed_addr constant [5 x i8] c", 1\0A\00"
+@.str9255 = private unnamed_addr constant [6 x i8] c" %fn\00"
+@.str9256 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00"
+@.str9257 = private unnamed_addr constant [10 x i8] c", i32 %fd\00"
+@.str9258 = private unnamed_addr constant [10 x i8] c", i32 %fv\00"
@.str9259 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9260 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9261 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00"
-@.str9262 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00"
-@.str9263 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
-@.str9264 = private unnamed_addr constant [6 x i8] c"Input\00"
-@.str9265 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00"
-@.str9266 = private unnamed_addr constant [7 x i8] c"Update\00"
-@.str9267 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
-@.str9268 = private unnamed_addr constant [7 x i8] c"Render\00"
-@.str9269 = private unnamed_addr constant [6 x i8] c"Start\00"
-@.str9270 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
-@.str9271 = private unnamed_addr constant [8 x i8] c"Overlay\00"
-@.str9272 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00"
-@.str9273 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00"
-@.str9274 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00"
-@.str9275 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00"
-@.str9276 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00"
-@.str9277 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00"
-@.str9278 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00"
-@.str9279 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00"
-@.str9280 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00"
-@.str9281 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00"
-@.str9282 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00"
-@.str9283 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00"
-@.str9284 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00"
-@.str9285 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00"
-@.str9286 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00"
-@.str9287 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00"
-@.str9288 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00"
-@.str9289 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00"
-@.str9290 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00"
-@.str9291 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00"
-@.str9292 = private unnamed_addr constant [12 x i8] c"module_init\00"
-@.str9293 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00"
-@.str9294 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00"
-@.str9295 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str9296 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str9297 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
-@.str9298 = 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"
-@.str9299 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00"
-@.str9300 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00"
-@.str9301 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00"
-@.str9302 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
-@.str9303 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00"
-@.str9304 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00"
-@.str9305 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00"
-@.str9306 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00"
-@.str9307 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9308 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00"
-@.str9309 = private unnamed_addr constant [6 x i8] c"add:\0A\00"
-@.str9310 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00"
-@.str9311 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00"
-@.str9312 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00"
-@.str9313 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00"
-@.str9314 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00"
-@.str9315 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00"
-@.str9316 = 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"
-@.str9317 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00"
-@.str9318 = private unnamed_addr constant [4 x i8] c"dsp\00"
-@.str9319 = private unnamed_addr constant [4 x i8] c"dsh\00"
-@.str9320 = private unnamed_addr constant [4 x i8] c"dsb\00"
-@.str9321 = private unnamed_addr constant [5 x i8] c"dsdo\00"
-@.str9322 = private unnamed_addr constant [4 x i8] c"dsc\00"
-@.str9323 = private unnamed_addr constant [4 x i8] c"dsn\00"
-@.str9324 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str9325 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9326 = private unnamed_addr constant [15 x i8] c":\0A br label %\00"
-@.str9327 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9328 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9329 = private unnamed_addr constant [3 x i8] c" \00"
-@.str9330 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00"
-@.str9331 = private unnamed_addr constant [7 x i8] c" ], [ \00"
-@.str9332 = private unnamed_addr constant [4 x i8] c", %\00"
-@.str9333 = private unnamed_addr constant [4 x i8] c" ]\0A\00"
-@.str9334 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00"
-@.str9335 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str9336 = private unnamed_addr constant [3 x i8] c", \00"
-@.str9337 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str9338 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9339 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9340 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9341 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9342 = private unnamed_addr constant [3 x i8] c" \00"
-@.str9343 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9344 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00"
+@.str9260 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00"
+@.str9261 = private unnamed_addr constant [10 x i8] c", ptr %fa\00"
+@.str9262 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9263 = private unnamed_addr constant [14 x i8] c" br label %c\00"
+@.str9264 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9265 = private unnamed_addr constant [2 x i8] c"c\00"
+@.str9266 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00"
+@.str9267 = 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"
+@.str9268 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str9269 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
+@.str9270 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9271 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00"
+@.str9272 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
+@.str9273 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
+@.str9274 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00"
+@.str9275 = private unnamed_addr constant [2 x i8] c")\00"
+@.str9276 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str9277 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str9278 = private unnamed_addr constant [3 x i8] c"pf\00"
+@.str9279 = private unnamed_addr constant [4 x i8] c"pfn\00"
+@.str9280 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str9281 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9282 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9283 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9284 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9285 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00"
+@.str9286 = private unnamed_addr constant [3 x i8] c"()\00"
+@.str9287 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
+@.str9288 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9289 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9290 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00"
+@.str9291 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00"
+@.str9292 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
+@.str9293 = private unnamed_addr constant [6 x i8] c"Input\00"
+@.str9294 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00"
+@.str9295 = private unnamed_addr constant [7 x i8] c"Update\00"
+@.str9296 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
+@.str9297 = private unnamed_addr constant [7 x i8] c"Render\00"
+@.str9298 = private unnamed_addr constant [6 x i8] c"Start\00"
+@.str9299 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
+@.str9300 = private unnamed_addr constant [8 x i8] c"Overlay\00"
+@.str9301 = private unnamed_addr constant [16 x i8] c"unknown phase '\00"
+@.str9302 = private unnamed_addr constant [2 x i8] c"'\00"
+@.str9303 = private unnamed_addr constant [6 x i8] c"Start\00"
+@.str9304 = private unnamed_addr constant [6 x i8] c"Input\00"
+@.str9305 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00"
+@.str9306 = private unnamed_addr constant [7 x i8] c"Update\00"
+@.str9307 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
+@.str9308 = private unnamed_addr constant [7 x i8] c"Render\00"
+@.str9309 = private unnamed_addr constant [8 x i8] c"Overlay\00"
+@.str9310 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00"
+@.str9311 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00"
+@.str9312 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00"
+@.str9313 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00"
+@.str9314 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00"
+@.str9315 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00"
+@.str9316 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00"
+@.str9317 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00"
+@.str9318 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00"
+@.str9319 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00"
+@.str9320 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00"
+@.str9321 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00"
+@.str9322 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00"
+@.str9323 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00"
+@.str9324 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00"
+@.str9325 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00"
+@.str9326 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00"
+@.str9327 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00"
+@.str9328 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00"
+@.str9329 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00"
+@.str9330 = private unnamed_addr constant [12 x i8] c"module_init\00"
+@.str9331 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00"
+@.str9332 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00"
+@.str9333 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str9334 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str9335 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
+@.str9336 = 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"
+@.str9337 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00"
+@.str9338 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00"
+@.str9339 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00"
+@.str9340 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
+@.str9341 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00"
+@.str9342 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00"
+@.str9343 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00"
+@.str9344 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00"
@.str9345 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9346 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str9347 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str9348 = private unnamed_addr constant [3 x i8] c", \00"
-@.str9349 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str9350 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9351 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9352 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9353 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9354 = private unnamed_addr constant [3 x i8] c" \00"
-@.str9355 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9356 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00"
-@.str9357 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9358 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
-@.str9359 = private unnamed_addr constant [13 x i8] c" call void \00"
-@.str9360 = private unnamed_addr constant [4 x i8] c"()\0A\00"
-@.str9361 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str9362 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9363 = private unnamed_addr constant [5 x i8] c":\0A \00"
-@.str9364 = private unnamed_addr constant [12 x i8] c" = add i32 \00"
-@.str9365 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00"
-@.str9366 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9367 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9368 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00"
-@.str9369 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str9370 = private unnamed_addr constant [3 x i8] c", \00"
-@.str9371 = private unnamed_addr constant [6 x i8] c"scrun\00"
-@.str9372 = private unnamed_addr constant [7 x i8] c"scskip\00"
-@.str9373 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str9374 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9375 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9376 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9377 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9378 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str9379 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9380 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9381 = private unnamed_addr constant [8 x i8] c"Overlay\00"
-@.str9382 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00"
-@.str9383 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str9384 = private unnamed_addr constant [3 x i8] c", \00"
-@.str9385 = private unnamed_addr constant [5 x i8] c"mrun\00"
-@.str9386 = private unnamed_addr constant [6 x i8] c"mskip\00"
+@.str9346 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00"
+@.str9347 = private unnamed_addr constant [6 x i8] c"add:\0A\00"
+@.str9348 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00"
+@.str9349 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00"
+@.str9350 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00"
+@.str9351 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00"
+@.str9352 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00"
+@.str9353 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00"
+@.str9354 = 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"
+@.str9355 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00"
+@.str9356 = private unnamed_addr constant [4 x i8] c"dsp\00"
+@.str9357 = private unnamed_addr constant [4 x i8] c"dsh\00"
+@.str9358 = private unnamed_addr constant [4 x i8] c"dsb\00"
+@.str9359 = private unnamed_addr constant [5 x i8] c"dsdo\00"
+@.str9360 = private unnamed_addr constant [4 x i8] c"dsc\00"
+@.str9361 = private unnamed_addr constant [4 x i8] c"dsn\00"
+@.str9362 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str9363 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9364 = private unnamed_addr constant [15 x i8] c":\0A br label %\00"
+@.str9365 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9366 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9367 = private unnamed_addr constant [3 x i8] c" \00"
+@.str9368 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00"
+@.str9369 = private unnamed_addr constant [7 x i8] c" ], [ \00"
+@.str9370 = private unnamed_addr constant [4 x i8] c", %\00"
+@.str9371 = private unnamed_addr constant [4 x i8] c" ]\0A\00"
+@.str9372 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00"
+@.str9373 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str9374 = private unnamed_addr constant [3 x i8] c", \00"
+@.str9375 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str9376 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9377 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9378 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9379 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9380 = private unnamed_addr constant [3 x i8] c" \00"
+@.str9381 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9382 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00"
+@.str9383 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9384 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str9385 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str9386 = private unnamed_addr constant [3 x i8] c", \00"
@.str9387 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str9388 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str9389 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str9390 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9391 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00"
-@.str9392 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str9393 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9394 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9395 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str9396 = private unnamed_addr constant [6 x i8] c"enter\00"
-@.str9397 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00"
-@.str9398 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00"
-@.str9399 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00"
-@.str9400 = private unnamed_addr constant [4 x i8] c"UI_\00"
-@.str9401 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str9402 = private unnamed_addr constant [5 x i8] c"exit\00"
-@.str9403 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00"
-@.str9404 = private unnamed_addr constant [7 x i8] c"scene_\00"
-@.str9405 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str9406 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
-@.str9407 = private unnamed_addr constant [4 x i8] c"()\0A\00"
-@.str9408 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
-@.str9409 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
-@.str9410 = private unnamed_addr constant [20 x i8] c"define void @scene_\00"
-@.str9411 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str9412 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
-@.str9413 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
-@.str9414 = private unnamed_addr constant [6 x i8] c"enter\00"
-@.str9415 = private unnamed_addr constant [5 x i8] c"exit\00"
-@.str9416 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00"
-@.str9417 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00"
-@.str9418 = private unnamed_addr constant [6 x i8] c" %is\00"
-@.str9419 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00"
-@.str9420 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9421 = private unnamed_addr constant [12 x i8] c" br i1 %is\00"
-@.str9422 = private unnamed_addr constant [15 x i8] c", label %leave\00"
-@.str9423 = private unnamed_addr constant [14 x i8] c", label %next\00"
-@.str9424 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9425 = private unnamed_addr constant [6 x i8] c"leave\00"
-@.str9426 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00"
-@.str9427 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00"
-@.str9428 = private unnamed_addr constant [5 x i8] c"next\00"
-@.str9429 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9430 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
-@.str9431 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str9432 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str9433 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00"
-@.str9434 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9435 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str9436 = private unnamed_addr constant [3 x i8] c"%e\00"
-@.str9437 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
-@.str9438 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
-@.str9439 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00"
-@.str9440 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00"
-@.str9441 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
-@.str9442 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00"
-@.str9443 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
-@.str9444 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00"
-@.str9445 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00"
-@.str9446 = private unnamed_addr constant [5 x i8] c" %c\00"
-@.str9447 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
-@.str9448 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9449 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
-@.str9450 = private unnamed_addr constant [13 x i8] c", label %hit\00"
-@.str9451 = private unnamed_addr constant [14 x i8] c", label %next\00"
-@.str9452 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9453 = private unnamed_addr constant [4 x i8] c"hit\00"
-@.str9454 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00"
-@.str9455 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00"
-@.str9456 = private unnamed_addr constant [7 x i8] c"model_\00"
-@.str9457 = private unnamed_addr constant [9 x i8] c"_despawn\00"
-@.str9458 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
-@.str9459 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00"
-@.str9460 = private unnamed_addr constant [17 x i8] c" br label %next\00"
-@.str9461 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9462 = private unnamed_addr constant [5 x i8] c"next\00"
-@.str9463 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9464 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00"
-@.str9465 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00"
-@.str9466 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
-@.str9467 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00"
-@.str9468 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00"
-@.str9469 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00"
-@.str9470 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00"
-@.str9471 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00"
-@.str9472 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00"
-@.str9473 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00"
-@.str9474 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00"
-@.str9475 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00"
-@.str9476 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00"
-@.str9477 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00"
-@.str9478 = private unnamed_addr constant [5 x i8] c" %c\00"
-@.str9479 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
-@.str9480 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9481 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
-@.str9482 = private unnamed_addr constant [13 x i8] c", label %hit\00"
-@.str9483 = private unnamed_addr constant [14 x i8] c", label %next\00"
-@.str9484 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9485 = private unnamed_addr constant [4 x i8] c"hit\00"
-@.str9486 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00"
-@.str9487 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00"
-@.str9488 = private unnamed_addr constant [7 x i8] c"model_\00"
-@.str9489 = private unnamed_addr constant [9 x i8] c"_despawn\00"
-@.str9490 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
-@.str9491 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00"
-@.str9492 = private unnamed_addr constant [17 x i8] c" br label %next\00"
-@.str9493 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9494 = private unnamed_addr constant [5 x i8] c"next\00"
-@.str9495 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9496 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00"
-@.str9497 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00"
-@.str9498 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00"
-@.str9499 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00"
-@.str9500 = private unnamed_addr constant [5 x i8] c"%Ev_\00"
-@.str9501 = private unnamed_addr constant [11 x i8] c" = type { \00"
-@.str9502 = private unnamed_addr constant [3 x i8] c", \00"
-@.str9503 = private unnamed_addr constant [3 x i8] c", \00"
-@.str9504 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str9505 = private unnamed_addr constant [4 x i8] c" }\0A\00"
-@.str9506 = private unnamed_addr constant [6 x i8] c"@evL_\00"
-@.str9507 = private unnamed_addr constant [12 x i8] c" = global [\00"
-@.str9508 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00"
-@.str9509 = private unnamed_addr constant [6 x i8] c"@evN_\00"
-@.str9510 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00"
-@.str9511 = private unnamed_addr constant [6 x i8] c"@evO_\00"
-@.str9512 = private unnamed_addr constant [12 x i8] c" = global [\00"
-@.str9513 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
-@.str9514 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00"
-@.str9515 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00"
-@.str9516 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
-@.str9517 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9518 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00"
-@.str9519 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9520 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00"
-@.str9521 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00"
-@.str9522 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
-@.str9523 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
-@.str9524 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00"
-@.str9525 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00"
-@.str9526 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
-@.str9527 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
-@.str9528 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00"
-@.str9529 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00"
-@.str9530 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00"
-@.str9531 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00"
-@.str9532 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00"
-@.str9533 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00"
-@.str9534 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
-@.str9535 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9536 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00"
-@.str9537 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9538 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00"
-@.str9539 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00"
-@.str9540 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
-@.str9541 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
-@.str9542 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00"
-@.str9543 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00"
-@.str9544 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
-@.str9545 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
-@.str9546 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00"
-@.str9547 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00"
-@.str9548 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00"
-@.str9549 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00"
-@.str9550 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00"
-@.str9551 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00"
-@.str9552 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
-@.str9553 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9554 = 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"
-@.str9555 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00"
-@.str9556 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00"
-@.str9557 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
-@.str9558 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00"
-@.str9559 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00"
-@.str9560 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00"
-@.str9561 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str9562 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00"
-@.str9563 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00"
-@.str9564 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9565 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00"
-@.str9566 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00"
-@.str9567 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00"
-@.str9568 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
-@.str9569 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00"
-@.str9570 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00"
-@.str9571 = private unnamed_addr constant [5 x i8] c"%Ev_\00"
-@.str9572 = private unnamed_addr constant [3 x i8] c" \00"
-@.str9573 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00"
-@.str9574 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str9575 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str9576 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9577 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str9578 = private unnamed_addr constant [4 x i8] c" %p\00"
-@.str9579 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str9580 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9581 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str9582 = private unnamed_addr constant [4 x i8] c" %p\00"
-@.str9583 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str9584 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9585 = private unnamed_addr constant [3 x i8] c" \00"
-@.str9586 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00"
-@.str9587 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str9588 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str9589 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9590 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
+@.str9391 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9392 = private unnamed_addr constant [3 x i8] c" \00"
+@.str9393 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9394 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00"
+@.str9395 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9396 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
+@.str9397 = private unnamed_addr constant [13 x i8] c" call void \00"
+@.str9398 = private unnamed_addr constant [4 x i8] c"()\0A\00"
+@.str9399 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str9400 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9401 = private unnamed_addr constant [5 x i8] c":\0A \00"
+@.str9402 = private unnamed_addr constant [12 x i8] c" = add i32 \00"
+@.str9403 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00"
+@.str9404 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9405 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9406 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00"
+@.str9407 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str9408 = private unnamed_addr constant [3 x i8] c", \00"
+@.str9409 = private unnamed_addr constant [6 x i8] c"scrun\00"
+@.str9410 = private unnamed_addr constant [7 x i8] c"scskip\00"
+@.str9411 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str9412 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9413 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9414 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9415 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9416 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str9417 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9418 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9419 = private unnamed_addr constant [8 x i8] c"Overlay\00"
+@.str9420 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00"
+@.str9421 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str9422 = private unnamed_addr constant [3 x i8] c", \00"
+@.str9423 = private unnamed_addr constant [5 x i8] c"mrun\00"
+@.str9424 = private unnamed_addr constant [6 x i8] c"mskip\00"
+@.str9425 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str9426 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9427 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9428 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9429 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00"
+@.str9430 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str9431 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9432 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9433 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str9434 = private unnamed_addr constant [6 x i8] c"enter\00"
+@.str9435 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00"
+@.str9436 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00"
+@.str9437 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00"
+@.str9438 = private unnamed_addr constant [4 x i8] c"UI_\00"
+@.str9439 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str9440 = private unnamed_addr constant [5 x i8] c"exit\00"
+@.str9441 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00"
+@.str9442 = private unnamed_addr constant [7 x i8] c"scene_\00"
+@.str9443 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str9444 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
+@.str9445 = private unnamed_addr constant [4 x i8] c"()\0A\00"
+@.str9446 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
+@.str9447 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
+@.str9448 = private unnamed_addr constant [20 x i8] c"define void @scene_\00"
+@.str9449 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str9450 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
+@.str9451 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
+@.str9452 = private unnamed_addr constant [6 x i8] c"enter\00"
+@.str9453 = private unnamed_addr constant [5 x i8] c"exit\00"
+@.str9454 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00"
+@.str9455 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00"
+@.str9456 = private unnamed_addr constant [6 x i8] c" %is\00"
+@.str9457 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00"
+@.str9458 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9459 = private unnamed_addr constant [12 x i8] c" br i1 %is\00"
+@.str9460 = private unnamed_addr constant [15 x i8] c", label %leave\00"
+@.str9461 = private unnamed_addr constant [14 x i8] c", label %next\00"
+@.str9462 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9463 = private unnamed_addr constant [6 x i8] c"leave\00"
+@.str9464 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00"
+@.str9465 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00"
+@.str9466 = private unnamed_addr constant [5 x i8] c"next\00"
+@.str9467 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9468 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
+@.str9469 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str9470 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str9471 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00"
+@.str9472 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9473 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str9474 = private unnamed_addr constant [3 x i8] c"%e\00"
+@.str9475 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
+@.str9476 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
+@.str9477 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00"
+@.str9478 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00"
+@.str9479 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
+@.str9480 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00"
+@.str9481 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
+@.str9482 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00"
+@.str9483 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00"
+@.str9484 = private unnamed_addr constant [5 x i8] c" %c\00"
+@.str9485 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
+@.str9486 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9487 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
+@.str9488 = private unnamed_addr constant [13 x i8] c", label %hit\00"
+@.str9489 = private unnamed_addr constant [14 x i8] c", label %next\00"
+@.str9490 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9491 = private unnamed_addr constant [4 x i8] c"hit\00"
+@.str9492 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00"
+@.str9493 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00"
+@.str9494 = private unnamed_addr constant [7 x i8] c"model_\00"
+@.str9495 = private unnamed_addr constant [9 x i8] c"_despawn\00"
+@.str9496 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
+@.str9497 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00"
+@.str9498 = private unnamed_addr constant [17 x i8] c" br label %next\00"
+@.str9499 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9500 = private unnamed_addr constant [5 x i8] c"next\00"
+@.str9501 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9502 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00"
+@.str9503 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00"
+@.str9504 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
+@.str9505 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00"
+@.str9506 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00"
+@.str9507 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00"
+@.str9508 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00"
+@.str9509 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00"
+@.str9510 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00"
+@.str9511 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00"
+@.str9512 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00"
+@.str9513 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00"
+@.str9514 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00"
+@.str9515 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00"
+@.str9516 = private unnamed_addr constant [5 x i8] c" %c\00"
+@.str9517 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
+@.str9518 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9519 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
+@.str9520 = private unnamed_addr constant [13 x i8] c", label %hit\00"
+@.str9521 = private unnamed_addr constant [14 x i8] c", label %next\00"
+@.str9522 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9523 = private unnamed_addr constant [4 x i8] c"hit\00"
+@.str9524 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00"
+@.str9525 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00"
+@.str9526 = private unnamed_addr constant [7 x i8] c"model_\00"
+@.str9527 = private unnamed_addr constant [9 x i8] c"_despawn\00"
+@.str9528 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
+@.str9529 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00"
+@.str9530 = private unnamed_addr constant [17 x i8] c" br label %next\00"
+@.str9531 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9532 = private unnamed_addr constant [5 x i8] c"next\00"
+@.str9533 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9534 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00"
+@.str9535 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00"
+@.str9536 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00"
+@.str9537 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00"
+@.str9538 = private unnamed_addr constant [5 x i8] c"%Ev_\00"
+@.str9539 = private unnamed_addr constant [11 x i8] c" = type { \00"
+@.str9540 = private unnamed_addr constant [3 x i8] c", \00"
+@.str9541 = private unnamed_addr constant [3 x i8] c", \00"
+@.str9542 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str9543 = private unnamed_addr constant [4 x i8] c" }\0A\00"
+@.str9544 = private unnamed_addr constant [6 x i8] c"@evL_\00"
+@.str9545 = private unnamed_addr constant [12 x i8] c" = global [\00"
+@.str9546 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00"
+@.str9547 = private unnamed_addr constant [6 x i8] c"@evN_\00"
+@.str9548 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00"
+@.str9549 = private unnamed_addr constant [6 x i8] c"@evO_\00"
+@.str9550 = private unnamed_addr constant [12 x i8] c" = global [\00"
+@.str9551 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
+@.str9552 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00"
+@.str9553 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00"
+@.str9554 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
+@.str9555 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9556 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00"
+@.str9557 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9558 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00"
+@.str9559 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00"
+@.str9560 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
+@.str9561 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
+@.str9562 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00"
+@.str9563 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00"
+@.str9564 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
+@.str9565 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
+@.str9566 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00"
+@.str9567 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00"
+@.str9568 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00"
+@.str9569 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00"
+@.str9570 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00"
+@.str9571 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00"
+@.str9572 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
+@.str9573 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9574 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00"
+@.str9575 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9576 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00"
+@.str9577 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00"
+@.str9578 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
+@.str9579 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
+@.str9580 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00"
+@.str9581 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00"
+@.str9582 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
+@.str9583 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
+@.str9584 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00"
+@.str9585 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00"
+@.str9586 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00"
+@.str9587 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00"
+@.str9588 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00"
+@.str9589 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00"
+@.str9590 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
@.str9591 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9592 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str9593 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
-@.str9594 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9595 = private unnamed_addr constant [4 x i8] c"evl\00"
-@.str9596 = private unnamed_addr constant [4 x i8] c"evb\00"
-@.str9597 = private unnamed_addr constant [4 x i8] c"evd\00"
-@.str9598 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str9599 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9600 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9601 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str9602 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00"
-@.str9603 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
-@.str9604 = private unnamed_addr constant [3 x i8] c", \00"
-@.str9605 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str9606 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9607 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9608 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9609 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9592 = 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"
+@.str9593 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00"
+@.str9594 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00"
+@.str9595 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
+@.str9596 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00"
+@.str9597 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00"
+@.str9598 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00"
+@.str9599 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str9600 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00"
+@.str9601 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00"
+@.str9602 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9603 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00"
+@.str9604 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00"
+@.str9605 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00"
+@.str9606 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
+@.str9607 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00"
+@.str9608 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00"
+@.str9609 = private unnamed_addr constant [5 x i8] c"%Ev_\00"
@.str9610 = private unnamed_addr constant [3 x i8] c" \00"
-@.str9611 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9612 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
+@.str9611 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00"
+@.str9612 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str9613 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str9614 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9615 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
-@.str9616 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00"
-@.str9617 = private unnamed_addr constant [7 x i8] c", null\00"
-@.str9618 = private unnamed_addr constant [5 x i8] c"evdo\00"
-@.str9619 = private unnamed_addr constant [5 x i8] c"evsk\00"
-@.str9620 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str9621 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9622 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str9623 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9624 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9625 = private unnamed_addr constant [13 x i8] c" call void \00"
-@.str9626 = private unnamed_addr constant [6 x i8] c"(ptr \00"
-@.str9627 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str9628 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str9615 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str9616 = private unnamed_addr constant [4 x i8] c" %p\00"
+@.str9617 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str9618 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9619 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str9620 = private unnamed_addr constant [4 x i8] c" %p\00"
+@.str9621 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str9622 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9623 = private unnamed_addr constant [3 x i8] c" \00"
+@.str9624 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00"
+@.str9625 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str9626 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str9627 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9628 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
@.str9629 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9630 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9631 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str9632 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str9633 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str9634 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str9635 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9630 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str9631 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
+@.str9632 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9633 = private unnamed_addr constant [4 x i8] c"evl\00"
+@.str9634 = private unnamed_addr constant [4 x i8] c"evb\00"
+@.str9635 = private unnamed_addr constant [4 x i8] c"evd\00"
@.str9636 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str9637 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str9638 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9639 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
-@.str9640 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
-@.str9641 = 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"
-@.str9642 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
-@.str9643 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
-@.str9644 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9645 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
-@.str9646 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str9647 = private unnamed_addr constant [4 x i8] c"i32\00"
-@.str9648 = private unnamed_addr constant [8 x i8] c"define \00"
-@.str9649 = private unnamed_addr constant [6 x i8] c" @ev_\00"
-@.str9650 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str9651 = private unnamed_addr constant [3 x i8] c", \00"
-@.str9652 = private unnamed_addr constant [4 x i8] c" %p\00"
-@.str9653 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00"
-@.str9654 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
-@.str9655 = 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"
-@.str9656 = private unnamed_addr constant [3 x i8] c"sw\00"
-@.str9657 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9658 = private unnamed_addr constant [7 x i8] c" %swi\00"
-@.str9659 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00"
-@.str9660 = private unnamed_addr constant [7 x i8] c" %swn\00"
-@.str9661 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00"
-@.str9662 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9663 = private unnamed_addr constant [7 x i8] c" %swg\00"
-@.str9664 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00"
-@.str9665 = private unnamed_addr constant [7 x i8] c", %swn\00"
-@.str9666 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9667 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00"
-@.str9668 = private unnamed_addr constant [13 x i8] c", label %swb\00"
-@.str9669 = private unnamed_addr constant [13 x i8] c", label %swd\00"
-@.str9670 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9671 = private unnamed_addr constant [4 x i8] c"swb\00"
-@.str9672 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9673 = private unnamed_addr constant [8 x i8] c" %swop\00"
-@.str9674 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9675 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
-@.str9676 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00"
-@.str9677 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9678 = private unnamed_addr constant [8 x i8] c" %swov\00"
-@.str9679 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00"
-@.str9680 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9681 = private unnamed_addr constant [7 x i8] c" %swm\00"
-@.str9682 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00"
-@.str9683 = private unnamed_addr constant [10 x i8] c", %owner\0A\00"
-@.str9684 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00"
-@.str9685 = private unnamed_addr constant [13 x i8] c", label %swh\00"
-@.str9686 = private unnamed_addr constant [13 x i8] c", label %swx\00"
-@.str9687 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9688 = private unnamed_addr constant [4 x i8] c"swh\00"
-@.str9689 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9690 = private unnamed_addr constant [8 x i8] c" %swlp\00"
-@.str9691 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9692 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
-@.str9693 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00"
-@.str9694 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9695 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00"
-@.str9696 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00"
-@.str9697 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9698 = private unnamed_addr constant [4 x i8] c"swx\00"
-@.str9699 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9700 = private unnamed_addr constant [9 x i8] c" %swinc\00"
-@.str9701 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00"
-@.str9702 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00"
-@.str9703 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00"
+@.str9639 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str9640 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00"
+@.str9641 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
+@.str9642 = private unnamed_addr constant [3 x i8] c", \00"
+@.str9643 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str9644 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9645 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9646 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9647 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9648 = private unnamed_addr constant [3 x i8] c" \00"
+@.str9649 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9650 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
+@.str9651 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str9652 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9653 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
+@.str9654 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00"
+@.str9655 = private unnamed_addr constant [7 x i8] c", null\00"
+@.str9656 = private unnamed_addr constant [5 x i8] c"evdo\00"
+@.str9657 = private unnamed_addr constant [5 x i8] c"evsk\00"
+@.str9658 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str9659 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9660 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str9661 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9662 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9663 = private unnamed_addr constant [13 x i8] c" call void \00"
+@.str9664 = private unnamed_addr constant [6 x i8] c"(ptr \00"
+@.str9665 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str9666 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str9667 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9668 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9669 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str9670 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str9671 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str9672 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str9673 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9674 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str9675 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9676 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9677 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
+@.str9678 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
+@.str9679 = 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"
+@.str9680 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
+@.str9681 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
+@.str9682 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9683 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
+@.str9684 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str9685 = private unnamed_addr constant [4 x i8] c"i32\00"
+@.str9686 = private unnamed_addr constant [8 x i8] c"define \00"
+@.str9687 = private unnamed_addr constant [6 x i8] c" @ev_\00"
+@.str9688 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str9689 = private unnamed_addr constant [3 x i8] c", \00"
+@.str9690 = private unnamed_addr constant [4 x i8] c" %p\00"
+@.str9691 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00"
+@.str9692 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
+@.str9693 = 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"
+@.str9694 = private unnamed_addr constant [3 x i8] c"sw\00"
+@.str9695 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9696 = private unnamed_addr constant [7 x i8] c" %swi\00"
+@.str9697 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00"
+@.str9698 = private unnamed_addr constant [7 x i8] c" %swn\00"
+@.str9699 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00"
+@.str9700 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9701 = private unnamed_addr constant [7 x i8] c" %swg\00"
+@.str9702 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00"
+@.str9703 = private unnamed_addr constant [7 x i8] c", %swn\00"
@.str9704 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9705 = private unnamed_addr constant [4 x i8] c"swd\00"
-@.str9706 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00"
-@.str9707 = private unnamed_addr constant [15 x i8] c" br label %sw\00"
+@.str9705 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00"
+@.str9706 = private unnamed_addr constant [13 x i8] c", label %swb\00"
+@.str9707 = private unnamed_addr constant [13 x i8] c", label %swd\00"
@.str9708 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9709 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
-@.str9710 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
-@.str9711 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00"
-@.str9712 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00"
-@.str9713 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00"
-@.str9714 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00"
-@.str9715 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00"
-@.str9716 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00"
-@.str9717 = private unnamed_addr constant [5 x i8] c" %c\00"
-@.str9718 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
-@.str9719 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str9720 = private unnamed_addr constant [5 x i8] c" %e\00"
-@.str9721 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00"
-@.str9722 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
-@.str9723 = private unnamed_addr constant [11 x i8] c" br i1 %e\00"
-@.str9724 = private unnamed_addr constant [11 x i8] c", label %h\00"
-@.str9725 = private unnamed_addr constant [11 x i8] c", label %n\00"
-@.str9726 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9727 = private unnamed_addr constant [2 x i8] c"h\00"
-@.str9728 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
-@.str9729 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9730 = private unnamed_addr constant [2 x i8] c"n\00"
-@.str9731 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9732 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00"
-@.str9733 = 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"
-@.str9734 = 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"
-@.str9735 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00"
-@.str9736 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00"
-@.str9737 = 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"
-@.str9738 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00"
-@.str9739 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00"
-@.str9740 = private unnamed_addr constant [6 x i8] c" %pm\00"
-@.str9741 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
+@.str9709 = private unnamed_addr constant [4 x i8] c"swb\00"
+@.str9710 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9711 = private unnamed_addr constant [8 x i8] c" %swop\00"
+@.str9712 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9713 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
+@.str9714 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00"
+@.str9715 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9716 = private unnamed_addr constant [8 x i8] c" %swov\00"
+@.str9717 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00"
+@.str9718 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9719 = private unnamed_addr constant [7 x i8] c" %swm\00"
+@.str9720 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00"
+@.str9721 = private unnamed_addr constant [10 x i8] c", %owner\0A\00"
+@.str9722 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00"
+@.str9723 = private unnamed_addr constant [13 x i8] c", label %swh\00"
+@.str9724 = private unnamed_addr constant [13 x i8] c", label %swx\00"
+@.str9725 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9726 = private unnamed_addr constant [4 x i8] c"swh\00"
+@.str9727 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9728 = private unnamed_addr constant [8 x i8] c" %swlp\00"
+@.str9729 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9730 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
+@.str9731 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00"
+@.str9732 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9733 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00"
+@.str9734 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00"
+@.str9735 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9736 = private unnamed_addr constant [4 x i8] c"swx\00"
+@.str9737 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9738 = private unnamed_addr constant [9 x i8] c" %swinc\00"
+@.str9739 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00"
+@.str9740 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00"
+@.str9741 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00"
@.str9742 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9743 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00"
-@.str9744 = private unnamed_addr constant [12 x i8] c", label %pk\00"
-@.str9745 = private unnamed_addr constant [12 x i8] c", label %pn\00"
+@.str9743 = private unnamed_addr constant [4 x i8] c"swd\00"
+@.str9744 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00"
+@.str9745 = private unnamed_addr constant [15 x i8] c" br label %sw\00"
@.str9746 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9747 = private unnamed_addr constant [3 x i8] c"pk\00"
-@.str9748 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9749 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str9750 = private unnamed_addr constant [6 x i8] c" %fc\00"
-@.str9751 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
-@.str9752 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str9753 = private unnamed_addr constant [6 x i8] c" %fe\00"
-@.str9754 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00"
-@.str9755 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
-@.str9756 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00"
-@.str9757 = private unnamed_addr constant [12 x i8] c", label %fh\00"
-@.str9758 = private unnamed_addr constant [12 x i8] c", label %fn\00"
-@.str9759 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9760 = private unnamed_addr constant [3 x i8] c"fh\00"
-@.str9761 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
-@.str9762 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9763 = private unnamed_addr constant [3 x i8] c"fn\00"
-@.str9764 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9765 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00"
-@.str9766 = private unnamed_addr constant [3 x i8] c"pn\00"
-@.str9767 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9768 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
-@.str9769 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00"
-@.str9770 = private unnamed_addr constant [5 x i8] c" %m\00"
-@.str9771 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
-@.str9772 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9773 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
-@.str9774 = private unnamed_addr constant [11 x i8] c", label %g\00"
-@.str9775 = private unnamed_addr constant [12 x i8] c", label %gn\00"
-@.str9776 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9777 = private unnamed_addr constant [2 x i8] c"g\00"
-@.str9778 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9779 = private unnamed_addr constant [5 x i8] c" %s\00"
-@.str9780 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9781 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
-@.str9782 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
-@.str9783 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
-@.str9784 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str9785 = private unnamed_addr constant [6 x i8] c" %gm\00"
-@.str9786 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
-@.str9787 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9788 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00"
-@.str9789 = private unnamed_addr constant [12 x i8] c", label %gf\00"
-@.str9790 = private unnamed_addr constant [12 x i8] c", label %gk\00"
-@.str9791 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9792 = private unnamed_addr constant [3 x i8] c"gf\00"
-@.str9793 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9794 = private unnamed_addr constant [6 x i8] c" %ga\00"
-@.str9795 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
-@.str9796 = private unnamed_addr constant [9 x i8] c", ptr %s\00"
-@.str9797 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str9798 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9799 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str9800 = private unnamed_addr constant [6 x i8] c" %gl\00"
-@.str9801 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00"
-@.str9802 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9803 = private unnamed_addr constant [6 x i8] c" %gr\00"
-@.str9804 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00"
-@.str9805 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
-@.str9806 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9807 = private unnamed_addr constant [3 x i8] c"i8\00"
-@.str9808 = private unnamed_addr constant [6 x i8] c" %gl\00"
-@.str9809 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00"
+@.str9747 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
+@.str9748 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
+@.str9749 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00"
+@.str9750 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00"
+@.str9751 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00"
+@.str9752 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00"
+@.str9753 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00"
+@.str9754 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00"
+@.str9755 = private unnamed_addr constant [5 x i8] c" %c\00"
+@.str9756 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
+@.str9757 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str9758 = private unnamed_addr constant [5 x i8] c" %e\00"
+@.str9759 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00"
+@.str9760 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
+@.str9761 = private unnamed_addr constant [11 x i8] c" br i1 %e\00"
+@.str9762 = private unnamed_addr constant [11 x i8] c", label %h\00"
+@.str9763 = private unnamed_addr constant [11 x i8] c", label %n\00"
+@.str9764 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9765 = private unnamed_addr constant [2 x i8] c"h\00"
+@.str9766 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
+@.str9767 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9768 = private unnamed_addr constant [2 x i8] c"n\00"
+@.str9769 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9770 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00"
+@.str9771 = 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"
+@.str9772 = 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"
+@.str9773 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00"
+@.str9774 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00"
+@.str9775 = 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"
+@.str9776 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00"
+@.str9777 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00"
+@.str9778 = private unnamed_addr constant [6 x i8] c" %pm\00"
+@.str9779 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
+@.str9780 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9781 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00"
+@.str9782 = private unnamed_addr constant [12 x i8] c", label %pk\00"
+@.str9783 = private unnamed_addr constant [12 x i8] c", label %pn\00"
+@.str9784 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9785 = private unnamed_addr constant [3 x i8] c"pk\00"
+@.str9786 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9787 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str9788 = private unnamed_addr constant [6 x i8] c" %fc\00"
+@.str9789 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
+@.str9790 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str9791 = private unnamed_addr constant [6 x i8] c" %fe\00"
+@.str9792 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00"
+@.str9793 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
+@.str9794 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00"
+@.str9795 = private unnamed_addr constant [12 x i8] c", label %fh\00"
+@.str9796 = private unnamed_addr constant [12 x i8] c", label %fn\00"
+@.str9797 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9798 = private unnamed_addr constant [3 x i8] c"fh\00"
+@.str9799 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
+@.str9800 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9801 = private unnamed_addr constant [3 x i8] c"fn\00"
+@.str9802 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9803 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00"
+@.str9804 = private unnamed_addr constant [3 x i8] c"pn\00"
+@.str9805 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9806 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
+@.str9807 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00"
+@.str9808 = private unnamed_addr constant [5 x i8] c" %m\00"
+@.str9809 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
@.str9810 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9811 = private unnamed_addr constant [6 x i8] c" %gr\00"
-@.str9812 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00"
-@.str9813 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
+@.str9811 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
+@.str9812 = private unnamed_addr constant [11 x i8] c", label %g\00"
+@.str9813 = private unnamed_addr constant [12 x i8] c", label %gn\00"
@.str9814 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9815 = private unnamed_addr constant [6 x i8] c" %gl\00"
-@.str9816 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00"
-@.str9817 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9818 = private unnamed_addr constant [6 x i8] c" %gr\00"
-@.str9819 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00"
-@.str9820 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
-@.str9821 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9822 = private unnamed_addr constant [3 x i8] c"gk\00"
-@.str9823 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9824 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00"
-@.str9825 = private unnamed_addr constant [3 x i8] c"gn\00"
-@.str9826 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9827 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00"
-@.str9828 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9829 = 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"
-@.str9830 = 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"
-@.str9831 = 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"
-@.str9832 = 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"
-@.str9833 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00"
-@.str9834 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00"
-@.str9835 = private unnamed_addr constant [5 x i8] c" %m\00"
-@.str9836 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
-@.str9837 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9838 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
-@.str9839 = private unnamed_addr constant [11 x i8] c", label %g\00"
-@.str9840 = private unnamed_addr constant [12 x i8] c", label %gn\00"
-@.str9841 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9842 = private unnamed_addr constant [2 x i8] c"g\00"
-@.str9843 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9844 = private unnamed_addr constant [5 x i8] c" %s\00"
-@.str9845 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9846 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
-@.str9847 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
-@.str9848 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
-@.str9849 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str9850 = private unnamed_addr constant [6 x i8] c" %sm\00"
-@.str9851 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
+@.str9815 = private unnamed_addr constant [2 x i8] c"g\00"
+@.str9816 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9817 = private unnamed_addr constant [5 x i8] c" %s\00"
+@.str9818 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9819 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
+@.str9820 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
+@.str9821 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
+@.str9822 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str9823 = private unnamed_addr constant [6 x i8] c" %gm\00"
+@.str9824 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
+@.str9825 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9826 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00"
+@.str9827 = private unnamed_addr constant [12 x i8] c", label %gf\00"
+@.str9828 = private unnamed_addr constant [12 x i8] c", label %gk\00"
+@.str9829 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9830 = private unnamed_addr constant [3 x i8] c"gf\00"
+@.str9831 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9832 = private unnamed_addr constant [6 x i8] c" %ga\00"
+@.str9833 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
+@.str9834 = private unnamed_addr constant [9 x i8] c", ptr %s\00"
+@.str9835 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str9836 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9837 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str9838 = private unnamed_addr constant [6 x i8] c" %gl\00"
+@.str9839 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00"
+@.str9840 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9841 = private unnamed_addr constant [6 x i8] c" %gr\00"
+@.str9842 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00"
+@.str9843 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
+@.str9844 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9845 = private unnamed_addr constant [3 x i8] c"i8\00"
+@.str9846 = private unnamed_addr constant [6 x i8] c" %gl\00"
+@.str9847 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00"
+@.str9848 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9849 = private unnamed_addr constant [6 x i8] c" %gr\00"
+@.str9850 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00"
+@.str9851 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
@.str9852 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9853 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00"
-@.str9854 = private unnamed_addr constant [12 x i8] c", label %sf\00"
-@.str9855 = private unnamed_addr constant [12 x i8] c", label %sk\00"
-@.str9856 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9857 = private unnamed_addr constant [3 x i8] c"sf\00"
-@.str9858 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9859 = private unnamed_addr constant [6 x i8] c" %sa\00"
-@.str9860 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
-@.str9861 = private unnamed_addr constant [9 x i8] c", ptr %s\00"
-@.str9862 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str9863 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9864 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str9865 = private unnamed_addr constant [6 x i8] c" %sp\00"
-@.str9866 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00"
-@.str9867 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00"
-@.str9868 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
-@.str9869 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
-@.str9870 = private unnamed_addr constant [3 x i8] c"i8\00"
-@.str9871 = private unnamed_addr constant [6 x i8] c" %sb\00"
-@.str9872 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00"
-@.str9873 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00"
-@.str9874 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
-@.str9875 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
-@.str9876 = private unnamed_addr constant [6 x i8] c" %sw\00"
-@.str9877 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00"
-@.str9878 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00"
-@.str9879 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
-@.str9880 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
-@.str9881 = private unnamed_addr constant [3 x i8] c"sk\00"
-@.str9882 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9883 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
-@.str9884 = private unnamed_addr constant [3 x i8] c"gn\00"
-@.str9885 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9886 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00"
-@.str9887 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9888 = 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"
-@.str9889 = 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"
-@.str9890 = 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"
-@.str9891 = 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"
-@.str9892 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00"
-@.str9893 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00"
-@.str9894 = private unnamed_addr constant [5 x i8] c" %m\00"
-@.str9895 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
-@.str9896 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9897 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
-@.str9898 = private unnamed_addr constant [11 x i8] c", label %g\00"
-@.str9899 = private unnamed_addr constant [12 x i8] c", label %gn\00"
-@.str9900 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9901 = private unnamed_addr constant [2 x i8] c"g\00"
-@.str9902 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9903 = private unnamed_addr constant [6 x i8] c" %hp\00"
-@.str9904 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str9905 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
-@.str9906 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
-@.str9907 = private unnamed_addr constant [6 x i8] c" %hv\00"
-@.str9908 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00"
-@.str9909 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9910 = private unnamed_addr constant [6 x i8] c" %hr\00"
-@.str9911 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00"
-@.str9912 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00"
-@.str9913 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9914 = private unnamed_addr constant [3 x i8] c"gn\00"
-@.str9915 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9916 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00"
-@.str9917 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9918 = 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"
-@.str9919 = 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"
-@.str9920 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00"
-@.str9921 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00"
-@.str9922 = 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"
-@.str9923 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00"
-@.str9924 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00"
-@.str9925 = 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"
-@.str9926 = 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"
-@.str9927 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00"
-@.str9928 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00"
-@.str9929 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str9930 = 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"
-@.str9931 = 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"
-@.str9932 = 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"
-@.str9933 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00"
-@.str9934 = 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"
-@.str9935 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00"
-@.str9936 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00"
-@.str9937 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
-@.str9938 = 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"
-@.str9939 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00"
-@.str9940 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
-@.str9941 = 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"
-@.str9942 = 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"
-@.str9943 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00"
-@.str9944 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
-@.str9945 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00"
-@.str9946 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00"
-@.str9947 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00"
-@.str9948 = private unnamed_addr constant [7 x i8] c" %mdc\00"
-@.str9949 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
-@.str9950 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str9951 = private unnamed_addr constant [7 x i8] c" %mde\00"
-@.str9952 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00"
-@.str9953 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
-@.str9954 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00"
-@.str9955 = private unnamed_addr constant [13 x i8] c", label %mdh\00"
-@.str9956 = private unnamed_addr constant [13 x i8] c", label %mdn\00"
-@.str9957 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9958 = private unnamed_addr constant [4 x i8] c"mdh\00"
-@.str9959 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
-@.str9960 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9961 = private unnamed_addr constant [4 x i8] c"mdn\00"
-@.str9962 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9963 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
-@.str9964 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str9965 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
-@.str9966 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9967 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00"
-@.str9968 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
-@.str9969 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
-@.str9970 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00"
-@.str9971 = private unnamed_addr constant [6 x i8] c" %sm\00"
-@.str9972 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00"
-@.str9973 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9974 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00"
-@.str9975 = private unnamed_addr constant [12 x i8] c", label %sh\00"
-@.str9976 = private unnamed_addr constant [12 x i8] c", label %sn\00"
-@.str9977 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9978 = private unnamed_addr constant [3 x i8] c"sh\00"
-@.str9979 = private unnamed_addr constant [8 x i8] c":\0A %sr\00"
-@.str9980 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00"
-@.str9981 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00"
-@.str9982 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str9983 = private unnamed_addr constant [3 x i8] c"sn\00"
-@.str9984 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str9985 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
-@.str9986 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00"
-@.str9987 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00"
-@.str9988 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00"
-@.str9989 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00"
-@.str9990 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00"
-@.str9991 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
-@.str9992 = 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"
-@.str9993 = 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"
-@.str9994 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00"
-@.str9995 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00"
-@.str9996 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00"
-@.str9997 = private unnamed_addr constant [1 x i8] c"\00"
-@.str9998 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str9999 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00"
-@.str10000 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00"
-@.str10001 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00"
-@.str10002 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00"
-@.str10003 = private unnamed_addr constant [6 x i8] c" %pe\00"
-@.str10004 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00"
-@.str10005 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10006 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00"
-@.str10007 = private unnamed_addr constant [12 x i8] c", label %ph\00"
-@.str10008 = private unnamed_addr constant [12 x i8] c", label %pn\00"
-@.str10009 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10010 = private unnamed_addr constant [3 x i8] c"ph\00"
-@.str10011 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00"
-@.str10012 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10013 = private unnamed_addr constant [3 x i8] c"pn\00"
-@.str10014 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10015 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00"
-@.str10016 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00"
-@.str10017 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00"
-@.str10018 = 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"
-@.str10019 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00"
-@.str10020 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
-@.str10021 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00"
-@.str10022 = private unnamed_addr constant [7 x i8] c" %fce\00"
-@.str10023 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
-@.str10024 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10025 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00"
-@.str10026 = private unnamed_addr constant [13 x i8] c", label %fch\00"
-@.str10027 = private unnamed_addr constant [13 x i8] c", label %fcn\00"
-@.str10028 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10029 = private unnamed_addr constant [4 x i8] c"fch\00"
-@.str10030 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
-@.str10031 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10032 = private unnamed_addr constant [4 x i8] c"fcn\00"
-@.str10033 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10034 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
-@.str10035 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00"
-@.str10036 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00"
-@.str10037 = 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"
-@.str10038 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00"
-@.str10039 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00"
-@.str10040 = private unnamed_addr constant [7 x i8] c" %fne\00"
-@.str10041 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
-@.str10042 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10043 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00"
-@.str10044 = private unnamed_addr constant [13 x i8] c", label %fnk\00"
-@.str10045 = private unnamed_addr constant [13 x i8] c", label %fnn\00"
-@.str10046 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10047 = private unnamed_addr constant [4 x i8] c"fnk\00"
-@.str10048 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10049 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str10050 = private unnamed_addr constant [8 x i8] c" %fnfe\00"
-@.str10051 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
-@.str10052 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10053 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00"
-@.str10054 = private unnamed_addr constant [14 x i8] c", label %fnfh\00"
-@.str10055 = private unnamed_addr constant [14 x i8] c", label %fnfn\00"
-@.str10056 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10057 = private unnamed_addr constant [5 x i8] c"fnfh\00"
-@.str10058 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00"
-@.str10059 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10060 = private unnamed_addr constant [5 x i8] c"fnfn\00"
-@.str10061 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10062 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
-@.str10063 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10064 = private unnamed_addr constant [4 x i8] c"fnn\00"
-@.str10065 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10066 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
-@.str10067 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
-@.str10068 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00"
-@.str10069 = private unnamed_addr constant [7 x i8] c" %fte\00"
-@.str10070 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
-@.str10071 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10072 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00"
-@.str10073 = private unnamed_addr constant [13 x i8] c", label %ftk\00"
-@.str10074 = private unnamed_addr constant [13 x i8] c", label %ftn\00"
-@.str10075 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10076 = private unnamed_addr constant [4 x i8] c"ftk\00"
-@.str10077 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10078 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str10079 = private unnamed_addr constant [8 x i8] c" %ftfe\00"
-@.str10080 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
-@.str10081 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10082 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00"
-@.str10083 = private unnamed_addr constant [14 x i8] c", label %ftfh\00"
-@.str10084 = private unnamed_addr constant [14 x i8] c", label %ftfn\00"
-@.str10085 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10086 = private unnamed_addr constant [5 x i8] c"ftfh\00"
-@.str10087 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00"
-@.str10088 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10089 = private unnamed_addr constant [5 x i8] c"ftfn\00"
-@.str10090 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10091 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
-@.str10092 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10093 = private unnamed_addr constant [4 x i8] c"ftn\00"
-@.str10094 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10095 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
-@.str10096 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
-@.str10097 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00"
-@.str10098 = private unnamed_addr constant [6 x i8] c"Input\00"
-@.str10099 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00"
-@.str10100 = private unnamed_addr constant [7 x i8] c"Update\00"
-@.str10101 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
-@.str10102 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
-@.str10103 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00"
-@.str10104 = private unnamed_addr constant [7 x i8] c"Render\00"
-@.str10105 = private unnamed_addr constant [8 x i8] c"Overlay\00"
-@.str10106 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
-@.str10107 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
-@.str10108 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
-@.str10109 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
-@.str10110 = private unnamed_addr constant [8 x i8] c"rt_init\00"
-@.str10111 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00"
-@.str10112 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00"
-@.str10113 = private unnamed_addr constant [6 x i8] c"Start\00"
-@.str10114 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str10115 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00"
-@.str10116 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00"
-@.str10117 = private unnamed_addr constant [4 x i8] c"()\0A\00"
-@.str10118 = private unnamed_addr constant [14 x i8] c"program_start\00"
-@.str10119 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00"
-@.str10120 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
-@.str10121 = private unnamed_addr constant [7 x i8] c"loop:\0A\00"
-@.str10122 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00"
-@.str10123 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str10124 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str10125 = private unnamed_addr constant [11 x i8] c"rt_running\00"
-@.str10126 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00"
-@.str10127 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str10128 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str10129 = private unnamed_addr constant [8 x i8] c"and i1 \00"
-@.str10130 = private unnamed_addr constant [3 x i8] c", \00"
-@.str10131 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str10132 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00"
-@.str10133 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str10134 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00"
-@.str10135 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
-@.str10136 = private unnamed_addr constant [12 x i8] c"input_drive\00"
-@.str10137 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00"
-@.str10138 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str10139 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00"
-@.str10140 = private unnamed_addr constant [8 x i8] c"rt_poll\00"
-@.str10141 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00"
-@.str10142 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str10143 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00"
-@.str10144 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00"
-@.str10145 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00"
-@.str10146 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00"
-@.str10147 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10148 = private unnamed_addr constant [6 x i8] c"Input\00"
-@.str10149 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00"
-@.str10150 = private unnamed_addr constant [7 x i8] c"Update\00"
-@.str10151 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
-@.str10152 = private unnamed_addr constant [9 x i8] c"rt_clear\00"
-@.str10153 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00"
-@.str10154 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10155 = private unnamed_addr constant [7 x i8] c"Render\00"
-@.str10156 = private unnamed_addr constant [8 x i8] c"Overlay\00"
-@.str10157 = private unnamed_addr constant [11 x i8] c"rt_present\00"
-@.str10158 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00"
-@.str10159 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
-@.str10160 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str10161 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str10162 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str10163 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00"
-@.str10164 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
-@.str10165 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
-@.str10166 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00"
-@.str10167 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
-@.str10168 = private unnamed_addr constant [13 x i8] c"program_quit\00"
-@.str10169 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00"
-@.str10170 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00"
-@.str10171 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00"
-@.str10172 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00"
-@.str10173 = private unnamed_addr constant [15 x i8] c"machine state \00"
-@.str10174 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00"
-@.str10175 = private unnamed_addr constant [1 x i8] c"\00"
-@.str10176 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00"
-@.str10177 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00"
-@.str10178 = private unnamed_addr constant [2 x i8] c")\00"
-@.str10179 = private unnamed_addr constant [6 x i8] c"smend\00"
-@.str10180 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str10181 = private unnamed_addr constant [3 x i8] c", \00"
-@.str10182 = private unnamed_addr constant [6 x i8] c"sbody\00"
-@.str10183 = private unnamed_addr constant [5 x i8] c"sarm\00"
-@.str10184 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str10185 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str10186 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str10187 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10188 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10189 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str10190 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10191 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10192 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str10193 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10194 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10195 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str10196 = private unnamed_addr constant [10 x i8] c", ptr @g_\00"
-@.str10197 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10198 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00"
-@.str10199 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str10200 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10201 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00"
-@.str10202 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00"
-@.str10203 = private unnamed_addr constant [4 x i8] c"()\0A\00"
-@.str10204 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00"
-@.str10205 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str10206 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00"
-@.str10207 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00"
-@.str10208 = private unnamed_addr constant [4 x i8] c"()\0A\00"
-@.str10209 = private unnamed_addr constant [5 x i8] c"file\00"
-@.str10210 = private unnamed_addr constant [4 x i8] c"%io\00"
-@.str10211 = private unnamed_addr constant [3 x i8] c" \00"
-@.str10212 = private unnamed_addr constant [14 x i8] c" = call i64 @\00"
-@.str10213 = private unnamed_addr constant [6 x i8] c"(ptr \00"
-@.str10214 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
-@.str10215 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00"
-@.str10216 = private unnamed_addr constant [5 x i8] c"size\00"
-@.str10217 = private unnamed_addr constant [6 x i8] c"%ioff\00"
-@.str10218 = private unnamed_addr constant [3 x i8] c" \00"
-@.str10219 = private unnamed_addr constant [12 x i8] c" = add i64 \00"
-@.str10220 = private unnamed_addr constant [3 x i8] c", \00"
-@.str10221 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10222 = private unnamed_addr constant [5 x i8] c"%ioa\00"
-@.str10223 = private unnamed_addr constant [3 x i8] c" \00"
-@.str10224 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00"
+@.str9853 = private unnamed_addr constant [6 x i8] c" %gl\00"
+@.str9854 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00"
+@.str9855 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9856 = private unnamed_addr constant [6 x i8] c" %gr\00"
+@.str9857 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00"
+@.str9858 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
+@.str9859 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9860 = private unnamed_addr constant [3 x i8] c"gk\00"
+@.str9861 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9862 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00"
+@.str9863 = private unnamed_addr constant [3 x i8] c"gn\00"
+@.str9864 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9865 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00"
+@.str9866 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9867 = 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"
+@.str9868 = 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"
+@.str9869 = 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"
+@.str9870 = 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"
+@.str9871 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00"
+@.str9872 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00"
+@.str9873 = private unnamed_addr constant [5 x i8] c" %m\00"
+@.str9874 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
+@.str9875 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9876 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
+@.str9877 = private unnamed_addr constant [11 x i8] c", label %g\00"
+@.str9878 = private unnamed_addr constant [12 x i8] c", label %gn\00"
+@.str9879 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9880 = private unnamed_addr constant [2 x i8] c"g\00"
+@.str9881 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9882 = private unnamed_addr constant [5 x i8] c" %s\00"
+@.str9883 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9884 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
+@.str9885 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
+@.str9886 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
+@.str9887 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str9888 = private unnamed_addr constant [6 x i8] c" %sm\00"
+@.str9889 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
+@.str9890 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9891 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00"
+@.str9892 = private unnamed_addr constant [12 x i8] c", label %sf\00"
+@.str9893 = private unnamed_addr constant [12 x i8] c", label %sk\00"
+@.str9894 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9895 = private unnamed_addr constant [3 x i8] c"sf\00"
+@.str9896 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9897 = private unnamed_addr constant [6 x i8] c" %sa\00"
+@.str9898 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
+@.str9899 = private unnamed_addr constant [9 x i8] c", ptr %s\00"
+@.str9900 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str9901 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9902 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str9903 = private unnamed_addr constant [6 x i8] c" %sp\00"
+@.str9904 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00"
+@.str9905 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00"
+@.str9906 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
+@.str9907 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
+@.str9908 = private unnamed_addr constant [3 x i8] c"i8\00"
+@.str9909 = private unnamed_addr constant [6 x i8] c" %sb\00"
+@.str9910 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00"
+@.str9911 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00"
+@.str9912 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
+@.str9913 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
+@.str9914 = private unnamed_addr constant [6 x i8] c" %sw\00"
+@.str9915 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00"
+@.str9916 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00"
+@.str9917 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
+@.str9918 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
+@.str9919 = private unnamed_addr constant [3 x i8] c"sk\00"
+@.str9920 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9921 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
+@.str9922 = private unnamed_addr constant [3 x i8] c"gn\00"
+@.str9923 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9924 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00"
+@.str9925 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9926 = 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"
+@.str9927 = 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"
+@.str9928 = 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"
+@.str9929 = 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"
+@.str9930 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00"
+@.str9931 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00"
+@.str9932 = private unnamed_addr constant [5 x i8] c" %m\00"
+@.str9933 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
+@.str9934 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9935 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
+@.str9936 = private unnamed_addr constant [11 x i8] c", label %g\00"
+@.str9937 = private unnamed_addr constant [12 x i8] c", label %gn\00"
+@.str9938 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9939 = private unnamed_addr constant [2 x i8] c"g\00"
+@.str9940 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9941 = private unnamed_addr constant [6 x i8] c" %hp\00"
+@.str9942 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str9943 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
+@.str9944 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
+@.str9945 = private unnamed_addr constant [6 x i8] c" %hv\00"
+@.str9946 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00"
+@.str9947 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9948 = private unnamed_addr constant [6 x i8] c" %hr\00"
+@.str9949 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00"
+@.str9950 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00"
+@.str9951 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9952 = private unnamed_addr constant [3 x i8] c"gn\00"
+@.str9953 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str9954 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00"
+@.str9955 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9956 = 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"
+@.str9957 = 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"
+@.str9958 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00"
+@.str9959 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00"
+@.str9960 = 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"
+@.str9961 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00"
+@.str9962 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00"
+@.str9963 = 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"
+@.str9964 = 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"
+@.str9965 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00"
+@.str9966 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00"
+@.str9967 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str9968 = 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"
+@.str9969 = 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"
+@.str9970 = 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"
+@.str9971 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00"
+@.str9972 = 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"
+@.str9973 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00"
+@.str9974 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00"
+@.str9975 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
+@.str9976 = 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"
+@.str9977 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00"
+@.str9978 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
+@.str9979 = 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"
+@.str9980 = 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"
+@.str9981 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00"
+@.str9982 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
+@.str9983 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00"
+@.str9984 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00"
+@.str9985 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00"
+@.str9986 = private unnamed_addr constant [7 x i8] c" %mdc\00"
+@.str9987 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
+@.str9988 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str9989 = private unnamed_addr constant [7 x i8] c" %mde\00"
+@.str9990 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00"
+@.str9991 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
+@.str9992 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00"
+@.str9993 = private unnamed_addr constant [13 x i8] c", label %mdh\00"
+@.str9994 = private unnamed_addr constant [13 x i8] c", label %mdn\00"
+@.str9995 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9996 = private unnamed_addr constant [4 x i8] c"mdh\00"
+@.str9997 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
+@.str9998 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str9999 = private unnamed_addr constant [4 x i8] c"mdn\00"
+@.str10000 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10001 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
+@.str10002 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str10003 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
+@.str10004 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10005 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00"
+@.str10006 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
+@.str10007 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
+@.str10008 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00"
+@.str10009 = private unnamed_addr constant [6 x i8] c" %sm\00"
+@.str10010 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00"
+@.str10011 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10012 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00"
+@.str10013 = private unnamed_addr constant [12 x i8] c", label %sh\00"
+@.str10014 = private unnamed_addr constant [12 x i8] c", label %sn\00"
+@.str10015 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10016 = private unnamed_addr constant [3 x i8] c"sh\00"
+@.str10017 = private unnamed_addr constant [8 x i8] c":\0A %sr\00"
+@.str10018 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00"
+@.str10019 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00"
+@.str10020 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10021 = private unnamed_addr constant [3 x i8] c"sn\00"
+@.str10022 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10023 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
+@.str10024 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00"
+@.str10025 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00"
+@.str10026 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00"
+@.str10027 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00"
+@.str10028 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00"
+@.str10029 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
+@.str10030 = 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"
+@.str10031 = 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"
+@.str10032 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00"
+@.str10033 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00"
+@.str10034 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00"
+@.str10035 = private unnamed_addr constant [1 x i8] c"\00"
+@.str10036 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str10037 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00"
+@.str10038 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00"
+@.str10039 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00"
+@.str10040 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00"
+@.str10041 = private unnamed_addr constant [6 x i8] c" %pe\00"
+@.str10042 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00"
+@.str10043 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10044 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00"
+@.str10045 = private unnamed_addr constant [12 x i8] c", label %ph\00"
+@.str10046 = private unnamed_addr constant [12 x i8] c", label %pn\00"
+@.str10047 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10048 = private unnamed_addr constant [3 x i8] c"ph\00"
+@.str10049 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00"
+@.str10050 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10051 = private unnamed_addr constant [3 x i8] c"pn\00"
+@.str10052 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10053 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00"
+@.str10054 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00"
+@.str10055 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00"
+@.str10056 = 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"
+@.str10057 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00"
+@.str10058 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
+@.str10059 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00"
+@.str10060 = private unnamed_addr constant [7 x i8] c" %fce\00"
+@.str10061 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
+@.str10062 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10063 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00"
+@.str10064 = private unnamed_addr constant [13 x i8] c", label %fch\00"
+@.str10065 = private unnamed_addr constant [13 x i8] c", label %fcn\00"
+@.str10066 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10067 = private unnamed_addr constant [4 x i8] c"fch\00"
+@.str10068 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
+@.str10069 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10070 = private unnamed_addr constant [4 x i8] c"fcn\00"
+@.str10071 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10072 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
+@.str10073 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00"
+@.str10074 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00"
+@.str10075 = 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"
+@.str10076 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00"
+@.str10077 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00"
+@.str10078 = private unnamed_addr constant [7 x i8] c" %fne\00"
+@.str10079 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
+@.str10080 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10081 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00"
+@.str10082 = private unnamed_addr constant [13 x i8] c", label %fnk\00"
+@.str10083 = private unnamed_addr constant [13 x i8] c", label %fnn\00"
+@.str10084 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10085 = private unnamed_addr constant [4 x i8] c"fnk\00"
+@.str10086 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10087 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str10088 = private unnamed_addr constant [8 x i8] c" %fnfe\00"
+@.str10089 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
+@.str10090 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10091 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00"
+@.str10092 = private unnamed_addr constant [14 x i8] c", label %fnfh\00"
+@.str10093 = private unnamed_addr constant [14 x i8] c", label %fnfn\00"
+@.str10094 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10095 = private unnamed_addr constant [5 x i8] c"fnfh\00"
+@.str10096 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00"
+@.str10097 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10098 = private unnamed_addr constant [5 x i8] c"fnfn\00"
+@.str10099 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10100 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
+@.str10101 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10102 = private unnamed_addr constant [4 x i8] c"fnn\00"
+@.str10103 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10104 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
+@.str10105 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
+@.str10106 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00"
+@.str10107 = private unnamed_addr constant [7 x i8] c" %fte\00"
+@.str10108 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
+@.str10109 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10110 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00"
+@.str10111 = private unnamed_addr constant [13 x i8] c", label %ftk\00"
+@.str10112 = private unnamed_addr constant [13 x i8] c", label %ftn\00"
+@.str10113 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10114 = private unnamed_addr constant [4 x i8] c"ftk\00"
+@.str10115 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10116 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str10117 = private unnamed_addr constant [8 x i8] c" %ftfe\00"
+@.str10118 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
+@.str10119 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10120 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00"
+@.str10121 = private unnamed_addr constant [14 x i8] c", label %ftfh\00"
+@.str10122 = private unnamed_addr constant [14 x i8] c", label %ftfn\00"
+@.str10123 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10124 = private unnamed_addr constant [5 x i8] c"ftfh\00"
+@.str10125 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00"
+@.str10126 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10127 = private unnamed_addr constant [5 x i8] c"ftfn\00"
+@.str10128 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10129 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
+@.str10130 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10131 = private unnamed_addr constant [4 x i8] c"ftn\00"
+@.str10132 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10133 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
+@.str10134 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
+@.str10135 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00"
+@.str10136 = private unnamed_addr constant [6 x i8] c"Input\00"
+@.str10137 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00"
+@.str10138 = private unnamed_addr constant [7 x i8] c"Update\00"
+@.str10139 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
+@.str10140 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
+@.str10141 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00"
+@.str10142 = private unnamed_addr constant [7 x i8] c"Render\00"
+@.str10143 = private unnamed_addr constant [8 x i8] c"Overlay\00"
+@.str10144 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
+@.str10145 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
+@.str10146 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
+@.str10147 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
+@.str10148 = private unnamed_addr constant [8 x i8] c"rt_init\00"
+@.str10149 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00"
+@.str10150 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00"
+@.str10151 = private unnamed_addr constant [6 x i8] c"Start\00"
+@.str10152 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str10153 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00"
+@.str10154 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00"
+@.str10155 = private unnamed_addr constant [4 x i8] c"()\0A\00"
+@.str10156 = private unnamed_addr constant [14 x i8] c"program_start\00"
+@.str10157 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00"
+@.str10158 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
+@.str10159 = private unnamed_addr constant [7 x i8] c"loop:\0A\00"
+@.str10160 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00"
+@.str10161 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str10162 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str10163 = private unnamed_addr constant [11 x i8] c"rt_running\00"
+@.str10164 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00"
+@.str10165 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str10166 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str10167 = private unnamed_addr constant [8 x i8] c"and i1 \00"
+@.str10168 = private unnamed_addr constant [3 x i8] c", \00"
+@.str10169 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str10170 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00"
+@.str10171 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str10172 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00"
+@.str10173 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
+@.str10174 = private unnamed_addr constant [12 x i8] c"input_drive\00"
+@.str10175 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00"
+@.str10176 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str10177 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00"
+@.str10178 = private unnamed_addr constant [8 x i8] c"rt_poll\00"
+@.str10179 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00"
+@.str10180 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str10181 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00"
+@.str10182 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00"
+@.str10183 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00"
+@.str10184 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00"
+@.str10185 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10186 = private unnamed_addr constant [6 x i8] c"Input\00"
+@.str10187 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00"
+@.str10188 = private unnamed_addr constant [7 x i8] c"Update\00"
+@.str10189 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
+@.str10190 = private unnamed_addr constant [9 x i8] c"rt_clear\00"
+@.str10191 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00"
+@.str10192 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10193 = private unnamed_addr constant [7 x i8] c"Render\00"
+@.str10194 = private unnamed_addr constant [8 x i8] c"Overlay\00"
+@.str10195 = private unnamed_addr constant [11 x i8] c"rt_present\00"
+@.str10196 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00"
+@.str10197 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
+@.str10198 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str10199 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str10200 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str10201 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00"
+@.str10202 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
+@.str10203 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
+@.str10204 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00"
+@.str10205 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
+@.str10206 = private unnamed_addr constant [13 x i8] c"program_quit\00"
+@.str10207 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00"
+@.str10208 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00"
+@.str10209 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00"
+@.str10210 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00"
+@.str10211 = private unnamed_addr constant [15 x i8] c"machine state \00"
+@.str10212 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00"
+@.str10213 = private unnamed_addr constant [1 x i8] c"\00"
+@.str10214 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00"
+@.str10215 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00"
+@.str10216 = private unnamed_addr constant [2 x i8] c")\00"
+@.str10217 = private unnamed_addr constant [6 x i8] c"smend\00"
+@.str10218 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str10219 = private unnamed_addr constant [3 x i8] c", \00"
+@.str10220 = private unnamed_addr constant [6 x i8] c"sbody\00"
+@.str10221 = private unnamed_addr constant [5 x i8] c"sarm\00"
+@.str10222 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str10223 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str10224 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str10225 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10226 = private unnamed_addr constant [5 x i8] c"save\00"
-@.str10227 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
-@.str10228 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str10229 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str10230 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10231 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
-@.str10232 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str10233 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str10234 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10235 = private unnamed_addr constant [6 x i8] c"%ioff\00"
-@.str10236 = private unnamed_addr constant [3 x i8] c" \00"
-@.str10237 = private unnamed_addr constant [12 x i8] c" = add i64 \00"
-@.str10238 = private unnamed_addr constant [3 x i8] c", \00"
-@.str10239 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10240 = private unnamed_addr constant [2 x i8] c"0\00"
-@.str10241 = private unnamed_addr constant [8 x i8] c"@L_entc\00"
-@.str10242 = private unnamed_addr constant [2 x i8] c"4\00"
-@.str10243 = private unnamed_addr constant [9 x i8] c"@L_freen\00"
-@.str10244 = private unnamed_addr constant [2 x i8] c"4\00"
-@.str10245 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00"
-@.str10246 = private unnamed_addr constant [5 x i8] c", 4\0A\00"
-@.str10247 = private unnamed_addr constant [9 x i8] c"@L_alive\00"
-@.str10248 = private unnamed_addr constant [8 x i8] c"%nalive\00"
-@.str10249 = private unnamed_addr constant [12 x i8] c"@L_freelist\00"
-@.str10250 = private unnamed_addr constant [8 x i8] c"%nalive\00"
-@.str10251 = private unnamed_addr constant [8 x i8] c"@L_kind\00"
-@.str10252 = private unnamed_addr constant [8 x i8] c"%nalive\00"
-@.str10253 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00"
-@.str10254 = private unnamed_addr constant [8 x i8] c"%nalive\00"
-@.str10255 = private unnamed_addr constant [4 x i8] c"@g_\00"
-@.str10256 = private unnamed_addr constant [2 x i8] c"4\00"
-@.str10257 = private unnamed_addr constant [5 x i8] c"%csz\00"
-@.str10258 = private unnamed_addr constant [3 x i8] c" \00"
-@.str10259 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00"
-@.str10260 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00"
-@.str10261 = private unnamed_addr constant [10 x i8] c") to i64\0A\00"
-@.str10262 = private unnamed_addr constant [4 x i8] c"@S_\00"
-@.str10263 = private unnamed_addr constant [4 x i8] c"@H_\00"
-@.str10264 = private unnamed_addr constant [5 x i8] c"file\00"
-@.str10265 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00"
-@.str10266 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00"
-@.str10267 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00"
-@.str10268 = private unnamed_addr constant [14 x i8] c"rt_save_state\00"
-@.str10269 = private unnamed_addr constant [14 x i8] c"rt_load_state\00"
-@.str10270 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00"
-@.str10271 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00"
-@.str10272 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
-@.str10273 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00"
-@.str10274 = private unnamed_addr constant [7 x i8] c"fwrite\00"
-@.str10275 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00"
-@.str10276 = 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"
-@.str10277 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00"
-@.str10278 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00"
-@.str10279 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
-@.str10280 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00"
-@.str10281 = private unnamed_addr constant [6 x i8] c"fread\00"
-@.str10282 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00"
-@.str10283 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00"
-@.str10284 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00"
-@.str10285 = private unnamed_addr constant [5 x i8] c"save\00"
-@.str10286 = private unnamed_addr constant [1 x i8] c"\00"
-@.str10287 = private unnamed_addr constant [5 x i8] c"%wsn\00"
-@.str10288 = private unnamed_addr constant [3 x i8] c" \00"
-@.str10289 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00"
-@.str10290 = private unnamed_addr constant [9 x i8] c" to i32\0A\00"
-@.str10291 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
-@.str10292 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
-@.str10293 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00"
-@.str10294 = private unnamed_addr constant [5 x i8] c"load\00"
-@.str10295 = private unnamed_addr constant [1 x i8] c"\00"
-@.str10296 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
-@.str10297 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00"
-@.str10298 = private unnamed_addr constant [5 x i8] c"size\00"
-@.str10299 = private unnamed_addr constant [1 x i8] c"\00"
-@.str10300 = private unnamed_addr constant [5 x i8] c"%wzn\00"
-@.str10301 = private unnamed_addr constant [3 x i8] c" \00"
-@.str10302 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00"
-@.str10303 = private unnamed_addr constant [9 x i8] c" to i32\0A\00"
-@.str10304 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
-@.str10305 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
-@.str10306 = private unnamed_addr constant [5 x i8] c"file\00"
-@.str10307 = private unnamed_addr constant [3 x i8] c"i8\00"
-@.str10308 = private unnamed_addr constant [3 x i8] c"i8\00"
-@.str10309 = private unnamed_addr constant [2 x i8] c"1\00"
-@.str10310 = private unnamed_addr constant [2 x i8] c"4\00"
-@.str10311 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00"
-@.str10312 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10313 = private unnamed_addr constant [4 x i8] c"ptr\00"
-@.str10314 = private unnamed_addr constant [13 x i8] c"@Sync field \00"
-@.str10315 = private unnamed_addr constant [2 x i8] c".\00"
-@.str10316 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00"
-@.str10317 = private unnamed_addr constant [7 x i8] c"model \00"
-@.str10318 = private unnamed_addr constant [9 x i8] c" @Syncs \00"
-@.str10319 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00"
-@.str10320 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00"
-@.str10321 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00"
-@.str10322 = private unnamed_addr constant [3 x i8] c" \00"
-@.str10323 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str10324 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
-@.str10325 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
-@.str10326 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
-@.str10327 = private unnamed_addr constant [3 x i8] c" \00"
-@.str10328 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
-@.str10329 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str10330 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str10331 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10332 = private unnamed_addr constant [3 x i8] c" \00"
-@.str10333 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00"
-@.str10334 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10335 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
-@.str10336 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str10337 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str10338 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10339 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
-@.str10340 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
-@.str10341 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00"
-@.str10342 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00"
-@.str10343 = private unnamed_addr constant [3 x i8] c" \00"
-@.str10344 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
-@.str10345 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
-@.str10346 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
-@.str10347 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
-@.str10348 = private unnamed_addr constant [3 x i8] c" \00"
-@.str10349 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
-@.str10350 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str10351 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
-@.str10352 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10353 = private unnamed_addr constant [3 x i8] c" \00"
-@.str10354 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00"
-@.str10355 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10356 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
-@.str10357 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str10358 = private unnamed_addr constant [7 x i8] c", i64 \00"
-@.str10359 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10360 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
-@.str10361 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00"
-@.str10362 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
-@.str10363 = 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"
-@.str10364 = private unnamed_addr constant [5 x i8] c" %c\00"
-@.str10365 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
-@.str10366 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10367 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
-@.str10368 = private unnamed_addr constant [11 x i8] c", label %h\00"
-@.str10369 = private unnamed_addr constant [11 x i8] c", label %n\00"
-@.str10370 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10371 = private unnamed_addr constant [2 x i8] c"h\00"
-@.str10372 = private unnamed_addr constant [7 x i8] c":\0A %r\00"
-@.str10373 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00"
-@.str10374 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00"
-@.str10375 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10376 = private unnamed_addr constant [2 x i8] c"n\00"
-@.str10377 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10378 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00"
-@.str10379 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00"
-@.str10380 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
-@.str10381 = 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"
-@.str10382 = private unnamed_addr constant [5 x i8] c" %c\00"
-@.str10383 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
-@.str10384 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10385 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
-@.str10386 = private unnamed_addr constant [11 x i8] c", label %h\00"
-@.str10387 = private unnamed_addr constant [11 x i8] c", label %n\00"
-@.str10388 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10389 = private unnamed_addr constant [2 x i8] c"h\00"
-@.str10390 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00"
-@.str10391 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00"
-@.str10392 = private unnamed_addr constant [2 x i8] c"n\00"
-@.str10393 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10394 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
-@.str10395 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00"
-@.str10396 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
-@.str10397 = 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"
-@.str10398 = private unnamed_addr constant [5 x i8] c" %c\00"
-@.str10399 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
-@.str10400 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10401 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
-@.str10402 = private unnamed_addr constant [11 x i8] c", label %h\00"
-@.str10403 = private unnamed_addr constant [11 x i8] c", label %n\00"
+@.str10226 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10227 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str10228 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10229 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10230 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str10231 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10232 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10233 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str10234 = private unnamed_addr constant [10 x i8] c", ptr @g_\00"
+@.str10235 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10236 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00"
+@.str10237 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str10238 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10239 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00"
+@.str10240 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00"
+@.str10241 = private unnamed_addr constant [4 x i8] c"()\0A\00"
+@.str10242 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00"
+@.str10243 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str10244 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00"
+@.str10245 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00"
+@.str10246 = private unnamed_addr constant [4 x i8] c"()\0A\00"
+@.str10247 = private unnamed_addr constant [5 x i8] c"file\00"
+@.str10248 = private unnamed_addr constant [4 x i8] c"%io\00"
+@.str10249 = private unnamed_addr constant [3 x i8] c" \00"
+@.str10250 = private unnamed_addr constant [14 x i8] c" = call i64 @\00"
+@.str10251 = private unnamed_addr constant [6 x i8] c"(ptr \00"
+@.str10252 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
+@.str10253 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00"
+@.str10254 = private unnamed_addr constant [5 x i8] c"size\00"
+@.str10255 = private unnamed_addr constant [6 x i8] c"%ioff\00"
+@.str10256 = private unnamed_addr constant [3 x i8] c" \00"
+@.str10257 = private unnamed_addr constant [12 x i8] c" = add i64 \00"
+@.str10258 = private unnamed_addr constant [3 x i8] c", \00"
+@.str10259 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10260 = private unnamed_addr constant [5 x i8] c"%ioa\00"
+@.str10261 = private unnamed_addr constant [3 x i8] c" \00"
+@.str10262 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00"
+@.str10263 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10264 = private unnamed_addr constant [5 x i8] c"save\00"
+@.str10265 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
+@.str10266 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str10267 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str10268 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10269 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
+@.str10270 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str10271 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str10272 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10273 = private unnamed_addr constant [6 x i8] c"%ioff\00"
+@.str10274 = private unnamed_addr constant [3 x i8] c" \00"
+@.str10275 = private unnamed_addr constant [12 x i8] c" = add i64 \00"
+@.str10276 = private unnamed_addr constant [3 x i8] c", \00"
+@.str10277 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10278 = private unnamed_addr constant [2 x i8] c"0\00"
+@.str10279 = private unnamed_addr constant [8 x i8] c"@L_entc\00"
+@.str10280 = private unnamed_addr constant [2 x i8] c"4\00"
+@.str10281 = private unnamed_addr constant [9 x i8] c"@L_freen\00"
+@.str10282 = private unnamed_addr constant [2 x i8] c"4\00"
+@.str10283 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00"
+@.str10284 = private unnamed_addr constant [5 x i8] c", 4\0A\00"
+@.str10285 = private unnamed_addr constant [9 x i8] c"@L_alive\00"
+@.str10286 = private unnamed_addr constant [8 x i8] c"%nalive\00"
+@.str10287 = private unnamed_addr constant [12 x i8] c"@L_freelist\00"
+@.str10288 = private unnamed_addr constant [8 x i8] c"%nalive\00"
+@.str10289 = private unnamed_addr constant [8 x i8] c"@L_kind\00"
+@.str10290 = private unnamed_addr constant [8 x i8] c"%nalive\00"
+@.str10291 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00"
+@.str10292 = private unnamed_addr constant [8 x i8] c"%nalive\00"
+@.str10293 = private unnamed_addr constant [4 x i8] c"@g_\00"
+@.str10294 = private unnamed_addr constant [2 x i8] c"4\00"
+@.str10295 = private unnamed_addr constant [5 x i8] c"%csz\00"
+@.str10296 = private unnamed_addr constant [3 x i8] c" \00"
+@.str10297 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00"
+@.str10298 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00"
+@.str10299 = private unnamed_addr constant [10 x i8] c") to i64\0A\00"
+@.str10300 = private unnamed_addr constant [4 x i8] c"@S_\00"
+@.str10301 = private unnamed_addr constant [4 x i8] c"@H_\00"
+@.str10302 = private unnamed_addr constant [5 x i8] c"file\00"
+@.str10303 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00"
+@.str10304 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00"
+@.str10305 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00"
+@.str10306 = private unnamed_addr constant [14 x i8] c"rt_save_state\00"
+@.str10307 = private unnamed_addr constant [14 x i8] c"rt_load_state\00"
+@.str10308 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00"
+@.str10309 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00"
+@.str10310 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
+@.str10311 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00"
+@.str10312 = private unnamed_addr constant [7 x i8] c"fwrite\00"
+@.str10313 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00"
+@.str10314 = 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"
+@.str10315 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00"
+@.str10316 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00"
+@.str10317 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
+@.str10318 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00"
+@.str10319 = private unnamed_addr constant [6 x i8] c"fread\00"
+@.str10320 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00"
+@.str10321 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00"
+@.str10322 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00"
+@.str10323 = private unnamed_addr constant [5 x i8] c"save\00"
+@.str10324 = private unnamed_addr constant [1 x i8] c"\00"
+@.str10325 = private unnamed_addr constant [5 x i8] c"%wsn\00"
+@.str10326 = private unnamed_addr constant [3 x i8] c" \00"
+@.str10327 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00"
+@.str10328 = private unnamed_addr constant [9 x i8] c" to i32\0A\00"
+@.str10329 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
+@.str10330 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
+@.str10331 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00"
+@.str10332 = private unnamed_addr constant [5 x i8] c"load\00"
+@.str10333 = private unnamed_addr constant [1 x i8] c"\00"
+@.str10334 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
+@.str10335 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00"
+@.str10336 = private unnamed_addr constant [5 x i8] c"size\00"
+@.str10337 = private unnamed_addr constant [1 x i8] c"\00"
+@.str10338 = private unnamed_addr constant [5 x i8] c"%wzn\00"
+@.str10339 = private unnamed_addr constant [3 x i8] c" \00"
+@.str10340 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00"
+@.str10341 = private unnamed_addr constant [9 x i8] c" to i32\0A\00"
+@.str10342 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
+@.str10343 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
+@.str10344 = private unnamed_addr constant [5 x i8] c"file\00"
+@.str10345 = private unnamed_addr constant [3 x i8] c"i8\00"
+@.str10346 = private unnamed_addr constant [3 x i8] c"i8\00"
+@.str10347 = private unnamed_addr constant [2 x i8] c"1\00"
+@.str10348 = private unnamed_addr constant [2 x i8] c"4\00"
+@.str10349 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00"
+@.str10350 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10351 = private unnamed_addr constant [4 x i8] c"ptr\00"
+@.str10352 = private unnamed_addr constant [13 x i8] c"@Sync field \00"
+@.str10353 = private unnamed_addr constant [2 x i8] c".\00"
+@.str10354 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00"
+@.str10355 = private unnamed_addr constant [7 x i8] c"model \00"
+@.str10356 = private unnamed_addr constant [9 x i8] c" @Syncs \00"
+@.str10357 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00"
+@.str10358 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00"
+@.str10359 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00"
+@.str10360 = private unnamed_addr constant [3 x i8] c" \00"
+@.str10361 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str10362 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
+@.str10363 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
+@.str10364 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
+@.str10365 = private unnamed_addr constant [3 x i8] c" \00"
+@.str10366 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
+@.str10367 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str10368 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str10369 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10370 = private unnamed_addr constant [3 x i8] c" \00"
+@.str10371 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00"
+@.str10372 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10373 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
+@.str10374 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str10375 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str10376 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10377 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
+@.str10378 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
+@.str10379 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00"
+@.str10380 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00"
+@.str10381 = private unnamed_addr constant [3 x i8] c" \00"
+@.str10382 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
+@.str10383 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
+@.str10384 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
+@.str10385 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
+@.str10386 = private unnamed_addr constant [3 x i8] c" \00"
+@.str10387 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
+@.str10388 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str10389 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
+@.str10390 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10391 = private unnamed_addr constant [3 x i8] c" \00"
+@.str10392 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00"
+@.str10393 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10394 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
+@.str10395 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str10396 = private unnamed_addr constant [7 x i8] c", i64 \00"
+@.str10397 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10398 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
+@.str10399 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00"
+@.str10400 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
+@.str10401 = 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"
+@.str10402 = private unnamed_addr constant [5 x i8] c" %c\00"
+@.str10403 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
@.str10404 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10405 = private unnamed_addr constant [2 x i8] c"h\00"
-@.str10406 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
-@.str10407 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10408 = private unnamed_addr constant [2 x i8] c"n\00"
-@.str10409 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10410 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00"
-@.str10411 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00"
-@.str10412 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
-@.str10413 = 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"
-@.str10414 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00"
-@.str10415 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
-@.str10416 = 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"
-@.str10417 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00"
-@.str10418 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
-@.str10419 = 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"
-@.str10420 = 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"
-@.str10421 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00"
-@.str10422 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00"
-@.str10423 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00"
-@.str10424 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00"
-@.str10425 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00"
-@.str10426 = 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"
-@.str10427 = 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"
-@.str10428 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00"
-@.str10429 = 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"
-@.str10430 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00"
-@.str10431 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
-@.str10432 = 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"
-@.str10433 = 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"
-@.str10434 = 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"
-@.str10435 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00"
-@.str10436 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00"
-@.str10437 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00"
-@.str10438 = 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"
-@.str10439 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00"
-@.str10440 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
-@.str10441 = 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"
-@.str10442 = 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"
-@.str10443 = 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"
-@.str10444 = 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"
-@.str10445 = 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"
-@.str10446 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00"
-@.str10447 = private unnamed_addr constant [9 x i8] c"net_send\00"
-@.str10448 = private unnamed_addr constant [11 x i8] c"L_net_send\00"
-@.str10449 = private unnamed_addr constant [9 x i8] c"net_poll\00"
-@.str10450 = private unnamed_addr constant [11 x i8] c"L_net_poll\00"
-@.str10451 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00"
-@.str10452 = private unnamed_addr constant [9 x i8] c"net_poll\00"
-@.str10453 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00"
-@.str10454 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00"
-@.str10455 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00"
-@.str10456 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00"
-@.str10457 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00"
-@.str10458 = private unnamed_addr constant [5 x i8] c" %c\00"
-@.str10459 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00"
-@.str10460 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10461 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
-@.str10462 = private unnamed_addr constant [11 x i8] c", label %h\00"
-@.str10463 = private unnamed_addr constant [11 x i8] c", label %x\00"
-@.str10464 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10465 = private unnamed_addr constant [2 x i8] c"h\00"
-@.str10466 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10467 = private unnamed_addr constant [2 x i8] c"_\00"
-@.str10468 = private unnamed_addr constant [6 x i8] c" %fa\00"
-@.str10469 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00"
-@.str10470 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10471 = private unnamed_addr constant [6 x i8] c" %fv\00"
-@.str10472 = private unnamed_addr constant [9 x i8] c" = load \00"
-@.str10473 = private unnamed_addr constant [10 x i8] c", ptr %fa\00"
-@.str10474 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10475 = private unnamed_addr constant [3 x i8] c", \00"
-@.str10476 = private unnamed_addr constant [5 x i8] c" %fv\00"
-@.str10477 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
-@.str10478 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str10479 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10480 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
-@.str10481 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str10482 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10483 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
-@.str10484 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00"
-@.str10485 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00"
-@.str10486 = private unnamed_addr constant [6 x i8] c"panel\00"
-@.str10487 = private unnamed_addr constant [4 x i8] c"col\00"
-@.str10488 = private unnamed_addr constant [4 x i8] c"row\00"
-@.str10489 = private unnamed_addr constant [6 x i8] c"label\00"
-@.str10490 = private unnamed_addr constant [7 x i8] c"button\00"
-@.str10491 = private unnamed_addr constant [6 x i8] c"image\00"
-@.str10492 = private unnamed_addr constant [7 x i8] c"spacer\00"
-@.str10493 = private unnamed_addr constant [5 x i8] c"font\00"
-@.str10494 = private unnamed_addr constant [5 x i8] c"size\00"
-@.str10495 = private unnamed_addr constant [3 x i8] c"fg\00"
-@.str10496 = private unnamed_addr constant [6 x i8] c"align\00"
-@.str10497 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str10498 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00"
-@.str10499 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str10500 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str10501 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10502 = private unnamed_addr constant [2 x i8] c"w\00"
+@.str10405 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
+@.str10406 = private unnamed_addr constant [11 x i8] c", label %h\00"
+@.str10407 = private unnamed_addr constant [11 x i8] c", label %n\00"
+@.str10408 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10409 = private unnamed_addr constant [2 x i8] c"h\00"
+@.str10410 = private unnamed_addr constant [7 x i8] c":\0A %r\00"
+@.str10411 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00"
+@.str10412 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00"
+@.str10413 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10414 = private unnamed_addr constant [2 x i8] c"n\00"
+@.str10415 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10416 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00"
+@.str10417 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00"
+@.str10418 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
+@.str10419 = 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"
+@.str10420 = private unnamed_addr constant [5 x i8] c" %c\00"
+@.str10421 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
+@.str10422 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10423 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
+@.str10424 = private unnamed_addr constant [11 x i8] c", label %h\00"
+@.str10425 = private unnamed_addr constant [11 x i8] c", label %n\00"
+@.str10426 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10427 = private unnamed_addr constant [2 x i8] c"h\00"
+@.str10428 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00"
+@.str10429 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00"
+@.str10430 = private unnamed_addr constant [2 x i8] c"n\00"
+@.str10431 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10432 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
+@.str10433 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00"
+@.str10434 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
+@.str10435 = 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"
+@.str10436 = private unnamed_addr constant [5 x i8] c" %c\00"
+@.str10437 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
+@.str10438 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10439 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
+@.str10440 = private unnamed_addr constant [11 x i8] c", label %h\00"
+@.str10441 = private unnamed_addr constant [11 x i8] c", label %n\00"
+@.str10442 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10443 = private unnamed_addr constant [2 x i8] c"h\00"
+@.str10444 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
+@.str10445 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10446 = private unnamed_addr constant [2 x i8] c"n\00"
+@.str10447 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10448 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00"
+@.str10449 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00"
+@.str10450 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
+@.str10451 = 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"
+@.str10452 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00"
+@.str10453 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
+@.str10454 = 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"
+@.str10455 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00"
+@.str10456 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
+@.str10457 = 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"
+@.str10458 = 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"
+@.str10459 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00"
+@.str10460 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00"
+@.str10461 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00"
+@.str10462 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00"
+@.str10463 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00"
+@.str10464 = 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"
+@.str10465 = 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"
+@.str10466 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00"
+@.str10467 = 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"
+@.str10468 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00"
+@.str10469 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
+@.str10470 = 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"
+@.str10471 = 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"
+@.str10472 = 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"
+@.str10473 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00"
+@.str10474 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00"
+@.str10475 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00"
+@.str10476 = 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"
+@.str10477 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00"
+@.str10478 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
+@.str10479 = 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"
+@.str10480 = 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"
+@.str10481 = 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"
+@.str10482 = 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"
+@.str10483 = 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"
+@.str10484 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00"
+@.str10485 = private unnamed_addr constant [9 x i8] c"net_send\00"
+@.str10486 = private unnamed_addr constant [11 x i8] c"L_net_send\00"
+@.str10487 = private unnamed_addr constant [9 x i8] c"net_poll\00"
+@.str10488 = private unnamed_addr constant [11 x i8] c"L_net_poll\00"
+@.str10489 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00"
+@.str10490 = private unnamed_addr constant [9 x i8] c"net_poll\00"
+@.str10491 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00"
+@.str10492 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00"
+@.str10493 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00"
+@.str10494 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00"
+@.str10495 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00"
+@.str10496 = private unnamed_addr constant [5 x i8] c" %c\00"
+@.str10497 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00"
+@.str10498 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10499 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
+@.str10500 = private unnamed_addr constant [11 x i8] c", label %h\00"
+@.str10501 = private unnamed_addr constant [11 x i8] c", label %x\00"
+@.str10502 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str10503 = private unnamed_addr constant [2 x i8] c"h\00"
-@.str10504 = private unnamed_addr constant [2 x i8] c"x\00"
-@.str10505 = private unnamed_addr constant [2 x i8] c"y\00"
-@.str10506 = private unnamed_addr constant [4 x i8] c"pad\00"
-@.str10507 = private unnamed_addr constant [4 x i8] c"gap\00"
-@.str10508 = private unnamed_addr constant [3 x i8] c"bg\00"
-@.str10509 = private unnamed_addr constant [3 x i8] c"fg\00"
-@.str10510 = private unnamed_addr constant [7 x i8] c"border\00"
-@.str10511 = private unnamed_addr constant [5 x i8] c"grow\00"
-@.str10512 = private unnamed_addr constant [5 x i8] c"font\00"
-@.str10513 = private unnamed_addr constant [5 x i8] c"size\00"
-@.str10514 = private unnamed_addr constant [6 x i8] c"inset\00"
-@.str10515 = private unnamed_addr constant [6 x i8] c"focus\00"
-@.str10516 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00"
+@.str10504 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10505 = private unnamed_addr constant [2 x i8] c"_\00"
+@.str10506 = private unnamed_addr constant [6 x i8] c" %fa\00"
+@.str10507 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00"
+@.str10508 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10509 = private unnamed_addr constant [6 x i8] c" %fv\00"
+@.str10510 = private unnamed_addr constant [9 x i8] c" = load \00"
+@.str10511 = private unnamed_addr constant [10 x i8] c", ptr %fa\00"
+@.str10512 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10513 = private unnamed_addr constant [3 x i8] c", \00"
+@.str10514 = private unnamed_addr constant [5 x i8] c" %fv\00"
+@.str10515 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
+@.str10516 = private unnamed_addr constant [2 x i8] c"(\00"
@.str10517 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10518 = private unnamed_addr constant [2 x i8] c"1\00"
-@.str10519 = private unnamed_addr constant [3 x i8] c"id\00"
-@.str10520 = private unnamed_addr constant [5 x i8] c"goto\00"
-@.str10521 = private unnamed_addr constant [5 x i8] c"text\00"
-@.str10522 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00"
-@.str10523 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str10524 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10525 = private unnamed_addr constant [5 x i8] c"skin\00"
-@.str10526 = private unnamed_addr constant [6 x i8] c"image\00"
-@.str10527 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00"
-@.str10528 = private unnamed_addr constant [2 x i8] c")\00"
-@.str10529 = private unnamed_addr constant [5 x i8] c"skin\00"
-@.str10530 = private unnamed_addr constant [6 x i8] c"align\00"
-@.str10531 = private unnamed_addr constant [7 x i8] c"center\00"
-@.str10532 = private unnamed_addr constant [4 x i8] c"end\00"
-@.str10533 = private unnamed_addr constant [2 x i8] c"1\00"
-@.str10534 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00"
-@.str10535 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
-@.str10536 = private unnamed_addr constant [3 x i8] c", \00"
-@.str10537 = private unnamed_addr constant [7 x i8] c" %arg_\00"
-@.str10538 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str10539 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00"
-@.str10540 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10541 = private unnamed_addr constant [9 x i8] c" store \00"
-@.str10542 = private unnamed_addr constant [7 x i8] c" %arg_\00"
-@.str10543 = private unnamed_addr constant [7 x i8] c", ptr \00"
-@.str10544 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10545 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
-@.str10546 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
-@.str10547 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str10548 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
-@.str10549 = private unnamed_addr constant [6 x i8] c"load \00"
-@.str10550 = private unnamed_addr constant [14 x i8] c", ptr %retval\00"
-@.str10551 = private unnamed_addr constant [7 x i8] c" ret \00"
-@.str10552 = private unnamed_addr constant [2 x i8] c" \00"
-@.str10553 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10554 = private unnamed_addr constant [8 x i8] c"define \00"
-@.str10555 = private unnamed_addr constant [6 x i8] c" @fn_\00"
-@.str10556 = private unnamed_addr constant [2 x i8] c"(\00"
-@.str10557 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00"
-@.str10558 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
-@.str10559 = private unnamed_addr constant [4 x i8] c"int\00"
-@.str10560 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00"
-@.str10561 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
-@.str10562 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
-@.str10563 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00"
-@.str10564 = private unnamed_addr constant [8 x i8] c"rt_init\00"
-@.str10565 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00"
-@.str10566 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00"
-@.str10567 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
-@.str10568 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
-@.str10569 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00"
-@.str10570 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
-@.str10571 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10572 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
-@.str10573 = private unnamed_addr constant [3 x i8] c"}\0A\00"
-@.str10574 = private unnamed_addr constant [5 x i8] c"void\00"
-@.str10575 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
-@.str10576 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
-@.str10577 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00"
-@.str10578 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
-@.str10579 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
-@.str10580 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00"
-@.str10581 = 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"
-@.str10582 = 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"
-@.str10583 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
-@.str10584 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
-@.str10585 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
-@.str10586 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00"
-@.str10587 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00"
-@.str10588 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00"
-@.str10589 = private unnamed_addr constant [8 x i8] c"ok - \00"
-@.str10590 = private unnamed_addr constant [8 x i8] c"FAIL - \00"
-@.str10591 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00"
-@.str10592 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00"
-@.str10593 = private unnamed_addr constant [4 x i8] c"()\0A\00"
-@.str10594 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00"
-@.str10595 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
-@.str10596 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str10597 = private unnamed_addr constant [6 x i8] c"tpass\00"
-@.str10598 = private unnamed_addr constant [6 x i8] c"tfail\00"
-@.str10599 = private unnamed_addr constant [6 x i8] c"tdone\00"
-@.str10600 = private unnamed_addr constant [9 x i8] c" br i1 \00"
-@.str10601 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str10602 = private unnamed_addr constant [10 x i8] c", label %\00"
-@.str10603 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10604 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10605 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
-@.str10606 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10607 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str10608 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10609 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10610 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00"
-@.str10611 = private unnamed_addr constant [9 x i8] c"add i32 \00"
-@.str10612 = private unnamed_addr constant [4 x i8] c", 1\00"
-@.str10613 = private unnamed_addr constant [13 x i8] c" store i32 \00"
-@.str10614 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00"
-@.str10615 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
-@.str10616 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10617 = private unnamed_addr constant [13 x i8] c" br label %\00"
-@.str10618 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10619 = private unnamed_addr constant [3 x i8] c":\0A\00"
-@.str10620 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00"
-@.str10621 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
-@.str10622 = private unnamed_addr constant [3 x i8] c", \00"
-@.str10623 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00"
-@.str10624 = private unnamed_addr constant [7 x i8] c", i32 \00"
-@.str10625 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10626 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
-@.str10627 = private unnamed_addr constant [4 x i8] c", 0\00"
-@.str10628 = private unnamed_addr constant [11 x i8] c"select i1 \00"
-@.str10629 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
-@.str10630 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
-@.str10631 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00"
-@.str10632 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00"
-@.str10633 = 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"
-@.str10634 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00"
-@.str10635 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00"
-@.str10636 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00"
-@.str10637 = private unnamed_addr constant [10 x i8] c" x i32] [\00"
-@.str10638 = private unnamed_addr constant [3 x i8] c", \00"
-@.str10639 = private unnamed_addr constant [5 x i8] c"i32 \00"
-@.str10640 = private unnamed_addr constant [3 x i8] c"]\0A\00"
-@.str10641 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00"
-@.str10642 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
-@.str10643 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00"
-@.str10644 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10645 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00"
-@.str10646 = private unnamed_addr constant [10 x i8] c"ludic.cov\00"
-@.str10647 = private unnamed_addr constant [2 x i8] c"w\00"
-@.str10648 = 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"
-@.str10649 = 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"
-@.str10650 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00"
-@.str10651 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00"
-@.str10652 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00"
-@.str10653 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00"
+@.str10518 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
+@.str10519 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str10520 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10521 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
+@.str10522 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00"
+@.str10523 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00"
+@.str10524 = private unnamed_addr constant [6 x i8] c"panel\00"
+@.str10525 = private unnamed_addr constant [4 x i8] c"col\00"
+@.str10526 = private unnamed_addr constant [4 x i8] c"row\00"
+@.str10527 = private unnamed_addr constant [6 x i8] c"label\00"
+@.str10528 = private unnamed_addr constant [7 x i8] c"button\00"
+@.str10529 = private unnamed_addr constant [6 x i8] c"image\00"
+@.str10530 = private unnamed_addr constant [7 x i8] c"spacer\00"
+@.str10531 = private unnamed_addr constant [5 x i8] c"font\00"
+@.str10532 = private unnamed_addr constant [5 x i8] c"size\00"
+@.str10533 = private unnamed_addr constant [3 x i8] c"fg\00"
+@.str10534 = private unnamed_addr constant [6 x i8] c"align\00"
+@.str10535 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str10536 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00"
+@.str10537 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str10538 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str10539 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10540 = private unnamed_addr constant [2 x i8] c"w\00"
+@.str10541 = private unnamed_addr constant [2 x i8] c"h\00"
+@.str10542 = private unnamed_addr constant [2 x i8] c"x\00"
+@.str10543 = private unnamed_addr constant [2 x i8] c"y\00"
+@.str10544 = private unnamed_addr constant [4 x i8] c"pad\00"
+@.str10545 = private unnamed_addr constant [4 x i8] c"gap\00"
+@.str10546 = private unnamed_addr constant [3 x i8] c"bg\00"
+@.str10547 = private unnamed_addr constant [3 x i8] c"fg\00"
+@.str10548 = private unnamed_addr constant [7 x i8] c"border\00"
+@.str10549 = private unnamed_addr constant [5 x i8] c"grow\00"
+@.str10550 = private unnamed_addr constant [5 x i8] c"font\00"
+@.str10551 = private unnamed_addr constant [5 x i8] c"size\00"
+@.str10552 = private unnamed_addr constant [6 x i8] c"inset\00"
+@.str10553 = private unnamed_addr constant [6 x i8] c"focus\00"
+@.str10554 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00"
+@.str10555 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10556 = private unnamed_addr constant [2 x i8] c"1\00"
+@.str10557 = private unnamed_addr constant [3 x i8] c"id\00"
+@.str10558 = private unnamed_addr constant [5 x i8] c"goto\00"
+@.str10559 = private unnamed_addr constant [5 x i8] c"text\00"
+@.str10560 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00"
+@.str10561 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str10562 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10563 = private unnamed_addr constant [5 x i8] c"skin\00"
+@.str10564 = private unnamed_addr constant [6 x i8] c"image\00"
+@.str10565 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00"
+@.str10566 = private unnamed_addr constant [2 x i8] c")\00"
+@.str10567 = private unnamed_addr constant [5 x i8] c"skin\00"
+@.str10568 = private unnamed_addr constant [6 x i8] c"align\00"
+@.str10569 = private unnamed_addr constant [7 x i8] c"center\00"
+@.str10570 = private unnamed_addr constant [4 x i8] c"end\00"
+@.str10571 = private unnamed_addr constant [2 x i8] c"1\00"
+@.str10572 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00"
+@.str10573 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
+@.str10574 = private unnamed_addr constant [3 x i8] c", \00"
+@.str10575 = private unnamed_addr constant [7 x i8] c" %arg_\00"
+@.str10576 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str10577 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00"
+@.str10578 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10579 = private unnamed_addr constant [9 x i8] c" store \00"
+@.str10580 = private unnamed_addr constant [7 x i8] c" %arg_\00"
+@.str10581 = private unnamed_addr constant [7 x i8] c", ptr \00"
+@.str10582 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10583 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
+@.str10584 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
+@.str10585 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str10586 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
+@.str10587 = private unnamed_addr constant [6 x i8] c"load \00"
+@.str10588 = private unnamed_addr constant [14 x i8] c", ptr %retval\00"
+@.str10589 = private unnamed_addr constant [7 x i8] c" ret \00"
+@.str10590 = private unnamed_addr constant [2 x i8] c" \00"
+@.str10591 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10592 = private unnamed_addr constant [8 x i8] c"define \00"
+@.str10593 = private unnamed_addr constant [6 x i8] c" @fn_\00"
+@.str10594 = private unnamed_addr constant [2 x i8] c"(\00"
+@.str10595 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00"
+@.str10596 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
+@.str10597 = private unnamed_addr constant [4 x i8] c"int\00"
+@.str10598 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00"
+@.str10599 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
+@.str10600 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
+@.str10601 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00"
+@.str10602 = private unnamed_addr constant [8 x i8] c"rt_init\00"
+@.str10603 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00"
+@.str10604 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00"
+@.str10605 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
+@.str10606 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
+@.str10607 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00"
+@.str10608 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
+@.str10609 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10610 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
+@.str10611 = private unnamed_addr constant [3 x i8] c"}\0A\00"
+@.str10612 = private unnamed_addr constant [5 x i8] c"void\00"
+@.str10613 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
+@.str10614 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
+@.str10615 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00"
+@.str10616 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
+@.str10617 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
+@.str10618 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00"
+@.str10619 = 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"
+@.str10620 = 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"
+@.str10621 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
+@.str10622 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
+@.str10623 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
+@.str10624 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00"
+@.str10625 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00"
+@.str10626 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00"
+@.str10627 = private unnamed_addr constant [8 x i8] c"ok - \00"
+@.str10628 = private unnamed_addr constant [8 x i8] c"FAIL - \00"
+@.str10629 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00"
+@.str10630 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00"
+@.str10631 = private unnamed_addr constant [4 x i8] c"()\0A\00"
+@.str10632 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00"
+@.str10633 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
+@.str10634 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str10635 = private unnamed_addr constant [6 x i8] c"tpass\00"
+@.str10636 = private unnamed_addr constant [6 x i8] c"tfail\00"
+@.str10637 = private unnamed_addr constant [6 x i8] c"tdone\00"
+@.str10638 = private unnamed_addr constant [9 x i8] c" br i1 \00"
+@.str10639 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str10640 = private unnamed_addr constant [10 x i8] c", label %\00"
+@.str10641 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10642 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10643 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
+@.str10644 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10645 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str10646 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10647 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10648 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00"
+@.str10649 = private unnamed_addr constant [9 x i8] c"add i32 \00"
+@.str10650 = private unnamed_addr constant [4 x i8] c", 1\00"
+@.str10651 = private unnamed_addr constant [13 x i8] c" store i32 \00"
+@.str10652 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00"
+@.str10653 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
@.str10654 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10655 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00"
-@.str10656 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00"
-@.str10657 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00"
-@.str10658 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00"
-@.str10659 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10660 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
-@.str10661 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00"
-@.str10662 = private unnamed_addr constant [8 x i8] c"write:\0A\00"
-@.str10663 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00"
-@.str10664 = private unnamed_addr constant [3 x i8] c")\0A\00"
-@.str10665 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
-@.str10666 = private unnamed_addr constant [7 x i8] c"loop:\0A\00"
-@.str10667 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00"
-@.str10668 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00"
-@.str10669 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10670 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00"
-@.str10671 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
-@.str10672 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00"
-@.str10673 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00"
-@.str10674 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00"
-@.str10675 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00"
-@.str10676 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00"
-@.str10677 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00"
-@.str10678 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00"
-@.str10679 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00"
-@.str10680 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
-@.str10681 = private unnamed_addr constant [8 x i8] c"close:\0A\00"
-@.str10682 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00"
-@.str10683 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
-@.str10684 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00"
-@.str10685 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00"
-@.str10686 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00"
-@.str10687 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
-@.str10688 = 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"
-@.str10689 = private unnamed_addr constant [3 x i8] c"wb\00"
-@.str10690 = private unnamed_addr constant [7 x i8] c".ludic\00"
-@.str10691 = private unnamed_addr constant [2 x i8] c"/\00"
-@.str10692 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00"
-@.str10693 = private unnamed_addr constant [8 x i8] c"VERSION\00"
-@.str10694 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00"
-@.str10695 = private unnamed_addr constant [7 x i8] c"ludic \00"
-@.str10696 = private unnamed_addr constant [2 x i8] c"?\00"
-@.str10697 = private unnamed_addr constant [6 x i8] c"ludic\00"
-@.str10698 = private unnamed_addr constant [10 x i8] c"--version\00"
-@.str10699 = private unnamed_addr constant [11 x i8] c"--windowed\00"
-@.str10700 = private unnamed_addr constant [11 x i8] c"--headless\00"
-@.str10701 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00"
-@.str10702 = private unnamed_addr constant [14 x i8] c"--emit-module\00"
-@.str10703 = private unnamed_addr constant [6 x i8] c"--fmt\00"
-@.str10704 = private unnamed_addr constant [13 x i8] c"--save-temps\00"
-@.str10705 = private unnamed_addr constant [6 x i8] c"--run\00"
-@.str10706 = private unnamed_addr constant [11 x i8] c"--coverage\00"
-@.str10707 = private unnamed_addr constant [3 x i8] c"-o\00"
-@.str10708 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00"
-@.str10709 = private unnamed_addr constant [2 x i8] c"\0A\00"
-@.str10710 = private unnamed_addr constant [90 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--emit-llvm] [--save-temps]\0A\00"
-@.str10711 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00"
-@.str10712 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00"
-@.str10713 = private unnamed_addr constant [10 x i8] c"mkdir -p \00"
-@.str10714 = private unnamed_addr constant [4 x i8] c".ll\00"
-@.str10715 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00"
-@.str10716 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00"
-@.str10717 = private unnamed_addr constant [6 x i8] c"clang\00"
-@.str10718 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00"
-@.str10719 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00"
-@.str10720 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00"
-@.str10721 = private unnamed_addr constant [2 x i8] c" \00"
-@.str10722 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00"
-@.str10723 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00"
-@.str10724 = private unnamed_addr constant [2 x i8] c" \00"
-@.str10725 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00"
-@.str10726 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00"
-@.str10727 = private unnamed_addr constant [2 x i8] c" \00"
-@.str10728 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00"
-@.str10729 = private unnamed_addr constant [5 x i8] c" -o \00"
-@.str10730 = private unnamed_addr constant [7 x i8] c"rm -f \00"
-@.str10731 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00"
-define i32 @fn_str_eq(ptr %a, ptr %b) {
+@.str10655 = private unnamed_addr constant [13 x i8] c" br label %\00"
+@.str10656 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10657 = private unnamed_addr constant [3 x i8] c":\0A\00"
+@.str10658 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00"
+@.str10659 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
+@.str10660 = private unnamed_addr constant [3 x i8] c", \00"
+@.str10661 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00"
+@.str10662 = private unnamed_addr constant [7 x i8] c", i32 \00"
+@.str10663 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10664 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
+@.str10665 = private unnamed_addr constant [4 x i8] c", 0\00"
+@.str10666 = private unnamed_addr constant [11 x i8] c"select i1 \00"
+@.str10667 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
+@.str10668 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
+@.str10669 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00"
+@.str10670 = private unnamed_addr constant [11 x i8] c"function '\00"
+@.str10671 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00"
+@.str10672 = private unnamed_addr constant [2 x i8] c":\00"
+@.str10673 = private unnamed_addr constant [2 x i8] c")\00"
+@.str10674 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00"
+@.str10675 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00"
+@.str10676 = 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"
+@.str10677 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00"
+@.str10678 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00"
+@.str10679 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00"
+@.str10680 = private unnamed_addr constant [10 x i8] c" x i32] [\00"
+@.str10681 = private unnamed_addr constant [3 x i8] c", \00"
+@.str10682 = private unnamed_addr constant [5 x i8] c"i32 \00"
+@.str10683 = private unnamed_addr constant [3 x i8] c"]\0A\00"
+@.str10684 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00"
+@.str10685 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
+@.str10686 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00"
+@.str10687 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10688 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00"
+@.str10689 = private unnamed_addr constant [10 x i8] c"ludic.cov\00"
+@.str10690 = private unnamed_addr constant [2 x i8] c"w\00"
+@.str10691 = 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"
+@.str10692 = 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"
+@.str10693 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00"
+@.str10694 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00"
+@.str10695 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00"
+@.str10696 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00"
+@.str10697 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10698 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00"
+@.str10699 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00"
+@.str10700 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00"
+@.str10701 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00"
+@.str10702 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10703 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
+@.str10704 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00"
+@.str10705 = private unnamed_addr constant [8 x i8] c"write:\0A\00"
+@.str10706 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00"
+@.str10707 = private unnamed_addr constant [3 x i8] c")\0A\00"
+@.str10708 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
+@.str10709 = private unnamed_addr constant [7 x i8] c"loop:\0A\00"
+@.str10710 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00"
+@.str10711 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00"
+@.str10712 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10713 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00"
+@.str10714 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
+@.str10715 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00"
+@.str10716 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00"
+@.str10717 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00"
+@.str10718 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00"
+@.str10719 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00"
+@.str10720 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00"
+@.str10721 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00"
+@.str10722 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00"
+@.str10723 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
+@.str10724 = private unnamed_addr constant [8 x i8] c"close:\0A\00"
+@.str10725 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00"
+@.str10726 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
+@.str10727 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00"
+@.str10728 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00"
+@.str10729 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00"
+@.str10730 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
+@.str10731 = 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"
+@.str10732 = private unnamed_addr constant [3 x i8] c"wb\00"
+@.str10733 = private unnamed_addr constant [7 x i8] c".ludic\00"
+@.str10734 = private unnamed_addr constant [2 x i8] c"/\00"
+@.str10735 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00"
+@.str10736 = private unnamed_addr constant [8 x i8] c"VERSION\00"
+@.str10737 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00"
+@.str10738 = private unnamed_addr constant [7 x i8] c"ludic \00"
+@.str10739 = private unnamed_addr constant [1 x i8] c"\00"
+@.str10740 = private unnamed_addr constant [1 x i8] c"\00"
+@.str10741 = private unnamed_addr constant [2 x i8] c"?\00"
+@.str10742 = private unnamed_addr constant [6 x i8] c"ludic\00"
+@.str10743 = private unnamed_addr constant [10 x i8] c"--version\00"
+@.str10744 = private unnamed_addr constant [11 x i8] c"--windowed\00"
+@.str10745 = private unnamed_addr constant [11 x i8] c"--headless\00"
+@.str10746 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00"
+@.str10747 = private unnamed_addr constant [14 x i8] c"--emit-module\00"
+@.str10748 = private unnamed_addr constant [6 x i8] c"--fmt\00"
+@.str10749 = private unnamed_addr constant [13 x i8] c"--save-temps\00"
+@.str10750 = private unnamed_addr constant [6 x i8] c"--run\00"
+@.str10751 = private unnamed_addr constant [11 x i8] c"--coverage\00"
+@.str10752 = private unnamed_addr constant [3 x i8] c"-o\00"
+@.str10753 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00"
+@.str10754 = private unnamed_addr constant [2 x i8] c"\0A\00"
+@.str10755 = private unnamed_addr constant [90 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--emit-llvm] [--save-temps]\0A\00"
+@.str10756 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00"
+@.str10757 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00"
+@.str10758 = private unnamed_addr constant [10 x i8] c"mkdir -p \00"
+@.str10759 = private unnamed_addr constant [4 x i8] c".ll\00"
+@.str10760 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00"
+@.str10761 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00"
+@.str10762 = private unnamed_addr constant [6 x i8] c"clang\00"
+@.str10763 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00"
+@.str10764 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00"
+@.str10765 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00"
+@.str10766 = private unnamed_addr constant [2 x i8] c" \00"
+@.str10767 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00"
+@.str10768 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00"
+@.str10769 = private unnamed_addr constant [2 x i8] c" \00"
+@.str10770 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00"
+@.str10771 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00"
+@.str10772 = private unnamed_addr constant [2 x i8] c" \00"
+@.str10773 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00"
+@.str10774 = private unnamed_addr constant [5 x i8] c" -o \00"
+@.str10775 = private unnamed_addr constant [7 x i8] c"rm -f \00"
+@.str10776 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00"
+define i32 @lp_str_eq(ptr %a, ptr %b) {
entry:
br label %loop
loop:
@@ -10929,7 +10980,7 @@ ret1:
ret0:
ret i32 0
}
-define ptr @fn_str_concat(ptr %a, ptr %b) {
+define ptr @lp_str_concat(ptr %a, ptr %b) {
entry:
br label %al
al:
@@ -10988,7 +11039,7 @@ fin:
store i8 0, ptr %pe
ret ptr %out
}
-define ptr @fn_int_str(i32 %n0) {
+define ptr @lp_int_str(i32 %n0) {
entry:
%buf = call ptr @malloc(i64 24)
%isneg = icmp slt i32 %n0, 0
@@ -11031,7 +11082,7 @@ fin:
%res = getelementptr inbounds i8, ptr %buf, i32 %rpos
ret ptr %res
}
-define ptr @fn_str_slice(ptr %s, i32 %start, i32 %end) {
+define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) {
entry:
%len = sub i32 %end, %start
%sz = add i32 %len, 1
@@ -11062,7 +11113,7 @@ declare i32 @rename(ptr, ptr)
declare ptr @opendir(ptr)
declare ptr @readdir(ptr)
declare i32 @closedir(ptr)
-define ptr @fn_fs_dup(ptr %s, i32 %n) {
+define ptr @lp_fs_dup(ptr %s, i32 %n) {
entry:
%nz = zext i32 %n to i64
%t = add i64 %nz, 1
@@ -11072,14 +11123,14 @@ entry:
store i8 0, ptr %end
ret ptr %m
}
-define ptr @fn_fs_strdup(ptr %s) {
+define ptr @lp_fs_strdup(ptr %s) {
entry:
%l = call i64 @strlen(ptr %s)
%li = trunc i64 %l to i32
- %r = call ptr @fn_fs_dup(ptr %s, i32 %li)
+ %r = call ptr @lp_fs_dup(ptr %s, i32 %li)
ret ptr %r
}
-define i32 @fn_fs_lastslash(ptr %s) {
+define i32 @lp_fs_lastslash(ptr %s) {
entry:
%ip = alloca i32
%rp = alloca i32
@@ -11107,7 +11158,7 @@ done:
%r = load i32, ptr %rp
ret i32 %r
}
-define ptr @fn_path_join(ptr %a, ptr %b) {
+define ptr @lp_path_join(ptr %a, ptr %b) {
entry:
%la64 = call i64 @strlen(ptr %a)
%la = trunc i64 %la64 to i32
@@ -11118,19 +11169,19 @@ entry:
%babs = icmp eq i32 %b0i, 47
br i1 %babs, label %retb, label %ka
retb:
- %rb = call ptr @fn_fs_strdup(ptr %b)
+ %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 @fn_fs_strdup(ptr %b)
+ %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 @fn_fs_strdup(ptr %a)
+ %ra = call ptr @lp_fs_strdup(ptr %a)
ret ptr %ra
chk:
%lam1 = sub i32 %la, 1
@@ -11163,41 +11214,41 @@ after:
store i8 0, ptr %ep
ret ptr %m
}
-define ptr @fn_path_base(ptr %s) {
+define ptr @lp_path_base(ptr %s) {
entry:
- %ls = call i32 @fn_fs_lastslash(ptr %s)
+ %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 @fn_fs_strdup(ptr %s)
+ %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 @fn_fs_strdup(ptr %p)
+ %r2 = call ptr @lp_fs_strdup(ptr %p)
ret ptr %r2
}
-define ptr @fn_path_dir(ptr %s) {
+define ptr @lp_path_dir(ptr %s) {
entry:
- %ls = call i32 @fn_fs_lastslash(ptr %s)
+ %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 @fn_fs_strdup(ptr @fn_str_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 @fn_fs_strdup(ptr @fn_str_slash)
+ %r = call ptr @lp_fs_strdup(ptr @fn_str_slash)
ret ptr %r
cut:
- %r2 = call ptr @fn_fs_dup(ptr %s, i32 %ls)
+ %r2 = call ptr @lp_fs_dup(ptr %s, i32 %ls)
ret ptr %r2
}
-define ptr @fn_path_ext(ptr %s) {
+define ptr @lp_path_ext(ptr %s) {
entry:
- %ls = call i32 @fn_fs_lastslash(ptr %s)
+ %ls = call i32 @lp_fs_lastslash(ptr %s)
%bstart = add i32 %ls, 1
%dp = alloca i32
%ip = alloca i32
@@ -11226,32 +11277,32 @@ done:
%nod = icmp eq i32 %d, -1
br i1 %nod, label %empty, label %chkpos
empty:
- %e = call ptr @fn_fs_strdup(ptr @fn_str_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 @fn_fs_strdup(ptr @fn_str_empty)
+ %e2 = call ptr @lp_fs_strdup(ptr @fn_str_empty)
ret ptr %e2
take:
%pp = getelementptr i8, ptr %s, i32 %d
- %r = call ptr @fn_fs_strdup(ptr %pp)
+ %r = call ptr @lp_fs_strdup(ptr %pp)
ret ptr %r
}
-define ptr @fn_path_stem(ptr %s) {
+define ptr @lp_path_stem(ptr %s) {
entry:
- %base = call ptr @fn_path_base(ptr %s)
- %ext = call ptr @fn_path_ext(ptr %s)
+ %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 @fn_fs_dup(ptr %base, i32 %keep)
+ %r = call ptr @lp_fs_dup(ptr %base, i32 %keep)
ret ptr %r
}
-define ptr @fn_path_norm(ptr %s) {
+define ptr @lp_path_norm(ptr %s) {
entry:
%len64 = call i64 @strlen(ptr %s)
%len = trunc i64 %len64 to i32
@@ -11417,14 +11468,14 @@ putnul:
store i8 0, ptr %ep
ret ptr %out
}
-define i32 @fn_fs_exists(ptr %p) {
+define i32 @lp_fs_exists(ptr %p) {
entry:
%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 @fn_fs_is_dir(ptr %p) {
+define i32 @lp_fs_is_dir(ptr %p) {
entry:
%d = call ptr @opendir(ptr %p)
%nz = icmp ne ptr %d, null
@@ -11435,7 +11486,7 @@ yes:
no:
ret i32 0
}
-define i32 @fn_fs_size(ptr %p) {
+define i32 @lp_fs_size(ptr %p) {
entry:
%f = call ptr @fopen(ptr %p, ptr @fn_str_rb)
%nz = icmp ne ptr %f, null
@@ -11449,7 +11500,7 @@ ok:
%ni = trunc i64 %n to i32
ret i32 %ni
}
-define ptr @fn_fs_readall(ptr %p, ptr %lenout) {
+define ptr @lp_fs_readall(ptr %p, ptr %lenout) {
entry:
store i32 0, ptr %lenout
%f = call ptr @fopen(ptr %p, ptr @fn_str_rb)
@@ -11472,15 +11523,15 @@ ok:
store i32 %rdi, ptr %lenout
ret ptr %m
}
-define ptr @fn_fs_read_text(ptr %p) {
+define ptr @lp_fs_read_text(ptr %p) {
entry:
%lp = alloca i32
- %r = call ptr @fn_fs_readall(ptr %p, ptr %lp)
+ %r = call ptr @lp_fs_readall(ptr %p, ptr %lp)
ret ptr %r
}
-define i32 @fn_fs_write_text(ptr %p, ptr %s) {
+define i32 @lp_fs_write_text(ptr %p, ptr %s) {
entry:
- %tmp = call ptr @fn_path_join_ext(ptr %p, ptr @fn_str_dottmp)
+ %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
@@ -11495,7 +11546,7 @@ ok:
%z = zext i1 %ok2 to i32
ret i32 %z
}
-define ptr @fn_path_join_ext(ptr %a, ptr %b) {
+define ptr @lp_path_join_ext(ptr %a, ptr %b) {
entry:
%la = call i64 @strlen(ptr %a)
%lb = call i64 @strlen(ptr %b)
@@ -11509,7 +11560,7 @@ entry:
store i8 0, ptr %ep
ret ptr %m
}
-define i32 @fn_fs_append_text(ptr %p, ptr %s) {
+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
@@ -11522,23 +11573,23 @@ ok:
call i32 @fclose(ptr %f)
ret i32 1
}
-define i32 @fn_fs_remove(ptr %p) {
+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 @fn_fs_copy(ptr %src, ptr %dst) {
+define i32 @lp_fs_copy(ptr %src, ptr %dst) {
entry:
%lp = alloca i32
- %buf = call ptr @fn_fs_readall(ptr %src, ptr %lp)
+ %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 @fn_path_join_ext(ptr %dst, ptr @fn_str_dottmp)
+ %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
@@ -11552,9 +11603,9 @@ w:
%z = zext i1 %ok2 to i32
ret i32 %z
}
-define i32 @fn_fs_mkdir(ptr %p) {
+define i32 @lp_fs_mkdir(ptr %p) {
entry:
- %dup = call ptr @fn_fs_strdup(ptr %p)
+ %dup = call ptr @lp_fs_strdup(ptr %p)
%ip = alloca i32
store i32 1, ptr %ip
br label %lp
@@ -11579,10 +11630,10 @@ nx:
br label %lp
fin:
call i32 @mkdir(ptr %dup, i32 493)
- %r = call i32 @fn_fs_is_dir(ptr %p)
+ %r = call i32 @lp_fs_is_dir(ptr %p)
ret i32 %r
}
-define ptr @fn_fs_list(ptr %path) {
+define ptr @lp_fs_list(ptr %path) {
entry:
%h = call ptr @malloc(i64 16)
%d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0
@@ -11624,7 +11675,7 @@ chkdd2:
%n2z = icmp eq i32 %n2i, 0
br i1 %n2z, label %rd, label %keep
keep:
- %nm = call ptr @fn_fs_strdup(ptr %namep)
+ %nm = call ptr @lp_fs_strdup(ptr %namep)
%cnt = load i32, ptr %cntp
%cap = load i32, ptr %capp
%full = icmp sge i32 %cnt, %cap
@@ -11699,60 +11750,60 @@ sod:
store i32 %fcnt, ptr %d2
ret ptr %h
}
-@.str10732 = private unnamed_addr constant [4 x i8] c"png\00"
-@.str10733 = private unnamed_addr constant [10 x i8] c"image/png\00"
-@.str10734 = private unnamed_addr constant [4 x i8] c"jpg\00"
-@.str10735 = private unnamed_addr constant [11 x i8] c"image/jpeg\00"
-@.str10736 = private unnamed_addr constant [5 x i8] c"jpeg\00"
-@.str10737 = private unnamed_addr constant [11 x i8] c"image/jpeg\00"
-@.str10738 = private unnamed_addr constant [4 x i8] c"gif\00"
-@.str10739 = private unnamed_addr constant [10 x i8] c"image/gif\00"
-@.str10740 = private unnamed_addr constant [4 x i8] c"bmp\00"
-@.str10741 = private unnamed_addr constant [10 x i8] c"image/bmp\00"
-@.str10742 = private unnamed_addr constant [5 x i8] c"webp\00"
-@.str10743 = private unnamed_addr constant [11 x i8] c"image/webp\00"
-@.str10744 = private unnamed_addr constant [4 x i8] c"svg\00"
-@.str10745 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00"
-@.str10746 = private unnamed_addr constant [4 x i8] c"txt\00"
-@.str10747 = private unnamed_addr constant [11 x i8] c"text/plain\00"
-@.str10748 = private unnamed_addr constant [3 x i8] c"md\00"
-@.str10749 = private unnamed_addr constant [14 x i8] c"text/markdown\00"
-@.str10750 = private unnamed_addr constant [4 x i8] c"csv\00"
-@.str10751 = private unnamed_addr constant [9 x i8] c"text/csv\00"
-@.str10752 = private unnamed_addr constant [5 x i8] c"html\00"
-@.str10753 = private unnamed_addr constant [10 x i8] c"text/html\00"
-@.str10754 = private unnamed_addr constant [4 x i8] c"htm\00"
-@.str10755 = private unnamed_addr constant [10 x i8] c"text/html\00"
-@.str10756 = private unnamed_addr constant [4 x i8] c"css\00"
-@.str10757 = private unnamed_addr constant [9 x i8] c"text/css\00"
-@.str10758 = private unnamed_addr constant [3 x i8] c"js\00"
-@.str10759 = private unnamed_addr constant [16 x i8] c"text/javascript\00"
-@.str10760 = private unnamed_addr constant [5 x i8] c"json\00"
-@.str10761 = private unnamed_addr constant [17 x i8] c"application/json\00"
-@.str10762 = private unnamed_addr constant [4 x i8] c"xml\00"
-@.str10763 = private unnamed_addr constant [16 x i8] c"application/xml\00"
-@.str10764 = private unnamed_addr constant [4 x i8] c"zip\00"
-@.str10765 = private unnamed_addr constant [16 x i8] c"application/zip\00"
-@.str10766 = private unnamed_addr constant [4 x i8] c"pdf\00"
-@.str10767 = private unnamed_addr constant [16 x i8] c"application/pdf\00"
-@.str10768 = private unnamed_addr constant [4 x i8] c"wav\00"
-@.str10769 = private unnamed_addr constant [10 x i8] c"audio/wav\00"
-@.str10770 = private unnamed_addr constant [4 x i8] c"ogg\00"
-@.str10771 = private unnamed_addr constant [10 x i8] c"audio/ogg\00"
-@.str10772 = private unnamed_addr constant [4 x i8] c"mp3\00"
-@.str10773 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00"
-@.str10774 = private unnamed_addr constant [4 x i8] c"ttf\00"
-@.str10775 = private unnamed_addr constant [9 x i8] c"font/ttf\00"
-@.str10776 = private unnamed_addr constant [4 x i8] c"otf\00"
-@.str10777 = private unnamed_addr constant [9 x i8] c"font/otf\00"
-@.str10778 = private unnamed_addr constant [6 x i8] c"ludic\00"
-@.str10779 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00"
-@.str10780 = 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 @.str10732, ptr @.str10733 }, { ptr, ptr } { ptr @.str10734, ptr @.str10735 }, { ptr, ptr } { ptr @.str10736, ptr @.str10737 }, { ptr, ptr } { ptr @.str10738, ptr @.str10739 }, { ptr, ptr } { ptr @.str10740, ptr @.str10741 }, { ptr, ptr } { ptr @.str10742, ptr @.str10743 }, { ptr, ptr } { ptr @.str10744, ptr @.str10745 }, { ptr, ptr } { ptr @.str10746, ptr @.str10747 }, { ptr, ptr } { ptr @.str10748, ptr @.str10749 }, { ptr, ptr } { ptr @.str10750, ptr @.str10751 }, { ptr, ptr } { ptr @.str10752, ptr @.str10753 }, { ptr, ptr } { ptr @.str10754, ptr @.str10755 }, { ptr, ptr } { ptr @.str10756, ptr @.str10757 }, { ptr, ptr } { ptr @.str10758, ptr @.str10759 }, { ptr, ptr } { ptr @.str10760, ptr @.str10761 }, { ptr, ptr } { ptr @.str10762, ptr @.str10763 }, { ptr, ptr } { ptr @.str10764, ptr @.str10765 }, { ptr, ptr } { ptr @.str10766, ptr @.str10767 }, { ptr, ptr } { ptr @.str10768, ptr @.str10769 }, { ptr, ptr } { ptr @.str10770, ptr @.str10771 }, { ptr, ptr } { ptr @.str10772, ptr @.str10773 }, { ptr, ptr } { ptr @.str10774, ptr @.str10775 }, { ptr, ptr } { ptr @.str10776, ptr @.str10777 }, { ptr, ptr } { ptr @.str10778, ptr @.str10779 }]
-define ptr @fn_mime_of(ptr %path) {
+@.str10777 = private unnamed_addr constant [4 x i8] c"png\00"
+@.str10778 = private unnamed_addr constant [10 x i8] c"image/png\00"
+@.str10779 = private unnamed_addr constant [4 x i8] c"jpg\00"
+@.str10780 = private unnamed_addr constant [11 x i8] c"image/jpeg\00"
+@.str10781 = private unnamed_addr constant [5 x i8] c"jpeg\00"
+@.str10782 = private unnamed_addr constant [11 x i8] c"image/jpeg\00"
+@.str10783 = private unnamed_addr constant [4 x i8] c"gif\00"
+@.str10784 = private unnamed_addr constant [10 x i8] c"image/gif\00"
+@.str10785 = private unnamed_addr constant [4 x i8] c"bmp\00"
+@.str10786 = private unnamed_addr constant [10 x i8] c"image/bmp\00"
+@.str10787 = private unnamed_addr constant [5 x i8] c"webp\00"
+@.str10788 = private unnamed_addr constant [11 x i8] c"image/webp\00"
+@.str10789 = private unnamed_addr constant [4 x i8] c"svg\00"
+@.str10790 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00"
+@.str10791 = private unnamed_addr constant [4 x i8] c"txt\00"
+@.str10792 = private unnamed_addr constant [11 x i8] c"text/plain\00"
+@.str10793 = private unnamed_addr constant [3 x i8] c"md\00"
+@.str10794 = private unnamed_addr constant [14 x i8] c"text/markdown\00"
+@.str10795 = private unnamed_addr constant [4 x i8] c"csv\00"
+@.str10796 = private unnamed_addr constant [9 x i8] c"text/csv\00"
+@.str10797 = private unnamed_addr constant [5 x i8] c"html\00"
+@.str10798 = private unnamed_addr constant [10 x i8] c"text/html\00"
+@.str10799 = private unnamed_addr constant [4 x i8] c"htm\00"
+@.str10800 = private unnamed_addr constant [10 x i8] c"text/html\00"
+@.str10801 = private unnamed_addr constant [4 x i8] c"css\00"
+@.str10802 = private unnamed_addr constant [9 x i8] c"text/css\00"
+@.str10803 = private unnamed_addr constant [3 x i8] c"js\00"
+@.str10804 = private unnamed_addr constant [16 x i8] c"text/javascript\00"
+@.str10805 = private unnamed_addr constant [5 x i8] c"json\00"
+@.str10806 = private unnamed_addr constant [17 x i8] c"application/json\00"
+@.str10807 = private unnamed_addr constant [4 x i8] c"xml\00"
+@.str10808 = private unnamed_addr constant [16 x i8] c"application/xml\00"
+@.str10809 = private unnamed_addr constant [4 x i8] c"zip\00"
+@.str10810 = private unnamed_addr constant [16 x i8] c"application/zip\00"
+@.str10811 = private unnamed_addr constant [4 x i8] c"pdf\00"
+@.str10812 = private unnamed_addr constant [16 x i8] c"application/pdf\00"
+@.str10813 = private unnamed_addr constant [4 x i8] c"wav\00"
+@.str10814 = private unnamed_addr constant [10 x i8] c"audio/wav\00"
+@.str10815 = private unnamed_addr constant [4 x i8] c"ogg\00"
+@.str10816 = private unnamed_addr constant [10 x i8] c"audio/ogg\00"
+@.str10817 = private unnamed_addr constant [4 x i8] c"mp3\00"
+@.str10818 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00"
+@.str10819 = private unnamed_addr constant [4 x i8] c"ttf\00"
+@.str10820 = private unnamed_addr constant [9 x i8] c"font/ttf\00"
+@.str10821 = private unnamed_addr constant [4 x i8] c"otf\00"
+@.str10822 = private unnamed_addr constant [9 x i8] c"font/otf\00"
+@.str10823 = private unnamed_addr constant [6 x i8] c"ludic\00"
+@.str10824 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00"
+@.str10825 = 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 @.str10777, ptr @.str10778 }, { ptr, ptr } { ptr @.str10779, ptr @.str10780 }, { ptr, ptr } { ptr @.str10781, ptr @.str10782 }, { ptr, ptr } { ptr @.str10783, ptr @.str10784 }, { ptr, ptr } { ptr @.str10785, ptr @.str10786 }, { ptr, ptr } { ptr @.str10787, ptr @.str10788 }, { ptr, ptr } { ptr @.str10789, ptr @.str10790 }, { ptr, ptr } { ptr @.str10791, ptr @.str10792 }, { ptr, ptr } { ptr @.str10793, ptr @.str10794 }, { ptr, ptr } { ptr @.str10795, ptr @.str10796 }, { ptr, ptr } { ptr @.str10797, ptr @.str10798 }, { ptr, ptr } { ptr @.str10799, ptr @.str10800 }, { ptr, ptr } { ptr @.str10801, ptr @.str10802 }, { ptr, ptr } { ptr @.str10803, ptr @.str10804 }, { ptr, ptr } { ptr @.str10805, ptr @.str10806 }, { ptr, ptr } { ptr @.str10807, ptr @.str10808 }, { ptr, ptr } { ptr @.str10809, ptr @.str10810 }, { ptr, ptr } { ptr @.str10811, ptr @.str10812 }, { ptr, ptr } { ptr @.str10813, ptr @.str10814 }, { ptr, ptr } { ptr @.str10815, ptr @.str10816 }, { ptr, ptr } { ptr @.str10817, ptr @.str10818 }, { ptr, ptr } { ptr @.str10819, ptr @.str10820 }, { ptr, ptr } { ptr @.str10821, ptr @.str10822 }, { ptr, ptr } { ptr @.str10823, ptr @.str10824 }]
+define ptr @lp_mime_of(ptr %path) {
entry:
- %ext = call ptr @fn_path_ext(ptr %path)
- %lc = call ptr @fn_mime_lc(ptr %ext)
+ %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
@@ -11769,17 +11820,17 @@ body:
hit:
%vp = getelementptr [24 x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 1
%v = load ptr, ptr %vp
- %r = call ptr @fn_fs_strdup(ptr %v)
+ %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 @fn_fs_strdup(ptr @.str10780)
+ %d = call ptr @lp_fs_strdup(ptr @.str10825)
ret ptr %d
}
-define ptr @fn_mime_lc(ptr %s) {
+define ptr @lp_mime_lc(ptr %s) {
entry:
%l64 = call i64 @strlen(ptr %s)
%l = trunc i64 %l64 to i32
@@ -11822,7 +11873,7 @@ done:
store i8 0, ptr %ep
ret ptr %out
}
-define ptr @fn_mime_sniff(ptr %path) {
+define ptr @lp_mime_sniff(ptr %path) {
entry:
%f = call ptr @fopen(ptr %path, ptr @fn_str_rb)
%nz = icmp ne ptr %f, null
@@ -11856,7 +11907,7 @@ chk:
%pc = and i1 %pb, %p3
br i1 %pc, label %png, label %cj
png:
- %rpng = call ptr @fn_fs_strdup(ptr @fn_sig_png)
+ %rpng = call ptr @lp_fs_strdup(ptr @fn_sig_png)
ret ptr %rpng
cj:
%j0 = icmp eq i32 %b0i, 255
@@ -11866,7 +11917,7 @@ cj:
%jb = and i1 %ja, %j2
br i1 %jb, label %jpg, label %cg
jpg:
- %rjpg = call ptr @fn_fs_strdup(ptr @fn_sig_jpg)
+ %rjpg = call ptr @lp_fs_strdup(ptr @fn_sig_jpg)
ret ptr %rjpg
cg:
%g0 = icmp eq i32 %b0i, 71
@@ -11876,7 +11927,7 @@ cg:
%gb = and i1 %ga, %g2
br i1 %gb, label %gif, label %cp
gif:
- %rgif = call ptr @fn_fs_strdup(ptr @fn_sig_gif)
+ %rgif = call ptr @lp_fs_strdup(ptr @fn_sig_gif)
ret ptr %rgif
cp:
%q0 = icmp eq i32 %b0i, 37
@@ -11888,10 +11939,10 @@ cp:
%qc = and i1 %qb, %q3
br i1 %qc, label %pdf, label %fallback
pdf:
- %rpdf = call ptr @fn_fs_strdup(ptr @fn_sig_pdf)
+ %rpdf = call ptr @lp_fs_strdup(ptr @fn_sig_pdf)
ret ptr %rpdf
fallback:
- %r = call ptr @fn_mime_of(ptr %path)
+ %r = call ptr @lp_mime_of(ptr %path)
ret ptr %r
}
@fn_str_rb = private unnamed_addr constant [3 x i8] c"rb\00"
@@ -12026,6 +12077,57 @@ ret:
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
@@ -12251,24 +12353,22 @@ wcond3:
wbody4:
%t26 = load ptr, ptr %t0
%t27 = getelementptr inbounds %Cmp_Buf, ptr %t26, i32 0, i32 2
- %t28 = load ptr, ptr %t0
- %t29 = getelementptr inbounds %Cmp_Buf, ptr %t28, i32 0, i32 2
- %t30 = load i32, ptr %t29
- %t31 = mul i32 %t30, 2
- store i32 %t31, ptr %t27
+ %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 %t0
- %t35 = getelementptr inbounds %Cmp_Buf, ptr %t34, i32 0, i32 0
- %t36 = load ptr, ptr %t35
- %t37 = load ptr, ptr %t0
- %t38 = getelementptr inbounds %Cmp_Buf, ptr %t37, i32 0, i32 2
- %t39 = load i32, ptr %t38
- %t40 = zext i32 %t39 to i64
- %t41 = call ptr @realloc(ptr %t36, i64 %t40)
- store ptr %t41, ptr %t33
+ %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
@@ -12294,11 +12394,9 @@ entry:
store i8 %t11, ptr %t9
%t12 = load ptr, ptr %t0
%t13 = getelementptr inbounds %Cmp_Buf, ptr %t12, i32 0, i32 1
- %t14 = load ptr, ptr %t0
- %t15 = getelementptr inbounds %Cmp_Buf, ptr %t14, i32 0, i32 1
- %t16 = load i32, ptr %t15
- %t17 = add i32 %t16, 1
- store i32 %t17, ptr %t13
+ %t14 = load i32, ptr %t13
+ %t15 = add i32 %t14, 1
+ store i32 %t15, ptr %t13
br label %ret
ret:
ret void
@@ -12472,7 +12570,8 @@ define ptr @fn_node(i32 %arg_kind) {
entry:
%retval = alloca ptr
%t0 = alloca i32
- %t13 = alloca ptr
+ %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
@@ -12495,29 +12594,69 @@ entry:
store ptr null, ptr %t11
%t12 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 8
store i32 0, ptr %t12
- store ptr %t3, ptr %t13
- %t14 = load ptr, ptr %t13
- %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0
- %t16 = load i32, ptr %t0
- store i32 %t16, ptr %t15
- %t17 = load ptr, ptr %t13
- %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7
- %t19 = getelementptr %LSlice, ptr null, i32 1
- %t20 = ptrtoint ptr %t19 to i64
- %t21 = call ptr @malloc(i64 %t20)
- %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
- store ptr null, ptr %t22
- %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1
- store i32 0, ptr %t23
- %t24 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 2
+ %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
- store ptr %t21, ptr %t18
- %t25 = load ptr, ptr %t13
- store ptr %t25, ptr %retval
+ %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:
- %t26 = load ptr, ptr %retval
- ret ptr %t26
+ %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) {
@@ -12560,33 +12699,33 @@ entry:
%t23 = load i32, ptr %t3
store i32 %t23, ptr %t22
%t24 = load ptr, ptr @g_toks
- %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1
- %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 2
- %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0
- %t28 = load i32, ptr %t25
+ %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 = icmp sge i32 %t28, %t29
- br i1 %t30, label %grow0, label %put1
+ %t30 = load i32, ptr %t27
+ %t31 = icmp sge i32 %t29, %t30
+ br i1 %t31, label %grow0, label %put1
grow0:
- %t31 = mul i32 %t29, 2
- %t32 = icmp eq i32 %t29, 0
- %t33 = select i1 %t32, i32 8, i32 %t31
- %t34 = getelementptr ptr, ptr null, i32 1
- %t35 = ptrtoint ptr %t34 to i64
- %t36 = zext i32 %t33 to i64
- %t37 = mul i64 %t36, %t35
- %t38 = load ptr, ptr %t27
- %t39 = call ptr @realloc(ptr %t38, i64 %t37)
- store ptr %t39, ptr %t27
- store i32 %t33, ptr %t26
+ %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:
- %t40 = load ptr, ptr %t11
- %t41 = load ptr, ptr %t27
- %t42 = getelementptr inbounds ptr, ptr %t41, i32 %t28
- store ptr %t40, ptr %t42
- %t43 = add i32 %t28, 1
- store i32 %t43, ptr %t25
+ %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
@@ -12960,1097 +13099,1149 @@ ret:
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 = load ptr, ptr @__stderrp
+ %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
- %t7 = alloca i32
- %t8 = alloca i32
- %t12 = alloca i32
- %t23 = alloca i32
- %t33 = alloca i32
- %t34 = alloca i32
- %t61 = alloca i32
- %t88 = alloca i32
- %t92 = alloca ptr
- %t93 = alloca i32
- %t94 = alloca i32
- %t126 = alloca i32
- %t128 = alloca i32
- %t184 = alloca ptr
- %t185 = alloca i32
- %t186 = alloca i32
- %t231 = alloca i32
- %t246 = alloca i32
- %t287 = alloca i32
- %t305 = alloca i32
- %t318 = alloca i32
- %t319 = alloca i32
- %t325 = alloca i32
- %t340 = alloca i32
- %t363 = alloca i32
- %t364 = alloca i32
- %t392 = alloca i32
- %t393 = alloca i32
- %t425 = alloca i32
- %t426 = alloca i32
- %t427 = alloca i32
- %t471 = alloca i32
- %t480 = alloca i32
- %t481 = alloca i32
store ptr %arg_src, ptr %t0
- %t1 = getelementptr %LSlice, ptr null, i32 1
- %t2 = ptrtoint ptr %t1 to i64
- %t3 = call ptr @malloc(i64 %t2)
- %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
- store ptr null, ptr %t4
- %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
- store i32 0, ptr %t5
- %t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2
+ %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
- store ptr %t3, ptr @g_toks
+ %t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 2
store i32 0, ptr %t7
- store i32 1, ptr %t8
- %t9 = load ptr, ptr %t0
- %t10 = call i64 @strlen(ptr %t9)
- %t11 = trunc i64 %t10 to i32
- store i32 %t11, ptr %t12
+ 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:
- %t13 = load i32, ptr %t7
- %t14 = load i32, ptr %t12
- %t15 = icmp slt i32 %t13, %t14
- %t16 = zext i1 %t15 to i32
- %t17 = icmp ne i32 %t16, 0
- br i1 %t17, label %wbody1, label %wend2
+ %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:
- %t18 = load ptr, ptr %t0
- %t19 = load i32, ptr %t7
- %t20 = getelementptr inbounds i8, ptr %t18, i32 %t19
- %t21 = load i8, ptr %t20
- %t22 = zext i8 %t21 to i32
- store i32 %t22, ptr %t23
- %t24 = load i32, ptr %t23
- %t25 = icmp eq i32 %t24, 10
- %t26 = zext i1 %t25 to i32
- %t27 = icmp ne i32 %t26, 0
- br i1 %t27, label %then3, label %ifend5
+ %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:
- %t28 = load i32, ptr %t8
- call void @fn_tok_push(i32 4, ptr null, i32 0, i32 %t28)
- %t29 = load i32, ptr %t8
- %t30 = add i32 %t29, 1
- store i32 %t30, ptr %t8
- %t31 = load i32, ptr %t7
+ %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 %t7
+ store i32 %t32, ptr %t10
+ %t33 = load i32, ptr %t8
+ %t34 = add i32 %t33, 1
+ store i32 %t34, ptr %t8
br label %wcond0
ifend5:
- %t35 = load i32, ptr %t23
- %t36 = icmp eq i32 %t35, 32
- %t37 = zext i1 %t36 to i32
- %t38 = icmp ne i32 %t37, 0
+ %t37 = load i32, ptr %t25
+ %t38 = icmp eq i32 %t37, 32
%t39 = zext i1 %t38 to i32
- store i32 %t39, ptr %t34
- br i1 %t38, label %scend7, label %sc6
+ %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:
- %t40 = load i32, ptr %t23
- %t41 = icmp eq i32 %t40, 9
- %t42 = zext i1 %t41 to i32
- %t43 = icmp ne i32 %t42, 0
+ %t42 = load i32, ptr %t25
+ %t43 = icmp eq i32 %t42, 9
%t44 = zext i1 %t43 to i32
- store i32 %t44, ptr %t34
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = zext i1 %t45 to i32
+ store i32 %t46, ptr %t36
br label %scend7
scend7:
- %t45 = load i32, ptr %t34
- %t46 = icmp ne i32 %t45, 0
- %t47 = zext i1 %t46 to i32
- store i32 %t47, ptr %t33
- br i1 %t46, label %scend9, label %sc8
+ %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:
- %t48 = load i32, ptr %t23
- %t49 = icmp eq i32 %t48, 13
- %t50 = zext i1 %t49 to i32
- %t51 = icmp ne i32 %t50, 0
+ %t50 = load i32, ptr %t25
+ %t51 = icmp eq i32 %t50, 13
%t52 = zext i1 %t51 to i32
- store i32 %t52, ptr %t33
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = zext i1 %t53 to i32
+ store i32 %t54, ptr %t35
br label %scend9
scend9:
- %t53 = load i32, ptr %t33
- %t54 = icmp ne i32 %t53, 0
- br i1 %t54, label %then10, label %ifend12
+ %t55 = load i32, ptr %t35
+ %t56 = icmp ne i32 %t55, 0
+ br i1 %t56, label %then10, label %ifend12
then10:
- %t55 = load i32, ptr %t7
- %t56 = add i32 %t55, 1
- store i32 %t56, ptr %t7
+ %t57 = load i32, ptr %t8
+ %t58 = add i32 %t57, 1
+ store i32 %t58, ptr %t8
br label %wcond0
ifend12:
- %t57 = load i32, ptr %t23
- %t58 = icmp eq i32 %t57, 35
- %t59 = zext i1 %t58 to i32
- %t60 = icmp ne i32 %t59, 0
- br i1 %t60, label %then13, label %ifend15
+ %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:
- %t62 = load i32, ptr %t7
- %t63 = load i32, ptr %t12
- %t64 = icmp slt i32 %t62, %t63
- %t65 = zext i1 %t64 to i32
- %t66 = icmp ne i32 %t65, 0
+ %t64 = load i32, ptr %t8
+ %t65 = load i32, ptr %t14
+ %t66 = icmp slt i32 %t64, %t65
%t67 = zext i1 %t66 to i32
- store i32 %t67, ptr %t61
- br i1 %t66, label %sc19, label %scend20
+ %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:
- %t68 = load ptr, ptr %t0
- %t69 = load i32, ptr %t7
- %t70 = getelementptr inbounds i8, ptr %t68, i32 %t69
- %t71 = load i8, ptr %t70
- %t72 = zext i8 %t71 to i32
- %t73 = icmp ne i32 %t72, 10
- %t74 = zext i1 %t73 to i32
- %t75 = icmp ne i32 %t74, 0
+ %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
- store i32 %t76, ptr %t61
+ %t77 = icmp ne i32 %t76, 0
+ %t78 = zext i1 %t77 to i32
+ store i32 %t78, ptr %t63
br label %scend20
scend20:
- %t77 = load i32, ptr %t61
- %t78 = icmp ne i32 %t77, 0
- br i1 %t78, label %wbody17, label %wend18
+ %t79 = load i32, ptr %t63
+ %t80 = icmp ne i32 %t79, 0
+ br i1 %t80, label %wbody17, label %wend18
wbody17:
- %t79 = load i32, ptr %t7
- %t80 = add i32 %t79, 1
- store i32 %t80, ptr %t7
+ %t81 = load i32, ptr %t8
+ %t82 = add i32 %t81, 1
+ store i32 %t82, ptr %t8
br label %wcond16
wend18:
br label %wcond0
ifend15:
- %t81 = load i32, ptr %t23
- %t82 = icmp eq i32 %t81, 34
- %t83 = zext i1 %t82 to i32
- %t84 = icmp ne i32 %t83, 0
- br i1 %t84, label %then21, label %ifend23
+ %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:
- %t85 = load i32, ptr %t7
- %t86 = add i32 %t85, 1
- store i32 %t86, ptr %t7
- %t87 = load i32, ptr %t7
- store i32 %t87, ptr %t88
- %t89 = load i32, ptr %t12
- %t90 = zext i32 %t89 to i64
- %t91 = call ptr @malloc(i64 %t90)
- store ptr %t91, ptr %t92
- store i32 0, ptr %t93
+ %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:
- %t95 = load i32, ptr %t7
- %t96 = load i32, ptr %t12
- %t97 = icmp slt i32 %t95, %t96
- %t98 = zext i1 %t97 to i32
- %t99 = icmp ne i32 %t98, 0
+ %t97 = load i32, ptr %t8
+ %t98 = load i32, ptr %t14
+ %t99 = icmp slt i32 %t97, %t98
%t100 = zext i1 %t99 to i32
- store i32 %t100, ptr %t94
- br i1 %t99, label %sc27, label %scend28
+ %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:
- %t101 = load ptr, ptr %t0
- %t102 = load i32, ptr %t7
- %t103 = getelementptr inbounds i8, ptr %t101, i32 %t102
- %t104 = load i8, ptr %t103
- %t105 = zext i8 %t104 to i32
- %t106 = icmp ne i32 %t105, 34
- %t107 = zext i1 %t106 to i32
- %t108 = icmp ne i32 %t107, 0
+ %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
- store i32 %t109, ptr %t94
+ %t110 = icmp ne i32 %t109, 0
+ %t111 = zext i1 %t110 to i32
+ store i32 %t111, ptr %t96
br label %scend28
scend28:
- %t110 = load i32, ptr %t94
- %t111 = icmp ne i32 %t110, 0
- br i1 %t111, label %wbody25, label %wend26
+ %t112 = load i32, ptr %t96
+ %t113 = icmp ne i32 %t112, 0
+ br i1 %t113, label %wbody25, label %wend26
wbody25:
- %t112 = load ptr, ptr %t0
- %t113 = load i32, ptr %t7
- %t114 = getelementptr inbounds i8, ptr %t112, i32 %t113
- %t115 = load i8, ptr %t114
- %t116 = zext i8 %t115 to i32
- %t117 = icmp eq i32 %t116, 92
- %t118 = zext i1 %t117 to i32
- %t119 = icmp ne i32 %t118, 0
- br i1 %t119, label %then29, label %else30
+ %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:
- %t120 = load ptr, ptr %t0
- %t121 = load i32, ptr %t7
- %t122 = add i32 %t121, 1
- %t123 = getelementptr inbounds i8, ptr %t120, i32 %t122
- %t124 = load i8, ptr %t123
- %t125 = zext i8 %t124 to i32
- store i32 %t125, ptr %t126
- %t127 = load i32, ptr %t126
- store i32 %t127, ptr %t128
- %t129 = load i32, ptr %t126
- %t130 = icmp eq i32 %t129, 110
- %t131 = zext i1 %t130 to i32
- %t132 = icmp ne i32 %t131, 0
- br i1 %t132, label %then32, label %ifend34
-then32:
- store i32 10, ptr %t128
- br label %ifend34
-ifend34:
- %t133 = load i32, ptr %t126
- %t134 = icmp eq i32 %t133, 114
- %t135 = zext i1 %t134 to i32
- %t136 = icmp ne i32 %t135, 0
- br i1 %t136, label %then35, label %ifend37
-then35:
- store i32 13, ptr %t128
- br label %ifend37
-ifend37:
- %t137 = load i32, ptr %t126
- %t138 = icmp eq i32 %t137, 116
- %t139 = zext i1 %t138 to i32
- %t140 = icmp ne i32 %t139, 0
- br i1 %t140, label %then38, label %ifend40
-then38:
- store i32 9, ptr %t128
- br label %ifend40
-ifend40:
- %t141 = load i32, ptr %t126
- %t142 = icmp eq i32 %t141, 48
- %t143 = zext i1 %t142 to i32
- %t144 = icmp ne i32 %t143, 0
- br i1 %t144, label %then41, label %ifend43
-then41:
- store i32 0, ptr %t128
- br label %ifend43
-ifend43:
- %t145 = load ptr, ptr %t92
- %t146 = load i32, ptr %t93
- %t147 = getelementptr inbounds i8, ptr %t145, i32 %t146
- %t148 = load i32, ptr %t128
- %t149 = trunc i32 %t148 to i8
- store i8 %t149, ptr %t147
- %t150 = load i32, ptr %t93
- %t151 = add i32 %t150, 1
- store i32 %t151, ptr %t93
- %t152 = load i32, ptr %t7
- %t153 = add i32 %t152, 2
- store i32 %t153, ptr %t7
+ %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:
- %t154 = load ptr, ptr %t92
- %t155 = load i32, ptr %t93
- %t156 = getelementptr inbounds i8, ptr %t154, i32 %t155
- %t157 = load ptr, ptr %t0
- %t158 = load i32, ptr %t7
- %t159 = getelementptr inbounds i8, ptr %t157, i32 %t158
- %t160 = load i8, ptr %t159
- %t161 = zext i8 %t160 to i32
- %t162 = trunc i32 %t161 to i8
- store i8 %t162, ptr %t156
- %t163 = load i32, ptr %t93
- %t164 = add i32 %t163, 1
- store i32 %t164, ptr %t93
- %t165 = load i32, ptr %t7
- %t166 = add i32 %t165, 1
- store i32 %t166, ptr %t7
+ %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:
- %t167 = load i32, ptr %t7
- %t168 = add i32 %t167, 1
- store i32 %t168, ptr %t7
- %t169 = load ptr, ptr %t92
- %t170 = load i32, ptr %t93
- %t171 = getelementptr inbounds i8, ptr %t169, i32 %t170
- %t172 = trunc i32 0 to i8
- store i8 %t172, ptr %t171
- %t173 = load ptr, ptr %t92
- %t174 = load i32, ptr %t8
- call void @fn_tok_push(i32 2, ptr %t173, i32 0, i32 %t174)
+ %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:
- %t175 = load i32, ptr %t23
- %t176 = icmp eq i32 %t175, 96
- %t177 = zext i1 %t176 to i32
- %t178 = icmp ne i32 %t177, 0
- br i1 %t178, label %then44, label %ifend46
-then44:
- %t179 = load i32, ptr %t7
- %t180 = add i32 %t179, 1
- store i32 %t180, ptr %t7
- %t181 = load i32, ptr %t12
- %t182 = zext i32 %t181 to i64
- %t183 = call ptr @malloc(i64 %t182)
- store ptr %t183, ptr %t184
- store i32 0, ptr %t185
- br label %wcond47
-wcond47:
- %t187 = load i32, ptr %t7
- %t188 = load i32, ptr %t12
- %t189 = icmp slt i32 %t187, %t188
- %t190 = zext i1 %t189 to i32
- %t191 = icmp ne i32 %t190, 0
- %t192 = zext i1 %t191 to i32
- store i32 %t192, ptr %t186
- br i1 %t191, label %sc50, label %scend51
-sc50:
- %t193 = load ptr, ptr %t0
- %t194 = load i32, ptr %t7
- %t195 = getelementptr inbounds i8, ptr %t193, i32 %t194
- %t196 = load i8, ptr %t195
- %t197 = zext i8 %t196 to i32
- %t198 = icmp ne i32 %t197, 96
- %t199 = zext i1 %t198 to i32
- %t200 = icmp ne i32 %t199, 0
- %t201 = zext i1 %t200 to i32
- store i32 %t201, ptr %t186
- br label %scend51
-scend51:
- %t202 = load i32, ptr %t186
- %t203 = icmp ne i32 %t202, 0
- br i1 %t203, label %wbody48, label %wend49
-wbody48:
- %t204 = load ptr, ptr %t184
- %t205 = load i32, ptr %t185
- %t206 = getelementptr inbounds i8, ptr %t204, i32 %t205
- %t207 = load ptr, ptr %t0
- %t208 = load i32, ptr %t7
- %t209 = getelementptr inbounds i8, ptr %t207, i32 %t208
- %t210 = load i8, ptr %t209
- %t211 = zext i8 %t210 to i32
- %t212 = trunc i32 %t211 to i8
- store i8 %t212, ptr %t206
- %t213 = load i32, ptr %t185
- %t214 = add i32 %t213, 1
- store i32 %t214, ptr %t185
- %t215 = load i32, ptr %t7
- %t216 = add i32 %t215, 1
- store i32 %t216, ptr %t7
- br label %wcond47
-wend49:
- %t217 = load i32, ptr %t7
- %t218 = add i32 %t217, 1
- store i32 %t218, ptr %t7
- %t219 = load ptr, ptr %t184
- %t220 = load i32, ptr %t185
- %t221 = getelementptr inbounds i8, ptr %t219, i32 %t220
- %t222 = trunc i32 0 to i8
- store i8 %t222, ptr %t221
- %t223 = load ptr, ptr %t184
- %t224 = load i32, ptr %t8
- call void @fn_tok_push(i32 7, ptr %t223, i32 0, i32 %t224)
+ %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
-ifend46:
- %t225 = load i32, ptr %t23
- %t226 = icmp eq i32 %t225, 39
- %t227 = zext i1 %t226 to i32
- %t228 = icmp ne i32 %t227, 0
- br i1 %t228, label %then52, label %ifend54
-then52:
- %t229 = load i32, ptr %t7
- %t230 = add i32 %t229, 1
- store i32 %t230, ptr %t7
- store i32 0, ptr %t231
+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 %t7
+ %t233 = load i32, ptr %t8
%t234 = getelementptr inbounds i8, ptr %t232, i32 %t233
%t235 = load i8, ptr %t234
%t236 = zext i8 %t235 to i32
- %t237 = icmp eq i32 %t236, 92
- %t238 = zext i1 %t237 to i32
- %t239 = icmp ne i32 %t238, 0
- br i1 %t239, label %then55, label %else56
-then55:
- %t240 = load ptr, ptr %t0
- %t241 = load i32, ptr %t7
- %t242 = add i32 %t241, 1
- %t243 = getelementptr inbounds i8, ptr %t240, i32 %t242
- %t244 = load i8, ptr %t243
- %t245 = zext i8 %t244 to i32
- store i32 %t245, ptr %t246
- %t247 = load i32, ptr %t246
- %t248 = icmp eq i32 %t247, 110
- %t249 = zext i1 %t248 to i32
- %t250 = icmp ne i32 %t249, 0
- br i1 %t250, label %then58, label %ifend60
-then58:
- store i32 10, ptr %t231
- br label %ifend60
-ifend60:
- %t251 = load i32, ptr %t246
- %t252 = icmp eq i32 %t251, 114
- %t253 = zext i1 %t252 to i32
- %t254 = icmp ne i32 %t253, 0
- br i1 %t254, label %then61, label %ifend63
-then61:
- store i32 13, ptr %t231
- br label %ifend63
-ifend63:
- %t255 = load i32, ptr %t246
- %t256 = icmp eq i32 %t255, 116
- %t257 = zext i1 %t256 to i32
- %t258 = icmp ne i32 %t257, 0
- br i1 %t258, label %then64, label %ifend66
-then64:
- store i32 9, ptr %t231
- br label %ifend66
-ifend66:
- %t259 = load i32, ptr %t246
- %t260 = icmp eq i32 %t259, 48
- %t261 = zext i1 %t260 to i32
- %t262 = icmp ne i32 %t261, 0
- br i1 %t262, label %then67, label %ifend69
-then67:
- store i32 0, ptr %t231
- br label %ifend69
-ifend69:
- %t263 = load i32, ptr %t7
- %t264 = add i32 %t263, 2
- store i32 %t264, ptr %t7
- br label %ifend57
-else56:
- %t265 = load ptr, ptr %t0
- %t266 = load i32, ptr %t7
- %t267 = getelementptr inbounds i8, ptr %t265, i32 %t266
- %t268 = load i8, ptr %t267
- %t269 = zext i8 %t268 to i32
- store i32 %t269, ptr %t231
- %t270 = load i32, ptr %t7
- %t271 = add i32 %t270, 1
- store i32 %t271, ptr %t7
- br label %ifend57
-ifend57:
- %t272 = load ptr, ptr %t0
- %t273 = load i32, ptr %t7
- %t274 = getelementptr inbounds i8, ptr %t272, i32 %t273
- %t275 = load i8, ptr %t274
- %t276 = zext i8 %t275 to i32
- %t277 = icmp eq i32 %t276, 39
- %t278 = zext i1 %t277 to i32
- %t279 = icmp ne i32 %t278, 0
- br i1 %t279, label %then70, label %ifend72
-then70:
- %t280 = load i32, ptr %t7
- %t281 = add i32 %t280, 1
- store i32 %t281, ptr %t7
- br label %ifend72
-ifend72:
- %t282 = load i32, ptr %t231
- %t283 = load i32, ptr %t8
- call void @fn_tok_push(i32 1, ptr null, i32 %t282, i32 %t283)
+ 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
-ifend54:
- %t284 = load i32, ptr %t23
- %t285 = call i32 @fn_char_is_digit(i32 %t284)
- %t286 = icmp ne i32 %t285, 0
- br i1 %t286, label %then73, label %ifend75
-then73:
- %t288 = load i32, ptr %t23
- %t289 = icmp eq i32 %t288, 48
- %t290 = zext i1 %t289 to i32
- %t291 = icmp ne i32 %t290, 0
- %t292 = zext i1 %t291 to i32
+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 i1 %t291, label %sc76, label %scend77
-sc76:
- %t293 = load ptr, ptr %t0
- %t294 = load i32, ptr %t7
- %t295 = add i32 %t294, 1
- %t296 = getelementptr inbounds i8, ptr %t293, i32 %t295
- %t297 = load i8, ptr %t296
- %t298 = zext i8 %t297 to i32
- %t299 = icmp eq i32 %t298, 120
- %t300 = zext i1 %t299 to i32
- %t301 = icmp ne i32 %t300, 0
- %t302 = zext i1 %t301 to i32
- store i32 %t302, ptr %t287
- br label %scend77
-scend77:
- %t303 = load i32, ptr %t287
- %t304 = icmp ne i32 %t303, 0
- br i1 %t304, label %then78, label %ifend80
-then78:
- store i32 0, ptr %t305
- %t306 = load i32, ptr %t7
- %t307 = add i32 %t306, 2
- store i32 %t307, ptr %t7
- br label %wcond81
-wcond81:
- %t308 = load i32, ptr %t7
- %t309 = load i32, ptr %t12
- %t310 = icmp slt i32 %t308, %t309
+ 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
- br i1 %t312, label %wbody82, label %wend83
-wbody82:
- %t313 = load ptr, ptr %t0
- %t314 = load i32, ptr %t7
- %t315 = getelementptr inbounds i8, ptr %t313, i32 %t314
- %t316 = load i8, ptr %t315
- %t317 = zext i8 %t316 to i32
- store i32 %t317, ptr %t318
- store i32 0, ptr %t319
- %t320 = load i32, ptr %t318
- %t321 = call i32 @fn_char_is_digit(i32 %t320)
- %t322 = icmp ne i32 %t321, 0
- br i1 %t322, label %then84, label %else85
-then84:
- %t323 = load i32, ptr %t318
- %t324 = sub i32 %t323, 48
- store i32 %t324, ptr %t319
- br label %ifend86
-else85:
- %t326 = load i32, ptr %t318
- %t327 = icmp sge i32 %t326, 97
- %t328 = zext i1 %t327 to i32
- %t329 = icmp ne i32 %t328, 0
- %t330 = zext i1 %t329 to i32
- store i32 %t330, ptr %t325
- br i1 %t329, label %sc87, label %scend88
-sc87:
- %t331 = load i32, ptr %t318
- %t332 = icmp sle i32 %t331, 102
- %t333 = zext i1 %t332 to i32
- %t334 = icmp ne i32 %t333, 0
- %t335 = zext i1 %t334 to i32
- store i32 %t335, ptr %t325
- br label %scend88
-scend88:
- %t336 = load i32, ptr %t325
+ %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
- br i1 %t337, label %then89, label %else90
-then89:
- %t338 = load i32, ptr %t318
- %t339 = sub i32 %t338, 87
- store i32 %t339, ptr %t319
- br label %ifend91
-else90:
- %t341 = load i32, ptr %t318
- %t342 = icmp sge i32 %t341, 65
- %t343 = zext i1 %t342 to i32
- %t344 = icmp ne i32 %t343, 0
- %t345 = zext i1 %t344 to i32
- store i32 %t345, ptr %t340
- br i1 %t344, label %sc92, label %scend93
-sc92:
- %t346 = load i32, ptr %t318
- %t347 = icmp sle i32 %t346, 70
- %t348 = zext i1 %t347 to i32
- %t349 = icmp ne i32 %t348, 0
- %t350 = zext i1 %t349 to i32
- store i32 %t350, ptr %t340
- br label %scend93
-scend93:
- %t351 = load i32, ptr %t340
- %t352 = icmp ne i32 %t351, 0
- br i1 %t352, label %then94, label %else95
-then94:
- %t353 = load i32, ptr %t318
- %t354 = sub i32 %t353, 55
- store i32 %t354, ptr %t319
- br label %ifend96
-else95:
- br label %wend83
-ifend96:
- br label %ifend91
-ifend91:
- br label %ifend86
-ifend86:
- %t355 = load i32, ptr %t305
- %t356 = mul i32 %t355, 16
- %t357 = load i32, ptr %t319
- %t358 = add i32 %t356, %t357
- store i32 %t358, ptr %t305
- %t359 = load i32, ptr %t7
- %t360 = add i32 %t359, 1
- store i32 %t360, ptr %t7
- br label %wcond81
-wend83:
- %t361 = load i32, ptr %t305
+ %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
- call void @fn_tok_push(i32 1, ptr null, i32 %t361, i32 %t362)
- br label %wcond0
-ifend80:
- store i32 0, ptr %t363
- br label %wcond97
-wcond97:
- %t365 = load i32, ptr %t7
- %t366 = load i32, ptr %t12
- %t367 = icmp slt i32 %t365, %t366
- %t368 = zext i1 %t367 to i32
- %t369 = icmp ne i32 %t368, 0
- %t370 = zext i1 %t369 to i32
- store i32 %t370, ptr %t364
- br i1 %t369, label %sc100, label %scend101
-sc100:
- %t371 = load ptr, ptr %t0
- %t372 = load i32, ptr %t7
- %t373 = getelementptr inbounds i8, ptr %t371, i32 %t372
- %t374 = load i8, ptr %t373
- %t375 = zext i8 %t374 to i32
- %t376 = call i32 @fn_char_is_digit(i32 %t375)
- %t377 = icmp ne i32 %t376, 0
- %t378 = zext i1 %t377 to i32
- store i32 %t378, ptr %t364
- br label %scend101
-scend101:
- %t379 = load i32, ptr %t364
- %t380 = icmp ne i32 %t379, 0
- br i1 %t380, label %wbody98, label %wend99
-wbody98:
- %t381 = load i32, ptr %t363
- %t382 = mul i32 %t381, 10
- %t383 = load ptr, ptr %t0
- %t384 = load i32, ptr %t7
- %t385 = getelementptr inbounds i8, ptr %t383, i32 %t384
- %t386 = load i8, ptr %t385
- %t387 = zext i8 %t386 to i32
- %t388 = sub i32 %t387, 48
- %t389 = add i32 %t382, %t388
- store i32 %t389, ptr %t363
- %t390 = load i32, ptr %t7
- %t391 = add i32 %t390, 1
- store i32 %t391, ptr %t7
- br label %wcond97
-wend99:
- %t394 = load i32, ptr %t7
- %t395 = load i32, ptr %t12
- %t396 = icmp slt i32 %t394, %t395
- %t397 = zext i1 %t396 to i32
- %t398 = icmp ne i32 %t397, 0
+ %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
- store i32 %t399, ptr %t393
- br i1 %t398, label %sc102, label %scend103
-sc102:
- %t400 = load ptr, ptr %t0
- %t401 = load i32, ptr %t7
- %t402 = getelementptr inbounds i8, ptr %t400, i32 %t401
- %t403 = load i8, ptr %t402
- %t404 = zext i8 %t403 to i32
- %t405 = icmp eq i32 %t404, 46
- %t406 = zext i1 %t405 to i32
- %t407 = icmp ne i32 %t406, 0
- %t408 = zext i1 %t407 to i32
- store i32 %t408, ptr %t393
- br label %scend103
-scend103:
- %t409 = load i32, ptr %t393
- %t410 = icmp ne i32 %t409, 0
- %t411 = zext i1 %t410 to i32
- store i32 %t411, ptr %t392
- br i1 %t410, label %sc104, label %scend105
-sc104:
- %t412 = load ptr, ptr %t0
- %t413 = load i32, ptr %t7
- %t414 = add i32 %t413, 1
- %t415 = getelementptr inbounds i8, ptr %t412, i32 %t414
- %t416 = load i8, ptr %t415
- %t417 = zext i8 %t416 to i32
- %t418 = call i32 @fn_char_is_digit(i32 %t417)
- %t419 = icmp ne i32 %t418, 0
- %t420 = zext i1 %t419 to i32
- store i32 %t420, ptr %t392
- br label %scend105
-scend105:
- %t421 = load i32, ptr %t392
- %t422 = icmp ne i32 %t421, 0
- br i1 %t422, label %then106, label %ifend108
-then106:
- %t423 = load i32, ptr %t7
- %t424 = add i32 %t423, 1
- store i32 %t424, ptr %t7
- store i32 0, ptr %t425
- store i32 1, ptr %t426
- br label %wcond109
-wcond109:
- %t428 = load i32, ptr %t7
- %t429 = load i32, ptr %t12
- %t430 = icmp slt i32 %t428, %t429
- %t431 = zext i1 %t430 to i32
- %t432 = icmp ne i32 %t431, 0
- %t433 = zext i1 %t432 to i32
- store i32 %t433, ptr %t427
- br i1 %t432, label %sc112, label %scend113
-sc112:
- %t434 = load ptr, ptr %t0
- %t435 = load i32, ptr %t7
- %t436 = getelementptr inbounds i8, ptr %t434, i32 %t435
- %t437 = load i8, ptr %t436
- %t438 = zext i8 %t437 to i32
- %t439 = call i32 @fn_char_is_digit(i32 %t438)
- %t440 = icmp ne i32 %t439, 0
- %t441 = zext i1 %t440 to i32
- store i32 %t441, ptr %t427
- br label %scend113
-scend113:
- %t442 = load i32, ptr %t427
- %t443 = icmp ne i32 %t442, 0
- br i1 %t443, label %wbody110, label %wend111
-wbody110:
- %t444 = load i32, ptr %t426
- %t445 = icmp slt i32 %t444, 10000
- %t446 = zext i1 %t445 to i32
- %t447 = icmp ne i32 %t446, 0
- br i1 %t447, label %then114, label %ifend116
-then114:
- %t448 = load i32, ptr %t425
- %t449 = mul i32 %t448, 10
- %t450 = load ptr, ptr %t0
- %t451 = load i32, ptr %t7
- %t452 = getelementptr inbounds i8, ptr %t450, i32 %t451
- %t453 = load i8, ptr %t452
- %t454 = zext i8 %t453 to i32
- %t455 = sub i32 %t454, 48
- %t456 = add i32 %t449, %t455
- store i32 %t456, ptr %t425
- %t457 = load i32, ptr %t426
- %t458 = mul i32 %t457, 10
- store i32 %t458, ptr %t426
- br label %ifend116
-ifend116:
- %t459 = load i32, ptr %t7
- %t460 = add i32 %t459, 1
- store i32 %t460, ptr %t7
- br label %wcond109
-wend111:
- %t461 = load i32, ptr %t363
- %t462 = shl i32 %t461, 16
- %t463 = load i32, ptr %t425
- %t464 = shl i32 %t463, 16
- %t465 = load i32, ptr %t426
- %t466 = lshr i32 %t465, 1
- %t467 = add i32 %t464, %t466
- %t468 = load i32, ptr %t426
- %t469 = sdiv i32 %t467, %t468
- %t470 = add i32 %t462, %t469
- store i32 %t470, ptr %t471
- %t472 = load i32, ptr %t471
- %t473 = load i32, ptr %t8
- call void @fn_tok_push(i32 6, ptr null, i32 %t472, i32 %t473)
+ %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
-ifend108:
- %t474 = load i32, ptr %t363
- %t475 = load i32, ptr %t8
- call void @fn_tok_push(i32 1, ptr null, i32 %t474, i32 %t475)
+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
-ifend75:
- %t476 = load i32, ptr %t23
- %t477 = call i32 @fn_char_is_alpha(i32 %t476)
- %t478 = icmp ne i32 %t477, 0
- br i1 %t478, label %then117, label %ifend119
-then117:
- %t479 = load i32, ptr %t7
- store i32 %t479, ptr %t480
- br label %wcond120
-wcond120:
- %t482 = load i32, ptr %t7
- %t483 = load i32, ptr %t12
- %t484 = icmp slt i32 %t482, %t483
- %t485 = zext i1 %t484 to i32
- %t486 = icmp ne i32 %t485, 0
- %t487 = zext i1 %t486 to i32
- store i32 %t487, ptr %t481
- br i1 %t486, label %sc123, label %scend124
-sc123:
- %t488 = load ptr, ptr %t0
- %t489 = load i32, ptr %t7
- %t490 = getelementptr inbounds i8, ptr %t488, i32 %t489
- %t491 = load i8, ptr %t490
- %t492 = zext i8 %t491 to i32
- %t493 = call i32 @fn_char_is_alnum(i32 %t492)
- %t494 = icmp ne i32 %t493, 0
- %t495 = zext i1 %t494 to i32
- store i32 %t495, ptr %t481
- br label %scend124
-scend124:
- %t496 = load i32, ptr %t481
- %t497 = icmp ne i32 %t496, 0
- br i1 %t497, label %wbody121, label %wend122
-wbody121:
- %t498 = load i32, ptr %t7
- %t499 = add i32 %t498, 1
- store i32 %t499, ptr %t7
- br label %wcond120
-wend122:
- %t500 = load ptr, ptr %t0
- %t501 = load i32, ptr %t480
- %t502 = load i32, ptr %t7
- %t503 = call ptr @fn_str_slice(ptr %t500, i32 %t501, i32 %t502)
- %t504 = load i32, ptr %t8
- call void @fn_tok_push(i32 0, ptr %t503, i32 0, i32 %t504)
+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
-ifend119:
- %t505 = load i32, ptr %t23
- %t506 = icmp eq i32 %t505, 59
- %t507 = zext i1 %t506 to i32
- %t508 = icmp ne i32 %t507, 0
- br i1 %t508, label %then125, label %ifend127
-then125:
+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
- call void @fn_tok_push(i32 4, ptr null, i32 0, i32 %t509)
- %t510 = load i32, ptr %t7
- %t511 = add i32 %t510, 1
- store i32 %t511, ptr %t7
+ %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:
- %t512 = load ptr, ptr %t0
- %t513 = load i32, ptr %t7
- %t514 = call i32 @fn_two_at(ptr %t512, i32 %t513, i32 45, i32 62)
- %t515 = icmp ne i32 %t514, 0
- br i1 %t515, label %then128, label %ifend130
+ %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:
- %t516 = load ptr, ptr %t0
- %t517 = load i32, ptr %t7
- %t518 = load i32, ptr %t7
- %t519 = add i32 %t518, 2
- %t520 = call ptr @fn_str_slice(ptr %t516, i32 %t517, i32 %t519)
- %t521 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t520, i32 0, i32 %t521)
- %t522 = load i32, ptr %t7
- %t523 = add i32 %t522, 2
- store i32 %t523, ptr %t7
+ %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:
- %t524 = load ptr, ptr %t0
- %t525 = load i32, ptr %t7
- %t526 = call i32 @fn_two_at(ptr %t524, i32 %t525, i32 61, i32 62)
- %t527 = icmp ne i32 %t526, 0
- br i1 %t527, label %then131, label %ifend133
+ %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:
- %t528 = load ptr, ptr %t0
- %t529 = load i32, ptr %t7
- %t530 = load i32, ptr %t7
- %t531 = add i32 %t530, 2
- %t532 = call ptr @fn_str_slice(ptr %t528, i32 %t529, i32 %t531)
- %t533 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t532, i32 0, i32 %t533)
- %t534 = load i32, ptr %t7
- %t535 = add i32 %t534, 2
- store i32 %t535, ptr %t7
+ %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:
- %t536 = load ptr, ptr %t0
- %t537 = load i32, ptr %t7
- %t538 = call i32 @fn_two_at(ptr %t536, i32 %t537, i32 61, i32 61)
- %t539 = icmp ne i32 %t538, 0
- br i1 %t539, label %then134, label %ifend136
+ %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:
- %t540 = load ptr, ptr %t0
- %t541 = load i32, ptr %t7
- %t542 = load i32, ptr %t7
- %t543 = add i32 %t542, 2
- %t544 = call ptr @fn_str_slice(ptr %t540, i32 %t541, i32 %t543)
- %t545 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t544, i32 0, i32 %t545)
- %t546 = load i32, ptr %t7
- %t547 = add i32 %t546, 2
- store i32 %t547, ptr %t7
+ %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:
- %t548 = load ptr, ptr %t0
- %t549 = load i32, ptr %t7
- %t550 = call i32 @fn_two_at(ptr %t548, i32 %t549, i32 33, i32 61)
- %t551 = icmp ne i32 %t550, 0
- br i1 %t551, label %then137, label %ifend139
+ %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:
- %t552 = load ptr, ptr %t0
- %t553 = load i32, ptr %t7
- %t554 = load i32, ptr %t7
- %t555 = add i32 %t554, 2
- %t556 = call ptr @fn_str_slice(ptr %t552, i32 %t553, i32 %t555)
- %t557 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t556, i32 0, i32 %t557)
- %t558 = load i32, ptr %t7
- %t559 = add i32 %t558, 2
- store i32 %t559, ptr %t7
+ %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:
- %t560 = load ptr, ptr %t0
- %t561 = load i32, ptr %t7
- %t562 = call i32 @fn_two_at(ptr %t560, i32 %t561, i32 60, i32 61)
- %t563 = icmp ne i32 %t562, 0
- br i1 %t563, label %then140, label %ifend142
+ %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:
- %t564 = load ptr, ptr %t0
- %t565 = load i32, ptr %t7
- %t566 = load i32, ptr %t7
- %t567 = add i32 %t566, 2
- %t568 = call ptr @fn_str_slice(ptr %t564, i32 %t565, i32 %t567)
- %t569 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t568, i32 0, i32 %t569)
- %t570 = load i32, ptr %t7
- %t571 = add i32 %t570, 2
- store i32 %t571, ptr %t7
+ %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:
- %t572 = load ptr, ptr %t0
- %t573 = load i32, ptr %t7
- %t574 = call i32 @fn_two_at(ptr %t572, i32 %t573, i32 62, i32 61)
- %t575 = icmp ne i32 %t574, 0
- br i1 %t575, label %then143, label %ifend145
+ %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:
- %t576 = load ptr, ptr %t0
- %t577 = load i32, ptr %t7
- %t578 = load i32, ptr %t7
- %t579 = add i32 %t578, 2
- %t580 = call ptr @fn_str_slice(ptr %t576, i32 %t577, i32 %t579)
- %t581 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t580, i32 0, i32 %t581)
- %t582 = load i32, ptr %t7
- %t583 = add i32 %t582, 2
- store i32 %t583, ptr %t7
+ %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:
- %t584 = load ptr, ptr %t0
- %t585 = load i32, ptr %t7
- %t586 = call i32 @fn_two_at(ptr %t584, i32 %t585, i32 43, i32 61)
- %t587 = icmp ne i32 %t586, 0
- br i1 %t587, label %then146, label %ifend148
-then146:
- %t588 = load ptr, ptr %t0
- %t589 = load i32, ptr %t7
- %t590 = load i32, ptr %t7
- %t591 = add i32 %t590, 2
- %t592 = call ptr @fn_str_slice(ptr %t588, i32 %t589, i32 %t591)
- %t593 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t592, i32 0, i32 %t593)
- %t594 = load i32, ptr %t7
- %t595 = add i32 %t594, 2
- store i32 %t595, ptr %t7
- br label %wcond0
-ifend148:
- %t596 = load ptr, ptr %t0
- %t597 = load i32, ptr %t7
- %t598 = call i32 @fn_two_at(ptr %t596, i32 %t597, i32 45, i32 61)
- %t599 = icmp ne i32 %t598, 0
- br i1 %t599, label %then149, label %ifend151
-then149:
- %t600 = load ptr, ptr %t0
- %t601 = load i32, ptr %t7
- %t602 = load i32, ptr %t7
- %t603 = add i32 %t602, 2
- %t604 = call ptr @fn_str_slice(ptr %t600, i32 %t601, i32 %t603)
- %t605 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t604, i32 0, i32 %t605)
- %t606 = load i32, ptr %t7
- %t607 = add i32 %t606, 2
- store i32 %t607, ptr %t7
- br label %wcond0
-ifend151:
- %t608 = load ptr, ptr %t0
- %t609 = load i32, ptr %t7
- %t610 = call i32 @fn_two_at(ptr %t608, i32 %t609, i32 42, i32 61)
- %t611 = icmp ne i32 %t610, 0
- br i1 %t611, label %then152, label %ifend154
-then152:
- %t612 = load ptr, ptr %t0
- %t613 = load i32, ptr %t7
- %t614 = load i32, ptr %t7
- %t615 = add i32 %t614, 2
- %t616 = call ptr @fn_str_slice(ptr %t612, i32 %t613, i32 %t615)
- %t617 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t616, i32 0, i32 %t617)
- %t618 = load i32, ptr %t7
- %t619 = add i32 %t618, 2
- store i32 %t619, ptr %t7
- br label %wcond0
-ifend154:
- %t620 = load ptr, ptr %t0
- %t621 = load i32, ptr %t7
- %t622 = call i32 @fn_two_at(ptr %t620, i32 %t621, i32 47, i32 61)
- %t623 = icmp ne i32 %t622, 0
- br i1 %t623, label %then155, label %ifend157
-then155:
- %t624 = load ptr, ptr %t0
- %t625 = load i32, ptr %t7
- %t626 = load i32, ptr %t7
- %t627 = add i32 %t626, 2
- %t628 = call ptr @fn_str_slice(ptr %t624, i32 %t625, i32 %t627)
- %t629 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t628, i32 0, i32 %t629)
- %t630 = load i32, ptr %t7
- %t631 = add i32 %t630, 2
- store i32 %t631, ptr %t7
- br label %wcond0
-ifend157:
- %t632 = load ptr, ptr %t0
- %t633 = load i32, ptr %t7
- %t634 = call i32 @fn_two_at(ptr %t632, i32 %t633, i32 46, i32 46)
- %t635 = icmp ne i32 %t634, 0
- br i1 %t635, label %then158, label %ifend160
-then158:
- %t636 = load ptr, ptr %t0
- %t637 = load i32, ptr %t7
- %t638 = load i32, ptr %t7
- %t639 = add i32 %t638, 2
- %t640 = call ptr @fn_str_slice(ptr %t636, i32 %t637, i32 %t639)
- %t641 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t640, i32 0, i32 %t641)
- %t642 = load i32, ptr %t7
- %t643 = add i32 %t642, 2
- store i32 %t643, ptr %t7
- br label %wcond0
-ifend160:
- %t644 = load ptr, ptr %t0
- %t645 = load i32, ptr %t7
- %t646 = call i32 @fn_two_at(ptr %t644, i32 %t645, i32 60, i32 60)
- %t647 = icmp ne i32 %t646, 0
- br i1 %t647, label %then161, label %ifend163
-then161:
- %t648 = load ptr, ptr %t0
- %t649 = load i32, ptr %t7
- %t650 = load i32, ptr %t7
- %t651 = add i32 %t650, 2
- %t652 = call ptr @fn_str_slice(ptr %t648, i32 %t649, i32 %t651)
- %t653 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t652, i32 0, i32 %t653)
- %t654 = load i32, ptr %t7
- %t655 = add i32 %t654, 2
- store i32 %t655, ptr %t7
- br label %wcond0
-ifend163:
- %t656 = load ptr, ptr %t0
- %t657 = load i32, ptr %t7
- %t658 = call i32 @fn_two_at(ptr %t656, i32 %t657, i32 62, i32 62)
- %t659 = icmp ne i32 %t658, 0
- br i1 %t659, label %then164, label %ifend166
-then164:
- %t660 = load ptr, ptr %t0
- %t661 = load i32, ptr %t7
- %t662 = load i32, ptr %t7
- %t663 = add i32 %t662, 2
- %t664 = call ptr @fn_str_slice(ptr %t660, i32 %t661, i32 %t663)
- %t665 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t664, i32 0, i32 %t665)
- %t666 = load i32, ptr %t7
- %t667 = add i32 %t666, 2
- store i32 %t667, ptr %t7
- br label %wcond0
-ifend166:
- %t668 = load i32, ptr %t23
- %t669 = call i32 @fn_is_op1(i32 %t668)
- %t670 = icmp ne i32 %t669, 0
- br i1 %t670, label %then167, label %ifend169
-then167:
- %t671 = load ptr, ptr %t0
- %t672 = load i32, ptr %t7
- %t673 = load i32, ptr %t7
- %t674 = add i32 %t673, 1
- %t675 = call ptr @fn_str_slice(ptr %t671, i32 %t672, i32 %t674)
- %t676 = load i32, ptr %t8
- call void @fn_tok_push(i32 3, ptr %t675, i32 0, i32 %t676)
- %t677 = load i32, ptr %t7
- %t678 = add i32 %t677, 1
- store i32 %t678, ptr %t7
- br label %wcond0
-ifend169:
- %t679 = load i32, ptr %t7
- %t680 = add i32 %t679, 1
- store i32 %t680, ptr %t7
+ %t647 = load i32, ptr %t10
+ %t648 = load i32, ptr %t25
+ call void @fn_lex_error(i32 %t647, i32 %t648)
br label %wcond0
wend2:
- %t681 = load i32, ptr %t8
- call void @fn_tok_push(i32 5, ptr null, i32 0, i32 %t681)
+ %t649 = load i32, ptr %t10
+ call void @fn_tok_push(i32 5, ptr null, i32 0, i32 %t649)
br label %ret
ret:
ret void
@@ -14120,7 +14311,7 @@ sc0:
%t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 1
%t18 = load ptr, ptr %t17
%t19 = load ptr, ptr %t0
- %t20 = call i32 @fn_str_eq(ptr %t18, ptr %t19)
+ %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
@@ -14162,7 +14353,7 @@ sc0:
%t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 1
%t18 = load ptr, ptr %t17
%t19 = load ptr, ptr %t0
- %t20 = call i32 @fn_str_eq(ptr %t18, ptr %t19)
+ %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
@@ -14194,31 +14385,169 @@ 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 @__stderrp
+ %t1 = load ptr, ptr @g_g_err_file
store ptr %t1, ptr %t2
- %t3 = load ptr, ptr %t2
- %t4 = zext i32 27 to i64
- %t5 = call i64 @fwrite(ptr @.str1, i64 1, i64 %t4, ptr %t3)
- %t6 = trunc i64 %t5 to i32
- %t7 = load ptr, ptr %t2
- %t8 = load ptr, ptr %t0
- %t9 = load ptr, ptr %t0
- %t10 = call i64 @strlen(ptr %t9)
- %t11 = trunc i64 %t10 to i32
- %t12 = zext i32 %t11 to i64
- %t13 = call i64 @fwrite(ptr %t8, i64 1, i64 %t12, ptr %t7)
- %t14 = trunc i64 %t13 to i32
- %t15 = load ptr, ptr %t2
- %t16 = zext i32 1 to i64
- %t17 = call i64 @fwrite(ptr @.str2, i64 1, i64 %t16, ptr %t15)
- %t18 = trunc i64 %t17 to i32
+ %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 = load ptr, ptr @__stderrp
+ %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
@@ -14231,12 +14560,16 @@ entry:
br i1 %t5, label %then0, label %ifend2
then0:
%t6 = load ptr, ptr %t0
- call void @fn_perr(ptr %t6)
+ %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:
- %t7 = load i32, ptr @g_pi
- %t8 = add i32 %t7, 1
- store i32 %t8, ptr @g_pi
+ %t11 = load i32, ptr @g_pi
+ %t12 = add i32 %t11, 1
+ store i32 %t12, ptr @g_pi
br label %ret
ret:
ret void
@@ -14261,20 +14594,22 @@ entry:
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then0, label %ifend2
then0:
- call void @fn_perr(ptr @.str3)
+ %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:
- %t13 = load i32, ptr @g_pi
- %t14 = add i32 %t13, 1
- store i32 %t14, ptr @g_pi
- %t15 = load ptr, ptr %t6
- %t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 1
- %t17 = load ptr, ptr %t16
- store ptr %t17, ptr %retval
+ %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:
- %t18 = load ptr, ptr %retval
- ret ptr %t18
+ %t20 = load ptr, ptr %retval
+ ret ptr %t20
}
define void @fn_skipnl() {
@@ -14310,14 +14645,14 @@ entry:
%t5 = alloca ptr
%t12 = alloca ptr
%t19 = alloca i32
- %t0 = call i32 @fn_is_op(ptr @.str4)
+ %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 @.str5)
+ call void @fn_eat_op(ptr @.str23)
%t4 = call ptr @fn_ptype()
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
@@ -14402,11 +14737,11 @@ entry:
%t21 = alloca i32
%t48 = alloca ptr
store ptr %arg_call, ptr %t0
- call void @fn_eat_op(ptr @.str6)
+ call void @fn_eat_op(ptr @.str24)
call void @fn_skipnl()
br label %wcond0
wcond0:
- %t1 = call i32 @fn_is_op(ptr @.str7)
+ %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
@@ -14456,7 +14791,7 @@ sc5:
%t39 = load ptr, ptr %t19
%t40 = getelementptr inbounds %Cmp_Tok, ptr %t39, i32 0, i32 1
%t41 = load ptr, ptr %t40
- %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str8)
+ %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
@@ -14472,7 +14807,7 @@ then7:
%t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1
%t51 = call ptr @fn_eat_id()
store ptr %t51, ptr %t50
- call void @fn_eat_op(ptr @.str9)
+ call void @fn_eat_op(ptr @.str27)
call void @fn_skipnl()
%t52 = load ptr, ptr %t48
%t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4
@@ -14481,69 +14816,69 @@ then7:
%t55 = load ptr, ptr %t0
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
%t57 = load ptr, ptr %t56
- %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1
- %t59 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 2
- %t60 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0
- %t61 = load i32, ptr %t58
+ %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 = icmp sge i32 %t61, %t62
- br i1 %t63, label %grow10, label %put11
+ %t63 = load i32, ptr %t60
+ %t64 = icmp sge i32 %t62, %t63
+ br i1 %t64, label %grow10, label %put11
grow10:
- %t64 = mul i32 %t62, 2
- %t65 = icmp eq i32 %t62, 0
- %t66 = select i1 %t65, i32 8, i32 %t64
- %t67 = getelementptr ptr, ptr null, i32 1
- %t68 = ptrtoint ptr %t67 to i64
- %t69 = zext i32 %t66 to i64
- %t70 = mul i64 %t69, %t68
- %t71 = load ptr, ptr %t60
- %t72 = call ptr @realloc(ptr %t71, i64 %t70)
- store ptr %t72, ptr %t60
- store i32 %t66, ptr %t59
+ %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:
- %t73 = load ptr, ptr %t48
- %t74 = load ptr, ptr %t60
- %t75 = getelementptr inbounds ptr, ptr %t74, i32 %t61
- store ptr %t73, ptr %t75
- %t76 = add i32 %t61, 1
- store i32 %t76, ptr %t58
+ %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 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1
- %t81 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 2
- %t82 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0
- %t83 = load i32, ptr %t80
+ %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 = icmp sge i32 %t83, %t84
- br i1 %t85, label %grow12, label %put13
+ %t85 = load i32, ptr %t82
+ %t86 = icmp sge i32 %t84, %t85
+ br i1 %t86, label %grow12, label %put13
grow12:
- %t86 = mul i32 %t84, 2
- %t87 = icmp eq i32 %t84, 0
- %t88 = select i1 %t87, i32 8, i32 %t86
- %t89 = getelementptr ptr, ptr null, i32 1
- %t90 = ptrtoint ptr %t89 to i64
- %t91 = zext i32 %t88 to i64
- %t92 = mul i64 %t91, %t90
- %t93 = load ptr, ptr %t82
- %t94 = call ptr @realloc(ptr %t93, i64 %t92)
- store ptr %t94, ptr %t82
- store i32 %t88, ptr %t81
+ %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:
- %t95 = call ptr @fn_expr()
- %t96 = load ptr, ptr %t82
- %t97 = getelementptr inbounds ptr, ptr %t96, i32 %t83
- store ptr %t95, ptr %t97
- %t98 = add i32 %t83, 1
- store i32 %t98, ptr %t80
+ %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 @.str10)
+ %t99 = call i32 @fn_is_op(ptr @.str28)
%t100 = icmp ne i32 %t99, 0
br i1 %t100, label %then14, label %ifend16
then14:
@@ -14555,7 +14890,7 @@ then14:
ifend16:
br label %wcond0
wend2:
- call void @fn_eat_op(ptr @.str11)
+ call void @fn_eat_op(ptr @.str29)
br label %ret
ret:
ret void
@@ -14576,7 +14911,7 @@ entry:
%t6 = load ptr, ptr %t0
%t7 = load i32, ptr %t1
%t8 = add i32 0, %t7
- %t9 = call ptr @fn_str_slice(ptr %t6, i32 0, i32 %t8)
+ %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
@@ -14605,7 +14940,7 @@ then0:
ifend2:
%t7 = load ptr, ptr %t0
%t8 = load ptr, ptr %t1
- %t9 = call ptr @fn_mkbin(ptr @.str12, ptr %t7, ptr %t8)
+ %t9 = call ptr @fn_mkbin(ptr @.str30, ptr %t7, ptr %t8)
store ptr %t9, ptr %retval
br label %ret
ret:
@@ -14626,7 +14961,7 @@ entry:
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t4
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 1
- store ptr @.str13, ptr %t6
+ 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
@@ -14634,33 +14969,33 @@ entry:
%t10 = load ptr, ptr %t2
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7
%t12 = load ptr, ptr %t11
- %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1
- %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 2
- %t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0
- %t16 = load i32, ptr %t13
+ %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 = icmp sge i32 %t16, %t17
- br i1 %t18, label %grow0, label %put1
+ %t18 = load i32, ptr %t15
+ %t19 = icmp sge i32 %t17, %t18
+ br i1 %t19, label %grow0, label %put1
grow0:
- %t19 = mul i32 %t17, 2
- %t20 = icmp eq i32 %t17, 0
- %t21 = select i1 %t20, i32 8, i32 %t19
- %t22 = getelementptr ptr, ptr null, i32 1
- %t23 = ptrtoint ptr %t22 to i64
- %t24 = zext i32 %t21 to i64
- %t25 = mul i64 %t24, %t23
- %t26 = load ptr, ptr %t15
- %t27 = call ptr @realloc(ptr %t26, i64 %t25)
- store ptr %t27, ptr %t15
- store i32 %t21, ptr %t14
+ %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:
- %t28 = load ptr, ptr %t0
- %t29 = load ptr, ptr %t15
- %t30 = getelementptr inbounds ptr, ptr %t29, i32 %t16
- store ptr %t28, ptr %t30
- %t31 = add i32 %t16, 1
- store i32 %t31, ptr %t13
+ %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
@@ -14675,28 +15010,29 @@ entry:
%t0 = alloca ptr
%t2 = alloca ptr
%t4 = alloca i32
- %t7 = alloca ptr
+ %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
- call void @fn_lex(ptr %t5)
+ %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()
- %t6 = call ptr @fn_expr()
- store ptr %t6, ptr %t7
- %t8 = load ptr, ptr %t2
- store ptr %t8, ptr @g_toks
- %t9 = load i32, ptr %t4
- store i32 %t9, ptr @g_pi
- %t10 = load ptr, ptr %t7
- store ptr %t10, ptr %retval
+ %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:
- %t11 = load ptr, ptr %retval
- ret ptr %t11
+ %t12 = load ptr, ptr %retval
+ ret ptr %t12
}
define ptr @fn_parse_interp(ptr %arg_raw) {
@@ -14713,10 +15049,10 @@ entry:
%t58 = alloca i32
%t59 = alloca i32
%t78 = alloca i32
- %t107 = alloca i32
- %t143 = alloca i32
- %t145 = alloca i32
- %t172 = 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)
@@ -14825,192 +15161,246 @@ wbody13:
%t76 = load i8, ptr %t75
%t77 = zext i8 %t76 to i32
store i32 %t77, ptr %t78
- %t79 = load i32, ptr %t78
- %t80 = icmp eq i32 %t79, 123
- %t81 = zext i1 %t80 to i32
- %t82 = icmp ne i32 %t81, 0
- br i1 %t82, label %then17, label %else18
-then17:
- %t83 = load i32, ptr %t58
- %t84 = add i32 %t83, 1
- store i32 %t84, ptr %t58
- br label %ifend19
-else18:
+ %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, 125
+ %t86 = icmp eq i32 %t85, 39
%t87 = zext i1 %t86 to i32
%t88 = icmp ne i32 %t87, 0
- br i1 %t88, label %then20, label %ifend22
-then20:
- %t89 = load i32, ptr %t58
- %t90 = sub i32 %t89, 1
- store i32 %t90, ptr %t58
- %t91 = load i32, ptr %t58
- %t92 = icmp eq i32 %t91, 0
- %t93 = zext i1 %t92 to i32
- %t94 = icmp ne i32 %t93, 0
- br i1 %t94, label %then23, label %ifend25
-then23:
- br label %wend14
-ifend25:
- br label %ifend22
-ifend22:
- br label %ifend19
-ifend19:
+ %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 = add i32 %t95, 1
- store i32 %t96, ptr %t12
- br label %wcond12
-wend14:
- %t97 = load ptr, ptr %t5
- %t98 = load ptr, ptr %t0
- %t99 = load i32, ptr %t57
- %t100 = load i32, ptr %t12
- %t101 = call ptr @fn_str_slice(ptr %t98, i32 %t99, i32 %t100)
- %t102 = call ptr @fn_parse_hole(ptr %t101)
- %t103 = call ptr @fn_interp_str(ptr %t102)
- %t104 = call ptr @fn_interp_add(ptr %t97, ptr %t103)
- store ptr %t104, ptr %t5
- %t105 = load i32, ptr %t12
- %t106 = add i32 %t105, 1
- store i32 %t106, ptr %t12
- br label %ifend5
-else4:
- %t108 = load i32, ptr %t23
- %t109 = icmp eq i32 %t108, 125
+ %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
- %t111 = icmp ne i32 %t110, 0
- %t112 = zext i1 %t111 to i32
- store i32 %t112, ptr %t107
- br i1 %t111, label %sc26, label %scend27
-sc26:
+ 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 = add i32 %t114, 1
- %t116 = getelementptr inbounds i8, ptr %t113, i32 %t115
- %t117 = load i8, ptr %t116
- %t118 = zext i8 %t117 to i32
- %t119 = icmp eq i32 %t118, 125
- %t120 = zext i1 %t119 to i32
- %t121 = icmp ne i32 %t120, 0
- %t122 = zext i1 %t121 to i32
- store i32 %t122, ptr %t107
- br label %scend27
-scend27:
- %t123 = load i32, ptr %t107
- %t124 = icmp ne i32 %t123, 0
- br i1 %t124, label %then28, label %ifend30
-then28:
- %t125 = load ptr, ptr %t10
- %t126 = load i32, ptr %t11
- %t127 = getelementptr inbounds i8, ptr %t125, i32 %t126
- %t128 = trunc i32 125 to i8
- store i8 %t128, ptr %t127
- %t129 = load i32, ptr %t11
+ %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 %t11
- %t131 = load i32, ptr %t12
- %t132 = add i32 %t131, 2
- store i32 %t132, ptr %t12
+ 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
-ifend30:
- %t133 = load i32, ptr %t23
- %t134 = icmp eq i32 %t133, 92
- %t135 = zext i1 %t134 to i32
- %t136 = icmp ne i32 %t135, 0
- br i1 %t136, label %then31, label %ifend33
-then31:
- %t137 = load ptr, ptr %t0
- %t138 = load i32, ptr %t12
- %t139 = add i32 %t138, 1
- %t140 = getelementptr inbounds i8, ptr %t137, i32 %t139
- %t141 = load i8, ptr %t140
- %t142 = zext i8 %t141 to i32
- store i32 %t142, ptr %t143
- %t144 = load i32, ptr %t143
- store i32 %t144, ptr %t145
- %t146 = load i32, ptr %t143
- %t147 = icmp eq i32 %t146, 110
- %t148 = zext i1 %t147 to i32
- %t149 = icmp ne i32 %t148, 0
- br i1 %t149, label %then34, label %ifend36
-then34:
- store i32 10, ptr %t145
- br label %ifend36
-ifend36:
- %t150 = load i32, ptr %t143
- %t151 = icmp eq i32 %t150, 116
- %t152 = zext i1 %t151 to i32
- %t153 = icmp ne i32 %t152, 0
- br i1 %t153, label %then37, label %ifend39
-then37:
- store i32 9, ptr %t145
- br label %ifend39
-ifend39:
- %t154 = load ptr, ptr %t10
- %t155 = load i32, ptr %t11
- %t156 = getelementptr inbounds i8, ptr %t154, i32 %t155
- %t157 = load i32, ptr %t145
- %t158 = trunc i32 %t157 to i8
- store i8 %t158, ptr %t156
- %t159 = load i32, ptr %t11
- %t160 = add i32 %t159, 1
- store i32 %t160, ptr %t11
- %t161 = load i32, ptr %t12
- %t162 = add i32 %t161, 2
- store i32 %t162, ptr %t12
+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
-ifend33:
- %t163 = load ptr, ptr %t10
- %t164 = load i32, ptr %t11
- %t165 = getelementptr inbounds i8, ptr %t163, i32 %t164
- %t166 = load i32, ptr %t23
- %t167 = trunc i32 %t166 to i8
- store i8 %t167, ptr %t165
- %t168 = load i32, ptr %t11
- %t169 = add i32 %t168, 1
- store i32 %t169, ptr %t11
- %t170 = load i32, ptr %t12
- %t171 = add i32 %t170, 1
- store i32 %t171, ptr %t12
+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:
- %t173 = load i32, ptr %t11
- %t174 = icmp sgt i32 %t173, 0
- %t175 = zext i1 %t174 to i32
- %t176 = icmp ne i32 %t175, 0
- %t177 = zext i1 %t176 to i32
- store i32 %t177, ptr %t172
- br i1 %t176, label %scend41, label %sc40
-sc40:
- %t178 = load ptr, ptr %t5
- %t179 = icmp eq ptr %t178, null
- %t180 = zext i1 %t179 to i32
- %t181 = icmp ne i32 %t180, 0
- %t182 = zext i1 %t181 to i32
- store i32 %t182, ptr %t172
- br label %scend41
-scend41:
- %t183 = load i32, ptr %t172
- %t184 = icmp ne i32 %t183, 0
- br i1 %t184, label %then42, label %ifend44
-then42:
- %t185 = load ptr, ptr %t5
- %t186 = load ptr, ptr %t10
- %t187 = load i32, ptr %t11
- %t188 = call ptr @fn_interp_lit(ptr %t186, i32 %t187)
- %t189 = call ptr @fn_interp_add(ptr %t185, ptr %t188)
- store ptr %t189, ptr %t5
- br label %ifend44
-ifend44:
- %t190 = load ptr, ptr %t5
- store ptr %t190, ptr %retval
+ %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:
- %t191 = load ptr, ptr %retval
- ret ptr %t191
+ %t226 = load ptr, ptr %retval
+ ret ptr %t226
}
define ptr @fn_parse_emit() {
@@ -15030,11 +15420,11 @@ entry:
store ptr %t6, ptr %t5
%t7 = call ptr @fn_node(i32 41)
store ptr %t7, ptr %t8
- call void @fn_eat_op(ptr @.str14)
+ call void @fn_eat_op(ptr @.str32)
call void @fn_skipnl()
br label %wcond0
wcond0:
- %t9 = call i32 @fn_is_op(ptr @.str15)
+ %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
@@ -15046,7 +15436,7 @@ wbody1:
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1
%t17 = call ptr @fn_eat_id()
store ptr %t17, ptr %t16
- call void @fn_eat_op(ptr @.str16)
+ 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()
@@ -15054,35 +15444,35 @@ wbody1:
%t21 = load ptr, ptr %t8
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 7
%t23 = load ptr, ptr %t22
- %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1
- %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2
- %t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0
- %t27 = load i32, ptr %t24
+ %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 = icmp sge i32 %t27, %t28
- br i1 %t29, label %grow3, label %put4
+ %t29 = load i32, ptr %t26
+ %t30 = icmp sge i32 %t28, %t29
+ br i1 %t30, label %grow3, label %put4
grow3:
- %t30 = mul i32 %t28, 2
- %t31 = icmp eq i32 %t28, 0
- %t32 = select i1 %t31, i32 8, i32 %t30
- %t33 = getelementptr ptr, ptr null, i32 1
- %t34 = ptrtoint ptr %t33 to i64
- %t35 = zext i32 %t32 to i64
- %t36 = mul i64 %t35, %t34
- %t37 = load ptr, ptr %t26
- %t38 = call ptr @realloc(ptr %t37, i64 %t36)
- store ptr %t38, ptr %t26
- store i32 %t32, ptr %t25
+ %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:
- %t39 = load ptr, ptr %t14
- %t40 = load ptr, ptr %t26
- %t41 = getelementptr inbounds ptr, ptr %t40, i32 %t27
- store ptr %t39, ptr %t41
- %t42 = add i32 %t27, 1
- store i32 %t42, ptr %t24
+ %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 @.str17)
+ %t43 = call i32 @fn_is_op(ptr @.str35)
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %then5, label %ifend7
then5:
@@ -15094,7 +15484,7 @@ then5:
ifend7:
br label %wcond0
wend2:
- call void @fn_eat_op(ptr @.str18)
+ 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
@@ -15107,21 +15497,100 @@ ret:
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
- %t19 = alloca i32
- %t20 = alloca i32
- %t60 = alloca ptr
- %t76 = alloca ptr
- %t92 = alloca ptr
- %t113 = alloca ptr
- %t125 = alloca ptr
- %t147 = alloca ptr
- %t171 = alloca ptr
- %t191 = alloca ptr
- %t205 = 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
@@ -15141,313 +15610,325 @@ then0:
%t14 = add i32 %t13, 1
store i32 %t14, ptr @g_pi
%t15 = load ptr, ptr %t6
- %t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 1
- %t17 = load ptr, ptr %t16
- %t18 = call ptr @fn_parse_interp(ptr %t17)
- store ptr %t18, ptr %retval
+ %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:
- %t21 = load ptr, ptr %t6
- %t22 = getelementptr inbounds %Cmp_Tok, ptr %t21, i32 0, i32 0
- %t23 = load i32, ptr %t22
- %t24 = icmp eq i32 %t23, 0
- %t25 = zext i1 %t24 to i32
- %t26 = icmp ne i32 %t25, 0
- %t27 = zext i1 %t26 to i32
- store i32 %t27, ptr %t20
- br i1 %t26, label %sc3, label %scend4
-sc3:
- %t28 = load ptr, ptr %t6
- %t29 = getelementptr inbounds %Cmp_Tok, ptr %t28, i32 0, i32 1
- %t30 = load ptr, ptr %t29
- %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str19)
+ %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 %t20
- br label %scend4
-scend4:
- %t34 = load i32, ptr %t20
- %t35 = icmp ne i32 %t34, 0
- %t36 = zext i1 %t35 to i32
- store i32 %t36, ptr %t19
- br i1 %t35, label %sc5, label %scend6
-sc5:
- %t37 = load ptr, ptr @g_toks
- %t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0
- %t39 = load ptr, ptr %t38
- %t40 = load i32, ptr @g_pi
- %t41 = add i32 %t40, 1
- %t42 = getelementptr inbounds ptr, ptr %t39, i32 %t41
- %t43 = load ptr, ptr %t42
- %t44 = getelementptr inbounds %Cmp_Tok, ptr %t43, i32 0, i32 0
- %t45 = load i32, ptr %t44
- %t46 = icmp eq i32 %t45, 0
- %t47 = zext i1 %t46 to i32
- %t48 = icmp ne i32 %t47, 0
- %t49 = zext i1 %t48 to i32
- store i32 %t49, ptr %t19
- br label %scend6
-scend6:
- %t50 = load i32, ptr %t19
- %t51 = icmp ne i32 %t50, 0
- br i1 %t51, label %then7, label %ifend9
-then7:
- %t52 = call ptr @fn_parse_emit()
- store ptr %t52, ptr %retval
- br label %ret
-ifend9:
- %t53 = load ptr, ptr %t6
- %t54 = getelementptr inbounds %Cmp_Tok, ptr %t53, i32 0, i32 0
- %t55 = load i32, ptr %t54
- %t56 = icmp eq i32 %t55, 1
- %t57 = zext i1 %t56 to i32
- %t58 = icmp ne i32 %t57, 0
- br i1 %t58, label %then10, label %ifend12
+ 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:
- %t59 = call ptr @fn_node(i32 30)
- store ptr %t59, ptr %t60
- %t61 = load ptr, ptr %t60
- %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 2
- %t63 = load ptr, ptr %t6
- %t64 = getelementptr inbounds %Cmp_Tok, ptr %t63, i32 0, i32 2
- %t65 = load i32, ptr %t64
- store i32 %t65, ptr %t62
- %t66 = load i32, ptr @g_pi
- %t67 = add i32 %t66, 1
- store i32 %t67, ptr @g_pi
- %t68 = load ptr, ptr %t60
- store ptr %t68, ptr %retval
+ %t58 = call ptr @fn_parse_emit()
+ store ptr %t58, ptr %retval
br label %ret
ifend12:
- %t69 = load ptr, ptr %t6
- %t70 = getelementptr inbounds %Cmp_Tok, ptr %t69, i32 0, i32 0
- %t71 = load i32, ptr %t70
- %t72 = icmp eq i32 %t71, 6
- %t73 = zext i1 %t72 to i32
- %t74 = icmp ne i32 %t73, 0
- br i1 %t74, label %then13, label %ifend15
+ %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:
- %t75 = call ptr @fn_node(i32 40)
- store ptr %t75, ptr %t76
- %t77 = load ptr, ptr %t76
- %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 2
- %t79 = load ptr, ptr %t6
- %t80 = getelementptr inbounds %Cmp_Tok, ptr %t79, i32 0, i32 2
- %t81 = load i32, ptr %t80
- store i32 %t81, ptr %t78
- %t82 = load i32, ptr @g_pi
- %t83 = add i32 %t82, 1
- store i32 %t83, ptr @g_pi
- %t84 = load ptr, ptr %t76
- store ptr %t84, ptr %retval
+ %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:
- %t85 = load ptr, ptr %t6
- %t86 = getelementptr inbounds %Cmp_Tok, ptr %t85, i32 0, i32 0
- %t87 = load i32, ptr %t86
- %t88 = icmp eq i32 %t87, 2
- %t89 = zext i1 %t88 to i32
- %t90 = icmp ne i32 %t89, 0
- br i1 %t90, label %then16, label %ifend18
+ %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:
- %t91 = call ptr @fn_node(i32 31)
- store ptr %t91, ptr %t92
- %t93 = load ptr, ptr %t92
- %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 1
- %t95 = load ptr, ptr %t6
- %t96 = getelementptr inbounds %Cmp_Tok, ptr %t95, i32 0, i32 1
- %t97 = load ptr, ptr %t96
- store ptr %t97, ptr %t94
- %t98 = load i32, ptr @g_pi
- %t99 = add i32 %t98, 1
- store i32 %t99, ptr @g_pi
- %t100 = load ptr, ptr %t92
- store ptr %t100, ptr %retval
+ %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:
- %t101 = load ptr, ptr %t6
- %t102 = getelementptr inbounds %Cmp_Tok, ptr %t101, i32 0, i32 0
- %t103 = load i32, ptr %t102
- %t104 = icmp eq i32 %t103, 0
- %t105 = zext i1 %t104 to i32
- %t106 = icmp ne i32 %t105, 0
- br i1 %t106, label %then19, label %ifend21
+ %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:
- %t107 = load ptr, ptr %t6
- %t108 = getelementptr inbounds %Cmp_Tok, ptr %t107, i32 0, i32 1
- %t109 = load ptr, ptr %t108
- %t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str20)
- %t111 = icmp ne i32 %t110, 0
- br i1 %t111, label %then22, label %ifend24
-then22:
- %t112 = call ptr @fn_node(i32 32)
- store ptr %t112, ptr %t113
- %t114 = load ptr, ptr %t113
- %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 2
- store i32 1, ptr %t115
- %t116 = load i32, ptr @g_pi
- %t117 = add i32 %t116, 1
- store i32 %t117, ptr @g_pi
- %t118 = load ptr, ptr %t113
- store ptr %t118, ptr %retval
+ %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
-ifend24:
- %t119 = load ptr, ptr %t6
- %t120 = getelementptr inbounds %Cmp_Tok, ptr %t119, i32 0, i32 1
- %t121 = load ptr, ptr %t120
- %t122 = call i32 @fn_str_eq(ptr %t121, ptr @.str21)
- %t123 = icmp ne i32 %t122, 0
- br i1 %t123, label %then25, label %ifend27
+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:
- %t124 = call ptr @fn_node(i32 32)
- store ptr %t124, ptr %t125
- %t126 = load ptr, ptr %t125
- %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 2
- store i32 0, ptr %t127
- %t128 = load i32, ptr @g_pi
- %t129 = add i32 %t128, 1
- store i32 %t129, ptr @g_pi
- %t130 = load ptr, ptr %t125
- store ptr %t130, ptr %retval
+ %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:
- %t131 = load ptr, ptr %t6
- %t132 = getelementptr inbounds %Cmp_Tok, ptr %t131, i32 0, i32 1
- %t133 = load ptr, ptr %t132
- %t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str22)
- %t135 = icmp ne i32 %t134, 0
- br i1 %t135, label %then28, label %ifend30
+ %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:
- %t136 = load i32, ptr @g_pi
- %t137 = add i32 %t136, 1
- store i32 %t137, ptr @g_pi
- %t138 = call ptr @fn_node(i32 43)
- store ptr %t138, ptr %retval
+ %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:
- %t139 = load ptr, ptr %t6
- %t140 = getelementptr inbounds %Cmp_Tok, ptr %t139, i32 0, i32 1
- %t141 = load ptr, ptr %t140
- %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str23)
- %t143 = icmp ne i32 %t142, 0
- br i1 %t143, label %then31, label %ifend33
+ %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:
- %t144 = load i32, ptr @g_pi
- %t145 = add i32 %t144, 1
- store i32 %t145, ptr @g_pi
- %t146 = call ptr @fn_node(i32 39)
- store ptr %t146, ptr %t147
- %t148 = load ptr, ptr %t147
- %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 1
- %t150 = call ptr @fn_ptype()
- store ptr %t150, ptr %t149
- %t151 = call i32 @fn_is_op(ptr @.str24)
- %t152 = icmp ne i32 %t151, 0
- br i1 %t152, label %then34, label %ifend36
-then34:
- %t153 = load ptr, ptr %t147
- %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 4
- %t155 = call ptr @fn_record()
- store ptr %t155, ptr %t154
- br label %ifend36
-ifend36:
- %t156 = load ptr, ptr %t147
- store ptr %t156, ptr %retval
+ %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:
- %t157 = load ptr, ptr %t6
- %t158 = getelementptr inbounds %Cmp_Tok, ptr %t157, i32 0, i32 1
- %t159 = load ptr, ptr %t158
- %t160 = call i32 @fn_str_eq(ptr %t159, ptr @.str25)
- %t161 = icmp ne i32 %t160, 0
- br i1 %t161, label %then37, label %ifend39
+ %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:
- %t162 = call ptr @fn_parse_spawn()
+ %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
-ifend39:
+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 @fn_str_eq(ptr %t165, ptr @.str26)
+ %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 = load i32, ptr @g_pi
- %t169 = add i32 %t168, 1
- store i32 %t169, ptr @g_pi
- %t170 = call ptr @fn_node(i32 52)
- store ptr %t170, ptr %t171
- %t172 = load ptr, ptr %t171
- %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 8
- %t174 = load ptr, ptr %t6
- %t175 = getelementptr inbounds %Cmp_Tok, ptr %t174, i32 0, i32 3
- %t176 = load i32, ptr %t175
- store i32 %t176, ptr %t173
- %t177 = load ptr, ptr %t171
- %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 4
- %t179 = call ptr @fn_expr()
- store ptr %t179, ptr %t178
- call void @fn_skipnl()
- %t180 = call i32 @fn_is_id(ptr @.str27)
- %t181 = icmp eq i32 %t180, 0
- %t182 = zext i1 %t181 to i32
- %t183 = icmp ne i32 %t182, 0
- br i1 %t183, label %then43, label %ifend45
-then43:
- call void @fn_perr(ptr @.str28)
- br label %ifend45
-ifend45:
- %t184 = load i32, ptr @g_pi
- %t185 = add i32 %t184, 1
- store i32 %t185, ptr @g_pi
- call void @fn_skipnl()
- %t186 = load ptr, ptr %t171
- %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 5
- %t188 = call ptr @fn_block()
- store ptr %t188, ptr %t187
- %t189 = load ptr, ptr %t171
- store ptr %t189, ptr %retval
+ %t168 = call ptr @fn_parse_spawn()
+ store ptr %t168, ptr %retval
br label %ret
ifend42:
- %t190 = call ptr @fn_node(i32 33)
- store ptr %t190, ptr %t191
- %t192 = load ptr, ptr %t191
- %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 1
- %t194 = load ptr, ptr %t6
- %t195 = getelementptr inbounds %Cmp_Tok, ptr %t194, i32 0, i32 1
- %t196 = load ptr, ptr %t195
- store ptr %t196, ptr %t193
- %t197 = load i32, ptr @g_pi
- %t198 = add i32 %t197, 1
- store i32 %t198, ptr @g_pi
- %t199 = load ptr, ptr %t191
- store ptr %t199, ptr %retval
- br label %ret
-ifend21:
- %t200 = call i32 @fn_is_op(ptr @.str29)
- %t201 = icmp ne i32 %t200, 0
- br i1 %t201, label %then46, label %ifend48
+ %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:
- %t202 = load i32, ptr @g_pi
- %t203 = add i32 %t202, 1
- store i32 %t203, ptr @g_pi
- call void @fn_skipnl()
- %t204 = call ptr @fn_expr()
- store ptr %t204, ptr %t205
- call void @fn_skipnl()
- call void @fn_eat_op(ptr @.str30)
- %t206 = load ptr, ptr %t205
- store ptr %t206, ptr %retval
- br label %ret
+ call void @fn_perr(ptr @.str51)
+ br label %ifend48
ifend48:
- call void @fn_perr(ptr @.str31)
- %t207 = call ptr @fn_node(i32 30)
- store ptr %t207, ptr %retval
+ %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:
- %t208 = load ptr, ptr %retval
- ret ptr %t208
+ %t214 = load ptr, ptr %retval
+ ret ptr %t214
}
define ptr @fn_p_postfix() {
@@ -15558,7 +16039,7 @@ wcond0:
%t2 = icmp ne i32 1, 0
br i1 %t2, label %wbody1, label %wend2
wbody1:
- %t3 = call i32 @fn_is_op(ptr @.str32)
+ %t3 = call i32 @fn_is_op(ptr @.str55)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then3, label %else4
then3:
@@ -15594,7 +16075,7 @@ sc6:
%t28 = load ptr, ptr %t27
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1
%t30 = load ptr, ptr %t29
- %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str33)
+ %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
@@ -15624,7 +16105,7 @@ sc11:
%t49 = load ptr, ptr %t48
%t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1
%t51 = load ptr, ptr %t50
- %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str34)
+ %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
@@ -15635,7 +16116,7 @@ sc13:
%t57 = load ptr, ptr %t56
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1
%t59 = load ptr, ptr %t58
- %t60 = call i32 @fn_str_eq(ptr %t59, ptr @.str35)
+ %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
@@ -15671,7 +16152,7 @@ sc18:
%t81 = load ptr, ptr %t80
%t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1
%t83 = load ptr, ptr %t82
- %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str36)
+ %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
@@ -15682,7 +16163,7 @@ sc20:
%t89 = load ptr, ptr %t88
%t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 1
%t91 = load ptr, ptr %t90
- %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str37)
+ %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
@@ -15718,7 +16199,7 @@ sc25:
%t114 = load ptr, ptr %t113
%t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1
%t116 = load ptr, ptr %t115
- %t117 = call i32 @fn_str_eq(ptr %t116, ptr @.str38)
+ %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
@@ -15729,7 +16210,7 @@ sc27:
%t122 = load ptr, ptr %t121
%t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 1
%t124 = load ptr, ptr %t123
- %t125 = call i32 @fn_str_eq(ptr %t124, ptr @.str39)
+ %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
@@ -15746,7 +16227,7 @@ sc29:
%t133 = load ptr, ptr %t132
%t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 1
%t135 = load ptr, ptr %t134
- %t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str40)
+ %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
@@ -15782,7 +16263,7 @@ sc34:
%t158 = load ptr, ptr %t157
%t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 1
%t160 = load ptr, ptr %t159
- %t161 = call i32 @fn_str_eq(ptr %t160, ptr @.str41)
+ %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
@@ -15793,7 +16274,7 @@ sc36:
%t166 = load ptr, ptr %t165
%t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 1
%t168 = load ptr, ptr %t167
- %t169 = call i32 @fn_str_eq(ptr %t168, ptr @.str42)
+ %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
@@ -15810,7 +16291,7 @@ sc38:
%t177 = load ptr, ptr %t176
%t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 1
%t179 = load ptr, ptr %t178
- %t180 = call i32 @fn_str_eq(ptr %t179, ptr @.str43)
+ %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
@@ -15846,7 +16327,7 @@ sc43:
%t200 = load ptr, ptr %t199
%t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 1
%t202 = load ptr, ptr %t201
- %t203 = call i32 @fn_str_eq(ptr %t202, ptr @.str44)
+ %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
@@ -15876,7 +16357,7 @@ sc48:
%t220 = load ptr, ptr %t219
%t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 1
%t222 = load ptr, ptr %t221
- %t223 = call i32 @fn_str_eq(ptr %t222, ptr @.str45)
+ %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
@@ -15906,7 +16387,7 @@ sc53:
%t240 = load ptr, ptr %t239
%t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 1
%t242 = load ptr, ptr %t241
- %t243 = call i32 @fn_str_eq(ptr %t242, ptr @.str46)
+ %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
@@ -15936,7 +16417,7 @@ sc58:
%t261 = load ptr, ptr %t260
%t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 1
%t263 = load ptr, ptr %t262
- %t264 = call i32 @fn_str_eq(ptr %t263, ptr @.str47)
+ %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
@@ -15947,7 +16428,7 @@ sc60:
%t269 = load ptr, ptr %t268
%t270 = getelementptr inbounds %Cmp_Node, ptr %t269, i32 0, i32 1
%t271 = load ptr, ptr %t270
- %t272 = call i32 @fn_str_eq(ptr %t271, ptr @.str48)
+ %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
@@ -15983,7 +16464,7 @@ sc65:
%t292 = load ptr, ptr %t291
%t293 = getelementptr inbounds %Cmp_Node, ptr %t292, i32 0, i32 1
%t294 = load ptr, ptr %t293
- %t295 = call i32 @fn_str_eq(ptr %t294, ptr @.str49)
+ %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
@@ -16013,7 +16494,7 @@ sc70:
%t312 = load ptr, ptr %t311
%t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 1
%t314 = load ptr, ptr %t313
- %t315 = call i32 @fn_str_eq(ptr %t314, ptr @.str50)
+ %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
@@ -16043,7 +16524,7 @@ sc75:
%t332 = load ptr, ptr %t331
%t333 = getelementptr inbounds %Cmp_Node, ptr %t332, i32 0, i32 1
%t334 = load ptr, ptr %t333
- %t335 = call i32 @fn_str_eq(ptr %t334, ptr @.str51)
+ %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
@@ -16073,7 +16554,7 @@ sc80:
%t353 = load ptr, ptr %t352
%t354 = getelementptr inbounds %Cmp_Node, ptr %t353, i32 0, i32 1
%t355 = load ptr, ptr %t354
- %t356 = call i32 @fn_str_eq(ptr %t355, ptr @.str52)
+ %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
@@ -16088,7 +16569,7 @@ 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 @fn_str_eq(ptr %t372, ptr @.str53)
+ %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
@@ -16097,7 +16578,7 @@ 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 @fn_str_eq(ptr %t378, ptr @.str54)
+ %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
@@ -16112,7 +16593,7 @@ 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 @fn_str_eq(ptr %t387, ptr @.str55)
+ %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
@@ -16127,7 +16608,7 @@ 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 @fn_str_eq(ptr %t396, ptr @.str56)
+ %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
@@ -16142,7 +16623,7 @@ 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 @fn_str_eq(ptr %t405, ptr @.str57)
+ %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
@@ -16157,7 +16638,7 @@ 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 @fn_str_eq(ptr %t414, ptr @.str58)
+ %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
@@ -16172,7 +16653,7 @@ 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 @fn_str_eq(ptr %t423, ptr @.str59)
+ %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
@@ -16187,7 +16668,7 @@ 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 @fn_str_eq(ptr %t432, ptr @.str60)
+ %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
@@ -16202,7 +16683,7 @@ 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 @fn_str_eq(ptr %t441, ptr @.str61)
+ %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
@@ -16238,7 +16719,7 @@ sc103:
%t462 = load ptr, ptr %t461
%t463 = getelementptr inbounds %Cmp_Node, ptr %t462, i32 0, i32 1
%t464 = load ptr, ptr %t463
- %t465 = call i32 @fn_str_eq(ptr %t464, ptr @.str62)
+ %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
@@ -16268,7 +16749,7 @@ sc108:
%t483 = load ptr, ptr %t482
%t484 = getelementptr inbounds %Cmp_Node, ptr %t483, i32 0, i32 1
%t485 = load ptr, ptr %t484
- %t486 = call i32 @fn_str_eq(ptr %t485, ptr @.str63)
+ %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
@@ -16283,7 +16764,7 @@ 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 @fn_str_eq(ptr %t495, ptr @.str64)
+ %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
@@ -16292,7 +16773,7 @@ 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 @fn_str_eq(ptr %t501, ptr @.str65)
+ %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
@@ -16329,7 +16810,7 @@ sc117:
%t523 = load ptr, ptr %t522
%t524 = getelementptr inbounds %Cmp_Node, ptr %t523, i32 0, i32 1
%t525 = load ptr, ptr %t524
- %t526 = call i32 @fn_str_eq(ptr %t525, ptr @.str66)
+ %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
@@ -16344,7 +16825,7 @@ 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 @fn_str_eq(ptr %t545, ptr @.str67)
+ %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
@@ -16353,7 +16834,7 @@ 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 @fn_str_eq(ptr %t551, ptr @.str68)
+ %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
@@ -16368,7 +16849,7 @@ 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 @fn_str_eq(ptr %t560, ptr @.str69)
+ %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
@@ -16383,7 +16864,7 @@ 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 @fn_str_eq(ptr %t569, ptr @.str70)
+ %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
@@ -16398,7 +16879,7 @@ 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 @fn_str_eq(ptr %t578, ptr @.str71)
+ %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
@@ -16413,7 +16894,7 @@ 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 @fn_str_eq(ptr %t587, ptr @.str72)
+ %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
@@ -16428,7 +16909,7 @@ 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 @fn_str_eq(ptr %t596, ptr @.str73)
+ %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
@@ -16443,7 +16924,7 @@ 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 @fn_str_eq(ptr %t605, ptr @.str74)
+ %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
@@ -16458,7 +16939,7 @@ 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 @fn_str_eq(ptr %t614, ptr @.str75)
+ %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
@@ -16473,7 +16954,7 @@ 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 @fn_str_eq(ptr %t623, ptr @.str76)
+ %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
@@ -16488,7 +16969,7 @@ 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 @fn_str_eq(ptr %t632, ptr @.str77)
+ %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
@@ -16503,7 +16984,7 @@ 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 @fn_str_eq(ptr %t641, ptr @.str78)
+ %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
@@ -16539,7 +17020,7 @@ sc146:
%t663 = load ptr, ptr %t662
%t664 = getelementptr inbounds %Cmp_Node, ptr %t663, i32 0, i32 1
%t665 = load ptr, ptr %t664
- %t666 = call i32 @fn_str_eq(ptr %t665, ptr @.str79)
+ %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
@@ -16554,7 +17035,7 @@ 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 @fn_str_eq(ptr %t699, ptr @.str80)
+ %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
@@ -16563,7 +17044,7 @@ 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 @fn_str_eq(ptr %t705, ptr @.str81)
+ %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
@@ -16578,7 +17059,7 @@ 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 @fn_str_eq(ptr %t714, ptr @.str82)
+ %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
@@ -16593,7 +17074,7 @@ 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 @fn_str_eq(ptr %t723, ptr @.str83)
+ %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
@@ -16608,7 +17089,7 @@ 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 @fn_str_eq(ptr %t732, ptr @.str84)
+ %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
@@ -16623,7 +17104,7 @@ 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 @fn_str_eq(ptr %t741, ptr @.str85)
+ %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
@@ -16638,7 +17119,7 @@ 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 @fn_str_eq(ptr %t750, ptr @.str86)
+ %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
@@ -16653,7 +17134,7 @@ 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 @fn_str_eq(ptr %t759, ptr @.str87)
+ %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
@@ -16668,7 +17149,7 @@ 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 @fn_str_eq(ptr %t768, ptr @.str88)
+ %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
@@ -16683,7 +17164,7 @@ 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 @fn_str_eq(ptr %t777, ptr @.str89)
+ %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
@@ -16698,7 +17179,7 @@ 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 @fn_str_eq(ptr %t786, ptr @.str90)
+ %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
@@ -16713,7 +17194,7 @@ 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 @fn_str_eq(ptr %t795, ptr @.str91)
+ %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
@@ -16728,7 +17209,7 @@ 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 @fn_str_eq(ptr %t804, ptr @.str92)
+ %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
@@ -16743,7 +17224,7 @@ 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 @fn_str_eq(ptr %t813, ptr @.str93)
+ %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
@@ -16758,7 +17239,7 @@ 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 @fn_str_eq(ptr %t822, ptr @.str94)
+ %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
@@ -16773,7 +17254,7 @@ 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 @fn_str_eq(ptr %t831, ptr @.str95)
+ %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
@@ -16788,7 +17269,7 @@ 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 @fn_str_eq(ptr %t840, ptr @.str96)
+ %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
@@ -16803,7 +17284,7 @@ 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 @fn_str_eq(ptr %t849, ptr @.str97)
+ %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
@@ -16818,7 +17299,7 @@ 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 @fn_str_eq(ptr %t858, ptr @.str98)
+ %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
@@ -16833,7 +17314,7 @@ 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 @fn_str_eq(ptr %t867, ptr @.str99)
+ %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
@@ -16848,7 +17329,7 @@ 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 @fn_str_eq(ptr %t876, ptr @.str100)
+ %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
@@ -16863,7 +17344,7 @@ 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 @fn_str_eq(ptr %t885, ptr @.str101)
+ %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
@@ -16878,7 +17359,7 @@ 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 @fn_str_eq(ptr %t894, ptr @.str102)
+ %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
@@ -16893,7 +17374,7 @@ 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 @fn_str_eq(ptr %t903, ptr @.str103)
+ %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
@@ -16908,7 +17389,7 @@ 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 @fn_str_eq(ptr %t912, ptr @.str104)
+ %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
@@ -16923,7 +17404,7 @@ 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 @fn_str_eq(ptr %t921, ptr @.str105)
+ %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
@@ -16959,7 +17440,7 @@ sc203:
%t943 = load ptr, ptr %t942
%t944 = getelementptr inbounds %Cmp_Node, ptr %t943, i32 0, i32 1
%t945 = load ptr, ptr %t944
- %t946 = call i32 @fn_str_eq(ptr %t945, ptr @.str106)
+ %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
@@ -16974,7 +17455,7 @@ 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 @fn_str_eq(ptr %t957, ptr @.str107)
+ %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
@@ -16983,7 +17464,7 @@ 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 @fn_str_eq(ptr %t963, ptr @.str108)
+ %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
@@ -16998,7 +17479,7 @@ 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 @fn_str_eq(ptr %t972, ptr @.str109)
+ %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
@@ -17013,7 +17494,7 @@ 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 @fn_str_eq(ptr %t981, ptr @.str110)
+ %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
@@ -17049,7 +17530,7 @@ sc216:
%t1003 = load ptr, ptr %t1002
%t1004 = getelementptr inbounds %Cmp_Node, ptr %t1003, i32 0, i32 1
%t1005 = load ptr, ptr %t1004
- %t1006 = call i32 @fn_str_eq(ptr %t1005, ptr @.str111)
+ %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
@@ -17064,7 +17545,7 @@ 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 @fn_str_eq(ptr %t1014, ptr @.str112)
+ %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
@@ -17094,7 +17575,7 @@ sc223:
%t1032 = load ptr, ptr %t1031
%t1033 = getelementptr inbounds %Cmp_Node, ptr %t1032, i32 0, i32 1
%t1034 = load ptr, ptr %t1033
- %t1035 = call i32 @fn_str_eq(ptr %t1034, ptr @.str113)
+ %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
@@ -17124,7 +17605,7 @@ sc228:
%t1052 = load ptr, ptr %t1051
%t1053 = getelementptr inbounds %Cmp_Node, ptr %t1052, i32 0, i32 1
%t1054 = load ptr, ptr %t1053
- %t1055 = call i32 @fn_str_eq(ptr %t1054, ptr @.str114)
+ %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
@@ -17154,7 +17635,7 @@ sc233:
%t1073 = load ptr, ptr %t1072
%t1074 = getelementptr inbounds %Cmp_Node, ptr %t1073, i32 0, i32 1
%t1075 = load ptr, ptr %t1074
- %t1076 = call i32 @fn_str_eq(ptr %t1075, ptr @.str115)
+ %t1076 = call i32 @lp_str_eq(ptr %t1075, ptr @.str138)
%t1077 = icmp ne i32 %t1076, 0
%t1078 = zext i1 %t1077 to i32
store i32 %t1078, ptr %t1061
@@ -17169,7 +17650,7 @@ sc235:
%t1087 = load ptr, ptr %t1
%t1088 = getelementptr inbounds %Cmp_Node, ptr %t1087, i32 0, i32 1
%t1089 = load ptr, ptr %t1088
- %t1090 = call i32 @fn_str_eq(ptr %t1089, ptr @.str116)
+ %t1090 = call i32 @lp_str_eq(ptr %t1089, ptr @.str139)
%t1091 = icmp ne i32 %t1090, 0
%t1092 = zext i1 %t1091 to i32
store i32 %t1092, ptr %t1086
@@ -17178,7 +17659,7 @@ sc237:
%t1093 = load ptr, ptr %t1
%t1094 = getelementptr inbounds %Cmp_Node, ptr %t1093, i32 0, i32 1
%t1095 = load ptr, ptr %t1094
- %t1096 = call i32 @fn_str_eq(ptr %t1095, ptr @.str117)
+ %t1096 = call i32 @lp_str_eq(ptr %t1095, ptr @.str140)
%t1097 = icmp ne i32 %t1096, 0
%t1098 = zext i1 %t1097 to i32
store i32 %t1098, ptr %t1086
@@ -17193,7 +17674,7 @@ sc239:
%t1102 = load ptr, ptr %t1
%t1103 = getelementptr inbounds %Cmp_Node, ptr %t1102, i32 0, i32 1
%t1104 = load ptr, ptr %t1103
- %t1105 = call i32 @fn_str_eq(ptr %t1104, ptr @.str118)
+ %t1105 = call i32 @lp_str_eq(ptr %t1104, ptr @.str141)
%t1106 = icmp ne i32 %t1105, 0
%t1107 = zext i1 %t1106 to i32
store i32 %t1107, ptr %t1085
@@ -17208,7 +17689,7 @@ sc241:
%t1111 = load ptr, ptr %t1
%t1112 = getelementptr inbounds %Cmp_Node, ptr %t1111, i32 0, i32 1
%t1113 = load ptr, ptr %t1112
- %t1114 = call i32 @fn_str_eq(ptr %t1113, ptr @.str119)
+ %t1114 = call i32 @lp_str_eq(ptr %t1113, ptr @.str142)
%t1115 = icmp ne i32 %t1114, 0
%t1116 = zext i1 %t1115 to i32
store i32 %t1116, ptr %t1084
@@ -17223,7 +17704,7 @@ sc243:
%t1120 = load ptr, ptr %t1
%t1121 = getelementptr inbounds %Cmp_Node, ptr %t1120, i32 0, i32 1
%t1122 = load ptr, ptr %t1121
- %t1123 = call i32 @fn_str_eq(ptr %t1122, ptr @.str120)
+ %t1123 = call i32 @lp_str_eq(ptr %t1122, ptr @.str143)
%t1124 = icmp ne i32 %t1123, 0
%t1125 = zext i1 %t1124 to i32
store i32 %t1125, ptr %t1083
@@ -17238,7 +17719,7 @@ sc245:
%t1129 = load ptr, ptr %t1
%t1130 = getelementptr inbounds %Cmp_Node, ptr %t1129, i32 0, i32 1
%t1131 = load ptr, ptr %t1130
- %t1132 = call i32 @fn_str_eq(ptr %t1131, ptr @.str121)
+ %t1132 = call i32 @lp_str_eq(ptr %t1131, ptr @.str144)
%t1133 = icmp ne i32 %t1132, 0
%t1134 = zext i1 %t1133 to i32
store i32 %t1134, ptr %t1082
@@ -17274,7 +17755,7 @@ sc250:
%t1152 = load ptr, ptr %t1151
%t1153 = getelementptr inbounds %Cmp_Node, ptr %t1152, i32 0, i32 1
%t1154 = load ptr, ptr %t1153
- %t1155 = call i32 @fn_str_eq(ptr %t1154, ptr @.str122)
+ %t1155 = call i32 @lp_str_eq(ptr %t1154, ptr @.str145)
%t1156 = icmp ne i32 %t1155, 0
%t1157 = zext i1 %t1156 to i32
store i32 %t1157, ptr %t1140
@@ -17289,7 +17770,7 @@ then252:
ifend254:
br label %ifend5
else4:
- %t1160 = call i32 @fn_is_op(ptr @.str123)
+ %t1160 = call i32 @fn_is_op(ptr @.str146)
%t1161 = icmp ne i32 %t1160, 0
br i1 %t1161, label %then255, label %else256
then255:
@@ -17298,7 +17779,7 @@ then255:
store i32 %t1163, ptr @g_pi
%t1164 = call ptr @fn_expr()
store ptr %t1164, ptr %t1165
- %t1166 = call i32 @fn_is_op(ptr @.str124)
+ %t1166 = call i32 @fn_is_op(ptr @.str147)
%t1167 = icmp ne i32 %t1166, 0
br i1 %t1167, label %then258, label %else259
then258:
@@ -17319,7 +17800,7 @@ then258:
%t1179 = getelementptr inbounds %Cmp_Node, ptr %t1178, i32 0, i32 6
%t1180 = call ptr @fn_expr()
store ptr %t1180, ptr %t1179
- call void @fn_eat_op(ptr @.str125)
+ call void @fn_eat_op(ptr @.str148)
%t1181 = load ptr, ptr %t1171
store ptr %t1181, ptr %t1
br label %ifend260
@@ -17334,14 +17815,14 @@ else259:
%t1188 = getelementptr inbounds %Cmp_Node, ptr %t1187, i32 0, i32 5
%t1189 = load ptr, ptr %t1165
store ptr %t1189, ptr %t1188
- call void @fn_eat_op(ptr @.str126)
+ call void @fn_eat_op(ptr @.str149)
%t1190 = load ptr, ptr %t1183
store ptr %t1190, ptr %t1
br label %ifend260
ifend260:
br label %ifend257
else256:
- %t1191 = call i32 @fn_is_op(ptr @.str127)
+ %t1191 = call i32 @fn_is_op(ptr @.str150)
%t1192 = icmp ne i32 %t1191, 0
br i1 %t1192, label %then261, label %else262
then261:
@@ -17383,7 +17864,7 @@ sc264:
%t1223 = load ptr, ptr %t1222
%t1224 = getelementptr inbounds %Cmp_Node, ptr %t1223, i32 0, i32 1
%t1225 = load ptr, ptr %t1224
- %t1226 = call i32 @fn_str_eq(ptr %t1225, ptr @.str128)
+ %t1226 = call i32 @lp_str_eq(ptr %t1225, ptr @.str151)
%t1227 = icmp ne i32 %t1226, 0
%t1228 = zext i1 %t1227 to i32
store i32 %t1228, ptr %t1220
@@ -17394,7 +17875,7 @@ sc266:
%t1231 = load ptr, ptr %t1230
%t1232 = getelementptr inbounds %Cmp_Node, ptr %t1231, i32 0, i32 1
%t1233 = load ptr, ptr %t1232
- %t1234 = call i32 @fn_str_eq(ptr %t1233, ptr @.str129)
+ %t1234 = call i32 @lp_str_eq(ptr %t1233, ptr @.str152)
%t1235 = icmp ne i32 %t1234, 0
%t1236 = zext i1 %t1235 to i32
store i32 %t1236, ptr %t1220
@@ -17442,7 +17923,7 @@ entry:
%t5 = alloca ptr
%t17 = alloca ptr
%t29 = alloca ptr
- %t0 = call i32 @fn_is_op(ptr @.str130)
+ %t0 = call i32 @fn_is_op(ptr @.str153)
%t1 = icmp ne i32 %t0, 0
br i1 %t1, label %then0, label %ifend2
then0:
@@ -17453,7 +17934,7 @@ then0:
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1
- store ptr @.str131, ptr %t7
+ store ptr @.str154, ptr %t7
%t8 = load ptr, ptr %t5
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4
%t10 = call ptr @fn_p_unary()
@@ -17462,7 +17943,7 @@ then0:
store ptr %t11, ptr %retval
br label %ret
ifend2:
- %t12 = call i32 @fn_is_op(ptr @.str132)
+ %t12 = call i32 @fn_is_op(ptr @.str155)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then3, label %ifend5
then3:
@@ -17473,7 +17954,7 @@ then3:
store ptr %t16, ptr %t17
%t18 = load ptr, ptr %t17
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1
- store ptr @.str133, ptr %t19
+ store ptr @.str156, ptr %t19
%t20 = load ptr, ptr %t17
%t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 4
%t22 = call ptr @fn_p_unary()
@@ -17482,7 +17963,7 @@ then3:
store ptr %t23, ptr %retval
br label %ret
ifend5:
- %t24 = call i32 @fn_is_id(ptr @.str134)
+ %t24 = call i32 @fn_is_id(ptr @.str157)
%t25 = icmp ne i32 %t24, 0
br i1 %t25, label %then6, label %ifend8
then6:
@@ -17493,7 +17974,7 @@ then6:
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t29
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1
- store ptr @.str135, ptr %t31
+ store ptr @.str158, ptr %t31
%t32 = load ptr, ptr %t29
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 4
%t34 = call ptr @fn_p_unary()
@@ -17556,13 +18037,13 @@ entry:
store ptr %t0, ptr %t1
br label %wcond0
wcond0:
- %t7 = call i32 @fn_is_op(ptr @.str136)
+ %t7 = call i32 @fn_is_op(ptr @.str159)
%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 @.str137)
+ %t10 = call i32 @fn_is_op(ptr @.str160)
%t11 = icmp ne i32 %t10, 0
%t12 = zext i1 %t11 to i32
store i32 %t12, ptr %t6
@@ -17574,7 +18055,7 @@ scend4:
store i32 %t15, ptr %t5
br i1 %t14, label %scend6, label %sc5
sc5:
- %t16 = call i32 @fn_is_op(ptr @.str138)
+ %t16 = call i32 @fn_is_op(ptr @.str161)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t5
@@ -17586,7 +18067,7 @@ scend6:
store i32 %t21, ptr %t4
br i1 %t20, label %scend8, label %sc7
sc7:
- %t22 = call i32 @fn_is_op(ptr @.str139)
+ %t22 = call i32 @fn_is_op(ptr @.str162)
%t23 = icmp ne i32 %t22, 0
%t24 = zext i1 %t23 to i32
store i32 %t24, ptr %t4
@@ -17598,7 +18079,7 @@ scend8:
store i32 %t27, ptr %t3
br i1 %t26, label %scend10, label %sc9
sc9:
- %t28 = call i32 @fn_is_op(ptr @.str140)
+ %t28 = call i32 @fn_is_op(ptr @.str163)
%t29 = icmp ne i32 %t28, 0
%t30 = zext i1 %t29 to i32
store i32 %t30, ptr %t3
@@ -17610,7 +18091,7 @@ scend10:
store i32 %t33, ptr %t2
br i1 %t32, label %scend12, label %sc11
sc11:
- %t34 = call i32 @fn_is_op(ptr @.str141)
+ %t34 = call i32 @fn_is_op(ptr @.str164)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t2
@@ -17659,13 +18140,13 @@ entry:
store ptr %t0, ptr %t1
br label %wcond0
wcond0:
- %t5 = call i32 @fn_is_op(ptr @.str142)
+ %t5 = call i32 @fn_is_op(ptr @.str165)
%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 @.str143)
+ %t8 = call i32 @fn_is_op(ptr @.str166)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t4
@@ -17677,7 +18158,7 @@ scend4:
store i32 %t13, ptr %t3
br i1 %t12, label %scend6, label %sc5
sc5:
- %t14 = call i32 @fn_is_op(ptr @.str144)
+ %t14 = call i32 @fn_is_op(ptr @.str167)
%t15 = icmp ne i32 %t14, 0
%t16 = zext i1 %t15 to i32
store i32 %t16, ptr %t3
@@ -17689,7 +18170,7 @@ scend6:
store i32 %t19, ptr %t2
br i1 %t18, label %scend8, label %sc7
sc7:
- %t20 = call i32 @fn_is_op(ptr @.str145)
+ %t20 = call i32 @fn_is_op(ptr @.str168)
%t21 = icmp ne i32 %t20, 0
%t22 = zext i1 %t21 to i32
store i32 %t22, ptr %t2
@@ -17740,13 +18221,13 @@ entry:
store ptr %t0, ptr %t1
br label %wcond0
wcond0:
- %t7 = call i32 @fn_is_op(ptr @.str146)
+ %t7 = call i32 @fn_is_op(ptr @.str169)
%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 @.str147)
+ %t10 = call i32 @fn_is_op(ptr @.str170)
%t11 = icmp ne i32 %t10, 0
%t12 = zext i1 %t11 to i32
store i32 %t12, ptr %t6
@@ -17758,7 +18239,7 @@ scend4:
store i32 %t15, ptr %t5
br i1 %t14, label %scend6, label %sc5
sc5:
- %t16 = call i32 @fn_is_op(ptr @.str148)
+ %t16 = call i32 @fn_is_op(ptr @.str171)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t5
@@ -17770,7 +18251,7 @@ scend6:
store i32 %t21, ptr %t4
br i1 %t20, label %scend8, label %sc7
sc7:
- %t22 = call i32 @fn_is_op(ptr @.str149)
+ %t22 = call i32 @fn_is_op(ptr @.str172)
%t23 = icmp ne i32 %t22, 0
%t24 = zext i1 %t23 to i32
store i32 %t24, ptr %t4
@@ -17782,7 +18263,7 @@ scend8:
store i32 %t27, ptr %t3
br i1 %t26, label %scend10, label %sc9
sc9:
- %t28 = call i32 @fn_is_op(ptr @.str150)
+ %t28 = call i32 @fn_is_op(ptr @.str173)
%t29 = icmp ne i32 %t28, 0
%t30 = zext i1 %t29 to i32
store i32 %t30, ptr %t3
@@ -17794,7 +18275,7 @@ scend10:
store i32 %t33, ptr %t2
br i1 %t32, label %scend12, label %sc11
sc11:
- %t34 = call i32 @fn_is_op(ptr @.str151)
+ %t34 = call i32 @fn_is_op(ptr @.str174)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t2
@@ -17839,7 +18320,7 @@ entry:
store ptr %t0, ptr %t1
br label %wcond0
wcond0:
- %t2 = call i32 @fn_is_id(ptr @.str152)
+ %t2 = call i32 @fn_is_id(ptr @.str175)
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %wbody1, label %wend2
wbody1:
@@ -17848,7 +18329,7 @@ wbody1:
store i32 %t5, ptr @g_pi
%t6 = load ptr, ptr %t1
%t7 = call ptr @fn_p_cmp()
- %t8 = call ptr @fn_mkbin(ptr @.str153, ptr %t6, ptr %t7)
+ %t8 = call ptr @fn_mkbin(ptr @.str176, ptr %t6, ptr %t7)
store ptr %t8, ptr %t1
br label %wcond0
wend2:
@@ -17868,7 +18349,7 @@ entry:
store ptr %t0, ptr %t1
br label %wcond0
wcond0:
- %t2 = call i32 @fn_is_id(ptr @.str154)
+ %t2 = call i32 @fn_is_id(ptr @.str177)
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %wbody1, label %wend2
wbody1:
@@ -17877,7 +18358,7 @@ wbody1:
store i32 %t5, ptr @g_pi
%t6 = load ptr, ptr %t1
%t7 = call ptr @fn_p_and()
- %t8 = call ptr @fn_mkbin(ptr @.str155, ptr %t6, ptr %t7)
+ %t8 = call ptr @fn_mkbin(ptr @.str178, ptr %t6, ptr %t7)
store ptr %t8, ptr %t1
br label %wcond0
wend2:
@@ -17894,7 +18375,7 @@ entry:
%retval = alloca ptr
%t1 = alloca ptr
%t6 = alloca ptr
- call void @fn_eat_op(ptr @.str156)
+ call void @fn_eat_op(ptr @.str179)
%t0 = call ptr @fn_node(i32 41)
store ptr %t0, ptr %t1
br label %wcond0
@@ -17903,7 +18384,7 @@ wcond0:
br i1 %t2, label %wbody1, label %wend2
wbody1:
call void @fn_skipnl()
- %t3 = call i32 @fn_is_op(ptr @.str157)
+ %t3 = call i32 @fn_is_op(ptr @.str180)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then3, label %ifend5
then3:
@@ -17915,7 +18396,7 @@ ifend5:
%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 @.str158)
+ call void @fn_eat_op(ptr @.str181)
%t10 = load ptr, ptr %t6
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4
%t12 = call ptr @fn_expr()
@@ -17923,34 +18404,34 @@ ifend5:
%t13 = load ptr, ptr %t1
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7
%t15 = load ptr, ptr %t14
- %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1
- %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 2
- %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
- %t19 = load i32, ptr %t16
+ %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 = icmp sge i32 %t19, %t20
- br i1 %t21, label %grow6, label %put7
+ %t21 = load i32, ptr %t18
+ %t22 = icmp sge i32 %t20, %t21
+ br i1 %t22, 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
+ %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:
- %t31 = load ptr, ptr %t6
- %t32 = load ptr, ptr %t18
- %t33 = getelementptr inbounds ptr, ptr %t32, i32 %t19
- store ptr %t31, ptr %t33
- %t34 = add i32 %t19, 1
- store i32 %t34, ptr %t16
- %t35 = call i32 @fn_is_op(ptr @.str159)
+ %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 @.str182)
%t36 = icmp ne i32 %t35, 0
br i1 %t36, label %then8, label %ifend10
then8:
@@ -17961,7 +18442,7 @@ then8:
ifend10:
br label %wcond0
wend2:
- call void @fn_eat_op(ptr @.str160)
+ call void @fn_eat_op(ptr @.str183)
%t39 = load ptr, ptr %t1
store ptr %t39, ptr %retval
br label %ret
@@ -17976,7 +18457,7 @@ entry:
%t1 = alloca ptr
%t37 = alloca i32
call void @fn_skipnl()
- call void @fn_eat_op(ptr @.str161)
+ call void @fn_eat_op(ptr @.str184)
%t0 = call ptr @fn_node(i32 7)
store ptr %t0, ptr %t1
br label %wcond0
@@ -17985,7 +18466,7 @@ wcond0:
br i1 %t2, label %wbody1, label %wend2
wbody1:
call void @fn_skipnl()
- %t3 = call i32 @fn_is_op(ptr @.str162)
+ %t3 = call i32 @fn_is_op(ptr @.str185)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then3, label %ifend5
then3:
@@ -17994,33 +18475,33 @@ ifend5:
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
%t7 = load ptr, ptr %t6
- %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1
- %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 2
- %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
- %t11 = load i32, ptr %t8
+ %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 = icmp sge i32 %t11, %t12
- br i1 %t13, label %grow6, label %put7
+ %t13 = load i32, ptr %t10
+ %t14 = icmp sge i32 %t12, %t13
+ br i1 %t14, label %grow6, label %put7
grow6:
- %t14 = mul i32 %t12, 2
- %t15 = icmp eq i32 %t12, 0
- %t16 = select i1 %t15, i32 8, i32 %t14
- %t17 = getelementptr ptr, ptr null, i32 1
- %t18 = ptrtoint ptr %t17 to i64
- %t19 = zext i32 %t16 to i64
- %t20 = mul i64 %t19, %t18
- %t21 = load ptr, ptr %t10
- %t22 = call ptr @realloc(ptr %t21, i64 %t20)
- store ptr %t22, ptr %t10
- store i32 %t16, ptr %t9
+ %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:
- %t23 = call ptr @fn_stmt()
- %t24 = load ptr, ptr %t10
- %t25 = getelementptr inbounds ptr, ptr %t24, i32 %t11
- store ptr %t23, ptr %t25
- %t26 = add i32 %t11, 1
- store i32 %t26, ptr %t8
+ %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
@@ -18032,7 +18513,7 @@ put7:
%t35 = icmp eq i32 %t34, 4
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t37
- %t38 = call i32 @fn_is_op(ptr @.str163)
+ %t38 = call i32 @fn_is_op(ptr @.str186)
%t39 = icmp ne i32 %t38, 0
br i1 %t39, label %then8, label %ifend10
then8:
@@ -18045,12 +18526,12 @@ ifend10:
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %then11, label %ifend13
then11:
- call void @fn_perr(ptr @.str164)
+ call void @fn_perr(ptr @.str187)
br label %ifend13
ifend13:
br label %wcond0
wend2:
- call void @fn_eat_op(ptr @.str165)
+ call void @fn_eat_op(ptr @.str188)
%t44 = load ptr, ptr %t1
store ptr %t44, ptr %retval
br label %ret
@@ -18151,7 +18632,7 @@ then0:
%t14 = load ptr, ptr %t6
%t15 = getelementptr inbounds %Cmp_Tok, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
- %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str166)
+ %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str189)
%t18 = icmp ne i32 %t17, 0
%t19 = zext i1 %t18 to i32
store i32 %t19, ptr %t13
@@ -18160,7 +18641,7 @@ sc3:
%t20 = load ptr, ptr %t6
%t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 1
%t22 = load ptr, ptr %t21
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str167)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str190)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t13
@@ -18174,7 +18655,7 @@ then5:
%t29 = load ptr, ptr %t6
%t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 1
%t31 = load ptr, ptr %t30
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str168)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str191)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then8, label %ifend10
then8:
@@ -18205,7 +18686,7 @@ ifend10:
%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 @.str169)
+ %t54 = call i32 @fn_is_op(ptr @.str192)
%t55 = icmp ne i32 %t54, 0
br i1 %t55, label %then11, label %ifend13
then11:
@@ -18218,7 +18699,7 @@ then11:
store ptr %t60, ptr %t59
br label %ifend13
ifend13:
- %t61 = call i32 @fn_is_op(ptr @.str170)
+ %t61 = call i32 @fn_is_op(ptr @.str193)
%t62 = icmp ne i32 %t61, 0
br i1 %t62, label %then14, label %ifend16
then14:
@@ -18238,7 +18719,7 @@ ifend7:
%t69 = load ptr, ptr %t6
%t70 = getelementptr inbounds %Cmp_Tok, ptr %t69, i32 0, i32 1
%t71 = load ptr, ptr %t70
- %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str171)
+ %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str194)
%t73 = icmp ne i32 %t72, 0
br i1 %t73, label %then17, label %ifend19
then17:
@@ -18262,7 +18743,7 @@ then17:
store i32 %t90, ptr %t78
br i1 %t89, label %sc20, label %scend21
sc20:
- %t91 = call i32 @fn_is_op(ptr @.str172)
+ %t91 = call i32 @fn_is_op(ptr @.str195)
%t92 = icmp eq i32 %t91, 0
%t93 = zext i1 %t92 to i32
%t94 = icmp ne i32 %t93, 0
@@ -18287,7 +18768,7 @@ ifend19:
%t102 = load ptr, ptr %t6
%t103 = getelementptr inbounds %Cmp_Tok, ptr %t102, i32 0, i32 1
%t104 = load ptr, ptr %t103
- %t105 = call i32 @fn_str_eq(ptr %t104, ptr @.str173)
+ %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str196)
%t106 = icmp ne i32 %t105, 0
br i1 %t106, label %then25, label %ifend27
then25:
@@ -18307,7 +18788,7 @@ then25:
%t117 = load i32, ptr @g_pi
store i32 %t117, ptr %t118
call void @fn_skipnl()
- %t119 = call i32 @fn_is_id(ptr @.str174)
+ %t119 = call i32 @fn_is_id(ptr @.str197)
%t120 = icmp ne i32 %t119, 0
br i1 %t120, label %then28, label %else29
then28:
@@ -18315,7 +18796,7 @@ then28:
%t122 = add i32 %t121, 1
store i32 %t122, ptr @g_pi
call void @fn_skipnl()
- %t123 = call i32 @fn_is_id(ptr @.str175)
+ %t123 = call i32 @fn_is_id(ptr @.str198)
%t124 = icmp ne i32 %t123, 0
br i1 %t124, label %then31, label %else32
then31:
@@ -18344,7 +18825,7 @@ ifend27:
%t133 = load ptr, ptr %t6
%t134 = getelementptr inbounds %Cmp_Tok, ptr %t133, i32 0, i32 1
%t135 = load ptr, ptr %t134
- %t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str176)
+ %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str199)
%t137 = icmp ne i32 %t136, 0
br i1 %t137, label %then34, label %ifend36
then34:
@@ -18368,14 +18849,14 @@ ifend36:
%t149 = load ptr, ptr %t6
%t150 = getelementptr inbounds %Cmp_Tok, ptr %t149, i32 0, i32 1
%t151 = load ptr, ptr %t150
- %t152 = call i32 @fn_str_eq(ptr %t151, ptr @.str177)
+ %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str200)
%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 @.str178)
+ %t156 = call i32 @fn_is_op(ptr @.str201)
%t157 = icmp ne i32 %t156, 0
br i1 %t157, label %then40, label %ifend42
then40:
@@ -18395,7 +18876,7 @@ ifend42:
%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 @.str179)
+ call void @fn_eat_op(ptr @.str202)
%t169 = load ptr, ptr %t160
%t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 5
%t171 = call ptr @fn_expr()
@@ -18411,7 +18892,7 @@ ifend39:
%t176 = load ptr, ptr %t6
%t177 = getelementptr inbounds %Cmp_Tok, ptr %t176, i32 0, i32 1
%t178 = load ptr, ptr %t177
- %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str180)
+ %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str203)
%t180 = icmp ne i32 %t179, 0
br i1 %t180, label %then43, label %ifend45
then43:
@@ -18422,7 +18903,7 @@ ifend45:
%t182 = load ptr, ptr %t6
%t183 = getelementptr inbounds %Cmp_Tok, ptr %t182, i32 0, i32 1
%t184 = load ptr, ptr %t183
- %t185 = call i32 @fn_str_eq(ptr %t184, ptr @.str181)
+ %t185 = call i32 @lp_str_eq(ptr %t184, ptr @.str204)
%t186 = icmp ne i32 %t185, 0
br i1 %t186, label %then46, label %ifend48
then46:
@@ -18436,7 +18917,7 @@ then46:
%t193 = call ptr @fn_expr()
store ptr %t193, ptr %t192
call void @fn_skipnl()
- call void @fn_eat_op(ptr @.str182)
+ call void @fn_eat_op(ptr @.str205)
store i32 0, ptr %t194
br label %wcond49
wcond49:
@@ -18444,7 +18925,7 @@ wcond49:
br i1 %t195, label %wbody50, label %wend51
wbody50:
call void @fn_skipnl()
- %t196 = call i32 @fn_is_op(ptr @.str183)
+ %t196 = call i32 @fn_is_op(ptr @.str206)
%t197 = icmp ne i32 %t196, 0
br i1 %t197, label %then52, label %ifend54
then52:
@@ -18458,7 +18939,7 @@ ifend54:
%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 @.str184)
+ %t205 = call i32 @fn_is_op(ptr @.str207)
%t206 = icmp ne i32 %t205, 0
br i1 %t206, label %then55, label %ifend57
then55:
@@ -18483,39 +18964,39 @@ ifend57:
%t218 = load ptr, ptr %t190
%t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 7
%t220 = load ptr, ptr %t219
- %t221 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 1
- %t222 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 2
- %t223 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 0
- %t224 = load i32, ptr %t221
+ %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 = icmp sge i32 %t224, %t225
- br i1 %t226, label %grow58, label %put59
+ %t226 = load i32, ptr %t223
+ %t227 = icmp sge i32 %t225, %t226
+ br i1 %t227, label %grow58, label %put59
grow58:
- %t227 = mul i32 %t225, 2
- %t228 = icmp eq i32 %t225, 0
- %t229 = select i1 %t228, i32 8, i32 %t227
- %t230 = getelementptr ptr, ptr null, i32 1
- %t231 = ptrtoint ptr %t230 to i64
- %t232 = zext i32 %t229 to i64
- %t233 = mul i64 %t232, %t231
- %t234 = load ptr, ptr %t223
- %t235 = call ptr @realloc(ptr %t234, i64 %t233)
- store ptr %t235, ptr %t223
- store i32 %t229, ptr %t222
+ %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:
- %t236 = load ptr, ptr %t201
- %t237 = load ptr, ptr %t223
- %t238 = getelementptr inbounds ptr, ptr %t237, i32 %t224
- store ptr %t236, ptr %t238
- %t239 = add i32 %t224, 1
- store i32 %t239, ptr %t221
+ %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 @.str185)
+ call void @fn_eat_op(ptr @.str208)
%t242 = load ptr, ptr %t190
store ptr %t242, ptr %retval
br label %ret
@@ -18523,7 +19004,7 @@ 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 @fn_str_eq(ptr %t246, ptr @.str186)
+ %t247 = call i32 @lp_str_eq(ptr %t246, ptr @.str209)
%t248 = icmp ne i32 %t247, 0
%t249 = zext i1 %t248 to i32
store i32 %t249, ptr %t243
@@ -18556,7 +19037,7 @@ 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 @fn_str_eq(ptr %t268, ptr @.str187)
+ %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str210)
%t270 = icmp ne i32 %t269, 0
br i1 %t270, label %then65, label %ifend67
then65:
@@ -18576,7 +19057,7 @@ 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 @fn_str_eq(ptr %t281, ptr @.str188)
+ %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str211)
%t283 = icmp ne i32 %t282, 0
br i1 %t283, label %then68, label %ifend70
then68:
@@ -18596,7 +19077,7 @@ 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 @fn_str_eq(ptr %t295, ptr @.str189)
+ %t296 = call i32 @lp_str_eq(ptr %t295, ptr @.str212)
%t297 = icmp ne i32 %t296, 0
%t298 = zext i1 %t297 to i32
store i32 %t298, ptr %t292
@@ -18605,7 +19086,7 @@ 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 @fn_str_eq(ptr %t301, ptr @.str190)
+ %t302 = call i32 @lp_str_eq(ptr %t301, ptr @.str213)
%t303 = icmp ne i32 %t302, 0
%t304 = zext i1 %t303 to i32
store i32 %t304, ptr %t292
@@ -18619,7 +19100,7 @@ then73:
%t308 = load ptr, ptr %t6
%t309 = getelementptr inbounds %Cmp_Tok, ptr %t308, i32 0, i32 1
%t310 = load ptr, ptr %t309
- %t311 = call i32 @fn_str_eq(ptr %t310, ptr @.str191)
+ %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str214)
%t312 = icmp ne i32 %t311, 0
br i1 %t312, label %then76, label %ifend78
then76:
@@ -18635,7 +19116,7 @@ ifend78:
%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 @.str192)
+ %t320 = call i32 @fn_is_id(ptr @.str215)
%t321 = icmp ne i32 %t320, 0
br i1 %t321, label %then79, label %ifend81
then79:
@@ -18644,7 +19125,7 @@ then79:
store i32 %t323, ptr @g_pi
%t324 = load ptr, ptr %t316
%t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 3
- store ptr @.str193, ptr %t325
+ store ptr @.str216, ptr %t325
%t326 = load ptr, ptr %t316
%t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 1
%t328 = call ptr @fn_eat_id()
@@ -18657,7 +19138,7 @@ then79:
store ptr %t332, ptr %retval
br label %ret
ifend81:
- %t333 = call i32 @fn_is_id(ptr @.str194)
+ %t333 = call i32 @fn_is_id(ptr @.str217)
%t334 = icmp ne i32 %t333, 0
br i1 %t334, label %then82, label %ifend84
then82:
@@ -18666,7 +19147,7 @@ then82:
store i32 %t336, ptr @g_pi
%t337 = load ptr, ptr %t316
%t338 = getelementptr inbounds %Cmp_Node, ptr %t337, i32 0, i32 3
- store ptr @.str195, ptr %t338
+ store ptr @.str218, ptr %t338
%t339 = load ptr, ptr %t316
%t340 = getelementptr inbounds %Cmp_Node, ptr %t339, i32 0, i32 1
%t341 = call ptr @fn_eat_id()
@@ -18678,35 +19159,35 @@ then82:
br i1 %t345, label %then85, label %ifend87
then85:
%t346 = load ptr, ptr @g_g_disabled_sys
- %t347 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 1
- %t348 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 2
- %t349 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 0
- %t350 = load i32, ptr %t347
- %t351 = load i32, ptr %t348
- %t352 = icmp sge i32 %t350, %t351
- br i1 %t352, label %grow88, label %put89
+ %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:
- %t353 = mul i32 %t351, 2
- %t354 = icmp eq i32 %t351, 0
- %t355 = select i1 %t354, i32 8, i32 %t353
- %t356 = getelementptr ptr, ptr null, i32 1
- %t357 = ptrtoint ptr %t356 to i64
- %t358 = zext i32 %t355 to i64
- %t359 = mul i64 %t358, %t357
- %t360 = load ptr, ptr %t349
- %t361 = call ptr @realloc(ptr %t360, i64 %t359)
- store ptr %t361, ptr %t349
- store i32 %t355, ptr %t348
+ %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:
- %t362 = load ptr, ptr %t316
- %t363 = getelementptr inbounds %Cmp_Node, ptr %t362, i32 0, i32 1
- %t364 = load ptr, ptr %t363
- %t365 = load ptr, ptr %t349
- %t366 = getelementptr inbounds ptr, ptr %t365, i32 %t350
- store ptr %t364, ptr %t366
- %t367 = add i32 %t350, 1
- store i32 %t367, ptr %t347
+ %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
@@ -18717,7 +19198,7 @@ ifend84:
%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 @.str196)
+ %t372 = call i32 @fn_is_id(ptr @.str219)
%t373 = icmp ne i32 %t372, 0
br i1 %t373, label %then90, label %ifend92
then90:
@@ -18737,7 +19218,7 @@ 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 @fn_str_eq(ptr %t382, ptr @.str197)
+ %t383 = call i32 @lp_str_eq(ptr %t382, ptr @.str220)
%t384 = icmp ne i32 %t383, 0
br i1 %t384, label %then93, label %ifend95
then93:
@@ -18750,13 +19231,13 @@ then93:
%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 @.str198)
+ %t392 = call i32 @fn_is_id(ptr @.str221)
%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 @.str199)
+ call void @fn_perr(ptr @.str222)
br label %ifend98
ifend98:
%t396 = load i32, ptr @g_pi
@@ -18766,7 +19247,7 @@ ifend98:
%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 @.str200)
+ %t401 = call i32 @fn_is_op(ptr @.str223)
%t402 = icmp ne i32 %t401, 0
br i1 %t402, label %then99, label %ifend101
then99:
@@ -18783,7 +19264,7 @@ 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 @fn_str_eq(ptr %t409, ptr @.str201)
+ %t410 = call i32 @lp_str_eq(ptr %t409, ptr @.str224)
%t411 = icmp ne i32 %t410, 0
br i1 %t411, label %then102, label %ifend104
then102:
@@ -18796,13 +19277,13 @@ then102:
%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 @.str202)
+ %t419 = call i32 @fn_is_id(ptr @.str225)
%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 @.str203)
+ call void @fn_perr(ptr @.str226)
br label %ifend107
ifend107:
%t423 = load i32, ptr @g_pi
@@ -18819,7 +19300,7 @@ 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 @fn_str_eq(ptr %t431, ptr @.str204)
+ %t432 = call i32 @lp_str_eq(ptr %t431, ptr @.str227)
%t433 = icmp ne i32 %t432, 0
br i1 %t433, label %then108, label %ifend110
then108:
@@ -18833,7 +19314,7 @@ 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 @fn_str_eq(ptr %t439, ptr @.str205)
+ %t440 = call i32 @lp_str_eq(ptr %t439, ptr @.str228)
%t441 = icmp ne i32 %t440, 0
br i1 %t441, label %then111, label %ifend113
then111:
@@ -18847,7 +19328,7 @@ 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 @fn_str_eq(ptr %t447, ptr @.str206)
+ %t448 = call i32 @lp_str_eq(ptr %t447, ptr @.str229)
%t449 = icmp ne i32 %t448, 0
br i1 %t449, label %then114, label %ifend116
then114:
@@ -18861,7 +19342,7 @@ 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 @fn_str_eq(ptr %t455, ptr @.str207)
+ %t456 = call i32 @lp_str_eq(ptr %t455, ptr @.str230)
%t457 = icmp ne i32 %t456, 0
br i1 %t457, label %then117, label %ifend119
then117:
@@ -18875,14 +19356,14 @@ then117:
%t464 = call ptr @fn_expr()
store ptr %t464, ptr %t463
call void @fn_skipnl()
- call void @fn_eat_op(ptr @.str208)
+ call void @fn_eat_op(ptr @.str231)
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 @.str209)
+ %t466 = call i32 @fn_is_op(ptr @.str232)
%t467 = icmp ne i32 %t466, 0
br i1 %t467, label %then123, label %ifend125
then123:
@@ -18898,34 +19379,34 @@ wbody127:
%t471 = load ptr, ptr %t469
%t472 = getelementptr inbounds %Cmp_Node, ptr %t471, i32 0, i32 7
%t473 = load ptr, ptr %t472
- %t474 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 1
- %t475 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 2
- %t476 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 0
- %t477 = load i32, ptr %t474
+ %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 = icmp sge i32 %t477, %t478
- br i1 %t479, label %grow129, label %put130
+ %t479 = load i32, ptr %t476
+ %t480 = icmp sge i32 %t478, %t479
+ br i1 %t480, label %grow129, label %put130
grow129:
- %t480 = mul i32 %t478, 2
- %t481 = icmp eq i32 %t478, 0
- %t482 = select i1 %t481, i32 8, i32 %t480
- %t483 = getelementptr ptr, ptr null, i32 1
- %t484 = ptrtoint ptr %t483 to i64
- %t485 = zext i32 %t482 to i64
- %t486 = mul i64 %t485, %t484
- %t487 = load ptr, ptr %t476
- %t488 = call ptr @realloc(ptr %t487, i64 %t486)
- store ptr %t488, ptr %t476
- store i32 %t482, ptr %t475
+ %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:
- %t489 = call ptr @fn_expr()
- %t490 = load ptr, ptr %t476
- %t491 = getelementptr inbounds ptr, ptr %t490, i32 %t477
- store ptr %t489, ptr %t491
- %t492 = add i32 %t477, 1
- store i32 %t492, ptr %t474
- %t493 = call i32 @fn_is_op(ptr @.str210)
+ %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 @.str233)
%t494 = icmp ne i32 %t493, 0
br i1 %t494, label %then131, label %ifend133
then131:
@@ -18937,9 +19418,9 @@ then131:
ifend133:
br label %wend128
wend128:
- call void @fn_eat_op(ptr @.str211)
+ call void @fn_eat_op(ptr @.str234)
call void @fn_skipnl()
- %t497 = call i32 @fn_is_op(ptr @.str212)
+ %t497 = call i32 @fn_is_op(ptr @.str235)
%t498 = icmp ne i32 %t497, 0
br i1 %t498, label %then134, label %else135
then134:
@@ -18954,33 +19435,33 @@ else135:
%t504 = load ptr, ptr %t503
%t505 = getelementptr inbounds %Cmp_Node, ptr %t504, i32 0, i32 7
%t506 = load ptr, ptr %t505
- %t507 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 1
- %t508 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 2
- %t509 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 0
- %t510 = load i32, ptr %t507
+ %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 = icmp sge i32 %t510, %t511
- br i1 %t512, label %grow137, label %put138
+ %t512 = load i32, ptr %t509
+ %t513 = icmp sge i32 %t511, %t512
+ br i1 %t513, label %grow137, label %put138
grow137:
- %t513 = mul i32 %t511, 2
- %t514 = icmp eq i32 %t511, 0
- %t515 = select i1 %t514, i32 8, i32 %t513
- %t516 = getelementptr ptr, ptr null, i32 1
- %t517 = ptrtoint ptr %t516 to i64
- %t518 = zext i32 %t515 to i64
- %t519 = mul i64 %t518, %t517
- %t520 = load ptr, ptr %t509
- %t521 = call ptr @realloc(ptr %t520, i64 %t519)
- store ptr %t521, ptr %t509
- store i32 %t515, ptr %t508
+ %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:
- %t522 = call ptr @fn_stmt()
- %t523 = load ptr, ptr %t509
- %t524 = getelementptr inbounds ptr, ptr %t523, i32 %t510
- store ptr %t522, ptr %t524
- %t525 = add i32 %t510, 1
- store i32 %t525, ptr %t507
+ %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
@@ -18990,36 +19471,36 @@ ifend136:
%t529 = load ptr, ptr %t461
%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 1
- %t533 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 2
- %t534 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 0
- %t535 = load i32, ptr %t532
+ %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 = icmp sge i32 %t535, %t536
- br i1 %t537, label %grow139, label %put140
+ %t537 = load i32, ptr %t534
+ %t538 = icmp sge i32 %t536, %t537
+ br i1 %t538, label %grow139, label %put140
grow139:
- %t538 = mul i32 %t536, 2
- %t539 = icmp eq i32 %t536, 0
- %t540 = select i1 %t539, i32 8, i32 %t538
- %t541 = getelementptr ptr, ptr null, i32 1
- %t542 = ptrtoint ptr %t541 to i64
- %t543 = zext i32 %t540 to i64
- %t544 = mul i64 %t543, %t542
- %t545 = load ptr, ptr %t534
- %t546 = call ptr @realloc(ptr %t545, i64 %t544)
- store ptr %t546, ptr %t534
- store i32 %t540, ptr %t533
+ %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:
- %t547 = load ptr, ptr %t469
- %t548 = load ptr, ptr %t534
- %t549 = getelementptr inbounds ptr, ptr %t548, i32 %t535
- store ptr %t547, ptr %t549
- %t550 = add i32 %t535, 1
- store i32 %t550, ptr %t532
+ %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 @.str213)
+ call void @fn_eat_op(ptr @.str236)
%t551 = load ptr, ptr %t461
store ptr %t551, ptr %retval
br label %ret
@@ -19028,13 +19509,13 @@ ifend119:
ifend2:
%t552 = call ptr @fn_expr()
store ptr %t552, ptr %t553
- %t558 = call i32 @fn_is_op(ptr @.str214)
+ %t558 = call i32 @fn_is_op(ptr @.str237)
%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 @.str215)
+ %t561 = call i32 @fn_is_op(ptr @.str238)
%t562 = icmp ne i32 %t561, 0
%t563 = zext i1 %t562 to i32
store i32 %t563, ptr %t557
@@ -19046,7 +19527,7 @@ scend142:
store i32 %t566, ptr %t556
br i1 %t565, label %scend144, label %sc143
sc143:
- %t567 = call i32 @fn_is_op(ptr @.str216)
+ %t567 = call i32 @fn_is_op(ptr @.str239)
%t568 = icmp ne i32 %t567, 0
%t569 = zext i1 %t568 to i32
store i32 %t569, ptr %t556
@@ -19058,7 +19539,7 @@ scend144:
store i32 %t572, ptr %t555
br i1 %t571, label %scend146, label %sc145
sc145:
- %t573 = call i32 @fn_is_op(ptr @.str217)
+ %t573 = call i32 @fn_is_op(ptr @.str240)
%t574 = icmp ne i32 %t573, 0
%t575 = zext i1 %t574 to i32
store i32 %t575, ptr %t555
@@ -19070,7 +19551,7 @@ scend146:
store i32 %t578, ptr %t554
br i1 %t577, label %scend148, label %sc147
sc147:
- %t579 = call i32 @fn_is_op(ptr @.str218)
+ %t579 = call i32 @fn_is_op(ptr @.str241)
%t580 = icmp ne i32 %t579, 0
%t581 = zext i1 %t580 to i32
store i32 %t581, ptr %t554
@@ -19146,12 +19627,12 @@ entry:
%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 @.str219)
+ call void @fn_eat_op(ptr @.str242)
%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 @.str220)
+ %t10 = call i32 @fn_is_op(ptr @.str243)
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then0, label %ifend2
then0:
@@ -19185,12 +19666,12 @@ entry:
%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 @.str221)
+ call void @fn_eat_op(ptr @.str244)
%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 @.str222)
+ call void @fn_eat_op(ptr @.str245)
%t10 = load ptr, ptr %t3
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4
%t12 = call ptr @fn_expr()
@@ -19240,14 +19721,14 @@ entry:
%t231 = alloca i32
store ptr %arg_w, ptr %t0
%t6 = load ptr, ptr %t0
- %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str223)
+ %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str246)
%t8 = icmp ne i32 %t7, 0
%t9 = zext i1 %t8 to i32
store i32 %t9, ptr %t5
br i1 %t8, label %scend1, label %sc0
sc0:
%t10 = load ptr, ptr %t0
- %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str224)
+ %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str247)
%t12 = icmp ne i32 %t11, 0
%t13 = zext i1 %t12 to i32
store i32 %t13, ptr %t5
@@ -19260,7 +19741,7 @@ scend1:
br i1 %t15, label %scend3, label %sc2
sc2:
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str225)
+ %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str248)
%t19 = icmp ne i32 %t18, 0
%t20 = zext i1 %t19 to i32
store i32 %t20, ptr %t4
@@ -19273,7 +19754,7 @@ scend3:
br i1 %t22, label %scend5, label %sc4
sc4:
%t24 = load ptr, ptr %t0
- %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str226)
+ %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str249)
%t26 = icmp ne i32 %t25, 0
%t27 = zext i1 %t26 to i32
store i32 %t27, ptr %t3
@@ -19286,7 +19767,7 @@ scend5:
br i1 %t29, label %scend7, label %sc6
sc6:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str227)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str250)
%t33 = icmp ne i32 %t32, 0
%t34 = zext i1 %t33 to i32
store i32 %t34, ptr %t2
@@ -19299,7 +19780,7 @@ scend7:
br i1 %t36, label %scend9, label %sc8
sc8:
%t38 = load ptr, ptr %t0
- %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str228)
+ %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str251)
%t40 = icmp ne i32 %t39, 0
%t41 = zext i1 %t40 to i32
store i32 %t41, ptr %t1
@@ -19313,14 +19794,14 @@ then10:
br label %ret
ifend12:
%t49 = load ptr, ptr %t0
- %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str229)
+ %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str252)
%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 @fn_str_eq(ptr %t53, ptr @.str230)
+ %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str253)
%t55 = icmp ne i32 %t54, 0
%t56 = zext i1 %t55 to i32
store i32 %t56, ptr %t48
@@ -19333,7 +19814,7 @@ scend14:
br i1 %t58, label %scend16, label %sc15
sc15:
%t60 = load ptr, ptr %t0
- %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str231)
+ %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str254)
%t62 = icmp ne i32 %t61, 0
%t63 = zext i1 %t62 to i32
store i32 %t63, ptr %t47
@@ -19346,7 +19827,7 @@ scend16:
br i1 %t65, label %scend18, label %sc17
sc17:
%t67 = load ptr, ptr %t0
- %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str232)
+ %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str255)
%t69 = icmp ne i32 %t68, 0
%t70 = zext i1 %t69 to i32
store i32 %t70, ptr %t46
@@ -19359,7 +19840,7 @@ scend18:
br i1 %t72, label %scend20, label %sc19
sc19:
%t74 = load ptr, ptr %t0
- %t75 = call i32 @fn_str_eq(ptr %t74, ptr @.str233)
+ %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str256)
%t76 = icmp ne i32 %t75, 0
%t77 = zext i1 %t76 to i32
store i32 %t77, ptr %t45
@@ -19372,7 +19853,7 @@ scend20:
br i1 %t79, label %scend22, label %sc21
sc21:
%t81 = load ptr, ptr %t0
- %t82 = call i32 @fn_str_eq(ptr %t81, ptr @.str234)
+ %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str257)
%t83 = icmp ne i32 %t82, 0
%t84 = zext i1 %t83 to i32
store i32 %t84, ptr %t44
@@ -19386,14 +19867,14 @@ then23:
br label %ret
ifend25:
%t92 = load ptr, ptr %t0
- %t93 = call i32 @fn_str_eq(ptr %t92, ptr @.str235)
+ %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str258)
%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 @fn_str_eq(ptr %t96, ptr @.str236)
+ %t97 = call i32 @lp_str_eq(ptr %t96, ptr @.str259)
%t98 = icmp ne i32 %t97, 0
%t99 = zext i1 %t98 to i32
store i32 %t99, ptr %t91
@@ -19406,7 +19887,7 @@ scend27:
br i1 %t101, label %scend29, label %sc28
sc28:
%t103 = load ptr, ptr %t0
- %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str237)
+ %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str260)
%t105 = icmp ne i32 %t104, 0
%t106 = zext i1 %t105 to i32
store i32 %t106, ptr %t90
@@ -19419,7 +19900,7 @@ scend29:
br i1 %t108, label %scend31, label %sc30
sc30:
%t110 = load ptr, ptr %t0
- %t111 = call i32 @fn_str_eq(ptr %t110, ptr @.str238)
+ %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str261)
%t112 = icmp ne i32 %t111, 0
%t113 = zext i1 %t112 to i32
store i32 %t113, ptr %t89
@@ -19432,7 +19913,7 @@ scend31:
br i1 %t115, label %scend33, label %sc32
sc32:
%t117 = load ptr, ptr %t0
- %t118 = call i32 @fn_str_eq(ptr %t117, ptr @.str239)
+ %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str262)
%t119 = icmp ne i32 %t118, 0
%t120 = zext i1 %t119 to i32
store i32 %t120, ptr %t88
@@ -19445,7 +19926,7 @@ scend33:
br i1 %t122, label %scend35, label %sc34
sc34:
%t124 = load ptr, ptr %t0
- %t125 = call i32 @fn_str_eq(ptr %t124, ptr @.str240)
+ %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str263)
%t126 = icmp ne i32 %t125, 0
%t127 = zext i1 %t126 to i32
store i32 %t127, ptr %t87
@@ -19459,7 +19940,7 @@ then36:
br label %ret
ifend38:
%t130 = load ptr, ptr %t0
- %t131 = call i32 @fn_str_eq(ptr %t130, ptr @.str241)
+ %t131 = call i32 @lp_str_eq(ptr %t130, ptr @.str264)
%t132 = icmp ne i32 %t131, 0
br i1 %t132, label %then39, label %ifend41
then39:
@@ -19467,14 +19948,14 @@ then39:
br label %ret
ifend41:
%t139 = load ptr, ptr %t0
- %t140 = call i32 @fn_str_eq(ptr %t139, ptr @.str242)
+ %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str265)
%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 @fn_str_eq(ptr %t143, ptr @.str243)
+ %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str266)
%t145 = icmp ne i32 %t144, 0
%t146 = zext i1 %t145 to i32
store i32 %t146, ptr %t138
@@ -19487,7 +19968,7 @@ scend43:
br i1 %t148, label %scend45, label %sc44
sc44:
%t150 = load ptr, ptr %t0
- %t151 = call i32 @fn_str_eq(ptr %t150, ptr @.str244)
+ %t151 = call i32 @lp_str_eq(ptr %t150, ptr @.str267)
%t152 = icmp ne i32 %t151, 0
%t153 = zext i1 %t152 to i32
store i32 %t153, ptr %t137
@@ -19500,7 +19981,7 @@ scend45:
br i1 %t155, label %scend47, label %sc46
sc46:
%t157 = load ptr, ptr %t0
- %t158 = call i32 @fn_str_eq(ptr %t157, ptr @.str245)
+ %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str268)
%t159 = icmp ne i32 %t158, 0
%t160 = zext i1 %t159 to i32
store i32 %t160, ptr %t136
@@ -19513,7 +19994,7 @@ scend47:
br i1 %t162, label %scend49, label %sc48
sc48:
%t164 = load ptr, ptr %t0
- %t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str246)
+ %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str269)
%t166 = icmp ne i32 %t165, 0
%t167 = zext i1 %t166 to i32
store i32 %t167, ptr %t135
@@ -19526,7 +20007,7 @@ scend49:
br i1 %t169, label %scend51, label %sc50
sc50:
%t171 = load ptr, ptr %t0
- %t172 = call i32 @fn_str_eq(ptr %t171, ptr @.str247)
+ %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str270)
%t173 = icmp ne i32 %t172, 0
%t174 = zext i1 %t173 to i32
store i32 %t174, ptr %t134
@@ -19539,7 +20020,7 @@ scend51:
br i1 %t176, label %scend53, label %sc52
sc52:
%t178 = load ptr, ptr %t0
- %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str248)
+ %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str271)
%t180 = icmp ne i32 %t179, 0
%t181 = zext i1 %t180 to i32
store i32 %t181, ptr %t133
@@ -19553,14 +20034,14 @@ then54:
br label %ret
ifend56:
%t189 = load ptr, ptr %t0
- %t190 = call i32 @fn_str_eq(ptr %t189, ptr @.str249)
+ %t190 = call i32 @lp_str_eq(ptr %t189, ptr @.str272)
%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 @fn_str_eq(ptr %t193, ptr @.str250)
+ %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str273)
%t195 = icmp ne i32 %t194, 0
%t196 = zext i1 %t195 to i32
store i32 %t196, ptr %t188
@@ -19573,7 +20054,7 @@ scend58:
br i1 %t198, label %scend60, label %sc59
sc59:
%t200 = load ptr, ptr %t0
- %t201 = call i32 @fn_str_eq(ptr %t200, ptr @.str251)
+ %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str274)
%t202 = icmp ne i32 %t201, 0
%t203 = zext i1 %t202 to i32
store i32 %t203, ptr %t187
@@ -19586,7 +20067,7 @@ scend60:
br i1 %t205, label %scend62, label %sc61
sc61:
%t207 = load ptr, ptr %t0
- %t208 = call i32 @fn_str_eq(ptr %t207, ptr @.str252)
+ %t208 = call i32 @lp_str_eq(ptr %t207, ptr @.str275)
%t209 = icmp ne i32 %t208, 0
%t210 = zext i1 %t209 to i32
store i32 %t210, ptr %t186
@@ -19599,7 +20080,7 @@ scend62:
br i1 %t212, label %scend64, label %sc63
sc63:
%t214 = load ptr, ptr %t0
- %t215 = call i32 @fn_str_eq(ptr %t214, ptr @.str253)
+ %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str276)
%t216 = icmp ne i32 %t215, 0
%t217 = zext i1 %t216 to i32
store i32 %t217, ptr %t185
@@ -19612,7 +20093,7 @@ scend64:
br i1 %t219, label %scend66, label %sc65
sc65:
%t221 = load ptr, ptr %t0
- %t222 = call i32 @fn_str_eq(ptr %t221, ptr @.str254)
+ %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str277)
%t223 = icmp ne i32 %t222, 0
%t224 = zext i1 %t223 to i32
store i32 %t224, ptr %t184
@@ -19626,14 +20107,14 @@ then67:
br label %ret
ifend69:
%t232 = load ptr, ptr %t0
- %t233 = call i32 @fn_str_eq(ptr %t232, ptr @.str255)
+ %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str278)
%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 @fn_str_eq(ptr %t236, ptr @.str256)
+ %t237 = call i32 @lp_str_eq(ptr %t236, ptr @.str279)
%t238 = icmp ne i32 %t237, 0
%t239 = zext i1 %t238 to i32
store i32 %t239, ptr %t231
@@ -19646,7 +20127,7 @@ scend71:
br i1 %t241, label %scend73, label %sc72
sc72:
%t243 = load ptr, ptr %t0
- %t244 = call i32 @fn_str_eq(ptr %t243, ptr @.str257)
+ %t244 = call i32 @lp_str_eq(ptr %t243, ptr @.str280)
%t245 = icmp ne i32 %t244, 0
%t246 = zext i1 %t245 to i32
store i32 %t246, ptr %t230
@@ -19659,7 +20140,7 @@ scend73:
br i1 %t248, label %scend75, label %sc74
sc74:
%t250 = load ptr, ptr %t0
- %t251 = call i32 @fn_str_eq(ptr %t250, ptr @.str258)
+ %t251 = call i32 @lp_str_eq(ptr %t250, ptr @.str281)
%t252 = icmp ne i32 %t251, 0
%t253 = zext i1 %t252 to i32
store i32 %t253, ptr %t229
@@ -19672,7 +20153,7 @@ scend75:
br i1 %t255, label %scend77, label %sc76
sc76:
%t257 = load ptr, ptr %t0
- %t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str259)
+ %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str282)
%t259 = icmp ne i32 %t258, 0
%t260 = zext i1 %t259 to i32
store i32 %t260, ptr %t228
@@ -19685,7 +20166,7 @@ scend77:
br i1 %t262, label %scend79, label %sc78
sc78:
%t264 = load ptr, ptr %t0
- %t265 = call i32 @fn_str_eq(ptr %t264, ptr @.str260)
+ %t265 = call i32 @lp_str_eq(ptr %t264, ptr @.str283)
%t266 = icmp ne i32 %t265, 0
%t267 = zext i1 %t266 to i32
store i32 %t267, ptr %t227
@@ -19719,7 +20200,7 @@ entry:
%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 @.str261)
+ call void @fn_eat_op(ptr @.str284)
%t7 = load ptr, ptr %t3
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1
%t9 = load ptr, ptr %t8
@@ -19730,14 +20211,14 @@ 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 @fn_str_concat(ptr @.str262, ptr %t14)
- %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str263)
+ %t15 = call ptr @lp_str_concat(ptr @.str285, ptr %t14)
+ %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str286)
call void @fn_perr(ptr %t16)
br label %ifend2
ifend2:
br label %wcond3
wcond3:
- %t17 = call i32 @fn_is_op(ptr @.str264)
+ %t17 = call i32 @fn_is_op(ptr @.str287)
%t18 = icmp eq i32 %t17, 0
%t19 = zext i1 %t18 to i32
%t20 = icmp ne i32 %t19, 0
@@ -19749,7 +20230,7 @@ wbody4:
%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 @.str265)
+ call void @fn_eat_op(ptr @.str288)
%t26 = load ptr, ptr %t22
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3
%t28 = call ptr @fn_ptype()
@@ -19757,34 +20238,34 @@ wbody4:
%t29 = load ptr, ptr %t3
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7
%t31 = load ptr, ptr %t30
- %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1
- %t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2
- %t34 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0
- %t35 = load i32, ptr %t32
+ %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 = icmp sge i32 %t35, %t36
- br i1 %t37, label %grow6, label %put7
+ %t37 = load i32, ptr %t34
+ %t38 = icmp sge i32 %t36, %t37
+ br i1 %t38, label %grow6, label %put7
grow6:
- %t38 = mul i32 %t36, 2
- %t39 = icmp eq i32 %t36, 0
- %t40 = select i1 %t39, i32 8, i32 %t38
- %t41 = getelementptr ptr, ptr null, i32 1
- %t42 = ptrtoint ptr %t41 to i64
- %t43 = zext i32 %t40 to i64
- %t44 = mul i64 %t43, %t42
- %t45 = load ptr, ptr %t34
- %t46 = call ptr @realloc(ptr %t45, i64 %t44)
- store ptr %t46, ptr %t34
- store i32 %t40, ptr %t33
+ %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:
- %t47 = load ptr, ptr %t22
- %t48 = load ptr, ptr %t34
- %t49 = getelementptr inbounds ptr, ptr %t48, i32 %t35
- store ptr %t47, ptr %t49
- %t50 = add i32 %t35, 1
- store i32 %t50, ptr %t32
- %t51 = call i32 @fn_is_op(ptr @.str266)
+ %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 @.str289)
%t52 = icmp ne i32 %t51, 0
br i1 %t52, label %then8, label %ifend10
then8:
@@ -19795,11 +20276,11 @@ then8:
ifend10:
br label %wcond3
wend5:
- call void @fn_eat_op(ptr @.str267)
+ call void @fn_eat_op(ptr @.str290)
%t55 = load ptr, ptr %t3
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3
- store ptr @.str268, ptr %t56
- %t57 = call i32 @fn_is_op(ptr @.str269)
+ store ptr @.str291, ptr %t56
+ %t57 = call i32 @fn_is_op(ptr @.str292)
%t58 = icmp ne i32 %t57, 0
br i1 %t58, label %then11, label %ifend13
then11:
@@ -19872,7 +20353,7 @@ wbody1:
%t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13
%t15 = load ptr, ptr %t14
%t16 = load ptr, ptr %t1
- %t17 = call i32 @fn_str_eq(ptr %t15, ptr %t16)
+ %t17 = call i32 @lp_str_eq(ptr %t15, ptr %t16)
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
@@ -19972,7 +20453,7 @@ then10:
%t52 = load ptr, ptr %t51
%t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 1
%t54 = load ptr, ptr %t53
- %t55 = call ptr @fn_str_concat(ptr %t49, ptr %t54)
+ %t55 = call ptr @lp_str_concat(ptr %t49, ptr %t54)
store ptr %t55, ptr %t48
br label %ifend12
ifend12:
@@ -20046,7 +20527,7 @@ entry:
store i32 %t1, ptr @g_pi
%t2 = call ptr @fn_eat_id()
store ptr %t2, ptr %t3
- call void @fn_eat_op(ptr @.str270)
+ call void @fn_eat_op(ptr @.str293)
call void @fn_skipnl()
%t4 = getelementptr %LSlice, ptr null, i32 1
%t5 = ptrtoint ptr %t4 to i64
@@ -20080,14 +20561,14 @@ entry:
store ptr %t20, ptr %t24
br label %wcond0
wcond0:
- %t25 = call i32 @fn_is_op(ptr @.str271)
+ %t25 = call i32 @fn_is_op(ptr @.str294)
%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 @.str272)
+ %t30 = call i32 @fn_is_id(ptr @.str295)
%t31 = icmp ne i32 %t30, 0
br i1 %t31, label %then3, label %else4
then3:
@@ -20096,7 +20577,7 @@ then3:
store i32 %t33, ptr @g_pi
br label %ifend5
else4:
- %t34 = call i32 @fn_is_id(ptr @.str273)
+ %t34 = call i32 @fn_is_id(ptr @.str296)
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then6, label %ifend8
then6:
@@ -20108,110 +20589,110 @@ then6:
ifend8:
br label %ifend5
ifend5:
- %t38 = call i32 @fn_is_id(ptr @.str274)
+ %t38 = call i32 @fn_is_id(ptr @.str297)
%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 @.str275)
+ call void @fn_perr(ptr @.str298)
br label %ifend11
ifend11:
%t42 = call ptr @fn_parse_fn()
store ptr %t42, ptr %t43
%t44 = load ptr, ptr %t10
- %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1
- %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 2
- %t47 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0
- %t48 = load i32, ptr %t45
+ %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 = icmp sge i32 %t48, %t49
- br i1 %t50, label %grow12, label %put13
+ %t50 = load i32, ptr %t47
+ %t51 = icmp sge i32 %t49, %t50
+ br i1 %t51, label %grow12, label %put13
grow12:
- %t51 = mul i32 %t49, 2
- %t52 = icmp eq i32 %t49, 0
- %t53 = select i1 %t52, i32 8, i32 %t51
- %t54 = getelementptr ptr, ptr null, i32 1
- %t55 = ptrtoint ptr %t54 to i64
- %t56 = zext i32 %t53 to i64
- %t57 = mul i64 %t56, %t55
- %t58 = load ptr, ptr %t47
- %t59 = call ptr @realloc(ptr %t58, i64 %t57)
- store ptr %t59, ptr %t47
- store i32 %t53, ptr %t46
+ %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:
- %t60 = load ptr, ptr %t43
- %t61 = load ptr, ptr %t47
- %t62 = getelementptr inbounds ptr, ptr %t61, i32 %t48
- store ptr %t60, ptr %t62
- %t63 = add i32 %t48, 1
- store i32 %t63, ptr %t45
+ %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 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1
- %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 2
- %t67 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0
- %t68 = load i32, ptr %t65
- %t69 = load i32, ptr %t66
- %t70 = icmp sge i32 %t68, %t69
- br i1 %t70, label %grow14, label %put15
+ %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:
- %t71 = mul i32 %t69, 2
- %t72 = icmp eq i32 %t69, 0
- %t73 = select i1 %t72, i32 8, i32 %t71
- %t74 = getelementptr ptr, ptr null, i32 1
- %t75 = ptrtoint ptr %t74 to i64
- %t76 = zext i32 %t73 to i64
- %t77 = mul i64 %t76, %t75
- %t78 = load ptr, ptr %t67
- %t79 = call ptr @realloc(ptr %t78, i64 %t77)
- store ptr %t79, ptr %t67
- store i32 %t73, ptr %t66
+ %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:
- %t80 = load ptr, ptr %t43
- %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 1
- %t82 = load ptr, ptr %t81
- %t83 = load ptr, ptr %t67
- %t84 = getelementptr inbounds ptr, ptr %t83, i32 %t68
- store ptr %t82, ptr %t84
- %t85 = add i32 %t68, 1
- store i32 %t85, ptr %t65
+ %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 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1
- %t88 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 2
- %t89 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0
- %t90 = load i32, ptr %t87
+ %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 = icmp sge i32 %t90, %t91
- br i1 %t92, label %grow16, label %put17
+ %t92 = load i32, ptr %t89
+ %t93 = icmp sge i32 %t91, %t92
+ br i1 %t93, label %grow16, label %put17
grow16:
- %t93 = mul i32 %t91, 2
- %t94 = icmp eq i32 %t91, 0
- %t95 = select i1 %t94, i32 8, i32 %t93
- %t96 = getelementptr i32, ptr null, i32 1
- %t97 = ptrtoint ptr %t96 to i64
- %t98 = zext i32 %t95 to i64
- %t99 = mul i64 %t98, %t97
- %t100 = load ptr, ptr %t89
- %t101 = call ptr @realloc(ptr %t100, i64 %t99)
- store ptr %t101, ptr %t89
- store i32 %t95, ptr %t88
+ %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:
- %t102 = load i32, ptr %t29
- %t103 = load ptr, ptr %t89
- %t104 = getelementptr inbounds i32, ptr %t103, i32 %t90
- store i32 %t102, ptr %t104
- %t105 = add i32 %t90, 1
- store i32 %t105, ptr %t87
+ %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 @.str276)
+ call void @fn_eat_op(ptr @.str299)
%t106 = load ptr, ptr %t3
%t107 = call ptr @fn_ns_lower(ptr %t106)
- %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str277)
+ %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str300)
store ptr %t108, ptr %t109
store i32 0, ptr %t110
br label %wcond18
@@ -20239,7 +20720,7 @@ wbody19:
%t129 = load i32, ptr %t110
%t130 = getelementptr inbounds ptr, ptr %t128, i32 %t129
%t131 = load ptr, ptr %t130
- %t132 = call ptr @fn_str_concat(ptr %t125, ptr %t131)
+ %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
@@ -20277,33 +20758,33 @@ wend23:
%t154 = load ptr, ptr %t3
call void @fn_register_namespace(ptr %t154)
%t155 = load ptr, ptr @g_g_ns_blocks
- %t156 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1
- %t157 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 2
- %t158 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0
- %t159 = load i32, ptr %t156
+ %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 = icmp sge i32 %t159, %t160
- br i1 %t161, label %grow24, label %put25
+ %t161 = load i32, ptr %t158
+ %t162 = icmp sge i32 %t160, %t161
+ br i1 %t162, label %grow24, label %put25
grow24:
- %t162 = mul i32 %t160, 2
- %t163 = icmp eq i32 %t160, 0
- %t164 = select i1 %t163, i32 8, i32 %t162
- %t165 = getelementptr ptr, ptr null, i32 1
- %t166 = ptrtoint ptr %t165 to i64
- %t167 = zext i32 %t164 to i64
- %t168 = mul i64 %t167, %t166
- %t169 = load ptr, ptr %t158
- %t170 = call ptr @realloc(ptr %t169, i64 %t168)
- store ptr %t170, ptr %t158
- store i32 %t164, ptr %t157
+ %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:
- %t171 = load ptr, ptr %t3
- %t172 = load ptr, ptr %t158
- %t173 = getelementptr inbounds ptr, ptr %t172, i32 %t159
- store ptr %t171, ptr %t173
- %t174 = add i32 %t159, 1
- store i32 %t174, ptr %t156
+ %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:
@@ -20328,75 +20809,75 @@ wbody27:
br i1 %t190, label %then29, label %ifend31
then29:
%t191 = load ptr, ptr @g_g_ns_exports
- %t192 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1
- %t193 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 2
- %t194 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0
- %t195 = load i32, ptr %t192
- %t196 = load i32, ptr %t193
- %t197 = icmp sge i32 %t195, %t196
- br i1 %t197, label %grow32, label %put33
+ %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:
- %t198 = mul i32 %t196, 2
- %t199 = icmp eq i32 %t196, 0
- %t200 = select i1 %t199, i32 8, i32 %t198
- %t201 = getelementptr ptr, ptr null, i32 1
- %t202 = ptrtoint ptr %t201 to i64
- %t203 = zext i32 %t200 to i64
- %t204 = mul i64 %t203, %t202
- %t205 = load ptr, ptr %t194
- %t206 = call ptr @realloc(ptr %t205, i64 %t204)
- store ptr %t206, ptr %t194
- store i32 %t200, ptr %t193
+ %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:
- %t207 = load ptr, ptr %t10
- %t208 = getelementptr inbounds %LSlice, ptr %t207, i32 0, i32 0
- %t209 = load ptr, ptr %t208
- %t210 = load i32, ptr %t110
- %t211 = getelementptr inbounds ptr, ptr %t209, i32 %t210
- %t212 = load ptr, ptr %t211
- %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 1
- %t214 = load ptr, ptr %t213
- %t215 = load ptr, ptr %t194
- %t216 = getelementptr inbounds ptr, ptr %t215, i32 %t195
- store ptr %t214, ptr %t216
- %t217 = add i32 %t195, 1
- store i32 %t217, ptr %t192
+ %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 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 1
- %t220 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 2
- %t221 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 0
- %t222 = load i32, ptr %t219
- %t223 = load i32, ptr %t220
- %t224 = icmp sge i32 %t222, %t223
- br i1 %t224, label %grow34, label %put35
+ %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:
- %t225 = mul i32 %t223, 2
- %t226 = icmp eq i32 %t223, 0
- %t227 = select i1 %t226, i32 8, i32 %t225
- %t228 = getelementptr ptr, ptr null, i32 1
- %t229 = ptrtoint ptr %t228 to i64
- %t230 = zext i32 %t227 to i64
- %t231 = mul i64 %t230, %t229
- %t232 = load ptr, ptr %t221
- %t233 = call ptr @realloc(ptr %t232, i64 %t231)
- store ptr %t233, ptr %t221
- store i32 %t227, ptr %t220
+ %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:
- %t234 = load ptr, ptr %t10
- %t235 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 0
- %t236 = load ptr, ptr %t235
- %t237 = load i32, ptr %t110
- %t238 = getelementptr inbounds ptr, ptr %t236, i32 %t237
- %t239 = load ptr, ptr %t238
- %t240 = load ptr, ptr %t221
- %t241 = getelementptr inbounds ptr, ptr %t240, i32 %t222
- store ptr %t239, ptr %t241
- %t242 = add i32 %t222, 1
- store i32 %t242, ptr %t219
+ %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
@@ -20454,19 +20935,18 @@ wend2:
%t26 = icmp ne i32 %t25, 0
br i1 %t26, label %then6, label %ifend8
then6:
- store ptr @.str278, ptr %retval
+ store ptr @.str301, ptr %retval
br label %ret
ifend8:
%t27 = load ptr, ptr %t0
%t28 = load i32, ptr %t2
%t29 = add i32 %t28, 1
- %t30 = add i32 0, %t29
- %t31 = call ptr @fn_str_slice(ptr %t27, i32 0, i32 %t30)
- store ptr %t31, ptr %retval
+ %t30 = call ptr @lp_str_slice(ptr %t27, i32 0, i32 %t29)
+ store ptr %t30, ptr %retval
br label %ret
ret:
- %t32 = load ptr, ptr %retval
- ret ptr %t32
+ %t31 = load ptr, ptr %retval
+ ret ptr %t31
}
define ptr @fn_join_path(ptr %arg_dir, ptr %arg_rel) {
@@ -20491,7 +20971,7 @@ then0:
ifend2:
%t10 = load ptr, ptr %t0
%t11 = load ptr, ptr %t1
- %t12 = call ptr @fn_str_concat(ptr %t10, ptr %t11)
+ %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11)
store ptr %t12, ptr %retval
br label %ret
ret:
@@ -20512,8 +20992,8 @@ then0:
ifend2:
store i32 1, ptr @g_g_warned_draw_sprite
%t3 = load ptr, ptr %t0
- %t4 = call ptr @fn_str_concat(ptr @.str279, ptr %t3)
- %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str280)
+ %t4 = call ptr @lp_str_concat(ptr @.str302, ptr %t3)
+ %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str303)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr @__stderrp
%t8 = load ptr, ptr %t6
@@ -20553,7 +21033,7 @@ wbody1:
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
+ %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then3, label %ifend5
then3:
@@ -20597,7 +21077,7 @@ wbody1:
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
+ %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then3, label %ifend5
then3:
@@ -20641,7 +21121,7 @@ wbody1:
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
+ %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then3, label %ifend5
then3:
@@ -20684,7 +21164,7 @@ wbody1:
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
+ %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then3, label %ifend5
then3:
@@ -20696,33 +21176,33 @@ ifend5:
br label %wcond0
wend2:
%t20 = load ptr, ptr @g_g_namespaces
- %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1
- %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2
- %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
- %t24 = load i32, ptr %t21
+ %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 = icmp sge i32 %t24, %t25
- br i1 %t26, label %grow6, label %put7
+ %t26 = load i32, ptr %t23
+ %t27 = icmp sge i32 %t25, %t26
+ br i1 %t27, 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
+ %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:
- %t36 = load ptr, ptr %t0
- %t37 = load ptr, ptr %t23
- %t38 = getelementptr inbounds ptr, ptr %t37, i32 %t24
- store ptr %t36, ptr %t38
- %t39 = add i32 %t24, 1
- store i32 %t39, ptr %t21
+ %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
@@ -20753,7 +21233,7 @@ wbody1:
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
+ %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then3, label %ifend5
then3:
@@ -20797,7 +21277,7 @@ wbody1:
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
+ %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then3, label %ifend5
then3:
@@ -20839,16 +21319,16 @@ entry:
%t18 = alloca ptr
%t19 = alloca ptr
%t25 = alloca ptr
- %t137 = alloca i32
- %t163 = alloca ptr
- %t173 = alloca ptr
- %t202 = alloca ptr
- %t214 = alloca ptr
- %t217 = alloca i32
- %t261 = alloca ptr
- %t313 = alloca ptr
- %t434 = alloca ptr
- %t551 = 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
@@ -20871,7 +21351,7 @@ entry:
store ptr null, ptr %t19
br label %wcond0
wcond0:
- %t20 = call i32 @fn_is_op(ptr @.str281)
+ %t20 = call i32 @fn_is_op(ptr @.str304)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %wbody1, label %wend2
wbody1:
@@ -20881,7 +21361,7 @@ wbody1:
%t24 = call ptr @fn_eat_id()
store ptr %t24, ptr %t25
%t26 = load ptr, ptr %t25
- %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str282)
+ %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str305)
%t28 = icmp ne i32 %t27, 0
br i1 %t28, label %then3, label %else4
then3:
@@ -20889,7 +21369,7 @@ then3:
br label %ifend5
else4:
%t29 = load ptr, ptr %t25
- %t30 = call i32 @fn_str_eq(ptr %t29, ptr @.str283)
+ %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str306)
%t31 = icmp ne i32 %t30, 0
br i1 %t31, label %then6, label %else7
then6:
@@ -20897,18 +21377,18 @@ then6:
br label %ifend8
else7:
%t32 = load ptr, ptr %t25
- %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str284)
+ %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str307)
%t34 = icmp ne i32 %t33, 0
br i1 %t34, label %then9, label %else10
then9:
- call void @fn_eat_op(ptr @.str285)
+ call void @fn_eat_op(ptr @.str308)
%t35 = call ptr @fn_eat_id()
store ptr %t35, ptr %t9
- call void @fn_eat_op(ptr @.str286)
+ call void @fn_eat_op(ptr @.str309)
br label %ifend11
else10:
%t36 = load ptr, ptr %t25
- %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str287)
+ %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str310)
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then12, label %else13
then12:
@@ -20917,25 +21397,25 @@ then12:
br label %ifend14
else13:
%t40 = load ptr, ptr %t25
- %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str288)
+ %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str311)
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then15, label %else16
then15:
- call void @fn_eat_op(ptr @.str289)
+ call void @fn_eat_op(ptr @.str312)
%t43 = call ptr @fn_eat_id()
store ptr %t43, ptr %t2
- call void @fn_eat_op(ptr @.str290)
+ call void @fn_eat_op(ptr @.str313)
br label %ifend17
else16:
%t44 = load ptr, ptr %t25
- %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str291)
+ %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str314)
%t46 = icmp ne i32 %t45, 0
br i1 %t46, label %then18, label %else19
then18:
- call void @fn_eat_op(ptr @.str292)
+ call void @fn_eat_op(ptr @.str315)
%t47 = call ptr @fn_eat_id()
store ptr %t47, ptr %t3
- %t48 = call i32 @fn_is_op(ptr @.str293)
+ %t48 = call i32 @fn_is_op(ptr @.str316)
%t49 = icmp ne i32 %t48, 0
br i1 %t49, label %then21, label %ifend23
then21:
@@ -20943,76 +21423,76 @@ then21:
%t51 = add i32 %t50, 1
store i32 %t51, ptr @g_pi
%t52 = call ptr @fn_eat_id()
- call void @fn_eat_op(ptr @.str294)
+ call void @fn_eat_op(ptr @.str317)
%t53 = call ptr @fn_eat_id()
store ptr %t53, ptr %t4
br label %ifend23
ifend23:
- call void @fn_eat_op(ptr @.str295)
+ call void @fn_eat_op(ptr @.str318)
br label %ifend20
else19:
%t54 = load ptr, ptr %t25
- %t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str296)
+ %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str319)
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %then24, label %else25
then24:
- call void @fn_eat_op(ptr @.str297)
+ call void @fn_eat_op(ptr @.str320)
%t57 = call ptr @fn_eat_id()
store ptr %t57, ptr %t5
- call void @fn_eat_op(ptr @.str298)
+ call void @fn_eat_op(ptr @.str321)
br label %ifend26
else25:
%t58 = load ptr, ptr %t25
- %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str299)
+ %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str322)
%t60 = icmp ne i32 %t59, 0
br i1 %t60, label %then27, label %else28
then27:
- call void @fn_eat_op(ptr @.str300)
+ call void @fn_eat_op(ptr @.str323)
%t61 = call ptr @fn_eat_id()
store ptr %t61, ptr %t6
- call void @fn_eat_op(ptr @.str301)
+ call void @fn_eat_op(ptr @.str324)
br label %ifend29
else28:
%t62 = load ptr, ptr %t25
- %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str302)
+ %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str325)
%t64 = icmp ne i32 %t63, 0
br i1 %t64, label %then30, label %else31
then30:
- call void @fn_eat_op(ptr @.str303)
+ call void @fn_eat_op(ptr @.str326)
%t65 = call ptr @fn_eat_id()
store ptr %t65, ptr %t7
- call void @fn_eat_op(ptr @.str304)
+ call void @fn_eat_op(ptr @.str327)
br label %ifend32
else31:
%t66 = load ptr, ptr %t25
- %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str305)
+ %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str328)
%t68 = icmp ne i32 %t67, 0
br i1 %t68, label %then33, label %else34
then33:
- call void @fn_eat_op(ptr @.str306)
+ call void @fn_eat_op(ptr @.str329)
%t69 = call ptr @fn_eat_id()
store ptr %t69, ptr %t8
- call void @fn_eat_op(ptr @.str307)
+ call void @fn_eat_op(ptr @.str330)
br label %ifend35
else34:
%t70 = load ptr, ptr %t25
- %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str308)
+ %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str331)
%t72 = icmp ne i32 %t71, 0
br i1 %t72, label %then36, label %else37
then36:
- store ptr @.str309, ptr %t11
+ store ptr @.str332, ptr %t11
br label %ifend38
else37:
%t73 = load ptr, ptr %t25
- %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str310)
+ %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str333)
%t75 = icmp ne i32 %t74, 0
br i1 %t75, label %then39, label %else40
then39:
- store ptr @.str311, ptr %t11
+ store ptr @.str334, ptr %t11
br label %ifend41
else40:
%t76 = load ptr, ptr %t25
- %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str312)
+ %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str335)
%t78 = icmp ne i32 %t77, 0
br i1 %t78, label %then42, label %else43
then42:
@@ -21020,7 +21500,7 @@ then42:
br label %ifend44
else43:
%t79 = load ptr, ptr %t25
- %t80 = call i32 @fn_str_eq(ptr %t79, ptr @.str313)
+ %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str336)
%t81 = icmp ne i32 %t80, 0
br i1 %t81, label %then45, label %else46
then45:
@@ -21028,44 +21508,44 @@ then45:
br label %ifend47
else46:
%t82 = load ptr, ptr %t25
- %t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str314)
+ %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str337)
%t84 = icmp ne i32 %t83, 0
br i1 %t84, label %then48, label %else49
then48:
- store ptr @.str315, ptr %t14
+ store ptr @.str338, ptr %t14
br label %ifend50
else49:
%t85 = load ptr, ptr %t25
- %t86 = call i32 @fn_str_eq(ptr %t85, ptr @.str316)
+ %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str339)
%t87 = icmp ne i32 %t86, 0
br i1 %t87, label %then51, label %else52
then51:
- store ptr @.str317, ptr %t14
+ store ptr @.str340, ptr %t14
br label %ifend53
else52:
%t88 = load ptr, ptr %t25
- %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str318)
+ %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str341)
%t90 = icmp ne i32 %t89, 0
br i1 %t90, label %then54, label %else55
then54:
- store ptr @.str319, ptr %t15
+ store ptr @.str342, ptr %t15
br label %ifend56
else55:
%t91 = load ptr, ptr %t25
- %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str320)
+ %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str343)
%t93 = icmp ne i32 %t92, 0
br i1 %t93, label %then57, label %else58
then57:
- store ptr @.str321, ptr %t15
+ store ptr @.str344, ptr %t15
br label %ifend59
else58:
%t94 = load ptr, ptr %t25
- %t95 = call i32 @fn_str_eq(ptr %t94, ptr @.str322)
+ %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str345)
%t96 = icmp ne i32 %t95, 0
br i1 %t96, label %then60, label %else61
then60:
- store ptr @.str323, ptr %t16
- %t97 = call i32 @fn_is_op(ptr @.str324)
+ store ptr @.str346, ptr %t16
+ %t97 = call i32 @fn_is_op(ptr @.str347)
%t98 = icmp ne i32 %t97, 0
br i1 %t98, label %then63, label %ifend65
then63:
@@ -21074,117 +21554,91 @@ then63:
store i32 %t100, ptr @g_pi
%t101 = call ptr @fn_eat_id()
store ptr %t101, ptr %t16
- call void @fn_eat_op(ptr @.str325)
+ call void @fn_eat_op(ptr @.str348)
br label %ifend65
ifend65:
br label %ifend62
else61:
%t102 = load ptr, ptr %t25
- %t103 = call i32 @fn_str_eq(ptr %t102, ptr @.str326)
+ %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str349)
%t104 = icmp ne i32 %t103, 0
br i1 %t104, label %then66, label %else67
then66:
- call void @fn_eat_op(ptr @.str327)
+ call void @fn_eat_op(ptr @.str350)
%t105 = call ptr @fn_eat_id()
store ptr %t105, ptr %t17
- call void @fn_eat_op(ptr @.str328)
+ call void @fn_eat_op(ptr @.str351)
%t106 = call ptr @fn_eat_id()
store ptr %t106, ptr %t18
- call void @fn_eat_op(ptr @.str329)
+ call void @fn_eat_op(ptr @.str352)
br label %ifend68
else67:
%t107 = load ptr, ptr %t25
- %t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str330)
+ %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str353)
%t109 = icmp ne i32 %t108, 0
br i1 %t109, label %then69, label %else70
then69:
- call void @fn_eat_op(ptr @.str331)
+ call void @fn_eat_op(ptr @.str354)
%t110 = call ptr @fn_eat_id()
store ptr %t110, ptr %t19
- call void @fn_eat_op(ptr @.str332)
+ call void @fn_eat_op(ptr @.str355)
br label %ifend71
else70:
%t111 = load ptr, ptr %t25
- %t112 = call i32 @fn_str_eq(ptr %t111, ptr @.str333)
+ %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str356)
%t113 = icmp ne i32 %t112, 0
br i1 %t113, label %then72, label %else73
then72:
- call void @fn_eat_op(ptr @.str334)
- %t114 = load ptr, ptr @g_toks
- %t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0
- %t116 = load ptr, ptr %t115
- %t117 = load i32, ptr @g_pi
- %t118 = getelementptr inbounds ptr, ptr %t116, i32 %t117
- %t119 = load ptr, ptr %t118
- %t120 = getelementptr inbounds %Cmp_Tok, ptr %t119, i32 0, i32 0
- %t121 = load i32, ptr %t120
- %t122 = icmp ne i32 %t121, 1
- %t123 = zext i1 %t122 to i32
- %t124 = icmp ne i32 %t123, 0
- br i1 %t124, label %then75, label %ifend77
-then75:
- call void @fn_perr(ptr @.str335)
- br label %ifend77
-ifend77:
- %t125 = load ptr, ptr @g_toks
- %t126 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0
- %t127 = load ptr, ptr %t126
- %t128 = load i32, ptr @g_pi
- %t129 = getelementptr inbounds ptr, ptr %t127, i32 %t128
- %t130 = load ptr, ptr %t129
- %t131 = getelementptr inbounds %Cmp_Tok, ptr %t130, i32 0, i32 2
- %t132 = load i32, ptr %t131
- store i32 %t132, ptr @g_g_clear_color
+ call void @fn_eat_op(ptr @.str357)
+ %t114 = call ptr @fn_expr()
+ store ptr %t114, ptr @g_g_clear_color
store i32 1, ptr @g_g_has_clear_color
- %t133 = load i32, ptr @g_pi
- %t134 = add i32 %t133, 1
- store i32 %t134, ptr @g_pi
- call void @fn_eat_op(ptr @.str336)
+ call void @fn_eat_op(ptr @.str358)
br label %ifend74
else73:
- %t135 = call i32 @fn_is_op(ptr @.str337)
- %t136 = icmp ne i32 %t135, 0
- br i1 %t136, label %then78, label %ifend80
-then78:
- store i32 0, ptr %t137
- br label %wcond81
-wcond81:
- %t138 = icmp ne i32 1, 0
- br i1 %t138, label %wbody82, label %wend83
-wbody82:
- %t139 = call i32 @fn_is_op(ptr @.str338)
- %t140 = icmp ne i32 %t139, 0
- br i1 %t140, label %then84, label %ifend86
+ %t115 = call i32 @fn_is_op(ptr @.str359)
+ %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 @.str360)
+ %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 @.str361)
+ %t124 = icmp ne i32 %t123, 0
+ br i1 %t124, label %then84, label %ifend86
then84:
- %t141 = load i32, ptr %t137
- %t142 = add i32 %t141, 1
- store i32 %t142, ptr %t137
+ %t125 = load i32, ptr %t117
+ %t126 = sub i32 %t125, 1
+ store i32 %t126, ptr %t117
br label %ifend86
ifend86:
- %t143 = call i32 @fn_is_op(ptr @.str339)
- %t144 = icmp ne i32 %t143, 0
- br i1 %t144, label %then87, label %ifend89
+ %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:
- %t145 = load i32, ptr %t137
- %t146 = sub i32 %t145, 1
- store i32 %t146, ptr %t137
- br label %ifend89
+ br label %wend80
ifend89:
- %t147 = load i32, ptr @g_pi
- %t148 = add i32 %t147, 1
- store i32 %t148, ptr @g_pi
- %t149 = load i32, ptr %t137
- %t150 = icmp eq i32 %t149, 0
- %t151 = zext i1 %t150 to i32
- %t152 = icmp ne i32 %t151, 0
- br i1 %t152, label %then90, label %ifend92
-then90:
- br label %wend83
-ifend92:
- br label %wcond81
-wend83:
- br label %ifend80
-ifend80:
+ br label %wcond78
+wend80:
+ br label %ifend77
+ifend77:
br label %ifend74
ifend74:
br label %ifend71
@@ -21232,972 +21686,974 @@ ifend5:
call void @fn_skipnl()
br label %wcond0
wend2:
- %t153 = call i32 @fn_is_id(ptr @.str340)
- %t154 = icmp ne i32 %t153, 0
- br i1 %t154, label %then93, label %ifend95
+ %t133 = call i32 @fn_is_id(ptr @.str362)
+ %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:
- %t155 = load i32, ptr @g_pi
- %t156 = add i32 %t155, 1
- store i32 %t156, ptr @g_pi
- %t157 = load ptr, ptr @g_toks
- %t158 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0
- %t159 = load ptr, ptr %t158
- %t160 = load i32, ptr @g_pi
- %t161 = getelementptr inbounds ptr, ptr %t159, i32 %t160
- %t162 = load ptr, ptr %t161
- store ptr %t162, ptr %t163
- %t164 = load ptr, ptr %t163
- %t165 = getelementptr inbounds %Cmp_Tok, ptr %t164, i32 0, i32 0
- %t166 = load i32, ptr %t165
- %t167 = icmp ne i32 %t166, 2
- %t168 = zext i1 %t167 to i32
- %t169 = icmp ne i32 %t168, 0
- br i1 %t169, label %then96, label %ifend98
-then96:
- call void @fn_perr(ptr @.str341)
- br label %ifend98
-ifend98:
- %t170 = load ptr, ptr %t163
- %t171 = getelementptr inbounds %Cmp_Tok, ptr %t170, i32 0, i32 1
- %t172 = load ptr, ptr %t171
- store ptr %t172, ptr %t173
- %t174 = load i32, ptr @g_pi
- %t175 = add i32 %t174, 1
- store i32 %t175, ptr @g_pi
- %t176 = load ptr, ptr %t173
- call void @fn_do_import(ptr %t176)
- br label %ret
+ call void @fn_perr(ptr @.str363)
+ br label %ifend95
ifend95:
- %t177 = call i32 @fn_is_id(ptr @.str342)
- %t178 = icmp ne i32 %t177, 0
- br i1 %t178, label %then99, label %ifend101
-then99:
- %t179 = load ptr, ptr @g_prog
- %t180 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 1
- %t181 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 2
- %t182 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 0
- %t183 = load i32, ptr %t180
- %t184 = load i32, ptr %t181
- %t185 = icmp sge i32 %t183, %t184
- br i1 %t185, label %grow102, label %put103
-grow102:
- %t186 = mul i32 %t184, 2
- %t187 = icmp eq i32 %t184, 0
- %t188 = select i1 %t187, i32 8, i32 %t186
- %t189 = getelementptr ptr, ptr null, i32 1
- %t190 = ptrtoint ptr %t189 to i64
- %t191 = zext i32 %t188 to i64
- %t192 = mul i64 %t191, %t190
- %t193 = load ptr, ptr %t182
- %t194 = call ptr @realloc(ptr %t193, i64 %t192)
- store ptr %t194, ptr %t182
- store i32 %t188, ptr %t181
- br label %put103
-put103:
- %t195 = call ptr @fn_parse_enum()
- %t196 = load ptr, ptr %t182
- %t197 = getelementptr inbounds ptr, ptr %t196, i32 %t183
- store ptr %t195, ptr %t197
- %t198 = add i32 %t183, 1
- store i32 %t198, ptr %t180
+ %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
-ifend101:
- %t199 = call i32 @fn_is_id(ptr @.str343)
- %t200 = icmp ne i32 %t199, 0
- br i1 %t200, label %then104, label %ifend106
+ifend92:
+ %t157 = call i32 @fn_is_id(ptr @.str364)
+ %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 @.str365)
+ %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:
- %t201 = call ptr @fn_parse_event()
- store ptr %t201, ptr %t202
- %t203 = load ptr, ptr %t15
- %t204 = icmp ne ptr %t203, null
+ %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 @.str366)
+ %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 %then107, label %ifend109
-then107:
- %t207 = load ptr, ptr %t202
- %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 3
- %t209 = load ptr, ptr %t15
- store ptr %t209, ptr %t208
- br label %ifend109
-ifend109:
- %t210 = load ptr, ptr %t202
- call void @fn_register_event(ptr %t210)
- br label %ret
-ifend106:
- %t211 = call i32 @fn_is_id(ptr @.str344)
- %t212 = icmp ne i32 %t211, 0
- br i1 %t212, label %then110, label %ifend112
-then110:
- %t213 = call ptr @fn_parse_component()
- store ptr %t213, ptr %t214
- %t215 = load i32, ptr %t12
- %t216 = icmp ne i32 %t215, 0
- br i1 %t216, label %then113, label %ifend115
-then113:
- store i32 0, ptr %t217
- br label %wcond116
-wcond116:
- %t218 = load i32, ptr %t217
- %t219 = load ptr, ptr %t214
- %t220 = getelementptr inbounds %Cmp_Node, ptr %t219, i32 0, i32 7
- %t221 = load ptr, ptr %t220
- %t222 = getelementptr inbounds %LSlice, ptr %t221, i32 0, i32 1
- %t223 = load i32, ptr %t222
- %t224 = icmp slt i32 %t218, %t223
- %t225 = zext i1 %t224 to i32
- %t226 = icmp ne i32 %t225, 0
- br i1 %t226, label %wbody117, label %wend118
-wbody117:
- %t227 = load ptr, ptr %t214
- %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 7
- %t229 = load ptr, ptr %t228
- %t230 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 0
- %t231 = load ptr, ptr %t230
- %t232 = load i32, ptr %t217
- %t233 = getelementptr inbounds ptr, ptr %t231, i32 %t232
- %t234 = load ptr, ptr %t233
- %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 2
- store i32 1, ptr %t235
- %t236 = load i32, ptr %t217
- %t237 = add i32 %t236, 1
- store i32 %t237, ptr %t217
- br label %wcond116
-wend118:
- br label %ifend115
-ifend115:
- %t238 = load ptr, ptr @g_prog
- %t239 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1
- %t240 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 2
- %t241 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0
- %t242 = load i32, ptr %t239
- %t243 = load i32, ptr %t240
- %t244 = icmp sge i32 %t242, %t243
- br i1 %t244, label %grow119, label %put120
-grow119:
- %t245 = mul i32 %t243, 2
- %t246 = icmp eq i32 %t243, 0
- %t247 = select i1 %t246, i32 8, i32 %t245
- %t248 = getelementptr ptr, ptr null, i32 1
- %t249 = ptrtoint ptr %t248 to i64
- %t250 = zext i32 %t247 to i64
- %t251 = mul i64 %t250, %t249
- %t252 = load ptr, ptr %t241
- %t253 = call ptr @realloc(ptr %t252, i64 %t251)
- store ptr %t253, ptr %t241
- store i32 %t247, ptr %t240
- br label %put120
-put120:
- %t254 = load ptr, ptr %t214
- %t255 = load ptr, ptr %t241
- %t256 = getelementptr inbounds ptr, ptr %t255, i32 %t242
- store ptr %t254, ptr %t256
- %t257 = add i32 %t242, 1
- store i32 %t257, ptr %t239
- br label %ret
+ 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:
- %t258 = call i32 @fn_is_id(ptr @.str345)
- %t259 = icmp ne i32 %t258, 0
- br i1 %t259, label %then121, label %ifend123
-then121:
- %t260 = call ptr @fn_parse_archetype()
- store ptr %t260, ptr %t261
- %t262 = load i32, ptr %t13
- %t263 = icmp ne i32 %t262, 0
- br i1 %t263, label %then124, label %ifend126
-then124:
- %t264 = load ptr, ptr %t261
- %t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 2
- store i32 1, ptr %t265
- br label %ifend126
-ifend126:
- %t266 = load ptr, ptr @g_prog
- %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 %grow127, label %put128
-grow127:
- %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 %put128
-put128:
- %t282 = load ptr, ptr %t261
- %t283 = load ptr, ptr %t269
- %t284 = getelementptr inbounds ptr, ptr %t283, i32 %t270
- store ptr %t282, ptr %t284
- %t285 = add i32 %t270, 1
- store i32 %t285, ptr %t267
+ %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 @.str367)
+ %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:
- %t286 = call i32 @fn_is_id(ptr @.str346)
- %t287 = icmp ne i32 %t286, 0
- br i1 %t287, label %then129, label %ifend131
-then129:
+ %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 @.str368)
+ %t267 = icmp ne i32 %t266, 0
+ br i1 %t267, label %then126, label %ifend128
+then126:
call void @fn_parse_scene()
br label %ret
-ifend131:
- %t288 = call i32 @fn_is_id(ptr @.str347)
- %t289 = icmp ne i32 %t288, 0
- br i1 %t289, label %then132, label %ifend134
-then132:
- %t290 = load ptr, ptr @g_prog
- %t291 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 1
- %t292 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 2
- %t293 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 0
- %t294 = load i32, ptr %t291
- %t295 = load i32, ptr %t292
- %t296 = icmp sge i32 %t294, %t295
- br i1 %t296, label %grow135, label %put136
-grow135:
- %t297 = mul i32 %t295, 2
- %t298 = icmp eq i32 %t295, 0
- %t299 = select i1 %t298, i32 8, i32 %t297
- %t300 = getelementptr ptr, ptr null, i32 1
- %t301 = ptrtoint ptr %t300 to i64
- %t302 = zext i32 %t299 to i64
- %t303 = mul i64 %t302, %t301
- %t304 = load ptr, ptr %t293
- %t305 = call ptr @realloc(ptr %t304, i64 %t303)
- store ptr %t305, ptr %t293
- store i32 %t299, ptr %t292
- br label %put136
-put136:
- %t306 = call ptr @fn_parse_prefab()
- %t307 = load ptr, ptr %t293
- %t308 = getelementptr inbounds ptr, ptr %t307, i32 %t294
- store ptr %t306, ptr %t308
- %t309 = add i32 %t294, 1
- store i32 %t309, ptr %t291
+ifend128:
+ %t268 = call i32 @fn_is_id(ptr @.str369)
+ %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
-ifend134:
- %t310 = call i32 @fn_is_id(ptr @.str348)
- %t311 = icmp ne i32 %t310, 0
- br i1 %t311, label %then137, label %ifend139
+ifend131:
+ %t290 = call i32 @fn_is_id(ptr @.str370)
+ %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:
- %t312 = call ptr @fn_parse_system()
- store ptr %t312, ptr %t313
- %t314 = load ptr, ptr %t14
- %t315 = icmp ne ptr %t314, null
- %t316 = zext i1 %t315 to i32
- %t317 = icmp ne i32 %t316, 0
- br i1 %t317, label %then140, label %ifend142
+ %t298 = load ptr, ptr %t14
+ %t299 = call i32 @lp_str_eq(ptr %t298, ptr @.str371)
+ %t300 = icmp ne i32 %t299, 0
+ br i1 %t300, label %then140, label %else141
then140:
- %t318 = load ptr, ptr %t14
- %t319 = call i32 @fn_str_eq(ptr %t318, ptr @.str349)
- %t320 = icmp ne i32 %t319, 0
- br i1 %t320, label %then143, label %else144
-then143:
- %t321 = load ptr, ptr %t313
- %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 2
- store i32 1, ptr %t322
- br label %ifend145
-else144:
- %t323 = load ptr, ptr %t313
- %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 2
- store i32 2, ptr %t324
- br label %ifend145
-ifend145:
+ %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:
- %t325 = load ptr, ptr %t9
- %t326 = icmp ne ptr %t325, null
- %t327 = zext i1 %t326 to i32
- %t328 = icmp ne i32 %t327, 0
- br i1 %t328, label %then146, label %ifend148
+ 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:
- %t329 = load ptr, ptr %t9
- %t330 = load ptr, ptr %t313
- %t331 = getelementptr inbounds %Cmp_Node, ptr %t330, i32 0, i32 4
- %t332 = load ptr, ptr %t331
- call void @fn_register_onlisten(ptr %t329, ptr %t332)
+ %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 @.str372, ptr %t323)
+ %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str373)
+ call void @fn_ensure_event(ptr %t325, i32 0)
+ br label %ifend151
+ifend151:
br label %ret
ifend148:
- %t333 = load ptr, ptr %t2
- %t334 = icmp ne ptr %t333, null
- %t335 = zext i1 %t334 to i32
- %t336 = icmp ne i32 %t335, 0
- br i1 %t336, label %then149, label %ifend151
-then149:
- %t337 = load ptr, ptr %t2
- %t338 = load ptr, ptr %t313
- %t339 = getelementptr inbounds %Cmp_Node, ptr %t338, i32 0, i32 4
- %t340 = load ptr, ptr %t339
- call void @fn_register_onspawn(ptr %t337, ptr %t340)
- %t341 = load i32, ptr %t10
- %t342 = icmp ne i32 %t341, 0
- br i1 %t342, label %then152, label %ifend154
+ %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:
- %t343 = load ptr, ptr %t2
- %t344 = call ptr @fn_str_concat(ptr @.str350, ptr %t343)
- %t345 = call ptr @fn_str_concat(ptr %t344, ptr @.str351)
- call void @fn_ensure_event(ptr %t345, i32 0)
- br label %ifend154
-ifend154:
- br label %ret
-ifend151:
- %t346 = load ptr, ptr %t3
- %t347 = icmp ne ptr %t346, null
- %t348 = zext i1 %t347 to i32
- %t349 = icmp ne i32 %t348, 0
- br i1 %t349, label %then155, label %ifend157
+ %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:
- %t350 = load ptr, ptr %t3
- %t351 = load ptr, ptr %t313
- %t352 = getelementptr inbounds %Cmp_Node, ptr %t351, i32 0, i32 4
- %t353 = load ptr, ptr %t352
- %t354 = load ptr, ptr %t4
- call void @fn_register_ondespawn(ptr %t350, ptr %t353, ptr %t354)
- %t355 = load i32, ptr %t10
- %t356 = icmp ne i32 %t355, 0
- br i1 %t356, label %then158, label %ifend160
-then158:
- %t357 = load ptr, ptr %t3
- %t358 = call ptr @fn_str_concat(ptr @.str352, ptr %t357)
- %t359 = call ptr @fn_str_concat(ptr %t358, ptr @.str353)
- call void @fn_ensure_event(ptr %t359, i32 1)
- br label %ifend160
-ifend160:
- br label %ret
+ %t337 = load ptr, ptr %t3
+ %t338 = call ptr @lp_str_concat(ptr @.str374, ptr %t337)
+ %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str375)
+ call void @fn_ensure_event(ptr %t339, i32 1)
+ br label %ifend157
ifend157:
- %t360 = load ptr, ptr %t5
- %t361 = icmp ne ptr %t360, null
- %t362 = zext i1 %t361 to i32
- %t363 = icmp ne i32 %t362, 0
- br i1 %t363, label %then161, label %ifend163
+ 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:
- %t364 = load ptr, ptr %t5
- %t365 = load ptr, ptr %t313
- %t366 = getelementptr inbounds %Cmp_Node, ptr %t365, i32 0, i32 4
- %t367 = load ptr, ptr %t366
- call void @fn_register_onattach(ptr %t364, ptr %t367)
- %t368 = load i32, ptr %t10
- %t369 = icmp ne i32 %t368, 0
- br i1 %t369, label %then164, label %ifend166
-then164:
- %t370 = load ptr, ptr %t5
- %t371 = call ptr @fn_str_concat(ptr @.str354, ptr %t370)
- %t372 = call ptr @fn_str_concat(ptr %t371, ptr @.str355)
- call void @fn_ensure_event(ptr %t372, i32 0)
- br label %ifend166
-ifend166:
- br label %ret
+ %t350 = load ptr, ptr %t5
+ %t351 = call ptr @lp_str_concat(ptr @.str376, ptr %t350)
+ %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str377)
+ call void @fn_ensure_event(ptr %t352, i32 0)
+ br label %ifend163
ifend163:
- %t373 = load ptr, ptr %t6
- %t374 = icmp ne ptr %t373, null
- %t375 = zext i1 %t374 to i32
- %t376 = icmp ne i32 %t375, 0
- br i1 %t376, label %then167, label %ifend169
+ 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:
- %t377 = load ptr, ptr %t6
- %t378 = load ptr, ptr %t313
- %t379 = getelementptr inbounds %Cmp_Node, ptr %t378, i32 0, i32 4
- %t380 = load ptr, ptr %t379
- call void @fn_register_ondetach(ptr %t377, ptr %t380)
- %t381 = load i32, ptr %t10
- %t382 = icmp ne i32 %t381, 0
- br i1 %t382, label %then170, label %ifend172
-then170:
- %t383 = load ptr, ptr %t6
- %t384 = call ptr @fn_str_concat(ptr @.str356, ptr %t383)
- %t385 = call ptr @fn_str_concat(ptr %t384, ptr @.str357)
- call void @fn_ensure_event(ptr %t385, i32 0)
- br label %ifend172
-ifend172:
- br label %ret
+ %t363 = load ptr, ptr %t6
+ %t364 = call ptr @lp_str_concat(ptr @.str378, ptr %t363)
+ %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str379)
+ call void @fn_ensure_event(ptr %t365, i32 0)
+ br label %ifend169
ifend169:
- %t386 = load ptr, ptr %t7
- %t387 = icmp ne ptr %t386, null
- %t388 = zext i1 %t387 to i32
- %t389 = icmp ne i32 %t388, 0
- br i1 %t389, label %then173, label %ifend175
+ 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:
- %t390 = load ptr, ptr %t7
- %t391 = load ptr, ptr %t313
- %t392 = getelementptr inbounds %Cmp_Node, ptr %t391, i32 0, i32 4
- %t393 = load ptr, ptr %t392
- call void @fn_register_onenable(ptr %t390, ptr %t393)
- %t394 = load i32, ptr %t10
- %t395 = icmp ne i32 %t394, 0
- br i1 %t395, label %then176, label %ifend178
-then176:
- %t396 = load ptr, ptr %t7
- %t397 = call ptr @fn_str_concat(ptr @.str358, ptr %t396)
- %t398 = call ptr @fn_str_concat(ptr %t397, ptr @.str359)
- call void @fn_ensure_event(ptr %t398, i32 0)
- br label %ifend178
-ifend178:
- br label %ret
+ %t376 = load ptr, ptr %t7
+ %t377 = call ptr @lp_str_concat(ptr @.str380, ptr %t376)
+ %t378 = call ptr @lp_str_concat(ptr %t377, ptr @.str381)
+ call void @fn_ensure_event(ptr %t378, i32 0)
+ br label %ifend175
ifend175:
- %t399 = load ptr, ptr %t8
- %t400 = icmp ne ptr %t399, null
- %t401 = zext i1 %t400 to i32
- %t402 = icmp ne i32 %t401, 0
- br i1 %t402, label %then179, label %ifend181
-then179:
- %t403 = load ptr, ptr %t8
- %t404 = load ptr, ptr %t313
- %t405 = getelementptr inbounds %Cmp_Node, ptr %t404, i32 0, i32 4
- %t406 = load ptr, ptr %t405
- call void @fn_register_ondisable(ptr %t403, ptr %t406)
- %t407 = load i32, ptr %t10
- %t408 = icmp ne i32 %t407, 0
- br i1 %t408, label %then182, label %ifend184
-then182:
- %t409 = load ptr, ptr %t8
- %t410 = call ptr @fn_str_concat(ptr @.str360, ptr %t409)
- %t411 = call ptr @fn_str_concat(ptr %t410, ptr @.str361)
- call void @fn_ensure_event(ptr %t411, i32 0)
- br label %ifend184
-ifend184:
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 @.str382, ptr %t389)
+ %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str383)
+ call void @fn_ensure_event(ptr %t391, i32 0)
+ br label %ifend181
ifend181:
- %t412 = load ptr, ptr %t11
- %t413 = icmp ne ptr %t412, null
- %t414 = zext i1 %t413 to i32
- %t415 = icmp ne i32 %t414, 0
- br i1 %t415, label %then185, label %ifend187
+ 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:
- %t416 = load ptr, ptr %t313
- %t417 = getelementptr inbounds %Cmp_Node, ptr %t416, i32 0, i32 3
- %t418 = load ptr, ptr %t11
- store ptr %t418, ptr %t417
- %t419 = load i32, ptr %t10
- %t420 = icmp ne i32 %t419, 0
- br i1 %t420, label %then188, label %ifend190
+ %t401 = load ptr, ptr %t11
+ %t402 = call i32 @lp_str_eq(ptr %t401, ptr @.str384)
+ %t403 = icmp ne i32 %t402, 0
+ br i1 %t403, label %then188, label %else189
then188:
- %t421 = load ptr, ptr %t11
- %t422 = call i32 @fn_str_eq(ptr %t421, ptr @.str362)
- %t423 = icmp ne i32 %t422, 0
- br i1 %t423, label %then191, label %else192
-then191:
- call void @fn_ensure_event_empty(ptr @.str363)
- br label %ifend193
-else192:
- call void @fn_ensure_event_empty(ptr @.str364)
- br label %ifend193
-ifend193:
+ call void @fn_ensure_event_empty(ptr @.str385)
+ br label %ifend190
+else189:
+ call void @fn_ensure_event_empty(ptr @.str386)
br label %ifend190
ifend190:
br label %ifend187
ifend187:
- %t424 = load ptr, ptr %t1
- %t425 = icmp ne ptr %t424, null
- %t426 = zext i1 %t425 to i32
- %t427 = icmp ne i32 %t426, 0
- br i1 %t427, label %then194, label %ifend196
-then194:
- %t428 = load ptr, ptr %t1
- %t429 = getelementptr inbounds %Cmp_Node, ptr %t428, i32 0, i32 4
- %t430 = load ptr, ptr %t313
- %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 4
- %t432 = load ptr, ptr %t431
- store ptr %t432, ptr %t429
- %t433 = call ptr @fn_node(i32 7)
- store ptr %t433, ptr %t434
- %t435 = load ptr, ptr %t434
- %t436 = getelementptr inbounds %Cmp_Node, ptr %t435, i32 0, i32 7
- %t437 = load ptr, ptr %t436
- %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 %grow197, label %put198
-grow197:
- %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 %put198
-put198:
- %t453 = load ptr, ptr %t1
- %t454 = load ptr, ptr %t440
- %t455 = getelementptr inbounds ptr, ptr %t454, i32 %t441
- store ptr %t453, ptr %t455
- %t456 = add i32 %t441, 1
- store i32 %t456, ptr %t438
- %t457 = load ptr, ptr %t313
- %t458 = getelementptr inbounds %Cmp_Node, ptr %t457, i32 0, i32 4
- %t459 = load ptr, ptr %t434
- store ptr %t459, ptr %t458
- br label %ifend196
-ifend196:
- %t460 = load ptr, ptr @g_prog
- %t461 = getelementptr inbounds %LSlice, ptr %t460, i32 0, i32 1
- %t462 = getelementptr inbounds %LSlice, ptr %t460, i32 0, i32 2
- %t463 = getelementptr inbounds %LSlice, ptr %t460, i32 0, i32 0
- %t464 = load i32, ptr %t461
- %t465 = load i32, ptr %t462
- %t466 = icmp sge i32 %t464, %t465
- br i1 %t466, label %grow199, label %put200
-grow199:
- %t467 = mul i32 %t465, 2
- %t468 = icmp eq i32 %t465, 0
- %t469 = select i1 %t468, i32 8, i32 %t467
- %t470 = getelementptr ptr, ptr null, i32 1
- %t471 = ptrtoint ptr %t470 to i64
- %t472 = zext i32 %t469 to i64
- %t473 = mul i64 %t472, %t471
- %t474 = load ptr, ptr %t463
- %t475 = call ptr @realloc(ptr %t474, i64 %t473)
- store ptr %t475, ptr %t463
- store i32 %t469, ptr %t462
- br label %put200
-put200:
- %t476 = load ptr, ptr %t313
- %t477 = load ptr, ptr %t463
- %t478 = getelementptr inbounds ptr, ptr %t477, i32 %t464
- store ptr %t476, ptr %t478
- %t479 = add i32 %t464, 1
- store i32 %t479, ptr %t461
+ 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
-ifend139:
- %t480 = call i32 @fn_is_id(ptr @.str365)
- %t481 = icmp ne i32 %t480, 0
- br i1 %t481, label %then201, label %ifend203
-then201:
- %t482 = load ptr, ptr @g_prog
- %t483 = getelementptr inbounds %LSlice, ptr %t482, i32 0, i32 1
- %t484 = getelementptr inbounds %LSlice, ptr %t482, i32 0, i32 2
- %t485 = getelementptr inbounds %LSlice, ptr %t482, i32 0, i32 0
- %t486 = load i32, ptr %t483
- %t487 = load i32, ptr %t484
- %t488 = icmp sge i32 %t486, %t487
- br i1 %t488, label %grow204, label %put205
-grow204:
- %t489 = mul i32 %t487, 2
- %t490 = icmp eq i32 %t487, 0
- %t491 = select i1 %t490, i32 8, i32 %t489
- %t492 = getelementptr ptr, ptr null, i32 1
- %t493 = ptrtoint ptr %t492 to i64
- %t494 = zext i32 %t491 to i64
- %t495 = mul i64 %t494, %t493
- %t496 = load ptr, ptr %t485
- %t497 = call ptr @realloc(ptr %t496, i64 %t495)
- store ptr %t497, ptr %t485
- store i32 %t491, ptr %t484
- br label %put205
-put205:
- %t498 = call ptr @fn_parse_ui()
- %t499 = load ptr, ptr %t485
- %t500 = getelementptr inbounds ptr, ptr %t499, i32 %t486
- store ptr %t498, ptr %t500
- %t501 = add i32 %t486, 1
- store i32 %t501, ptr %t483
+ifend136:
+ %t460 = call i32 @fn_is_id(ptr @.str387)
+ %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
-ifend203:
- %t502 = call i32 @fn_is_id(ptr @.str366)
- %t503 = icmp ne i32 %t502, 0
- br i1 %t503, label %then206, label %ifend208
-then206:
+ifend200:
+ %t482 = call i32 @fn_is_id(ptr @.str388)
+ %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 @.str389)
+ %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:
- %t504 = call i32 @fn_is_id(ptr @.str367)
- %t505 = icmp ne i32 %t504, 0
- br i1 %t505, label %then209, label %ifend211
-then209:
- %t506 = load ptr, ptr @g_prog
- %t507 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 1
- %t508 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 2
- %t509 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 0
- %t510 = load i32, ptr %t507
- %t511 = load i32, ptr %t508
- %t512 = icmp sge i32 %t510, %t511
- br i1 %t512, label %grow212, label %put213
-grow212:
- %t513 = mul i32 %t511, 2
- %t514 = icmp eq i32 %t511, 0
- %t515 = select i1 %t514, i32 8, i32 %t513
- %t516 = getelementptr ptr, ptr null, i32 1
- %t517 = ptrtoint ptr %t516 to i64
- %t518 = zext i32 %t515 to i64
- %t519 = mul i64 %t518, %t517
- %t520 = load ptr, ptr %t509
- %t521 = call ptr @realloc(ptr %t520, i64 %t519)
- store ptr %t521, ptr %t509
- store i32 %t515, ptr %t508
- br label %put213
-put213:
- %t522 = call ptr @fn_parse_var()
- %t523 = load ptr, ptr %t509
- %t524 = getelementptr inbounds ptr, ptr %t523, i32 %t510
- store ptr %t522, ptr %t524
- %t525 = add i32 %t510, 1
- store i32 %t525, ptr %t507
+ %t506 = call i32 @fn_is_id(ptr @.str390)
+ %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
-ifend211:
- %t526 = call i32 @fn_is_id(ptr @.str368)
- %t527 = icmp ne i32 %t526, 0
- br i1 %t527, label %then214, label %ifend216
-then214:
- %t528 = load ptr, ptr @g_prog
- %t529 = getelementptr inbounds %LSlice, ptr %t528, i32 0, i32 1
- %t530 = getelementptr inbounds %LSlice, ptr %t528, i32 0, i32 2
- %t531 = getelementptr inbounds %LSlice, ptr %t528, i32 0, i32 0
- %t532 = load i32, ptr %t529
- %t533 = load i32, ptr %t530
- %t534 = icmp sge i32 %t532, %t533
- br i1 %t534, label %grow217, label %put218
-grow217:
- %t535 = mul i32 %t533, 2
- %t536 = icmp eq i32 %t533, 0
- %t537 = select i1 %t536, i32 8, i32 %t535
- %t538 = getelementptr ptr, ptr null, i32 1
- %t539 = ptrtoint ptr %t538 to i64
- %t540 = zext i32 %t537 to i64
- %t541 = mul i64 %t540, %t539
- %t542 = load ptr, ptr %t531
- %t543 = call ptr @realloc(ptr %t542, i64 %t541)
- store ptr %t543, ptr %t531
- store i32 %t537, ptr %t530
- br label %put218
-put218:
- %t544 = call ptr @fn_parse_const()
- %t545 = load ptr, ptr %t531
- %t546 = getelementptr inbounds ptr, ptr %t545, i32 %t532
- store ptr %t544, ptr %t546
- %t547 = add i32 %t532, 1
- store i32 %t547, ptr %t529
- br label %ret
-ifend216:
- %t548 = call i32 @fn_is_id(ptr @.str369)
- %t549 = icmp ne i32 %t548, 0
- br i1 %t549, label %then219, label %ifend221
+ifend213:
+ %t528 = call i32 @fn_is_id(ptr @.str391)
+ %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:
- %t550 = call ptr @fn_parse_fn()
- store ptr %t550, ptr %t551
- %t552 = load i32, ptr %t0
- %t553 = icmp ne i32 %t552, 0
- br i1 %t553, label %then222, label %ifend224
+ %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:
- %t554 = load ptr, ptr %t551
- %t555 = getelementptr inbounds %Cmp_Node, ptr %t554, i32 0, i32 2
- store i32 1, ptr %t555
+ %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:
- %t556 = load ptr, ptr %t16
- %t557 = icmp ne ptr %t556, null
- %t558 = zext i1 %t557 to i32
- %t559 = icmp ne i32 %t558, 0
- br i1 %t559, label %then225, label %ifend227
-then225:
- %t560 = load ptr, ptr @g_g_mod_sys_fn
- %t561 = getelementptr inbounds %LSlice, ptr %t560, i32 0, i32 1
- %t562 = getelementptr inbounds %LSlice, ptr %t560, i32 0, i32 2
- %t563 = getelementptr inbounds %LSlice, ptr %t560, i32 0, i32 0
- %t564 = load i32, ptr %t561
- %t565 = load i32, ptr %t562
- %t566 = icmp sge i32 %t564, %t565
- br i1 %t566, label %grow228, label %put229
-grow228:
- %t567 = mul i32 %t565, 2
- %t568 = icmp eq i32 %t565, 0
- %t569 = select i1 %t568, i32 8, i32 %t567
- %t570 = getelementptr ptr, ptr null, i32 1
- %t571 = ptrtoint ptr %t570 to i64
- %t572 = zext i32 %t569 to i64
- %t573 = mul i64 %t572, %t571
- %t574 = load ptr, ptr %t563
- %t575 = call ptr @realloc(ptr %t574, i64 %t573)
- store ptr %t575, ptr %t563
- store i32 %t569, ptr %t562
- br label %put229
-put229:
- %t576 = load ptr, ptr %t551
- %t577 = getelementptr inbounds %Cmp_Node, ptr %t576, i32 0, i32 1
- %t578 = load ptr, ptr %t577
- %t579 = load ptr, ptr %t563
- %t580 = getelementptr inbounds ptr, ptr %t579, i32 %t564
- store ptr %t578, ptr %t580
- %t581 = add i32 %t564, 1
- store i32 %t581, ptr %t561
- %t582 = load ptr, ptr @g_g_mod_sys_phase
- %t583 = getelementptr inbounds %LSlice, ptr %t582, i32 0, i32 1
- %t584 = getelementptr inbounds %LSlice, ptr %t582, i32 0, i32 2
- %t585 = getelementptr inbounds %LSlice, ptr %t582, i32 0, i32 0
- %t586 = load i32, ptr %t583
- %t587 = load i32, ptr %t584
- %t588 = icmp sge i32 %t586, %t587
- br i1 %t588, label %grow230, label %put231
-grow230:
- %t589 = mul i32 %t587, 2
- %t590 = icmp eq i32 %t587, 0
- %t591 = select i1 %t590, i32 8, i32 %t589
- %t592 = getelementptr ptr, ptr null, i32 1
- %t593 = ptrtoint ptr %t592 to i64
- %t594 = zext i32 %t591 to i64
- %t595 = mul i64 %t594, %t593
- %t596 = load ptr, ptr %t585
- %t597 = call ptr @realloc(ptr %t596, i64 %t595)
- store ptr %t597, ptr %t585
- store i32 %t591, ptr %t584
- br label %put231
-put231:
- %t598 = load ptr, ptr %t16
- %t599 = load ptr, ptr %t585
- %t600 = getelementptr inbounds ptr, ptr %t599, i32 %t586
- store ptr %t598, ptr %t600
- %t601 = add i32 %t586, 1
- store i32 %t601, ptr %t583
- br label %ifend227
-ifend227:
- %t602 = load ptr, ptr %t17
- %t603 = icmp ne ptr %t602, null
- %t604 = zext i1 %t603 to i32
- %t605 = icmp ne i32 %t604, 0
- br i1 %t605, label %then232, label %ifend234
-then232:
- %t606 = load ptr, ptr @g_g_esys_comp
- %t607 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 1
- %t608 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 2
- %t609 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 0
- %t610 = load i32, ptr %t607
- %t611 = load i32, ptr %t608
- %t612 = icmp sge i32 %t610, %t611
- br i1 %t612, label %grow235, label %put236
-grow235:
- %t613 = mul i32 %t611, 2
- %t614 = icmp eq i32 %t611, 0
- %t615 = select i1 %t614, i32 8, i32 %t613
- %t616 = getelementptr ptr, ptr null, i32 1
- %t617 = ptrtoint ptr %t616 to i64
- %t618 = zext i32 %t615 to i64
- %t619 = mul i64 %t618, %t617
- %t620 = load ptr, ptr %t609
- %t621 = call ptr @realloc(ptr %t620, i64 %t619)
- store ptr %t621, ptr %t609
- store i32 %t615, ptr %t608
- br label %put236
-put236:
- %t622 = load ptr, ptr %t17
- %t623 = load ptr, ptr %t609
- %t624 = getelementptr inbounds ptr, ptr %t623, i32 %t610
- store ptr %t622, ptr %t624
- %t625 = add i32 %t610, 1
- store i32 %t625, ptr %t607
- %t626 = load ptr, ptr @g_g_esys_fn
- %t627 = getelementptr inbounds %LSlice, ptr %t626, i32 0, i32 1
- %t628 = getelementptr inbounds %LSlice, ptr %t626, i32 0, i32 2
- %t629 = getelementptr inbounds %LSlice, ptr %t626, i32 0, i32 0
- %t630 = load i32, ptr %t627
- %t631 = load i32, ptr %t628
- %t632 = icmp sge i32 %t630, %t631
- br i1 %t632, label %grow237, label %put238
-grow237:
- %t633 = mul i32 %t631, 2
- %t634 = icmp eq i32 %t631, 0
- %t635 = select i1 %t634, i32 8, i32 %t633
- %t636 = getelementptr ptr, ptr null, i32 1
- %t637 = ptrtoint ptr %t636 to i64
- %t638 = zext i32 %t635 to i64
- %t639 = mul i64 %t638, %t637
- %t640 = load ptr, ptr %t629
- %t641 = call ptr @realloc(ptr %t640, i64 %t639)
- store ptr %t641, ptr %t629
- store i32 %t635, ptr %t628
- br label %put238
-put238:
- %t642 = load ptr, ptr %t551
- %t643 = getelementptr inbounds %Cmp_Node, ptr %t642, i32 0, i32 1
- %t644 = load ptr, ptr %t643
- %t645 = load ptr, ptr %t629
- %t646 = getelementptr inbounds ptr, ptr %t645, i32 %t630
- store ptr %t644, ptr %t646
- %t647 = add i32 %t630, 1
- store i32 %t647, ptr %t627
- %t648 = load ptr, ptr @g_g_esys_phase
- %t649 = getelementptr inbounds %LSlice, ptr %t648, i32 0, i32 1
- %t650 = getelementptr inbounds %LSlice, ptr %t648, i32 0, i32 2
- %t651 = getelementptr inbounds %LSlice, ptr %t648, i32 0, i32 0
- %t652 = load i32, ptr %t649
- %t653 = load i32, ptr %t650
- %t654 = icmp sge i32 %t652, %t653
- br i1 %t654, label %grow239, label %put240
-grow239:
- %t655 = mul i32 %t653, 2
- %t656 = icmp eq i32 %t653, 0
- %t657 = select i1 %t656, i32 8, i32 %t655
- %t658 = getelementptr ptr, ptr null, i32 1
- %t659 = ptrtoint ptr %t658 to i64
- %t660 = zext i32 %t657 to i64
- %t661 = mul i64 %t660, %t659
- %t662 = load ptr, ptr %t651
- %t663 = call ptr @realloc(ptr %t662, i64 %t661)
- store ptr %t663, ptr %t651
- store i32 %t657, ptr %t650
- br label %put240
-put240:
- %t664 = load ptr, ptr %t18
- %t665 = load ptr, ptr %t651
- %t666 = getelementptr inbounds ptr, ptr %t665, i32 %t652
- store ptr %t664, ptr %t666
- %t667 = add i32 %t652, 1
- store i32 %t667, ptr %t649
- br label %ifend234
-ifend234:
- %t668 = load ptr, ptr %t19
- %t669 = icmp ne ptr %t668, null
- %t670 = zext i1 %t669 to i32
- %t671 = icmp ne i32 %t670, 0
- br i1 %t671, label %then241, label %ifend243
-then241:
- %t672 = load ptr, ptr %t19
- call void @fn_register_namespace(ptr %t672)
- br label %ifend243
-ifend243:
- %t673 = load ptr, ptr @g_prog
- %t674 = getelementptr inbounds %LSlice, ptr %t673, i32 0, i32 1
- %t675 = getelementptr inbounds %LSlice, ptr %t673, i32 0, i32 2
- %t676 = getelementptr inbounds %LSlice, ptr %t673, i32 0, i32 0
- %t677 = load i32, ptr %t674
- %t678 = load i32, ptr %t675
- %t679 = icmp sge i32 %t677, %t678
- br i1 %t679, label %grow244, label %put245
-grow244:
- %t680 = mul i32 %t678, 2
- %t681 = icmp eq i32 %t678, 0
- %t682 = select i1 %t681, i32 8, i32 %t680
- %t683 = getelementptr ptr, ptr null, i32 1
- %t684 = ptrtoint ptr %t683 to i64
- %t685 = zext i32 %t682 to i64
- %t686 = mul i64 %t685, %t684
- %t687 = load ptr, ptr %t676
- %t688 = call ptr @realloc(ptr %t687, i64 %t686)
- store ptr %t688, ptr %t676
- store i32 %t682, ptr %t675
- br label %put245
-put245:
- %t689 = load ptr, ptr %t551
- %t690 = load ptr, ptr %t676
- %t691 = getelementptr inbounds ptr, ptr %t690, i32 %t677
- store ptr %t689, ptr %t691
- %t692 = add i32 %t677, 1
- store i32 %t692, ptr %t674
+ %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
-ifend221:
- %t693 = call i32 @fn_is_id(ptr @.str370)
- %t694 = icmp ne i32 %t693, 0
- br i1 %t694, label %then246, label %ifend248
-then246:
- %t695 = load ptr, ptr @g_prog
- %t696 = getelementptr inbounds %LSlice, ptr %t695, i32 0, i32 1
- %t697 = getelementptr inbounds %LSlice, ptr %t695, i32 0, i32 2
- %t698 = getelementptr inbounds %LSlice, ptr %t695, i32 0, i32 0
- %t699 = load i32, ptr %t696
- %t700 = load i32, ptr %t697
- %t701 = icmp sge i32 %t699, %t700
- br i1 %t701, label %grow249, label %put250
-grow249:
- %t702 = mul i32 %t700, 2
- %t703 = icmp eq i32 %t700, 0
- %t704 = select i1 %t703, i32 8, i32 %t702
- %t705 = getelementptr ptr, ptr null, i32 1
- %t706 = ptrtoint ptr %t705 to i64
- %t707 = zext i32 %t704 to i64
- %t708 = mul i64 %t707, %t706
- %t709 = load ptr, ptr %t698
- %t710 = call ptr @realloc(ptr %t709, i64 %t708)
- store ptr %t710, ptr %t698
- store i32 %t704, ptr %t697
- br label %put250
-put250:
- %t711 = call ptr @fn_parse_extern()
- %t712 = load ptr, ptr %t698
- %t713 = getelementptr inbounds ptr, ptr %t712, i32 %t699
- store ptr %t711, ptr %t713
- %t714 = add i32 %t699, 1
- store i32 %t714, ptr %t696
+ifend218:
+ %t673 = call i32 @fn_is_id(ptr @.str392)
+ %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
-ifend248:
- %t715 = call i32 @fn_is_id(ptr @.str371)
- %t716 = icmp ne i32 %t715, 0
- br i1 %t716, label %then251, label %ifend253
-then251:
- %t717 = load ptr, ptr @g_prog
- %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 %grow254, label %put255
-grow254:
- %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 %put255
-put255:
- %t733 = call ptr @fn_parse_main()
- %t734 = load ptr, ptr %t720
- %t735 = getelementptr inbounds ptr, ptr %t734, i32 %t721
- store ptr %t733, ptr %t735
- %t736 = add i32 %t721, 1
- store i32 %t736, ptr %t718
+ifend245:
+ %t695 = call i32 @fn_is_id(ptr @.str393)
+ %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
-ifend253:
- %t737 = call i32 @fn_is_id(ptr @.str372)
- %t738 = icmp ne i32 %t737, 0
- br i1 %t738, label %then256, label %ifend258
-then256:
- %t739 = load ptr, ptr @g_g_tests
- %t740 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 1
- %t741 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 2
- %t742 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 0
- %t743 = load i32, ptr %t740
- %t744 = load i32, ptr %t741
- %t745 = icmp sge i32 %t743, %t744
- br i1 %t745, label %grow259, label %put260
-grow259:
- %t746 = mul i32 %t744, 2
- %t747 = icmp eq i32 %t744, 0
- %t748 = select i1 %t747, i32 8, i32 %t746
- %t749 = getelementptr ptr, ptr null, i32 1
- %t750 = ptrtoint ptr %t749 to i64
- %t751 = zext i32 %t748 to i64
- %t752 = mul i64 %t751, %t750
- %t753 = load ptr, ptr %t742
- %t754 = call ptr @realloc(ptr %t753, i64 %t752)
- store ptr %t754, ptr %t742
- store i32 %t748, ptr %t741
- br label %put260
-put260:
- %t755 = call ptr @fn_parse_test()
- %t756 = load ptr, ptr %t742
- %t757 = getelementptr inbounds ptr, ptr %t756, i32 %t743
- store ptr %t755, ptr %t757
- %t758 = add i32 %t743, 1
- store i32 %t758, ptr %t740
+ifend250:
+ %t717 = call i32 @fn_is_id(ptr @.str394)
+ %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
-ifend258:
- call void @fn_perr(ptr @.str373)
+ifend255:
+ %t739 = call ptr @fn_tok_desc()
+ %t740 = call ptr @lp_str_concat(ptr @.str395, ptr %t739)
+ call void @fn_perr(ptr %t740)
br label %ret
ret:
ret void
@@ -22233,7 +22689,7 @@ entry:
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then0, label %ifend2
then0:
- call void @fn_perr(ptr @.str374)
+ call void @fn_perr(ptr @.str396)
br label %ifend2
ifend2:
%t22 = call ptr @fn_node(i32 51)
@@ -22274,106 +22730,12 @@ entry:
%t0 = alloca ptr
store ptr %arg_rel, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = getelementptr inbounds i8, ptr %t1, i32 0
- %t3 = load i8, ptr %t2
- %t4 = zext i8 %t3 to i32
- %t5 = icmp ne i32 %t4, 114
- %t6 = zext i1 %t5 to i32
- %t7 = icmp ne i32 %t6, 0
- br i1 %t7, label %then0, label %ifend2
-then0:
- store i32 0, ptr %retval
- br label %ret
-ifend2:
- %t8 = load ptr, ptr %t0
- %t9 = getelementptr inbounds i8, ptr %t8, i32 1
- %t10 = load i8, ptr %t9
- %t11 = zext i8 %t10 to i32
- %t12 = icmp ne i32 %t11, 117
- %t13 = zext i1 %t12 to i32
- %t14 = icmp ne i32 %t13, 0
- br i1 %t14, label %then3, label %ifend5
-then3:
- store i32 0, ptr %retval
- br label %ret
-ifend5:
- %t15 = load ptr, ptr %t0
- %t16 = getelementptr inbounds i8, ptr %t15, i32 2
- %t17 = load i8, ptr %t16
- %t18 = zext i8 %t17 to i32
- %t19 = icmp ne i32 %t18, 110
- %t20 = zext i1 %t19 to i32
- %t21 = icmp ne i32 %t20, 0
- br i1 %t21, label %then6, label %ifend8
-then6:
- store i32 0, ptr %retval
- br label %ret
-ifend8:
- %t22 = load ptr, ptr %t0
- %t23 = getelementptr inbounds i8, ptr %t22, i32 3
- %t24 = load i8, ptr %t23
- %t25 = zext i8 %t24 to i32
- %t26 = icmp ne i32 %t25, 116
- %t27 = zext i1 %t26 to i32
- %t28 = icmp ne i32 %t27, 0
- br i1 %t28, label %then9, label %ifend11
-then9:
- store i32 0, ptr %retval
- br label %ret
-ifend11:
- %t29 = load ptr, ptr %t0
- %t30 = getelementptr inbounds i8, ptr %t29, i32 4
- %t31 = load i8, ptr %t30
- %t32 = zext i8 %t31 to i32
- %t33 = icmp ne i32 %t32, 105
- %t34 = zext i1 %t33 to i32
- %t35 = icmp ne i32 %t34, 0
- br i1 %t35, label %then12, label %ifend14
-then12:
- store i32 0, ptr %retval
- br label %ret
-ifend14:
- %t36 = load ptr, ptr %t0
- %t37 = getelementptr inbounds i8, ptr %t36, i32 5
- %t38 = load i8, ptr %t37
- %t39 = zext i8 %t38 to i32
- %t40 = icmp ne i32 %t39, 109
- %t41 = zext i1 %t40 to i32
- %t42 = icmp ne i32 %t41, 0
- br i1 %t42, label %then15, label %ifend17
-then15:
- store i32 0, ptr %retval
- br label %ret
-ifend17:
- %t43 = load ptr, ptr %t0
- %t44 = getelementptr inbounds i8, ptr %t43, i32 6
- %t45 = load i8, ptr %t44
- %t46 = zext i8 %t45 to i32
- %t47 = icmp ne i32 %t46, 101
- %t48 = zext i1 %t47 to i32
- %t49 = icmp ne i32 %t48, 0
- br i1 %t49, label %then18, label %ifend20
-then18:
- store i32 0, ptr %retval
- br label %ret
-ifend20:
- %t50 = load ptr, ptr %t0
- %t51 = getelementptr inbounds i8, ptr %t50, i32 7
- %t52 = load i8, ptr %t51
- %t53 = zext i8 %t52 to i32
- %t54 = icmp ne i32 %t53, 47
- %t55 = zext i1 %t54 to i32
- %t56 = icmp ne i32 %t55, 0
- br i1 %t56, label %then21, label %ifend23
-then21:
- store i32 0, ptr %retval
- br label %ret
-ifend23:
- store i32 1, ptr %retval
+ %t2 = call i32 @fn_str_starts(ptr %t1, ptr @.str397)
+ store i32 %t2, ptr %retval
br label %ret
ret:
- %t57 = load i32, ptr %retval
- ret i32 %t57
+ %t3 = load i32, ptr %retval
+ ret i32 %t3
}
define i32 @fn_str_less(ptr %arg_a, ptr %arg_b) {
@@ -22457,12 +22819,12 @@ entry:
%t3 = call i64 @strlen(ptr %t2)
%t4 = trunc i64 %t3 to i32
%t5 = sub i32 %t4, 8
- %t6 = call ptr @fn_str_slice(ptr %t1, i32 0, i32 %t5)
+ %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 @fn_fs_list(ptr %t10)
+ %t11 = call ptr @lp_fs_list(ptr %t10)
store ptr %t11, ptr %t12
%t13 = load ptr, ptr %t12
%t14 = icmp eq ptr %t13, null
@@ -22471,7 +22833,7 @@ entry:
br i1 %t16, label %then0, label %ifend2
then0:
%t17 = load ptr, ptr %t7
- %t18 = call ptr @fn_str_concat(ptr @.str375, ptr %t17)
+ %t18 = call ptr @lp_str_concat(ptr @.str398, ptr %t17)
call void @fn_perr(ptr %t18)
br label %ifend2
ifend2:
@@ -22594,8 +22956,8 @@ sc15:
%t107 = load i32, ptr %t99
%t108 = sub i32 %t107, 6
%t109 = load i32, ptr %t99
- %t110 = call ptr @fn_str_slice(ptr %t106, i32 %t108, i32 %t109)
- %t111 = call i32 @fn_str_eq(ptr %t110, ptr @.str376)
+ %t110 = call ptr @lp_str_slice(ptr %t106, i32 %t108, i32 %t109)
+ %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str399)
%t112 = icmp ne i32 %t111, 0
%t113 = zext i1 %t112 to i32
store i32 %t113, ptr %t100
@@ -22606,9 +22968,9 @@ scend16:
br i1 %t115, label %then17, label %ifend19
then17:
%t116 = load ptr, ptr %t7
- %t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str377)
+ %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str400)
%t118 = load ptr, ptr %t95
- %t119 = call ptr @fn_str_concat(ptr %t117, ptr %t118)
+ %t119 = call ptr @lp_str_concat(ptr %t117, ptr %t118)
call void @fn_do_import(ptr %t119)
br label %ifend19
ifend19:
@@ -22642,6 +23004,8 @@ entry:
%t163 = alloca ptr
%t165 = alloca i32
%t167 = alloca ptr
+ %t169 = alloca ptr
+ %t171 = alloca i32
store ptr %arg_rel, ptr %t0
%t2 = load ptr, ptr %t0
%t3 = call i64 @strlen(ptr %t2)
@@ -22661,8 +23025,8 @@ sc0:
%t14 = load ptr, ptr %t0
%t15 = call i64 @strlen(ptr %t14)
%t16 = trunc i64 %t15 to i32
- %t17 = call ptr @fn_str_slice(ptr %t9, i32 %t13, i32 %t16)
- %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str378)
+ %t17 = call ptr @lp_str_slice(ptr %t9, i32 %t13, i32 %t16)
+ %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str401)
%t19 = icmp ne i32 %t18, 0
%t20 = zext i1 %t19 to i32
store i32 %t20, ptr %t1
@@ -22723,12 +23087,12 @@ then9:
%t56 = getelementptr ptr, ptr %t55, i32 0
%t57 = load ptr, ptr %t56
%t58 = call ptr @fn_dir_of(ptr %t57)
- %t59 = call ptr @fn_getenv_or(ptr @.str379, ptr %t58)
+ %t59 = call ptr @fn_getenv_or(ptr @.str402, ptr %t58)
%t60 = call ptr @fn_ensure_slash(ptr %t59)
store ptr %t60, ptr %t61
%t62 = load ptr, ptr %t61
%t63 = load ptr, ptr %t0
- %t64 = call ptr @fn_str_concat(ptr %t62, ptr %t63)
+ %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63)
store ptr %t64, ptr %t65
%t66 = load ptr, ptr %t65
%t67 = call ptr @fn_read_file(ptr %t66)
@@ -22770,10 +23134,10 @@ scend16:
%t90 = icmp ne i32 %t89, 0
br i1 %t90, label %then17, label %ifend19
then17:
- %t91 = call ptr @fn_getenv_or(ptr @.str380, ptr @.str381)
+ %t91 = call ptr @fn_getenv_or(ptr @.str403, ptr @.str404)
%t92 = call ptr @fn_ensure_slash(ptr %t91)
%t93 = load ptr, ptr %t0
- %t94 = call ptr @fn_str_concat(ptr %t92, ptr %t93)
+ %t94 = call ptr @lp_str_concat(ptr %t92, ptr %t93)
store ptr %t94, ptr %t95
%t96 = load ptr, ptr %t95
%t97 = call ptr @fn_read_file(ptr %t96)
@@ -22800,33 +23164,33 @@ then23:
br label %ret
ifend25:
%t108 = load ptr, ptr @g_loaded_paths
- %t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1
- %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2
- %t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0
- %t112 = load i32, ptr %t109
+ %t109 = load ptr, ptr %t27
+ %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1
+ %t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2
+ %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0
%t113 = load i32, ptr %t110
- %t114 = icmp sge i32 %t112, %t113
- br i1 %t114, label %grow26, label %put27
+ %t114 = load i32, ptr %t111
+ %t115 = icmp sge i32 %t113, %t114
+ br i1 %t115, label %grow26, label %put27
grow26:
- %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
+ %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 %put27
put27:
- %t124 = load ptr, ptr %t27
- %t125 = load ptr, ptr %t111
- %t126 = getelementptr inbounds ptr, ptr %t125, i32 %t112
- store ptr %t124, ptr %t126
- %t127 = add i32 %t112, 1
- store i32 %t127, ptr %t109
+ %t125 = load ptr, ptr %t112
+ %t126 = getelementptr inbounds ptr, ptr %t125, i32 %t113
+ store ptr %t109, ptr %t126
+ %t127 = add i32 %t113, 1
+ store i32 %t127, ptr %t110
%t128 = load ptr, ptr %t30
%t129 = icmp eq ptr %t128, null
%t130 = zext i1 %t129 to i32
@@ -22834,11 +23198,11 @@ put27:
br i1 %t131, label %then28, label %ifend30
then28:
%t132 = load ptr, ptr %t27
- %t133 = call ptr @fn_str_concat(ptr @.str382, ptr %t132)
+ %t133 = call ptr @lp_str_concat(ptr @.str405, ptr %t132)
call void @fn_perr(ptr %t133)
br label %ifend30
ifend30:
- store ptr @.str383, ptr %t134
+ store ptr @.str406, ptr %t134
%t135 = load ptr, ptr %t27
%t136 = call i64 @strlen(ptr %t135)
%t137 = trunc i64 %t136 to i32
@@ -22861,9 +23225,9 @@ sc31:
%t152 = trunc i64 %t151 to i32
%t153 = sub i32 %t149, %t152
%t154 = load i32, ptr %t138
- %t155 = call ptr @fn_str_slice(ptr %t148, i32 %t153, i32 %t154)
+ %t155 = call ptr @lp_str_slice(ptr %t148, i32 %t153, i32 %t154)
%t156 = load ptr, ptr %t134
- %t157 = call i32 @fn_str_eq(ptr %t155, ptr %t156)
+ %t157 = call i32 @lp_str_eq(ptr %t155, ptr %t156)
%t158 = icmp ne i32 %t157, 0
%t159 = zext i1 %t158 to i32
store i32 %t159, ptr %t139
@@ -22882,38 +23246,49 @@ ifend35:
store i32 %t164, ptr %t165
%t166 = load ptr, ptr @g_cur_dir
store ptr %t166, ptr %t167
- %t168 = load ptr, ptr %t27
- %t169 = call ptr @fn_dir_of(ptr %t168)
- store ptr %t169, ptr @g_cur_dir
- %t170 = load ptr, ptr %t30
- call void @fn_lex(ptr %t170)
+ %t168 = load ptr, ptr @g_g_parse_file
+ store ptr %t168, ptr %t169
+ %t170 = load i32, ptr @g_g_parsing
+ store i32 %t170, ptr %t171
+ %t172 = load ptr, ptr %t27
+ %t173 = call ptr @fn_dir_of(ptr %t172)
+ store ptr %t173, ptr @g_cur_dir
+ %t174 = load ptr, ptr %t27
+ store ptr %t174, ptr @g_g_parse_file
+ store i32 1, ptr @g_g_parsing
+ %t175 = load ptr, ptr %t30
+ call void @fn_lex(ptr %t175)
store i32 0, ptr @g_pi
call void @fn_skipnl()
br label %wcond36
wcond36:
- %t171 = load ptr, ptr @g_toks
- %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0
- %t173 = load ptr, ptr %t172
- %t174 = load i32, ptr @g_pi
- %t175 = getelementptr inbounds ptr, ptr %t173, i32 %t174
- %t176 = load ptr, ptr %t175
- %t177 = getelementptr inbounds %Cmp_Tok, ptr %t176, i32 0, i32 0
- %t178 = load i32, ptr %t177
- %t179 = icmp ne i32 %t178, 5
- %t180 = zext i1 %t179 to i32
- %t181 = icmp ne i32 %t180, 0
- br i1 %t181, label %wbody37, label %wend38
+ %t176 = load ptr, ptr @g_toks
+ %t177 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 0
+ %t178 = load ptr, ptr %t177
+ %t179 = load i32, ptr @g_pi
+ %t180 = getelementptr inbounds ptr, ptr %t178, i32 %t179
+ %t181 = load ptr, ptr %t180
+ %t182 = getelementptr inbounds %Cmp_Tok, ptr %t181, i32 0, i32 0
+ %t183 = load i32, ptr %t182
+ %t184 = icmp ne i32 %t183, 5
+ %t185 = zext i1 %t184 to i32
+ %t186 = icmp ne i32 %t185, 0
+ br i1 %t186, label %wbody37, label %wend38
wbody37:
call void @fn_parse_one_decl()
call void @fn_skipnl()
br label %wcond36
wend38:
- %t182 = load ptr, ptr %t163
- store ptr %t182, ptr @g_toks
- %t183 = load i32, ptr %t165
- store i32 %t183, ptr @g_pi
- %t184 = load ptr, ptr %t167
- store ptr %t184, ptr @g_cur_dir
+ %t187 = load ptr, ptr %t163
+ store ptr %t187, ptr @g_toks
+ %t188 = load i32, ptr %t165
+ store i32 %t188, ptr @g_pi
+ %t189 = load ptr, ptr %t167
+ store ptr %t189, ptr @g_cur_dir
+ %t190 = load ptr, ptr %t169
+ store ptr %t190, ptr @g_g_parse_file
+ %t191 = load i32, ptr %t171
+ store i32 %t191, ptr @g_g_parsing
br label %ret
ret:
ret void
@@ -22930,8 +23305,8 @@ entry:
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then0, label %ifend2
then0:
- store ptr @.str384, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str385)
+ store ptr @.str407, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str408)
%t4 = load ptr, ptr %t1
store ptr %t4, ptr @g_cur_dir
br label %ifend2
@@ -22940,9 +23315,9 @@ ifend2:
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then3, label %ifend5
then3:
- store ptr @.str386, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str387)
- call void @fn_do_import(ptr @.str388)
+ store ptr @.str409, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str410)
+ call void @fn_do_import(ptr @.str411)
%t7 = load ptr, ptr %t1
store ptr %t7, ptr @g_cur_dir
br label %ifend5
@@ -22951,8 +23326,8 @@ ifend5:
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then6, label %ifend8
then6:
- store ptr @.str389, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str390)
+ store ptr @.str412, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str413)
%t10 = load ptr, ptr %t1
store ptr %t10, ptr @g_cur_dir
br label %ifend8
@@ -22961,8 +23336,8 @@ ifend8:
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then9, label %ifend11
then9:
- store ptr @.str391, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str392)
+ store ptr @.str414, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str415)
%t13 = load ptr, ptr %t1
store ptr %t13, ptr @g_cur_dir
br label %ifend11
@@ -22971,8 +23346,8 @@ ifend11:
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then12, label %ifend14
then12:
- store ptr @.str393, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str394)
+ store ptr @.str416, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str417)
%t16 = load ptr, ptr %t1
store ptr %t16, ptr @g_cur_dir
br label %ifend14
@@ -22981,8 +23356,8 @@ ifend14:
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then15, label %ifend17
then15:
- store ptr @.str395, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str396)
+ store ptr @.str418, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str419)
%t19 = load ptr, ptr %t1
store ptr %t19, ptr @g_cur_dir
br label %ifend17
@@ -22991,8 +23366,8 @@ ifend17:
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then18, label %ifend20
then18:
- store ptr @.str397, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str398)
+ store ptr @.str420, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str421)
%t22 = load ptr, ptr %t1
store ptr %t22, ptr @g_cur_dir
br label %ifend20
@@ -23001,8 +23376,8 @@ ifend20:
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then21, label %ifend23
then21:
- store ptr @.str399, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str400)
+ store ptr @.str422, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str423)
%t25 = load ptr, ptr %t1
store ptr %t25, ptr @g_cur_dir
br label %ifend23
@@ -23011,8 +23386,8 @@ ifend23:
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then24, label %ifend26
then24:
- store ptr @.str401, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str402)
+ store ptr @.str424, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str425)
%t28 = load ptr, ptr %t1
store ptr %t28, ptr @g_cur_dir
br label %ifend26
@@ -23021,8 +23396,8 @@ ifend26:
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then27, label %ifend29
then27:
- store ptr @.str403, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str404)
+ store ptr @.str426, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str427)
%t31 = load ptr, ptr %t1
store ptr %t31, ptr @g_cur_dir
br label %ifend29
@@ -23031,10 +23406,10 @@ ifend29:
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then30, label %ifend32
then30:
- store ptr @.str405, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str406)
- call void @fn_do_import(ptr @.str407)
- call void @fn_do_import(ptr @.str408)
+ store ptr @.str428, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str429)
+ call void @fn_do_import(ptr @.str430)
+ call void @fn_do_import(ptr @.str431)
%t34 = load ptr, ptr %t1
store ptr %t34, ptr @g_cur_dir
br label %ifend32
@@ -23043,9 +23418,9 @@ ifend32:
%t36 = icmp ne i32 %t35, 0
br i1 %t36, label %then33, label %ifend35
then33:
- store ptr @.str409, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str410)
- call void @fn_do_import(ptr @.str411)
+ store ptr @.str432, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str433)
+ call void @fn_do_import(ptr @.str434)
%t37 = load ptr, ptr %t1
store ptr %t37, ptr @g_cur_dir
br label %ifend35
@@ -23054,10 +23429,10 @@ ifend35:
%t39 = icmp ne i32 %t38, 0
br i1 %t39, label %then36, label %ifend38
then36:
- store ptr @.str412, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str413)
- call void @fn_do_import(ptr @.str414)
- call void @fn_do_import(ptr @.str415)
+ store ptr @.str435, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str436)
+ call void @fn_do_import(ptr @.str437)
+ call void @fn_do_import(ptr @.str438)
%t40 = load ptr, ptr %t1
store ptr %t40, ptr @g_cur_dir
br label %ifend38
@@ -23066,19 +23441,19 @@ ifend38:
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then39, label %ifend41
then39:
- store ptr @.str416, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str417)
- call void @fn_do_import(ptr @.str418)
- call void @fn_do_import(ptr @.str419)
- call void @fn_do_import(ptr @.str420)
- call void @fn_do_import(ptr @.str421)
- call void @fn_do_import(ptr @.str422)
- call void @fn_do_import(ptr @.str423)
+ store ptr @.str439, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str440)
+ call void @fn_do_import(ptr @.str441)
+ call void @fn_do_import(ptr @.str442)
+ call void @fn_do_import(ptr @.str443)
+ call void @fn_do_import(ptr @.str444)
+ call void @fn_do_import(ptr @.str445)
+ call void @fn_do_import(ptr @.str446)
%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 @.str424)
+ call void @fn_do_import(ptr @.str447)
br label %ifend44
ifend44:
%t45 = load ptr, ptr %t1
@@ -23089,8 +23464,8 @@ ifend41:
%t47 = icmp ne i32 %t46, 0
br i1 %t47, label %then45, label %ifend47
then45:
- store ptr @.str425, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str426)
+ store ptr @.str448, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str449)
%t48 = load ptr, ptr %t1
store ptr %t48, ptr @g_cur_dir
br label %ifend47
@@ -23099,9 +23474,9 @@ ifend47:
%t50 = icmp ne i32 %t49, 0
br i1 %t50, label %then48, label %ifend50
then48:
- store ptr @.str427, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str428)
- call void @fn_do_import(ptr @.str429)
+ store ptr @.str450, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str451)
+ call void @fn_do_import(ptr @.str452)
%t51 = load ptr, ptr %t1
store ptr %t51, ptr @g_cur_dir
br label %ifend50
@@ -23110,9 +23485,9 @@ ifend50:
%t53 = icmp ne i32 %t52, 0
br i1 %t53, label %then51, label %ifend53
then51:
- store ptr @.str430, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str431)
- call void @fn_do_import(ptr @.str432)
+ store ptr @.str453, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str454)
+ call void @fn_do_import(ptr @.str455)
%t54 = load ptr, ptr %t1
store ptr %t54, ptr @g_cur_dir
br label %ifend53
@@ -23121,8 +23496,8 @@ ifend53:
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %then54, label %ifend56
then54:
- store ptr @.str433, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str434)
+ store ptr @.str456, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str457)
%t57 = load ptr, ptr %t1
store ptr %t57, ptr @g_cur_dir
br label %ifend56
@@ -23131,8 +23506,8 @@ ifend56:
%t59 = icmp ne i32 %t58, 0
br i1 %t59, label %then57, label %ifend59
then57:
- store ptr @.str435, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str436)
+ store ptr @.str458, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str459)
%t60 = load ptr, ptr %t1
store ptr %t60, ptr @g_cur_dir
br label %ifend59
@@ -23142,9 +23517,9 @@ ifend59:
br i1 %t62, label %then60, label %ifend62
then60:
store i32 1, ptr @g_g_uses_esys
- store ptr @.str437, ptr @g_cur_dir
- call void @fn_do_import(ptr @.str438)
- call void @fn_do_import(ptr @.str439)
+ store ptr @.str460, ptr @g_cur_dir
+ call void @fn_do_import(ptr @.str461)
+ call void @fn_do_import(ptr @.str462)
%t63 = load ptr, ptr %t1
store ptr %t63, ptr @g_cur_dir
br label %ifend62
@@ -23154,8 +23529,8 @@ ifend62:
br i1 %t65, label %then63, label %ifend65
then63:
store i32 1, ptr @g_g_uses_esys
- store ptr @.str440, ptr @g_cur_dir
- %t67 = call ptr @fn_find_comp(ptr @.str441)
+ store ptr @.str463, ptr @g_cur_dir
+ %t67 = call ptr @fn_find_comp(ptr @.str464)
%t68 = icmp ne ptr %t67, null
%t69 = zext i1 %t68 to i32
%t70 = icmp ne i32 %t69, 0
@@ -23163,7 +23538,7 @@ then63:
store i32 %t71, ptr %t66
br i1 %t70, label %scend67, label %sc66
sc66:
- %t72 = call ptr @fn_find_comp(ptr @.str442)
+ %t72 = call ptr @fn_find_comp(ptr @.str465)
%t73 = icmp ne ptr %t72, null
%t74 = zext i1 %t73 to i32
%t75 = icmp ne i32 %t74, 0
@@ -23175,49 +23550,49 @@ scend67:
%t78 = icmp ne i32 %t77, 0
br i1 %t78, label %then68, label %ifend70
then68:
- call void @fn_do_import(ptr @.str443)
+ call void @fn_do_import(ptr @.str466)
br label %ifend70
ifend70:
- %t79 = call ptr @fn_find_comp(ptr @.str444)
+ %t79 = call ptr @fn_find_comp(ptr @.str467)
%t80 = icmp ne ptr %t79, null
%t81 = zext i1 %t80 to i32
%t82 = icmp ne i32 %t81, 0
br i1 %t82, label %then71, label %ifend73
then71:
- call void @fn_do_import(ptr @.str445)
- call void @fn_do_import(ptr @.str446)
+ call void @fn_do_import(ptr @.str468)
+ call void @fn_do_import(ptr @.str469)
br label %ifend73
ifend73:
- %t83 = call ptr @fn_find_comp(ptr @.str447)
+ %t83 = call ptr @fn_find_comp(ptr @.str470)
%t84 = icmp ne ptr %t83, null
%t85 = zext i1 %t84 to i32
%t86 = icmp ne i32 %t85, 0
br i1 %t86, label %then74, label %ifend76
then74:
- call void @fn_do_import(ptr @.str448)
- call void @fn_do_import(ptr @.str449)
+ call void @fn_do_import(ptr @.str471)
+ call void @fn_do_import(ptr @.str472)
br label %ifend76
ifend76:
- %t87 = call ptr @fn_find_comp(ptr @.str450)
+ %t87 = call ptr @fn_find_comp(ptr @.str473)
%t88 = icmp ne ptr %t87, null
%t89 = zext i1 %t88 to i32
%t90 = icmp ne i32 %t89, 0
br i1 %t90, label %then77, label %ifend79
then77:
- call void @fn_do_import(ptr @.str451)
- call void @fn_do_import(ptr @.str452)
+ call void @fn_do_import(ptr @.str474)
+ call void @fn_do_import(ptr @.str475)
br label %ifend79
ifend79:
- %t91 = call ptr @fn_find_comp(ptr @.str453)
+ %t91 = call ptr @fn_find_comp(ptr @.str476)
%t92 = icmp ne ptr %t91, null
%t93 = zext i1 %t92 to i32
%t94 = icmp ne i32 %t93, 0
br i1 %t94, label %then80, label %ifend82
then80:
- call void @fn_do_import(ptr @.str454)
+ call void @fn_do_import(ptr @.str477)
br label %ifend82
ifend82:
- %t96 = call ptr @fn_find_comp(ptr @.str455)
+ %t96 = call ptr @fn_find_comp(ptr @.str478)
%t97 = icmp ne ptr %t96, null
%t98 = zext i1 %t97 to i32
%t99 = icmp ne i32 %t98, 0
@@ -23225,7 +23600,7 @@ ifend82:
store i32 %t100, ptr %t95
br i1 %t99, label %scend84, label %sc83
sc83:
- %t101 = call ptr @fn_find_comp(ptr @.str456)
+ %t101 = call ptr @fn_find_comp(ptr @.str479)
%t102 = icmp ne ptr %t101, null
%t103 = zext i1 %t102 to i32
%t104 = icmp ne i32 %t103, 0
@@ -23237,8 +23612,8 @@ scend84:
%t107 = icmp ne i32 %t106, 0
br i1 %t107, label %then85, label %ifend87
then85:
- call void @fn_do_import(ptr @.str457)
- call void @fn_do_import(ptr @.str458)
+ call void @fn_do_import(ptr @.str480)
+ call void @fn_do_import(ptr @.str481)
store i32 1, ptr @g_g_uses_light
br label %ifend87
ifend87:
@@ -23389,7 +23764,7 @@ entry:
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 i32 0, ptr @g_g_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
@@ -23494,7 +23869,7 @@ grow0:
put1:
%t130 = load ptr, ptr %t117
%t131 = getelementptr inbounds ptr, ptr %t130, i32 %t118
- store ptr @.str459, ptr %t131
+ store ptr @.str482, ptr %t131
%t132 = add i32 %t118, 1
store i32 %t132, ptr %t115
%t133 = load ptr, ptr @g_g_esys_fn
@@ -23521,7 +23896,7 @@ grow2:
put3:
%t149 = load ptr, ptr %t136
%t150 = getelementptr inbounds ptr, ptr %t149, i32 %t137
- store ptr @.str460, ptr %t150
+ store ptr @.str483, ptr %t150
%t151 = add i32 %t137, 1
store i32 %t151, ptr %t134
%t152 = load ptr, ptr @g_g_esys_phase
@@ -23548,7 +23923,7 @@ grow4:
put5:
%t168 = load ptr, ptr %t155
%t169 = getelementptr inbounds ptr, ptr %t168, i32 %t156
- store ptr @.str461, ptr %t169
+ store ptr @.str484, ptr %t169
%t170 = add i32 %t156, 1
store i32 %t170, ptr %t153
%t171 = load ptr, ptr @g_g_esys_comp
@@ -23575,7 +23950,7 @@ grow6:
put7:
%t187 = load ptr, ptr %t174
%t188 = getelementptr inbounds ptr, ptr %t187, i32 %t175
- store ptr @.str462, ptr %t188
+ store ptr @.str485, ptr %t188
%t189 = add i32 %t175, 1
store i32 %t189, ptr %t172
%t190 = load ptr, ptr @g_g_esys_fn
@@ -23602,7 +23977,7 @@ grow8:
put9:
%t206 = load ptr, ptr %t193
%t207 = getelementptr inbounds ptr, ptr %t206, i32 %t194
- store ptr @.str463, ptr %t207
+ store ptr @.str486, ptr %t207
%t208 = add i32 %t194, 1
store i32 %t208, ptr %t191
%t209 = load ptr, ptr @g_g_esys_phase
@@ -23629,7 +24004,7 @@ grow10:
put11:
%t225 = load ptr, ptr %t212
%t226 = getelementptr inbounds ptr, ptr %t225, i32 %t213
- store ptr @.str464, ptr %t226
+ store ptr @.str487, ptr %t226
%t227 = add i32 %t213, 1
store i32 %t227, ptr %t210
%t228 = load ptr, ptr @g_g_esys_comp
@@ -23656,7 +24031,7 @@ grow12:
put13:
%t244 = load ptr, ptr %t231
%t245 = getelementptr inbounds ptr, ptr %t244, i32 %t232
- store ptr @.str465, ptr %t245
+ store ptr @.str488, ptr %t245
%t246 = add i32 %t232, 1
store i32 %t246, ptr %t229
%t247 = load ptr, ptr @g_g_esys_fn
@@ -23683,7 +24058,7 @@ grow14:
put15:
%t263 = load ptr, ptr %t250
%t264 = getelementptr inbounds ptr, ptr %t263, i32 %t251
- store ptr @.str466, ptr %t264
+ store ptr @.str489, ptr %t264
%t265 = add i32 %t251, 1
store i32 %t265, ptr %t248
%t266 = load ptr, ptr @g_g_esys_phase
@@ -23710,7 +24085,7 @@ grow16:
put17:
%t282 = load ptr, ptr %t269
%t283 = getelementptr inbounds ptr, ptr %t282, i32 %t270
- store ptr @.str467, ptr %t283
+ store ptr @.str490, ptr %t283
%t284 = add i32 %t270, 1
store i32 %t284, ptr %t267
%t285 = load ptr, ptr @g_g_esys_comp
@@ -23737,7 +24112,7 @@ grow18:
put19:
%t301 = load ptr, ptr %t288
%t302 = getelementptr inbounds ptr, ptr %t301, i32 %t289
- store ptr @.str468, ptr %t302
+ store ptr @.str491, ptr %t302
%t303 = add i32 %t289, 1
store i32 %t303, ptr %t286
%t304 = load ptr, ptr @g_g_esys_fn
@@ -23764,7 +24139,7 @@ grow20:
put21:
%t320 = load ptr, ptr %t307
%t321 = getelementptr inbounds ptr, ptr %t320, i32 %t308
- store ptr @.str469, ptr %t321
+ store ptr @.str492, ptr %t321
%t322 = add i32 %t308, 1
store i32 %t322, ptr %t305
%t323 = load ptr, ptr @g_g_esys_phase
@@ -23791,7 +24166,7 @@ grow22:
put23:
%t339 = load ptr, ptr %t326
%t340 = getelementptr inbounds ptr, ptr %t339, i32 %t327
- store ptr @.str470, ptr %t340
+ store ptr @.str493, ptr %t340
%t341 = add i32 %t327, 1
store i32 %t341, ptr %t324
%t342 = load ptr, ptr @g_g_esys_comp
@@ -23818,7 +24193,7 @@ grow24:
put25:
%t358 = load ptr, ptr %t345
%t359 = getelementptr inbounds ptr, ptr %t358, i32 %t346
- store ptr @.str471, ptr %t359
+ store ptr @.str494, ptr %t359
%t360 = add i32 %t346, 1
store i32 %t360, ptr %t343
%t361 = load ptr, ptr @g_g_esys_fn
@@ -23845,7 +24220,7 @@ grow26:
put27:
%t377 = load ptr, ptr %t364
%t378 = getelementptr inbounds ptr, ptr %t377, i32 %t365
- store ptr @.str472, ptr %t378
+ store ptr @.str495, ptr %t378
%t379 = add i32 %t365, 1
store i32 %t379, ptr %t362
%t380 = load ptr, ptr @g_g_esys_phase
@@ -23872,7 +24247,7 @@ grow28:
put29:
%t396 = load ptr, ptr %t383
%t397 = getelementptr inbounds ptr, ptr %t396, i32 %t384
- store ptr @.str473, ptr %t397
+ store ptr @.str496, ptr %t397
%t398 = add i32 %t384, 1
store i32 %t398, ptr %t381
%t399 = load ptr, ptr @g_g_esys_comp
@@ -23899,7 +24274,7 @@ grow30:
put31:
%t415 = load ptr, ptr %t402
%t416 = getelementptr inbounds ptr, ptr %t415, i32 %t403
- store ptr @.str474, ptr %t416
+ store ptr @.str497, ptr %t416
%t417 = add i32 %t403, 1
store i32 %t417, ptr %t400
%t418 = load ptr, ptr @g_g_esys_fn
@@ -23926,7 +24301,7 @@ grow32:
put33:
%t434 = load ptr, ptr %t421
%t435 = getelementptr inbounds ptr, ptr %t434, i32 %t422
- store ptr @.str475, ptr %t435
+ store ptr @.str498, ptr %t435
%t436 = add i32 %t422, 1
store i32 %t436, ptr %t419
%t437 = load ptr, ptr @g_g_esys_phase
@@ -23953,7 +24328,7 @@ grow34:
put35:
%t453 = load ptr, ptr %t440
%t454 = getelementptr inbounds ptr, ptr %t453, i32 %t441
- store ptr @.str476, ptr %t454
+ store ptr @.str499, ptr %t454
%t455 = add i32 %t441, 1
store i32 %t455, ptr %t438
%t456 = load ptr, ptr @g_g_esys_comp
@@ -23980,7 +24355,7 @@ grow36:
put37:
%t472 = load ptr, ptr %t459
%t473 = getelementptr inbounds ptr, ptr %t472, i32 %t460
- store ptr @.str477, ptr %t473
+ store ptr @.str500, ptr %t473
%t474 = add i32 %t460, 1
store i32 %t474, ptr %t457
%t475 = load ptr, ptr @g_g_esys_fn
@@ -24007,7 +24382,7 @@ grow38:
put39:
%t491 = load ptr, ptr %t478
%t492 = getelementptr inbounds ptr, ptr %t491, i32 %t479
- store ptr @.str478, ptr %t492
+ store ptr @.str501, ptr %t492
%t493 = add i32 %t479, 1
store i32 %t493, ptr %t476
%t494 = load ptr, ptr @g_g_esys_phase
@@ -24034,7 +24409,7 @@ grow40:
put41:
%t510 = load ptr, ptr %t497
%t511 = getelementptr inbounds ptr, ptr %t510, i32 %t498
- store ptr @.str479, ptr %t511
+ store ptr @.str502, ptr %t511
%t512 = add i32 %t498, 1
store i32 %t512, ptr %t495
%t513 = getelementptr %LSlice, ptr null, i32 1
@@ -24078,10 +24453,10 @@ put41:
store i32 0, ptr %t536
store ptr %t533, ptr @g_loaded_paths
call void @fn_skipnl()
- store ptr @.str480, ptr @g_g_game_name
+ store ptr @.str503, ptr @g_g_game_name
br label %wcond42
wcond42:
- %t537 = call i32 @fn_is_id(ptr @.str481)
+ %t537 = call i32 @fn_is_id(ptr @.str504)
%t538 = icmp ne i32 %t537, 0
br i1 %t538, label %wbody43, label %wend44
wbody43:
@@ -24109,7 +24484,7 @@ wbody43:
wend44:
br label %wcond45
wcond45:
- %t555 = call i32 @fn_is_op(ptr @.str482)
+ %t555 = call i32 @fn_is_op(ptr @.str505)
%t556 = icmp ne i32 %t555, 0
br i1 %t556, label %wbody46, label %wend47
wbody46:
@@ -24118,7 +24493,7 @@ wbody46:
store i32 %t558, ptr @g_pi
%t559 = call ptr @fn_eat_id()
store ptr %t559, ptr %t560
- %t561 = call i32 @fn_is_op(ptr @.str483)
+ %t561 = call i32 @fn_is_op(ptr @.str506)
%t562 = icmp ne i32 %t561, 0
br i1 %t562, label %then48, label %ifend50
then48:
@@ -24128,7 +24503,7 @@ wcond51:
%t564 = icmp ne i32 1, 0
br i1 %t564, label %wbody52, label %wend53
wbody52:
- %t565 = call i32 @fn_is_op(ptr @.str484)
+ %t565 = call i32 @fn_is_op(ptr @.str507)
%t566 = icmp ne i32 %t565, 0
br i1 %t566, label %then54, label %ifend56
then54:
@@ -24137,7 +24512,7 @@ then54:
store i32 %t568, ptr %t563
br label %ifend56
ifend56:
- %t569 = call i32 @fn_is_op(ptr @.str485)
+ %t569 = call i32 @fn_is_op(ptr @.str508)
%t570 = icmp ne i32 %t569, 0
br i1 %t570, label %then57, label %ifend59
then57:
@@ -24164,7 +24539,7 @@ ifend50:
call void @fn_skipnl()
br label %wcond45
wend47:
- %t579 = call i32 @fn_is_id(ptr @.str486)
+ %t579 = call i32 @fn_is_id(ptr @.str509)
%t580 = icmp ne i32 %t579, 0
br i1 %t580, label %then63, label %ifend65
then63:
@@ -24174,7 +24549,7 @@ then63:
%t583 = call ptr @fn_eat_id()
store ptr %t583, ptr @g_g_game_name
call void @fn_skipnl()
- call void @fn_eat_op(ptr @.str487)
+ call void @fn_eat_op(ptr @.str510)
br label %ifend65
ifend65:
br label %wcond66
@@ -24198,7 +24573,7 @@ wbody67:
then69:
br label %wend68
ifend71:
- %t596 = call i32 @fn_is_op(ptr @.str488)
+ %t596 = call i32 @fn_is_op(ptr @.str511)
%t597 = icmp ne i32 %t596, 0
br i1 %t597, label %then72, label %ifend74
then72:
@@ -24230,14 +24605,14 @@ entry:
%t6 = call ptr @fn_eat_id()
store ptr %t6, ptr %t5
call void @fn_skipnl()
- call void @fn_eat_op(ptr @.str489)
+ call void @fn_eat_op(ptr @.str512)
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 @.str490)
+ %t8 = call i32 @fn_is_op(ptr @.str513)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
@@ -24245,7 +24620,7 @@ then3:
ifend5:
store i32 0, ptr %t10
store i32 0, ptr %t11
- %t12 = call i32 @fn_is_op(ptr @.str491)
+ %t12 = call i32 @fn_is_op(ptr @.str514)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then6, label %ifend8
then6:
@@ -24255,7 +24630,7 @@ then6:
%t16 = call ptr @fn_eat_id()
store ptr %t16, ptr %t17
%t18 = load ptr, ptr %t17
- %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str492)
+ %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str515)
%t20 = icmp ne i32 %t19, 0
br i1 %t20, label %then9, label %else10
then9:
@@ -24263,7 +24638,7 @@ then9:
br label %ifend11
else10:
%t21 = load ptr, ptr %t17
- %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str493)
+ %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str516)
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then12, label %ifend14
then12:
@@ -24281,12 +24656,12 @@ ifend8:
%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 @.str494)
+ call void @fn_eat_op(ptr @.str517)
%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 @.str495)
+ %t32 = call i32 @fn_is_op(ptr @.str518)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then15, label %ifend17
then15:
@@ -24330,36 +24705,36 @@ else22:
%t57 = load ptr, ptr %t3
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7
%t59 = load ptr, ptr %t58
- %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1
- %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 2
- %t62 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0
- %t63 = load i32, ptr %t60
+ %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 = icmp sge i32 %t63, %t64
- br i1 %t65, label %grow24, label %put25
+ %t65 = load i32, ptr %t62
+ %t66 = icmp sge i32 %t64, %t65
+ br i1 %t66, label %grow24, label %put25
grow24:
- %t66 = mul i32 %t64, 2
- %t67 = icmp eq i32 %t64, 0
- %t68 = select i1 %t67, i32 8, i32 %t66
- %t69 = getelementptr ptr, ptr null, i32 1
- %t70 = ptrtoint ptr %t69 to i64
- %t71 = zext i32 %t68 to i64
- %t72 = mul i64 %t71, %t70
- %t73 = load ptr, ptr %t62
- %t74 = call ptr @realloc(ptr %t73, i64 %t72)
- store ptr %t74, ptr %t62
- store i32 %t68, ptr %t61
+ %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:
- %t75 = load ptr, ptr %t25
- %t76 = load ptr, ptr %t62
- %t77 = getelementptr inbounds ptr, ptr %t76, i32 %t63
- store ptr %t75, ptr %t77
- %t78 = add i32 %t63, 1
- store i32 %t78, ptr %t60
+ %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 @.str496)
+ %t79 = call i32 @fn_is_op(ptr @.str519)
%t80 = icmp ne i32 %t79, 0
br i1 %t80, label %then26, label %ifend28
then26:
@@ -24370,7 +24745,7 @@ then26:
ifend28:
br label %wcond0
wend2:
- call void @fn_eat_op(ptr @.str497)
+ call void @fn_eat_op(ptr @.str520)
%t83 = load ptr, ptr %t3
store ptr %t83, ptr %retval
br label %ret
@@ -24389,7 +24764,7 @@ entry:
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 @.str498)
+ %t4 = call i32 @fn_is_id(ptr @.str521)
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
@@ -24406,14 +24781,14 @@ ifend2:
%t12 = call ptr @fn_eat_id()
store ptr %t12, ptr %t11
call void @fn_skipnl()
- call void @fn_eat_op(ptr @.str499)
+ call void @fn_eat_op(ptr @.str522)
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 @.str500)
+ %t14 = call i32 @fn_is_op(ptr @.str523)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then6, label %ifend8
then6:
@@ -24425,12 +24800,12 @@ ifend8:
%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 @.str501)
+ call void @fn_eat_op(ptr @.str524)
%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 @.str502)
+ %t24 = call i32 @fn_is_op(ptr @.str525)
%t25 = icmp ne i32 %t24, 0
br i1 %t25, label %then9, label %ifend11
then9:
@@ -24446,34 +24821,34 @@ ifend11:
%t31 = load ptr, ptr %t3
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7
%t33 = load ptr, ptr %t32
- %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1
- %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 2
- %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0
- %t37 = load i32, ptr %t34
+ %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 = icmp sge i32 %t37, %t38
- br i1 %t39, label %grow12, label %put13
+ %t39 = load i32, ptr %t36
+ %t40 = icmp sge i32 %t38, %t39
+ br i1 %t40, label %grow12, label %put13
grow12:
- %t40 = mul i32 %t38, 2
- %t41 = icmp eq i32 %t38, 0
- %t42 = select i1 %t41, i32 8, i32 %t40
- %t43 = getelementptr ptr, ptr null, i32 1
- %t44 = ptrtoint ptr %t43 to i64
- %t45 = zext i32 %t42 to i64
- %t46 = mul i64 %t45, %t44
- %t47 = load ptr, ptr %t36
- %t48 = call ptr @realloc(ptr %t47, i64 %t46)
- store ptr %t48, ptr %t36
- store i32 %t42, ptr %t35
+ %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:
- %t49 = load ptr, ptr %t17
- %t50 = load ptr, ptr %t36
- %t51 = getelementptr inbounds ptr, ptr %t50, i32 %t37
- store ptr %t49, ptr %t51
- %t52 = add i32 %t37, 1
- store i32 %t52, ptr %t34
- %t53 = call i32 @fn_is_op(ptr @.str503)
+ %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 @.str526)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then14, label %ifend16
then14:
@@ -24484,7 +24859,7 @@ then14:
ifend16:
br label %wcond3
wend5:
- call void @fn_eat_op(ptr @.str504)
+ call void @fn_eat_op(ptr @.str527)
%t57 = load ptr, ptr %t3
store ptr %t57, ptr %retval
br label %ret
@@ -24510,14 +24885,14 @@ entry:
store ptr %t6, ptr %t5
%t7 = load ptr, ptr %t3
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3
- store ptr @.str505, ptr %t8
+ store ptr @.str528, 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 @.str506)
+ %t10 = call i32 @fn_is_op(ptr @.str529)
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then3, label %ifend5
then3:
@@ -24526,7 +24901,7 @@ then3:
store i32 %t13, ptr @g_pi
%t14 = call ptr @fn_eat_id()
store ptr %t14, ptr %t15
- %t16 = call i32 @fn_is_op(ptr @.str507)
+ %t16 = call i32 @fn_is_op(ptr @.str530)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then6, label %ifend8
then6:
@@ -24536,7 +24911,7 @@ wcond9:
%t19 = icmp ne i32 1, 0
br i1 %t19, label %wbody10, label %wend11
wbody10:
- %t20 = call i32 @fn_is_op(ptr @.str508)
+ %t20 = call i32 @fn_is_op(ptr @.str531)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then12, label %ifend14
then12:
@@ -24545,7 +24920,7 @@ then12:
store i32 %t23, ptr %t18
br label %ifend14
ifend14:
- %t24 = call i32 @fn_is_op(ptr @.str509)
+ %t24 = call i32 @fn_is_op(ptr @.str532)
%t25 = icmp ne i32 %t24, 0
br i1 %t25, label %then15, label %ifend17
then15:
@@ -24571,7 +24946,7 @@ wend11:
ifend8:
br label %wcond0
ifend5:
- %t34 = call i32 @fn_is_id(ptr @.str510)
+ %t34 = call i32 @fn_is_id(ptr @.str533)
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then21, label %ifend23
then21:
@@ -24582,21 +24957,38 @@ then21:
%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 @.str534, ptr %t50)
+ %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str535)
+ call void @fn_perr(ptr %t52)
+ br label %ifend26
+ifend26:
br label %wcond0
ifend23:
br label %wend2
wend2:
call void @fn_skipnl()
- %t41 = load ptr, ptr %t3
- %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 4
- %t43 = call ptr @fn_block()
- store ptr %t43, ptr %t42
- %t44 = load ptr, ptr %t3
- store ptr %t44, ptr %retval
+ %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:
- %t45 = load ptr, ptr %retval
- ret ptr %t45
+ %t57 = load ptr, ptr %retval
+ ret ptr %t57
}
define ptr @fn_parse_query_tail() {
@@ -24605,18 +24997,18 @@ entry:
%t1 = alloca ptr
%t11 = alloca ptr
%t40 = alloca ptr
- call void @fn_eat_op(ptr @.str511)
+ call void @fn_eat_op(ptr @.str536)
%t0 = call ptr @fn_node(i32 7)
store ptr %t0, ptr %t1
br label %wcond0
wcond0:
- %t2 = call i32 @fn_is_op(ptr @.str512)
+ %t2 = call i32 @fn_is_op(ptr @.str537)
%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 @.str513)
+ %t6 = call i32 @fn_is_op(ptr @.str538)
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %then3, label %else4
then3:
@@ -24635,34 +25027,34 @@ then3:
%t17 = load ptr, ptr %t1
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7
%t19 = load ptr, ptr %t18
- %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1
- %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2
- %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
- %t23 = load i32, ptr %t20
+ %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 = icmp sge i32 %t23, %t24
- br i1 %t25, label %grow6, label %put7
+ %t25 = load i32, ptr %t22
+ %t26 = icmp sge i32 %t24, %t25
+ br i1 %t26, label %grow6, label %put7
grow6:
- %t26 = mul i32 %t24, 2
- %t27 = icmp eq i32 %t24, 0
- %t28 = select i1 %t27, i32 8, i32 %t26
- %t29 = getelementptr ptr, ptr null, i32 1
- %t30 = ptrtoint ptr %t29 to i64
- %t31 = zext i32 %t28 to i64
- %t32 = mul i64 %t31, %t30
- %t33 = load ptr, ptr %t22
- %t34 = call ptr @realloc(ptr %t33, i64 %t32)
- store ptr %t34, ptr %t22
- store i32 %t28, ptr %t21
+ %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:
- %t35 = load ptr, ptr %t11
- %t36 = load ptr, ptr %t22
- %t37 = getelementptr inbounds ptr, ptr %t36, i32 %t23
- store ptr %t35, ptr %t37
- %t38 = add i32 %t23, 1
- store i32 %t38, ptr %t20
- call void @fn_eat_op(ptr @.str514)
+ %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 @.str539)
br label %ifend5
else4:
%t39 = call ptr @fn_node(i32 33)
@@ -24677,36 +25069,36 @@ else4:
%t46 = load ptr, ptr %t1
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7
%t48 = load ptr, ptr %t47
- %t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1
- %t50 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 2
- %t51 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0
- %t52 = load i32, ptr %t49
+ %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 = icmp sge i32 %t52, %t53
- br i1 %t54, label %grow8, label %put9
+ %t54 = load i32, ptr %t51
+ %t55 = icmp sge i32 %t53, %t54
+ br i1 %t55, label %grow8, label %put9
grow8:
- %t55 = mul i32 %t53, 2
- %t56 = icmp eq i32 %t53, 0
- %t57 = select i1 %t56, i32 8, i32 %t55
- %t58 = getelementptr ptr, ptr null, i32 1
- %t59 = ptrtoint ptr %t58 to i64
- %t60 = zext i32 %t57 to i64
- %t61 = mul i64 %t60, %t59
- %t62 = load ptr, ptr %t51
- %t63 = call ptr @realloc(ptr %t62, i64 %t61)
- store ptr %t63, ptr %t51
- store i32 %t57, ptr %t50
+ %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:
- %t64 = load ptr, ptr %t40
- %t65 = load ptr, ptr %t51
- %t66 = getelementptr inbounds ptr, ptr %t65, i32 %t52
- store ptr %t64, ptr %t66
- %t67 = add i32 %t52, 1
- store i32 %t67, ptr %t49
+ %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 @.str515)
+ %t68 = call i32 @fn_is_op(ptr @.str540)
%t69 = icmp ne i32 %t68, 0
br i1 %t69, label %then10, label %ifend12
then10:
@@ -24717,8 +25109,8 @@ then10:
ifend12:
br label %wcond0
wend2:
- call void @fn_eat_op(ptr @.str516)
- %t72 = call i32 @fn_is_id(ptr @.str517)
+ call void @fn_eat_op(ptr @.str541)
+ %t72 = call i32 @fn_is_id(ptr @.str542)
%t73 = icmp ne i32 %t72, 0
br i1 %t73, label %then13, label %ifend15
then13:
@@ -24747,10 +25139,10 @@ entry:
%t38 = alloca ptr
%t0 = call ptr @fn_node(i32 21)
store ptr %t0, ptr %t1
- call void @fn_eat_op(ptr @.str518)
+ call void @fn_eat_op(ptr @.str543)
br label %wcond0
wcond0:
- %t2 = call i32 @fn_is_op(ptr @.str519)
+ %t2 = call i32 @fn_is_op(ptr @.str544)
%t3 = icmp eq i32 %t2, 0
%t4 = zext i1 %t3 to i32
%t5 = icmp ne i32 %t4, 0
@@ -24765,34 +25157,34 @@ wbody1:
%t11 = load ptr, ptr %t1
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7
%t13 = load ptr, ptr %t12
- %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1
- %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 2
- %t16 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0
- %t17 = load i32, ptr %t14
+ %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 = icmp sge i32 %t17, %t18
- br i1 %t19, label %grow3, label %put4
+ %t19 = load i32, ptr %t16
+ %t20 = icmp sge i32 %t18, %t19
+ br i1 %t20, label %grow3, label %put4
grow3:
- %t20 = mul i32 %t18, 2
- %t21 = icmp eq i32 %t18, 0
- %t22 = select i1 %t21, i32 8, i32 %t20
- %t23 = getelementptr ptr, ptr null, i32 1
- %t24 = ptrtoint ptr %t23 to i64
- %t25 = zext i32 %t22 to i64
- %t26 = mul i64 %t25, %t24
- %t27 = load ptr, ptr %t16
- %t28 = call ptr @realloc(ptr %t27, i64 %t26)
- store ptr %t28, ptr %t16
- store i32 %t22, ptr %t15
+ %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:
- %t29 = load ptr, ptr %t7
- %t30 = load ptr, ptr %t16
- %t31 = getelementptr inbounds ptr, ptr %t30, i32 %t17
- store ptr %t29, ptr %t31
- %t32 = add i32 %t17, 1
- store i32 %t32, ptr %t14
- %t33 = call i32 @fn_is_op(ptr @.str520)
+ %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 @.str545)
%t34 = icmp ne i32 %t33, 0
br i1 %t34, label %then5, label %ifend7
then5:
@@ -24803,16 +25195,16 @@ then5:
ifend7:
br label %wcond0
wend2:
- call void @fn_eat_op(ptr @.str521)
+ call void @fn_eat_op(ptr @.str546)
%t37 = call ptr @fn_eat_id()
store ptr %t37, ptr %t38
- %t39 = call i32 @fn_is_id(ptr @.str522)
+ %t39 = call i32 @fn_is_id(ptr @.str547)
%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 @.str523)
+ call void @fn_perr(ptr @.str548)
br label %ifend10
ifend10:
%t43 = load i32, ptr @g_pi
@@ -24864,7 +25256,7 @@ ifend2:
store ptr %t7, ptr %t8
%t9 = load ptr, ptr %t8
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1
- store ptr @.str524, ptr %t10
+ store ptr @.str549, ptr %t10
%t11 = load ptr, ptr %t8
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4
%t13 = load ptr, ptr %t0
@@ -25011,7 +25403,7 @@ entry:
%t85 = alloca ptr
%t102 = alloca ptr
%t104 = alloca ptr
- call void @fn_eat_op(ptr @.str525)
+ call void @fn_eat_op(ptr @.str550)
%t0 = call ptr @fn_node(i32 21)
store ptr %t0, ptr %t1
%t2 = call ptr @fn_node(i32 7)
@@ -25019,14 +25411,14 @@ entry:
store ptr null, ptr %t4
br label %wcond0
wcond0:
- %t5 = call i32 @fn_is_op(ptr @.str526)
+ %t5 = call i32 @fn_is_op(ptr @.str551)
%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 @.str527)
+ %t9 = call i32 @fn_is_op(ptr @.str552)
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %then3, label %ifend5
then3:
@@ -25034,17 +25426,17 @@ then3:
ifend5:
%t11 = call ptr @fn_eat_id()
store ptr %t11, ptr %t12
- call void @fn_eat_op(ptr @.str528)
+ call void @fn_eat_op(ptr @.str553)
%t13 = load ptr, ptr %t12
- %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str529)
+ %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str554)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then6, label %else7
then6:
- call void @fn_eat_op(ptr @.str530)
+ call void @fn_eat_op(ptr @.str555)
call void @fn_skipnl()
br label %wcond9
wcond9:
- %t16 = call i32 @fn_is_op(ptr @.str531)
+ %t16 = call i32 @fn_is_op(ptr @.str556)
%t17 = icmp eq i32 %t16, 0
%t18 = zext i1 %t17 to i32
%t19 = icmp ne i32 %t18, 0
@@ -25061,33 +25453,33 @@ wbody10:
%t27 = load ptr, ptr %t1
%t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 7
%t29 = load ptr, ptr %t28
- %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1
- %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 2
- %t32 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0
- %t33 = load i32, ptr %t30
+ %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 = icmp sge i32 %t33, %t34
- br i1 %t35, label %grow12, label %put13
+ %t35 = load i32, ptr %t32
+ %t36 = icmp sge i32 %t34, %t35
+ br i1 %t36, 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
+ %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:
- %t45 = load ptr, ptr %t23
- %t46 = load ptr, ptr %t32
- %t47 = getelementptr inbounds ptr, ptr %t46, i32 %t33
- store ptr %t45, ptr %t47
- %t48 = add i32 %t33, 1
- store i32 %t48, ptr %t30
+ %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
@@ -25100,34 +25492,34 @@ put13:
%t56 = load ptr, ptr %t3
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7
%t58 = load ptr, ptr %t57
- %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1
- %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 2
- %t61 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0
- %t62 = load i32, ptr %t59
+ %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 = icmp sge i32 %t62, %t63
- br i1 %t64, label %grow14, label %put15
+ %t64 = load i32, ptr %t61
+ %t65 = icmp sge i32 %t63, %t64
+ br i1 %t65, label %grow14, label %put15
grow14:
- %t65 = mul i32 %t63, 2
- %t66 = icmp eq i32 %t63, 0
- %t67 = select i1 %t66, i32 8, i32 %t65
- %t68 = getelementptr ptr, ptr null, i32 1
- %t69 = ptrtoint ptr %t68 to i64
- %t70 = zext i32 %t67 to i64
- %t71 = mul i64 %t70, %t69
- %t72 = load ptr, ptr %t61
- %t73 = call ptr @realloc(ptr %t72, i64 %t71)
- store ptr %t73, ptr %t61
- store i32 %t67, ptr %t60
+ %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:
- %t74 = load ptr, ptr %t50
- %t75 = load ptr, ptr %t61
- %t76 = getelementptr inbounds ptr, ptr %t75, i32 %t62
- store ptr %t74, ptr %t76
- %t77 = add i32 %t62, 1
- store i32 %t77, ptr %t59
- %t78 = call i32 @fn_is_op(ptr @.str532)
+ %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 @.str557)
%t79 = icmp ne i32 %t78, 0
br i1 %t79, label %then16, label %ifend18
then16:
@@ -25136,7 +25528,7 @@ then16:
store i32 %t81, ptr @g_pi
%t82 = call ptr @fn_expr()
store ptr %t82, ptr %t83
- call void @fn_eat_op(ptr @.str533)
+ call void @fn_eat_op(ptr @.str558)
%t84 = call ptr @fn_node(i32 33)
store ptr %t84, ptr %t85
%t86 = load ptr, ptr %t85
@@ -25151,7 +25543,7 @@ then16:
store ptr %t93, ptr %t4
br label %ifend18
ifend18:
- %t94 = call i32 @fn_is_op(ptr @.str534)
+ %t94 = call i32 @fn_is_op(ptr @.str559)
%t95 = icmp ne i32 %t94, 0
br i1 %t95, label %then19, label %ifend21
then19:
@@ -25163,11 +25555,11 @@ ifend21:
call void @fn_skipnl()
br label %wcond9
wend11:
- call void @fn_eat_op(ptr @.str535)
+ call void @fn_eat_op(ptr @.str560)
br label %ifend8
else7:
%t98 = load ptr, ptr %t12
- %t99 = call i32 @fn_str_eq(ptr %t98, ptr @.str536)
+ %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str561)
%t100 = icmp ne i32 %t99, 0
br i1 %t100, label %then22, label %else23
then22:
@@ -25185,33 +25577,33 @@ then22:
%t110 = load ptr, ptr %t3
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 7
%t112 = load ptr, ptr %t111
- %t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1
- %t114 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 2
- %t115 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0
- %t116 = load i32, ptr %t113
+ %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 = icmp sge i32 %t116, %t117
- br i1 %t118, label %grow25, label %put26
+ %t118 = load i32, ptr %t115
+ %t119 = icmp sge i32 %t117, %t118
+ br i1 %t119, label %grow25, label %put26
grow25:
- %t119 = mul i32 %t117, 2
- %t120 = icmp eq i32 %t117, 0
- %t121 = select i1 %t120, i32 8, i32 %t119
- %t122 = getelementptr ptr, ptr null, i32 1
- %t123 = ptrtoint ptr %t122 to i64
- %t124 = zext i32 %t121 to i64
- %t125 = mul i64 %t124, %t123
- %t126 = load ptr, ptr %t115
- %t127 = call ptr @realloc(ptr %t126, i64 %t125)
- store ptr %t127, ptr %t115
- store i32 %t121, ptr %t114
+ %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:
- %t128 = load ptr, ptr %t104
- %t129 = load ptr, ptr %t115
- %t130 = getelementptr inbounds ptr, ptr %t129, i32 %t116
- store ptr %t128, ptr %t130
- %t131 = add i32 %t116, 1
- store i32 %t131, ptr %t113
+ %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()
@@ -25219,7 +25611,7 @@ else23:
ifend24:
br label %ifend8
ifend8:
- %t133 = call i32 @fn_is_op(ptr @.str537)
+ %t133 = call i32 @fn_is_op(ptr @.str562)
%t134 = icmp ne i32 %t133, 0
br i1 %t134, label %then27, label %ifend29
then27:
@@ -25231,7 +25623,7 @@ ifend29:
call void @fn_skipnl()
br label %wcond0
wend2:
- call void @fn_eat_op(ptr @.str538)
+ call void @fn_eat_op(ptr @.str563)
%t137 = load ptr, ptr %t1
%t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 6
%t139 = load ptr, ptr %t3
@@ -25262,10 +25654,10 @@ entry:
%t6 = call ptr @fn_eat_id()
store ptr %t6, ptr %t5
call void @fn_skipnl()
- call void @fn_eat_op(ptr @.str539)
+ call void @fn_eat_op(ptr @.str564)
%t7 = load ptr, ptr %t3
call void @fn_parse_component_records(ptr %t7)
- call void @fn_eat_op(ptr @.str540)
+ call void @fn_eat_op(ptr @.str565)
%t8 = load ptr, ptr %t3
store ptr %t8, ptr %retval
br label %ret
@@ -25285,7 +25677,7 @@ wcond0:
br i1 %t1, label %wbody1, label %wend2
wbody1:
call void @fn_skipnl()
- %t2 = call i32 @fn_is_op(ptr @.str541)
+ %t2 = call i32 @fn_is_op(ptr @.str566)
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then3, label %ifend5
then3:
@@ -25304,34 +25696,34 @@ ifend5:
%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 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
+ %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 = icmp sge i32 %t18, %t19
- br i1 %t20, label %grow6, label %put7
+ %t20 = load i32, ptr %t17
+ %t21 = icmp sge i32 %t19, %t20
+ br i1 %t21, label %grow6, label %put7
grow6:
- %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
+ %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:
- %t30 = load ptr, ptr %t5
- %t31 = load ptr, ptr %t17
- %t32 = getelementptr inbounds ptr, ptr %t31, i32 %t18
- store ptr %t30, ptr %t32
- %t33 = add i32 %t18, 1
- store i32 %t33, ptr %t15
- %t34 = call i32 @fn_is_op(ptr @.str542)
+ %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 @.str567)
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then8, label %ifend10
then8:
@@ -25360,16 +25752,16 @@ entry:
%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 @.str543)
+ call void @fn_eat_op(ptr @.str568)
%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 @.str544)
+ call void @fn_eat_op(ptr @.str569)
%t10 = load ptr, ptr %t3
call void @fn_parse_component_records(ptr %t10)
- call void @fn_eat_op(ptr @.str545)
+ call void @fn_eat_op(ptr @.str570)
%t11 = load ptr, ptr %t3
store ptr %t11, ptr %retval
br label %ret
@@ -25415,13 +25807,13 @@ entry:
store ptr null, ptr %t13
br label %wcond0
wcond0:
- %t18 = call i32 @fn_is_id(ptr @.str546)
+ %t18 = call i32 @fn_is_id(ptr @.str571)
%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 @.str547)
+ %t21 = call i32 @fn_is_id(ptr @.str572)
%t22 = icmp ne i32 %t21, 0
%t23 = zext i1 %t22 to i32
store i32 %t23, ptr %t17
@@ -25433,7 +25825,7 @@ scend4:
store i32 %t26, ptr %t16
br i1 %t25, label %scend6, label %sc5
sc5:
- %t27 = call i32 @fn_is_id(ptr @.str548)
+ %t27 = call i32 @fn_is_id(ptr @.str573)
%t28 = icmp ne i32 %t27, 0
%t29 = zext i1 %t28 to i32
store i32 %t29, ptr %t16
@@ -25445,7 +25837,7 @@ scend6:
store i32 %t32, ptr %t15
br i1 %t31, label %scend8, label %sc7
sc7:
- %t33 = call i32 @fn_is_id(ptr @.str549)
+ %t33 = call i32 @fn_is_id(ptr @.str574)
%t34 = icmp ne i32 %t33, 0
%t35 = zext i1 %t34 to i32
store i32 %t35, ptr %t15
@@ -25457,7 +25849,7 @@ scend8:
store i32 %t38, ptr %t14
br i1 %t37, label %scend10, label %sc9
sc9:
- %t39 = call i32 @fn_is_id(ptr @.str550)
+ %t39 = call i32 @fn_is_id(ptr @.str575)
%t40 = icmp ne i32 %t39, 0
%t41 = zext i1 %t40 to i32
store i32 %t41, ptr %t14
@@ -25467,7 +25859,7 @@ scend10:
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %wbody1, label %wend2
wbody1:
- %t44 = call i32 @fn_is_id(ptr @.str551)
+ %t44 = call i32 @fn_is_id(ptr @.str576)
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then11, label %else12
then11:
@@ -25478,7 +25870,7 @@ then11:
store i32 %t48, ptr @g_g_start_scene
br label %ifend13
else12:
- %t49 = call i32 @fn_is_id(ptr @.str552)
+ %t49 = call i32 @fn_is_id(ptr @.str577)
%t50 = icmp ne i32 %t49, 0
br i1 %t50, label %then14, label %else15
then14:
@@ -25491,7 +25883,7 @@ then14:
store ptr %t55, ptr %t54
br label %ifend16
else15:
- %t56 = call i32 @fn_is_id(ptr @.str553)
+ %t56 = call i32 @fn_is_id(ptr @.str578)
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then17, label %else18
then17:
@@ -25500,13 +25892,13 @@ then17:
store i32 %t59, ptr @g_pi
%t60 = call ptr @fn_expr()
store ptr %t60, ptr %t11
- %t61 = call i32 @fn_is_id(ptr @.str554)
+ %t61 = call i32 @fn_is_id(ptr @.str579)
%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 @.str555)
+ call void @fn_perr(ptr @.str580)
br label %ifend22
ifend22:
%t65 = load i32, ptr @g_pi
@@ -25516,20 +25908,20 @@ ifend22:
store ptr %t67, ptr %t12
br label %ifend19
else18:
- %t68 = call i32 @fn_is_id(ptr @.str556)
+ %t68 = call i32 @fn_is_id(ptr @.str581)
%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 @.str557)
+ %t72 = call i32 @fn_is_id(ptr @.str582)
%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 @.str558)
+ call void @fn_perr(ptr @.str583)
br label %ifend28
ifend28:
%t76 = load i32, ptr @g_pi
@@ -25564,32 +25956,32 @@ 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 @fn_str_concat(ptr @.str559, ptr %t87)
- %t89 = call ptr @fn_str_concat(ptr %t88, ptr @.str560)
+ %t88 = call ptr @lp_str_concat(ptr @.str584, ptr %t87)
+ %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str585)
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 @fn_str_concat(ptr @.str561, ptr %t92)
- %t94 = call ptr @fn_str_concat(ptr %t93, ptr @.str562)
+ %t93 = call ptr @lp_str_concat(ptr @.str586, ptr %t92)
+ %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str587)
call void @fn_ensure_event_empty(ptr %t94)
br label %ifend31
ifend31:
call void @fn_skipnl()
- call void @fn_eat_op(ptr @.str563)
+ call void @fn_eat_op(ptr @.str588)
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 @.str564)
+ %t96 = call i32 @fn_is_op(ptr @.str589)
%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 @.str565)
+ %t98 = call i32 @fn_is_id(ptr @.str590)
%t99 = icmp ne i32 %t98, 0
br i1 %t99, label %then38, label %ifend40
then38:
@@ -25600,7 +25992,7 @@ then38:
store ptr %t102, ptr %t103
call void @fn_skipnl()
%t104 = load ptr, ptr %t103
- %t105 = call i32 @fn_str_eq(ptr %t104, ptr @.str566)
+ %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str591)
%t106 = icmp ne i32 %t105, 0
br i1 %t106, label %then41, label %else42
then41:
@@ -25611,7 +26003,7 @@ then41:
br label %ifend43
else42:
%t110 = load ptr, ptr %t103
- %t111 = call i32 @fn_str_eq(ptr %t110, ptr @.str567)
+ %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str592)
%t112 = icmp ne i32 %t111, 0
br i1 %t112, label %then44, label %else45
then44:
@@ -25621,14 +26013,14 @@ then44:
store ptr %t115, ptr %t114
br label %ifend46
else45:
- call void @fn_perr(ptr @.str568)
+ call void @fn_perr(ptr @.str593)
br label %ifend46
ifend46:
br label %ifend43
ifend43:
br label %wcond32
ifend40:
- %t116 = call i32 @fn_is_id(ptr @.str569)
+ %t116 = call i32 @fn_is_id(ptr @.str594)
%t117 = icmp ne i32 %t116, 0
br i1 %t117, label %then47, label %ifend49
then47:
@@ -25637,7 +26029,7 @@ then47:
store i32 %t119, ptr @g_pi
%t120 = call ptr @fn_eat_id()
store ptr %t120, ptr %t121
- %t122 = call i32 @fn_is_id(ptr @.str570)
+ %t122 = call i32 @fn_is_id(ptr @.str595)
%t123 = icmp ne i32 %t122, 0
br i1 %t123, label %then50, label %ifend52
then50:
@@ -25645,17 +26037,17 @@ then50:
%t125 = add i32 %t124, 1
store i32 %t125, ptr @g_pi
%t126 = load ptr, ptr %t121
- %t127 = call ptr @fn_str_concat(ptr @.str571, ptr %t126)
- %t128 = call ptr @fn_str_concat(ptr %t127, ptr @.str572)
+ %t127 = call ptr @lp_str_concat(ptr @.str596, ptr %t126)
+ %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str597)
call void @fn_ensure_event_empty(ptr %t128)
%t129 = load ptr, ptr %t121
- %t130 = call ptr @fn_str_concat(ptr @.str573, ptr %t129)
- %t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str574)
+ %t130 = call ptr @lp_str_concat(ptr @.str598, ptr %t129)
+ %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str599)
call void @fn_ensure_event_empty(ptr %t131)
br label %ifend52
ifend52:
call void @fn_skipnl()
- call void @fn_eat_op(ptr @.str575)
+ call void @fn_eat_op(ptr @.str600)
%t132 = call ptr @fn_node(i32 33)
store ptr %t132, ptr %t133
%t134 = load ptr, ptr %t133
@@ -25668,7 +26060,7 @@ wcond53:
br i1 %t137, label %wbody54, label %wend55
wbody54:
call void @fn_skipnl()
- %t138 = call i32 @fn_is_op(ptr @.str576)
+ %t138 = call i32 @fn_is_op(ptr @.str601)
%t139 = icmp ne i32 %t138, 0
br i1 %t139, label %then56, label %ifend58
then56:
@@ -25677,7 +26069,7 @@ ifend58:
store ptr null, ptr %t140
br label %wcond59
wcond59:
- %t141 = call i32 @fn_is_op(ptr @.str577)
+ %t141 = call i32 @fn_is_op(ptr @.str602)
%t142 = icmp ne i32 %t141, 0
br i1 %t142, label %wbody60, label %wend61
wbody60:
@@ -25687,7 +26079,7 @@ wbody60:
%t145 = call ptr @fn_eat_id()
store ptr %t145, ptr %t146
%t147 = load ptr, ptr %t146
- %t148 = call i32 @fn_str_eq(ptr %t147, ptr @.str578)
+ %t148 = call i32 @lp_str_eq(ptr %t147, ptr @.str603)
%t149 = icmp ne i32 %t148, 0
br i1 %t149, label %then62, label %else63
then62:
@@ -25696,21 +26088,21 @@ then62:
br label %ifend64
else63:
%t151 = load ptr, ptr %t146
- %t152 = call ptr @fn_str_concat(ptr @.str579, ptr %t151)
- %t153 = call ptr @fn_str_concat(ptr %t152, ptr @.str580)
+ %t152 = call ptr @lp_str_concat(ptr @.str604, ptr %t151)
+ %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str605)
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 @.str581)
+ %t154 = call i32 @fn_is_id(ptr @.str606)
%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 @.str582)
+ call void @fn_perr(ptr @.str607)
br label %ifend67
ifend67:
%t158 = call ptr @fn_parse_system()
@@ -25732,33 +26124,33 @@ then68:
%t171 = load ptr, ptr %t170
%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 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 2
- %t176 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0
- %t177 = load i32, ptr %t174
+ %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 = icmp sge i32 %t177, %t178
- br i1 %t179, label %grow71, label %put72
+ %t179 = load i32, ptr %t176
+ %t180 = icmp sge i32 %t178, %t179
+ br i1 %t180, label %grow71, label %put72
grow71:
- %t180 = mul i32 %t178, 2
- %t181 = icmp eq i32 %t178, 0
- %t182 = select i1 %t181, i32 8, i32 %t180
- %t183 = getelementptr ptr, ptr null, i32 1
- %t184 = ptrtoint ptr %t183 to i64
- %t185 = zext i32 %t182 to i64
- %t186 = mul i64 %t185, %t184
- %t187 = load ptr, ptr %t176
- %t188 = call ptr @realloc(ptr %t187, i64 %t186)
- store ptr %t188, ptr %t176
- store i32 %t182, ptr %t175
+ %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:
- %t189 = load ptr, ptr %t140
- %t190 = load ptr, ptr %t176
- %t191 = getelementptr inbounds ptr, ptr %t190, i32 %t177
- store ptr %t189, ptr %t191
- %t192 = add i32 %t177, 1
- store i32 %t192, ptr %t174
+ %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
@@ -25770,11 +26162,11 @@ ifend70:
%t198 = load ptr, ptr %t3
%t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 1
%t200 = load ptr, ptr %t199
- %t201 = call ptr @fn_str_concat(ptr %t200, ptr @.str583)
+ %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str608)
%t202 = load ptr, ptr %t159
%t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 1
%t204 = load ptr, ptr %t203
- %t205 = call ptr @fn_str_concat(ptr %t201, ptr %t204)
+ %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
@@ -25785,43 +26177,43 @@ ifend70:
%t211 = load ptr, ptr %t133
store ptr %t211, ptr %t210
%t212 = load ptr, ptr @g_prog
- %t213 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 1
- %t214 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 2
- %t215 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 0
- %t216 = load i32, ptr %t213
+ %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 = icmp sge i32 %t216, %t217
- br i1 %t218, label %grow73, label %put74
+ %t218 = load i32, ptr %t215
+ %t219 = icmp sge i32 %t217, %t218
+ br i1 %t219, label %grow73, label %put74
grow73:
- %t219 = mul i32 %t217, 2
- %t220 = icmp eq i32 %t217, 0
- %t221 = select i1 %t220, i32 8, i32 %t219
- %t222 = getelementptr ptr, ptr null, i32 1
- %t223 = ptrtoint ptr %t222 to i64
- %t224 = zext i32 %t221 to i64
- %t225 = mul i64 %t224, %t223
- %t226 = load ptr, ptr %t215
- %t227 = call ptr @realloc(ptr %t226, i64 %t225)
- store ptr %t227, ptr %t215
- store i32 %t221, ptr %t214
+ %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:
- %t228 = load ptr, ptr %t159
- %t229 = load ptr, ptr %t215
- %t230 = getelementptr inbounds ptr, ptr %t229, i32 %t216
- store ptr %t228, ptr %t230
- %t231 = add i32 %t216, 1
- store i32 %t231, ptr %t213
+ %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 @.str584)
+ call void @fn_eat_op(ptr @.str609)
br label %wcond32
ifend49:
- call void @fn_perr(ptr @.str585)
+ call void @fn_perr(ptr @.str610)
br label %wcond32
wend34:
- call void @fn_eat_op(ptr @.str586)
+ call void @fn_eat_op(ptr @.str611)
%t232 = load ptr, ptr %t11
%t233 = icmp ne ptr %t232, null
%t234 = zext i1 %t233 to i32
@@ -25846,33 +26238,33 @@ then78:
br label %ifend80
ifend80:
%t245 = load ptr, ptr @g_g_scenes
- %t246 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 1
- %t247 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 2
- %t248 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 0
- %t249 = load i32, ptr %t246
+ %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 = icmp sge i32 %t249, %t250
- br i1 %t251, label %grow81, label %put82
+ %t251 = load i32, ptr %t248
+ %t252 = icmp sge i32 %t250, %t251
+ br i1 %t252, label %grow81, label %put82
grow81:
- %t252 = mul i32 %t250, 2
- %t253 = icmp eq i32 %t250, 0
- %t254 = select i1 %t253, i32 8, i32 %t252
- %t255 = getelementptr ptr, ptr null, i32 1
- %t256 = ptrtoint ptr %t255 to i64
- %t257 = zext i32 %t254 to i64
- %t258 = mul i64 %t257, %t256
- %t259 = load ptr, ptr %t248
- %t260 = call ptr @realloc(ptr %t259, i64 %t258)
- store ptr %t260, ptr %t248
- store i32 %t254, ptr %t247
+ %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:
- %t261 = load ptr, ptr %t3
- %t262 = load ptr, ptr %t248
- %t263 = getelementptr inbounds ptr, ptr %t262, i32 %t249
- store ptr %t261, ptr %t263
- %t264 = add i32 %t249, 1
- store i32 %t264, ptr %t246
+ %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
@@ -25908,11 +26300,11 @@ entry:
%t6 = load ptr, ptr %t0
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1
%t8 = load ptr, ptr %t7
- %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str587)
+ %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str612)
store ptr %t9, ptr %t5
%t10 = load ptr, ptr %t3
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 3
- store ptr @.str588, ptr %t11
+ store ptr @.str613, ptr %t11
%t12 = load ptr, ptr %t3
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 6
%t14 = load ptr, ptr %t0
@@ -25929,14 +26321,14 @@ entry:
store ptr %t23, ptr %t24
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1
- store ptr @.str589, ptr %t26
+ store ptr @.str614, 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 @.str590, ptr %t31
+ store ptr @.str615, ptr %t31
%t32 = load ptr, ptr %t20
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 4
%t34 = load ptr, ptr %t22
@@ -25949,33 +26341,33 @@ entry:
%t39 = load ptr, ptr %t20
%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 1
- %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 2
- %t44 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0
- %t45 = load i32, ptr %t42
+ %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 = icmp sge i32 %t45, %t46
- br i1 %t47, label %grow0, label %put1
+ %t47 = load i32, ptr %t44
+ %t48 = icmp sge i32 %t46, %t47
+ br i1 %t48, label %grow0, label %put1
grow0:
- %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
+ %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:
- %t57 = load ptr, ptr %t36
- %t58 = load ptr, ptr %t44
- %t59 = getelementptr inbounds ptr, ptr %t58, i32 %t45
- store ptr %t57, ptr %t59
- %t60 = add i32 %t45, 1
- store i32 %t60, ptr %t42
+ %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
@@ -25983,33 +26375,33 @@ put1:
%t64 = load ptr, ptr %t16
%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 1
- %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2
- %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0
- %t70 = load i32, ptr %t67
+ %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 = icmp sge i32 %t70, %t71
- br i1 %t72, label %grow2, label %put3
+ %t72 = load i32, ptr %t69
+ %t73 = icmp sge i32 %t71, %t72
+ br i1 %t73, label %grow2, label %put3
grow2:
- %t73 = mul i32 %t71, 2
- %t74 = icmp eq i32 %t71, 0
- %t75 = select i1 %t74, i32 8, i32 %t73
- %t76 = getelementptr ptr, ptr null, i32 1
- %t77 = ptrtoint ptr %t76 to i64
- %t78 = zext i32 %t75 to i64
- %t79 = mul i64 %t78, %t77
- %t80 = load ptr, ptr %t69
- %t81 = call ptr @realloc(ptr %t80, i64 %t79)
- store ptr %t81, ptr %t69
- store i32 %t75, ptr %t68
+ %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:
- %t82 = load ptr, ptr %t18
- %t83 = load ptr, ptr %t69
- %t84 = getelementptr inbounds ptr, ptr %t83, i32 %t70
- store ptr %t82, ptr %t84
- %t85 = add i32 %t70, 1
- store i32 %t85, ptr %t67
+ %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)
@@ -26020,14 +26412,14 @@ put3:
store ptr %t92, ptr %t93
%t94 = load ptr, ptr %t93
%t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 1
- store ptr @.str591, ptr %t95
+ store ptr @.str616, 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 @.str592, ptr %t100
+ store ptr @.str617, ptr %t100
%t101 = load ptr, ptr %t89
%t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 4
%t103 = load ptr, ptr %t91
@@ -26051,95 +26443,95 @@ put3:
%t117 = load ptr, ptr %t116
%t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7
%t119 = load ptr, ptr %t118
- %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1
- %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 2
- %t122 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0
- %t123 = load i32, ptr %t120
+ %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 = icmp sge i32 %t123, %t124
- br i1 %t125, label %grow4, label %put5
+ %t125 = load i32, ptr %t122
+ %t126 = icmp sge i32 %t124, %t125
+ br i1 %t126, label %grow4, label %put5
grow4:
- %t126 = mul i32 %t124, 2
- %t127 = icmp eq i32 %t124, 0
- %t128 = select i1 %t127, i32 8, i32 %t126
- %t129 = getelementptr ptr, ptr null, i32 1
- %t130 = ptrtoint ptr %t129 to i64
- %t131 = zext i32 %t128 to i64
- %t132 = mul i64 %t131, %t130
- %t133 = load ptr, ptr %t122
- %t134 = call ptr @realloc(ptr %t133, i64 %t132)
- store ptr %t134, ptr %t122
- store i32 %t128, ptr %t121
+ %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:
- %t135 = load ptr, ptr %t111
- %t136 = load ptr, ptr %t122
- %t137 = getelementptr inbounds ptr, ptr %t136, i32 %t123
- store ptr %t135, ptr %t137
- %t138 = add i32 %t123, 1
- store i32 %t138, ptr %t120
+ %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 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1
- %t143 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 2
- %t144 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0
- %t145 = load i32, ptr %t142
+ %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 = icmp sge i32 %t145, %t146
- br i1 %t147, label %grow6, label %put7
+ %t147 = load i32, ptr %t144
+ %t148 = icmp sge i32 %t146, %t147
+ br i1 %t148, label %grow6, label %put7
grow6:
- %t148 = mul i32 %t146, 2
- %t149 = icmp eq i32 %t146, 0
- %t150 = select i1 %t149, i32 8, i32 %t148
- %t151 = getelementptr ptr, ptr null, i32 1
- %t152 = ptrtoint ptr %t151 to i64
- %t153 = zext i32 %t150 to i64
- %t154 = mul i64 %t153, %t152
- %t155 = load ptr, ptr %t144
- %t156 = call ptr @realloc(ptr %t155, i64 %t154)
- store ptr %t156, ptr %t144
- store i32 %t150, ptr %t143
+ %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:
- %t157 = load ptr, ptr %t87
- %t158 = load ptr, ptr %t144
- %t159 = getelementptr inbounds ptr, ptr %t158, i32 %t145
- store ptr %t157, ptr %t159
- %t160 = add i32 %t145, 1
- store i32 %t160, ptr %t142
+ %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 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 1
- %t166 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 2
- %t167 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0
- %t168 = load i32, ptr %t165
+ %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 = icmp sge i32 %t168, %t169
- br i1 %t170, label %grow8, label %put9
+ %t170 = load i32, ptr %t167
+ %t171 = icmp sge i32 %t169, %t170
+ br i1 %t171, label %grow8, label %put9
grow8:
- %t171 = mul i32 %t169, 2
- %t172 = icmp eq i32 %t169, 0
- %t173 = select i1 %t172, i32 8, i32 %t171
- %t174 = getelementptr ptr, ptr null, i32 1
- %t175 = ptrtoint ptr %t174 to i64
- %t176 = zext i32 %t173 to i64
- %t177 = mul i64 %t176, %t175
- %t178 = load ptr, ptr %t167
- %t179 = call ptr @realloc(ptr %t178, i64 %t177)
- store ptr %t179, ptr %t167
- store i32 %t173, ptr %t166
+ %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:
- %t180 = load ptr, ptr %t3
- %t181 = load ptr, ptr %t167
- %t182 = getelementptr inbounds ptr, ptr %t181, i32 %t168
- store ptr %t180, ptr %t182
- %t183 = add i32 %t168, 1
- store i32 %t183, ptr %t165
+ %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
@@ -26147,11 +26539,11 @@ put9:
%t188 = load ptr, ptr %t0
%t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 1
%t190 = load ptr, ptr %t189
- %t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str593)
+ %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str618)
store ptr %t191, ptr %t187
%t192 = load ptr, ptr %t185
%t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 3
- store ptr @.str594, ptr %t193
+ store ptr @.str619, ptr %t193
%t194 = load ptr, ptr %t185
%t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 6
%t196 = load ptr, ptr %t0
@@ -26164,7 +26556,7 @@ put9:
store ptr %t201, ptr %t202
%t203 = load ptr, ptr %t202
%t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 1
- store ptr @.str595, ptr %t204
+ store ptr @.str620, ptr %t204
%t205 = load ptr, ptr %t200
%t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 4
%t207 = load ptr, ptr %t202
@@ -26178,65 +26570,65 @@ put9:
%t213 = load ptr, ptr %t198
%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 1
- %t217 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 2
- %t218 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0
- %t219 = load i32, ptr %t216
+ %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 = icmp sge i32 %t219, %t220
- br i1 %t221, label %grow10, label %put11
+ %t221 = load i32, ptr %t218
+ %t222 = icmp sge i32 %t220, %t221
+ br i1 %t222, label %grow10, label %put11
grow10:
- %t222 = mul i32 %t220, 2
- %t223 = icmp eq i32 %t220, 0
- %t224 = select i1 %t223, i32 8, i32 %t222
- %t225 = getelementptr ptr, ptr null, i32 1
- %t226 = ptrtoint ptr %t225 to i64
- %t227 = zext i32 %t224 to i64
- %t228 = mul i64 %t227, %t226
- %t229 = load ptr, ptr %t218
- %t230 = call ptr @realloc(ptr %t229, i64 %t228)
- store ptr %t230, ptr %t218
- store i32 %t224, ptr %t217
+ %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:
- %t231 = load ptr, ptr %t209
- %t232 = load ptr, ptr %t218
- %t233 = getelementptr inbounds ptr, ptr %t232, i32 %t219
- store ptr %t231, ptr %t233
- %t234 = add i32 %t219, 1
- store i32 %t234, ptr %t216
+ %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 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1
- %t240 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 2
- %t241 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0
- %t242 = load i32, ptr %t239
+ %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 = icmp sge i32 %t242, %t243
- br i1 %t244, label %grow12, label %put13
+ %t244 = load i32, ptr %t241
+ %t245 = icmp sge i32 %t243, %t244
+ br i1 %t245, label %grow12, label %put13
grow12:
- %t245 = mul i32 %t243, 2
- %t246 = icmp eq i32 %t243, 0
- %t247 = select i1 %t246, i32 8, i32 %t245
- %t248 = getelementptr ptr, ptr null, i32 1
- %t249 = ptrtoint ptr %t248 to i64
- %t250 = zext i32 %t247 to i64
- %t251 = mul i64 %t250, %t249
- %t252 = load ptr, ptr %t241
- %t253 = call ptr @realloc(ptr %t252, i64 %t251)
- store ptr %t253, ptr %t241
- store i32 %t247, ptr %t240
+ %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:
- %t254 = load ptr, ptr %t185
- %t255 = load ptr, ptr %t241
- %t256 = getelementptr inbounds ptr, ptr %t255, i32 %t242
- store ptr %t254, ptr %t256
- %t257 = add i32 %t242, 1
- store i32 %t257, ptr %t239
+ %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
@@ -26269,8 +26661,8 @@ entry:
%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_str_concat(ptr @.str596, ptr %t5)
- %t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str597)
+ %t6 = call ptr @lp_str_concat(ptr @.str621, ptr %t5)
+ %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str622)
store ptr %t7, ptr %t8
%t9 = call ptr @fn_node(i32 2)
store ptr %t9, ptr %t10
@@ -26280,35 +26672,35 @@ entry:
store ptr %t13, ptr %t12
%t14 = load ptr, ptr %t10
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 3
- store ptr @.str598, ptr %t15
+ store ptr @.str623, ptr %t15
%t16 = load ptr, ptr @g_prog
- %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1
- %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2
- %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
- %t20 = load i32, ptr %t17
+ %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 = icmp sge i32 %t20, %t21
- br i1 %t22, label %grow0, label %put1
+ %t22 = load i32, ptr %t19
+ %t23 = icmp sge i32 %t21, %t22
+ br i1 %t23, label %grow0, label %put1
grow0:
- %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
+ %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:
- %t32 = load ptr, ptr %t10
- %t33 = load ptr, ptr %t19
- %t34 = getelementptr inbounds ptr, ptr %t33, i32 %t20
- store ptr %t32, ptr %t34
- %t35 = add i32 %t20, 1
- store i32 %t35, ptr %t17
+ %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
@@ -26327,7 +26719,7 @@ ifend4:
store ptr %t45, ptr %t46
%t47 = load ptr, ptr %t46
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1
- store ptr @.str599, ptr %t48
+ store ptr @.str624, ptr %t48
%t49 = call ptr @fn_node(i32 33)
store ptr %t49, ptr %t50
%t51 = load ptr, ptr %t50
@@ -26353,33 +26745,33 @@ ifend4:
store i32 0, ptr %t65
store ptr %t62, ptr %t66
%t67 = load ptr, ptr %t66
- %t68 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1
- %t69 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 2
- %t70 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0
- %t71 = load i32, ptr %t68
+ %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 = icmp sge i32 %t71, %t72
- br i1 %t73, label %grow5, label %put6
+ %t73 = load i32, ptr %t70
+ %t74 = icmp sge i32 %t72, %t73
+ br i1 %t74, label %grow5, label %put6
grow5:
- %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
+ %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:
- %t83 = load ptr, ptr %t46
- %t84 = load ptr, ptr %t70
- %t85 = getelementptr inbounds ptr, ptr %t84, i32 %t71
- store ptr %t83, ptr %t85
- %t86 = add i32 %t71, 1
- store i32 %t86, ptr %t68
+ %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:
@@ -26397,42 +26789,42 @@ wcond7:
br i1 %t98, label %wbody8, label %wend9
wbody8:
%t99 = load ptr, ptr %t66
- %t100 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1
- %t101 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 2
- %t102 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0
- %t103 = load i32, ptr %t100
- %t104 = load i32, ptr %t101
- %t105 = icmp sge i32 %t103, %t104
- br i1 %t105, label %grow10, label %put11
+ %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:
- %t106 = mul i32 %t104, 2
- %t107 = icmp eq i32 %t104, 0
- %t108 = select i1 %t107, i32 8, i32 %t106
- %t109 = getelementptr ptr, ptr null, i32 1
- %t110 = ptrtoint ptr %t109 to i64
- %t111 = zext i32 %t108 to i64
- %t112 = mul i64 %t111, %t110
- %t113 = load ptr, ptr %t102
- %t114 = call ptr @realloc(ptr %t113, i64 %t112)
- store ptr %t114, ptr %t102
- store i32 %t108, ptr %t101
+ %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:
- %t115 = load ptr, ptr %t0
- %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 4
- %t117 = load ptr, ptr %t116
- %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7
- %t119 = load ptr, ptr %t118
- %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0
- %t121 = load ptr, ptr %t120
- %t122 = load i32, ptr %t87
- %t123 = getelementptr inbounds ptr, ptr %t121, i32 %t122
- %t124 = load ptr, ptr %t123
- %t125 = load ptr, ptr %t102
- %t126 = getelementptr inbounds ptr, ptr %t125, i32 %t103
- store ptr %t124, ptr %t126
- %t127 = add i32 %t103, 1
- store i32 %t127, ptr %t100
+ %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
@@ -26451,11 +26843,11 @@ wend9:
%t139 = load ptr, ptr %t0
%t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1
%t141 = load ptr, ptr %t140
- %t142 = call ptr @fn_str_concat(ptr %t141, ptr @.str600)
+ %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str625)
store ptr %t142, ptr %t138
%t143 = load ptr, ptr %t136
%t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 3
- store ptr @.str601, ptr %t144
+ store ptr @.str626, ptr %t144
%t145 = load ptr, ptr %t136
%t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 6
%t147 = load ptr, ptr %t0
@@ -26466,7 +26858,7 @@ wend9:
store ptr %t150, ptr %t151
%t152 = load ptr, ptr %t151
%t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 1
- store ptr @.str602, ptr %t153
+ store ptr @.str627, ptr %t153
%t154 = call ptr @fn_node(i32 33)
store ptr %t154, ptr %t155
%t156 = load ptr, ptr %t155
@@ -26489,38 +26881,38 @@ wend9:
%t169 = load ptr, ptr %t149
%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 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
+ %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 = icmp sge i32 %t175, %t176
- br i1 %t177, label %grow12, label %put13
+ %t177 = load i32, ptr %t174
+ %t178 = icmp sge i32 %t176, %t177
+ br i1 %t178, label %grow12, label %put13
grow12:
- %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
+ %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:
- %t187 = load ptr, ptr %t151
- %t188 = load ptr, ptr %t174
- %t189 = getelementptr inbounds ptr, ptr %t188, i32 %t175
- store ptr %t187, ptr %t189
- %t190 = add i32 %t175, 1
- store i32 %t190, ptr %t172
+ %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 @.str603, ptr %t194
+ store ptr @.str628, ptr %t194
%t195 = call ptr @fn_node(i32 33)
store ptr %t195, ptr %t196
%t197 = load ptr, ptr %t196
@@ -26561,95 +26953,95 @@ put13:
%t225 = load ptr, ptr %t224
%t226 = getelementptr inbounds %Cmp_Node, ptr %t225, i32 0, i32 7
%t227 = load ptr, ptr %t226
- %t228 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 1
- %t229 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 2
- %t230 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 0
- %t231 = load i32, ptr %t228
+ %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 = icmp sge i32 %t231, %t232
- br i1 %t233, label %grow14, label %put15
+ %t233 = load i32, ptr %t230
+ %t234 = icmp sge i32 %t232, %t233
+ br i1 %t234, label %grow14, label %put15
grow14:
- %t234 = mul i32 %t232, 2
- %t235 = icmp eq i32 %t232, 0
- %t236 = select i1 %t235, i32 8, i32 %t234
- %t237 = getelementptr ptr, ptr null, i32 1
- %t238 = ptrtoint ptr %t237 to i64
- %t239 = zext i32 %t236 to i64
- %t240 = mul i64 %t239, %t238
- %t241 = load ptr, ptr %t230
- %t242 = call ptr @realloc(ptr %t241, i64 %t240)
- store ptr %t242, ptr %t230
- store i32 %t236, ptr %t229
+ %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:
- %t243 = load ptr, ptr %t219
- %t244 = load ptr, ptr %t230
- %t245 = getelementptr inbounds ptr, ptr %t244, i32 %t231
- store ptr %t243, ptr %t245
- %t246 = add i32 %t231, 1
- store i32 %t246, ptr %t228
+ %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 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 1
- %t251 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 2
- %t252 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 0
- %t253 = load i32, ptr %t250
+ %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 = icmp sge i32 %t253, %t254
- br i1 %t255, label %grow16, label %put17
+ %t255 = load i32, ptr %t252
+ %t256 = icmp sge i32 %t254, %t255
+ br i1 %t256, label %grow16, label %put17
grow16:
- %t256 = mul i32 %t254, 2
- %t257 = icmp eq i32 %t254, 0
- %t258 = select i1 %t257, i32 8, i32 %t256
- %t259 = getelementptr ptr, ptr null, i32 1
- %t260 = ptrtoint ptr %t259 to i64
- %t261 = zext i32 %t258 to i64
- %t262 = mul i64 %t261, %t260
- %t263 = load ptr, ptr %t252
- %t264 = call ptr @realloc(ptr %t263, i64 %t262)
- store ptr %t264, ptr %t252
- store i32 %t258, ptr %t251
+ %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:
- %t265 = load ptr, ptr %t211
- %t266 = load ptr, ptr %t252
- %t267 = getelementptr inbounds ptr, ptr %t266, i32 %t253
- store ptr %t265, ptr %t267
- %t268 = add i32 %t253, 1
- store i32 %t268, ptr %t250
+ %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 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 1
- %t274 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 2
- %t275 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 0
- %t276 = load i32, ptr %t273
+ %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 = icmp sge i32 %t276, %t277
- br i1 %t278, label %grow18, label %put19
+ %t278 = load i32, ptr %t275
+ %t279 = icmp sge i32 %t277, %t278
+ br i1 %t279, label %grow18, label %put19
grow18:
- %t279 = mul i32 %t277, 2
- %t280 = icmp eq i32 %t277, 0
- %t281 = select i1 %t280, i32 8, i32 %t279
- %t282 = getelementptr ptr, ptr null, i32 1
- %t283 = ptrtoint ptr %t282 to i64
- %t284 = zext i32 %t281 to i64
- %t285 = mul i64 %t284, %t283
- %t286 = load ptr, ptr %t275
- %t287 = call ptr @realloc(ptr %t286, i64 %t285)
- store ptr %t287, ptr %t275
- store i32 %t281, ptr %t274
+ %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:
- %t288 = load ptr, ptr %t136
- %t289 = load ptr, ptr %t275
- %t290 = getelementptr inbounds ptr, ptr %t289, i32 %t276
- store ptr %t288, ptr %t290
- %t291 = add i32 %t276, 1
- store i32 %t291, ptr %t273
+ %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
@@ -26776,7 +27168,7 @@ wbody1:
%t27 = load ptr, ptr %t25
%t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1
%t29 = load ptr, ptr %t28
- %t30 = call i32 @fn_str_eq(ptr %t29, ptr @.str604)
+ %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str629)
%t31 = icmp ne i32 %t30, 0
%t32 = zext i1 %t31 to i32
store i32 %t32, ptr %t26
@@ -26809,7 +27201,7 @@ 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 @fn_str_eq(ptr %t52, ptr @.str605)
+ %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str630)
%t54 = icmp ne i32 %t53, 0
%t55 = zext i1 %t54 to i32
store i32 %t55, ptr %t49
@@ -26870,12 +27262,12 @@ then15:
store ptr %t89, ptr %t90
%t91 = load ptr, ptr %t90
%t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 1
- store ptr @.str606, ptr %t92
+ store ptr @.str631, 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 @.str607, ptr %t96
+ store ptr @.str632, ptr %t96
%t97 = load ptr, ptr %t90
%t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 4
%t99 = load ptr, ptr %t94
@@ -26885,7 +27277,7 @@ then15:
%t102 = load ptr, ptr %t101
%t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 1
%t104 = load ptr, ptr %t1
- %t105 = call ptr @fn_str_concat(ptr @.str608, ptr %t104)
+ %t105 = call ptr @lp_str_concat(ptr @.str633, ptr %t104)
store ptr %t105, ptr %t103
%t106 = load ptr, ptr %t90
%t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 5
@@ -26912,65 +27304,65 @@ then15:
%t124 = load ptr, ptr %t123
%t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 7
%t126 = load ptr, ptr %t125
- %t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1
- %t128 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 2
- %t129 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0
- %t130 = load i32, ptr %t127
+ %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 = icmp sge i32 %t130, %t131
- br i1 %t132, label %grow18, label %put19
+ %t132 = load i32, ptr %t129
+ %t133 = icmp sge i32 %t131, %t132
+ br i1 %t133, label %grow18, label %put19
grow18:
- %t133 = mul i32 %t131, 2
- %t134 = icmp eq i32 %t131, 0
- %t135 = select i1 %t134, i32 8, i32 %t133
- %t136 = getelementptr ptr, ptr null, i32 1
- %t137 = ptrtoint ptr %t136 to i64
- %t138 = zext i32 %t135 to i64
- %t139 = mul i64 %t138, %t137
- %t140 = load ptr, ptr %t129
- %t141 = call ptr @realloc(ptr %t140, i64 %t139)
- store ptr %t141, ptr %t129
- store i32 %t135, ptr %t128
+ %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:
- %t142 = load ptr, ptr %t118
- %t143 = load ptr, ptr %t129
- %t144 = getelementptr inbounds ptr, ptr %t143, i32 %t130
- store ptr %t142, ptr %t144
- %t145 = add i32 %t130, 1
- store i32 %t145, ptr %t127
+ %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 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 1
- %t150 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 2
- %t151 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0
- %t152 = load i32, ptr %t149
+ %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 = icmp sge i32 %t152, %t153
- br i1 %t154, label %grow20, label %put21
+ %t154 = load i32, ptr %t151
+ %t155 = icmp sge i32 %t153, %t154
+ br i1 %t155, label %grow20, label %put21
grow20:
- %t155 = mul i32 %t153, 2
- %t156 = icmp eq i32 %t153, 0
- %t157 = select i1 %t156, i32 8, i32 %t155
- %t158 = getelementptr ptr, ptr null, i32 1
- %t159 = ptrtoint ptr %t158 to i64
- %t160 = zext i32 %t157 to i64
- %t161 = mul i64 %t160, %t159
- %t162 = load ptr, ptr %t151
- %t163 = call ptr @realloc(ptr %t162, i64 %t161)
- store ptr %t163, ptr %t151
- store i32 %t157, ptr %t150
+ %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:
- %t164 = load ptr, ptr %t110
- %t165 = load ptr, ptr %t151
- %t166 = getelementptr inbounds ptr, ptr %t165, i32 %t152
- store ptr %t164, ptr %t166
- %t167 = add i32 %t152, 1
- store i32 %t167, ptr %t149
+ %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 @.str609, ptr %t168)
+ call void @fn_register_onlisten(ptr @.str634, ptr %t168)
br label %ifend17
ifend17:
store i32 0, ptr %t169
@@ -27022,14 +27414,14 @@ entry:
%t6 = call ptr @fn_eat_id()
store ptr %t6, ptr %t5
call void @fn_skipnl()
- call void @fn_eat_op(ptr @.str610)
+ call void @fn_eat_op(ptr @.str635)
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 @.str611)
+ %t8 = call i32 @fn_is_op(ptr @.str636)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
@@ -27041,7 +27433,7 @@ ifend5:
%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 @.str612)
+ %t15 = call i32 @fn_is_op(ptr @.str637)
%t16 = icmp ne i32 %t15, 0
br i1 %t16, label %then6, label %ifend8
then6:
@@ -27051,7 +27443,7 @@ then6:
call void @fn_skipnl()
br label %wcond9
wcond9:
- %t19 = call i32 @fn_is_op(ptr @.str613)
+ %t19 = call i32 @fn_is_op(ptr @.str638)
%t20 = icmp eq i32 %t19, 0
%t21 = zext i1 %t20 to i32
%t22 = icmp ne i32 %t21, 0
@@ -27066,34 +27458,34 @@ wbody10:
%t28 = load ptr, ptr %t11
%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 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 2
- %t33 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0
- %t34 = load i32, ptr %t31
+ %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 = icmp sge i32 %t34, %t35
- br i1 %t36, label %grow12, label %put13
+ %t36 = load i32, ptr %t33
+ %t37 = icmp sge i32 %t35, %t36
+ br i1 %t37, 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
+ %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:
- %t46 = load ptr, ptr %t24
- %t47 = load ptr, ptr %t33
- %t48 = getelementptr inbounds ptr, ptr %t47, i32 %t34
- store ptr %t46, ptr %t48
- %t49 = add i32 %t34, 1
- store i32 %t49, ptr %t31
- %t50 = call i32 @fn_is_op(ptr @.str614)
+ %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 @.str639)
%t51 = icmp ne i32 %t50, 0
br i1 %t51, label %then14, label %ifend16
then14:
@@ -27105,40 +27497,40 @@ ifend16:
call void @fn_skipnl()
br label %wcond9
wend11:
- call void @fn_eat_op(ptr @.str615)
+ call void @fn_eat_op(ptr @.str640)
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 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1
- %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 2
- %t59 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0
- %t60 = load i32, ptr %t57
+ %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 = icmp sge i32 %t60, %t61
- br i1 %t62, label %grow17, label %put18
+ %t62 = load i32, ptr %t59
+ %t63 = icmp sge i32 %t61, %t62
+ br i1 %t63, label %grow17, label %put18
grow17:
- %t63 = mul i32 %t61, 2
- %t64 = icmp eq i32 %t61, 0
- %t65 = select i1 %t64, i32 8, i32 %t63
- %t66 = getelementptr ptr, ptr null, i32 1
- %t67 = ptrtoint ptr %t66 to i64
- %t68 = zext i32 %t65 to i64
- %t69 = mul i64 %t68, %t67
- %t70 = load ptr, ptr %t59
- %t71 = call ptr @realloc(ptr %t70, i64 %t69)
- store ptr %t71, ptr %t59
- store i32 %t65, ptr %t58
+ %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:
- %t72 = load ptr, ptr %t11
- %t73 = load ptr, ptr %t59
- %t74 = getelementptr inbounds ptr, ptr %t73, i32 %t60
- store ptr %t72, ptr %t74
- %t75 = add i32 %t60, 1
- store i32 %t75, ptr %t57
- %t76 = call i32 @fn_is_op(ptr @.str616)
+ %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 @.str641)
%t77 = icmp ne i32 %t76, 0
br i1 %t77, label %then19, label %ifend21
then19:
@@ -27150,7 +27542,7 @@ ifend21:
call void @fn_skipnl()
br label %wcond0
wend2:
- call void @fn_eat_op(ptr @.str617)
+ call void @fn_eat_op(ptr @.str642)
%t80 = load ptr, ptr %t3
store ptr %t80, ptr %retval
br label %ret
@@ -27175,14 +27567,14 @@ entry:
%t6 = call ptr @fn_eat_id()
store ptr %t6, ptr %t5
call void @fn_skipnl()
- call void @fn_eat_op(ptr @.str618)
+ call void @fn_eat_op(ptr @.str643)
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 @.str619)
+ %t8 = call i32 @fn_is_op(ptr @.str644)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
@@ -27190,7 +27582,7 @@ then3:
ifend5:
%t10 = call ptr @fn_node(i32 33)
store ptr %t10, ptr %t11
- %t12 = call i32 @fn_is_op(ptr @.str620)
+ %t12 = call i32 @fn_is_op(ptr @.str645)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then6, label %ifend8
then6:
@@ -27200,7 +27592,7 @@ then6:
%t16 = call ptr @fn_eat_id()
store ptr %t16, ptr %t17
%t18 = load ptr, ptr %t17
- %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str621)
+ %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str646)
%t20 = icmp ne i32 %t19, 0
br i1 %t20, label %then9, label %ifend11
then9:
@@ -27219,34 +27611,34 @@ ifend8:
%t26 = load ptr, ptr %t3
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7
%t28 = load ptr, ptr %t27
- %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1
- %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 2
- %t31 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0
- %t32 = load i32, ptr %t29
+ %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 = icmp sge i32 %t32, %t33
- br i1 %t34, label %grow12, label %put13
+ %t34 = load i32, ptr %t31
+ %t35 = icmp sge i32 %t33, %t34
+ br i1 %t35, label %grow12, label %put13
grow12:
- %t35 = mul i32 %t33, 2
- %t36 = icmp eq i32 %t33, 0
- %t37 = select i1 %t36, i32 8, i32 %t35
- %t38 = getelementptr ptr, ptr null, i32 1
- %t39 = ptrtoint ptr %t38 to i64
- %t40 = zext i32 %t37 to i64
- %t41 = mul i64 %t40, %t39
- %t42 = load ptr, ptr %t31
- %t43 = call ptr @realloc(ptr %t42, i64 %t41)
- store ptr %t43, ptr %t31
- store i32 %t37, ptr %t30
+ %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:
- %t44 = load ptr, ptr %t11
- %t45 = load ptr, ptr %t31
- %t46 = getelementptr inbounds ptr, ptr %t45, i32 %t32
- store ptr %t44, ptr %t46
- %t47 = add i32 %t32, 1
- store i32 %t47, ptr %t29
- %t48 = call i32 @fn_is_op(ptr @.str622)
+ %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 @.str647)
%t49 = icmp ne i32 %t48, 0
br i1 %t49, label %then14, label %ifend16
then14:
@@ -27258,7 +27650,7 @@ ifend16:
call void @fn_skipnl()
br label %wcond0
wend2:
- call void @fn_eat_op(ptr @.str623)
+ call void @fn_eat_op(ptr @.str648)
%t52 = load ptr, ptr %t3
store ptr %t52, ptr %retval
br label %ret
@@ -27285,10 +27677,10 @@ entry:
%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 @.str624)
+ call void @fn_eat_op(ptr @.str649)
br label %wcond0
wcond0:
- %t9 = call i32 @fn_is_op(ptr @.str625)
+ %t9 = call i32 @fn_is_op(ptr @.str650)
%t10 = icmp eq i32 %t9, 0
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
@@ -27300,7 +27692,7 @@ wbody1:
%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 @.str626)
+ call void @fn_eat_op(ptr @.str651)
%t18 = load ptr, ptr %t14
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 3
%t20 = call ptr @fn_ptype()
@@ -27308,34 +27700,34 @@ wbody1:
%t21 = load ptr, ptr %t5
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 7
%t23 = load ptr, ptr %t22
- %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1
- %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2
- %t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0
- %t27 = load i32, ptr %t24
+ %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 = icmp sge i32 %t27, %t28
- br i1 %t29, label %grow3, label %put4
+ %t29 = load i32, ptr %t26
+ %t30 = icmp sge i32 %t28, %t29
+ br i1 %t30, label %grow3, label %put4
grow3:
- %t30 = mul i32 %t28, 2
- %t31 = icmp eq i32 %t28, 0
- %t32 = select i1 %t31, i32 8, i32 %t30
- %t33 = getelementptr ptr, ptr null, i32 1
- %t34 = ptrtoint ptr %t33 to i64
- %t35 = zext i32 %t32 to i64
- %t36 = mul i64 %t35, %t34
- %t37 = load ptr, ptr %t26
- %t38 = call ptr @realloc(ptr %t37, i64 %t36)
- store ptr %t38, ptr %t26
- store i32 %t32, ptr %t25
+ %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:
- %t39 = load ptr, ptr %t14
- %t40 = load ptr, ptr %t26
- %t41 = getelementptr inbounds ptr, ptr %t40, i32 %t27
- store ptr %t39, ptr %t41
- %t42 = add i32 %t27, 1
- store i32 %t42, ptr %t24
- %t43 = call i32 @fn_is_op(ptr @.str627)
+ %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 @.str652)
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %then5, label %ifend7
then5:
@@ -27346,11 +27738,11 @@ then5:
ifend7:
br label %wcond0
wend2:
- call void @fn_eat_op(ptr @.str628)
+ call void @fn_eat_op(ptr @.str653)
%t47 = load ptr, ptr %t5
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3
- store ptr @.str629, ptr %t48
- %t49 = call i32 @fn_is_op(ptr @.str630)
+ store ptr @.str654, ptr %t48
+ %t49 = call i32 @fn_is_op(ptr @.str655)
%t50 = icmp ne i32 %t49, 0
br i1 %t50, label %then8, label %ifend10
then8:
@@ -27363,7 +27755,7 @@ then8:
store ptr %t55, ptr %t54
br label %ifend10
ifend10:
- call void @fn_eat_op(ptr @.str631)
+ call void @fn_eat_op(ptr @.str656)
%t56 = load ptr, ptr @g_toks
%t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0
%t58 = load ptr, ptr %t57
@@ -27459,7 +27851,7 @@ sc5:
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1
%t46 = load ptr, ptr %t45
- %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str632)
+ %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str657)
%t48 = icmp ne i32 %t47, 0
%t49 = zext i1 %t48 to i32
store i32 %t49, ptr %t8
@@ -27475,7 +27867,7 @@ wbody1:
%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 @.str633)
+ call void @fn_eat_op(ptr @.str658)
%t57 = load ptr, ptr %t53
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4
%t59 = call ptr @fn_expr()
@@ -27485,37 +27877,37 @@ wbody1:
%t62 = load ptr, ptr %t61
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7
%t64 = load ptr, ptr %t63
- %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1
- %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 2
- %t67 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0
- %t68 = load i32, ptr %t65
+ %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 = icmp sge i32 %t68, %t69
- br i1 %t70, label %grow7, label %put8
+ %t70 = load i32, ptr %t67
+ %t71 = icmp sge i32 %t69, %t70
+ br i1 %t71, label %grow7, label %put8
grow7:
- %t71 = mul i32 %t69, 2
- %t72 = icmp eq i32 %t69, 0
- %t73 = select i1 %t72, i32 8, i32 %t71
- %t74 = getelementptr ptr, ptr null, i32 1
- %t75 = ptrtoint ptr %t74 to i64
- %t76 = zext i32 %t73 to i64
- %t77 = mul i64 %t76, %t75
- %t78 = load ptr, ptr %t67
- %t79 = call ptr @realloc(ptr %t78, i64 %t77)
- store ptr %t79, ptr %t67
- store i32 %t73, ptr %t66
+ %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:
- %t80 = load ptr, ptr %t53
- %t81 = load ptr, ptr %t67
- %t82 = getelementptr inbounds ptr, ptr %t81, i32 %t68
- store ptr %t80, ptr %t82
- %t83 = add i32 %t68, 1
- store i32 %t83, ptr %t65
+ %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 @.str634)
+ %t84 = call i32 @fn_is_op(ptr @.str659)
%t85 = icmp ne i32 %t84, 0
br i1 %t85, label %then9, label %ifend11
then9:
@@ -27528,7 +27920,7 @@ wcond12:
br i1 %t88, label %wbody13, label %wend14
wbody13:
call void @fn_skipnl()
- %t89 = call i32 @fn_is_op(ptr @.str635)
+ %t89 = call i32 @fn_is_op(ptr @.str660)
%t90 = icmp ne i32 %t89, 0
br i1 %t90, label %then15, label %ifend17
then15:
@@ -27537,36 +27929,36 @@ ifend17:
%t91 = load ptr, ptr %t1
%t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7
%t93 = load ptr, ptr %t92
- %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1
- %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 2
- %t96 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0
- %t97 = load i32, ptr %t94
+ %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 = icmp sge i32 %t97, %t98
- br i1 %t99, label %grow18, label %put19
+ %t99 = load i32, ptr %t96
+ %t100 = icmp sge i32 %t98, %t99
+ br i1 %t100, label %grow18, label %put19
grow18:
- %t100 = mul i32 %t98, 2
- %t101 = icmp eq i32 %t98, 0
- %t102 = select i1 %t101, i32 8, i32 %t100
- %t103 = getelementptr ptr, ptr null, i32 1
- %t104 = ptrtoint ptr %t103 to i64
- %t105 = zext i32 %t102 to i64
- %t106 = mul i64 %t105, %t104
- %t107 = load ptr, ptr %t96
- %t108 = call ptr @realloc(ptr %t107, i64 %t106)
- store ptr %t108, ptr %t96
- store i32 %t102, ptr %t95
+ %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:
- %t109 = call ptr @fn_parse_widget()
- %t110 = load ptr, ptr %t96
- %t111 = getelementptr inbounds ptr, ptr %t110, i32 %t97
- store ptr %t109, ptr %t111
- %t112 = add i32 %t97, 1
- store i32 %t112, ptr %t94
+ %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 @.str636)
+ call void @fn_eat_op(ptr @.str661)
br label %ifend11
ifend11:
%t113 = load ptr, ptr %t1
@@ -27594,14 +27986,14 @@ entry:
%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 @.str637)
+ call void @fn_eat_op(ptr @.str662)
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 @.str638)
+ call void @fn_eat_op(ptr @.str663)
%t12 = load ptr, ptr %t3
store ptr %t12, ptr %retval
br label %ret
@@ -27682,33 +28074,33 @@ ifend5:
br label %wcond0
wend2:
%t22 = load ptr, ptr @g_g_cov_lines
- %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1
- %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2
- %t25 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0
- %t26 = load i32, ptr %t23
+ %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 = icmp sge i32 %t26, %t27
- br i1 %t28, label %grow6, label %put7
+ %t28 = load i32, ptr %t25
+ %t29 = icmp sge i32 %t27, %t28
+ br i1 %t29, label %grow6, label %put7
grow6:
- %t29 = mul i32 %t27, 2
- %t30 = icmp eq i32 %t27, 0
- %t31 = select i1 %t30, i32 8, i32 %t29
- %t32 = getelementptr i32, ptr null, i32 1
- %t33 = ptrtoint ptr %t32 to i64
- %t34 = zext i32 %t31 to i64
- %t35 = mul i64 %t34, %t33
- %t36 = load ptr, ptr %t25
- %t37 = call ptr @realloc(ptr %t36, i64 %t35)
- store ptr %t37, ptr %t25
- store i32 %t31, ptr %t24
+ %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:
- %t38 = load i32, ptr %t0
- %t39 = load ptr, ptr %t25
- %t40 = getelementptr inbounds i32, ptr %t39, i32 %t26
- store i32 %t38, ptr %t40
- %t41 = add i32 %t26, 1
- store i32 %t41, ptr %t23
+ %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
@@ -27757,30 +28149,30 @@ ifend8:
store i32 %t14, ptr %t15
%t16 = call ptr @fn_nreg()
store ptr %t16, ptr %t17
- call void @fn_emit(ptr @.str639)
+ call void @fn_emit(ptr @.str664)
%t18 = load ptr, ptr %t17
call void @fn_emit(ptr %t18)
- call void @fn_emit(ptr @.str640)
+ call void @fn_emit(ptr @.str665)
%t19 = load i32, ptr %t15
%t20 = call ptr @fn_itoa(i32 %t19)
call void @fn_emit(ptr %t20)
- call void @fn_emit(ptr @.str641)
+ call void @fn_emit(ptr @.str666)
%t21 = load ptr, ptr %t17
- %t22 = call ptr @fn_str_concat(ptr @.str642, ptr %t21)
+ %t22 = call ptr @lp_str_concat(ptr @.str667, ptr %t21)
%t23 = call ptr @fn_emit_bind(ptr %t22)
store ptr %t23, ptr %t24
%t25 = load ptr, ptr %t24
- %t26 = call ptr @fn_str_concat(ptr @.str643, ptr %t25)
- %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str644)
+ %t26 = call ptr @lp_str_concat(ptr @.str668, ptr %t25)
+ %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str669)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t29
- call void @fn_emit(ptr @.str645)
+ call void @fn_emit(ptr @.str670)
%t30 = load ptr, ptr %t29
call void @fn_emit(ptr %t30)
- call void @fn_emit(ptr @.str646)
+ call void @fn_emit(ptr @.str671)
%t31 = load ptr, ptr %t17
call void @fn_emit(ptr %t31)
- call void @fn_emit(ptr @.str647)
+ call void @fn_emit(ptr @.str672)
br label %ret
ret:
ret void
@@ -27813,7 +28205,7 @@ wbody1:
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
+ %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
@@ -27870,23 +28262,23 @@ entry:
store ptr %arg_llt, ptr %t0
%t1 = load i32, ptr @g_ll_t
%t2 = call ptr @fn_itoa(i32 %t1)
- %t3 = call ptr @fn_str_concat(ptr @.str648, ptr %t2)
+ %t3 = call ptr @lp_str_concat(ptr @.str673, 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 @.str649)
+ call void @fn_buf_puts(ptr %t7, ptr @.str674)
%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 @.str650)
+ call void @fn_buf_puts(ptr %t10, ptr @.str675)
%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 @.str651)
+ call void @fn_buf_puts(ptr %t13, ptr @.str676)
%t14 = load ptr, ptr %t4
store ptr %t14, ptr %retval
br label %ret
@@ -27901,7 +28293,7 @@ entry:
%t3 = alloca ptr
%t0 = load i32, ptr @g_ll_t
%t1 = call ptr @fn_itoa(i32 %t0)
- %t2 = call ptr @fn_str_concat(ptr @.str652, ptr %t1)
+ %t2 = call ptr @lp_str_concat(ptr @.str677, ptr %t1)
store ptr %t2, ptr %t3
%t4 = load i32, ptr @g_ll_t
%t5 = add i32 %t4, 1
@@ -27923,7 +28315,7 @@ entry:
%t1 = load ptr, ptr %t0
%t2 = load i32, ptr @g_ll_lbl
%t3 = call ptr @fn_itoa(i32 %t2)
- %t4 = call ptr @fn_str_concat(ptr %t1, ptr %t3)
+ %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
@@ -27947,14 +28339,14 @@ entry:
%t50 = alloca i32
store ptr %arg_t, ptr %t0
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str653)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str678)
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t3
br i1 %t6, label %scend1, label %sc0
sc0:
%t8 = load ptr, ptr %t0
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str654)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str679)
%t10 = icmp ne i32 %t9, 0
%t11 = zext i1 %t10 to i32
store i32 %t11, ptr %t3
@@ -27967,7 +28359,7 @@ scend1:
br i1 %t13, label %scend3, label %sc2
sc2:
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str655)
+ %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str680)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t2
@@ -27980,7 +28372,7 @@ scend3:
br i1 %t20, label %scend5, label %sc4
sc4:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str656)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str681)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
@@ -27990,7 +28382,7 @@ scend5:
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then6, label %ifend8
then6:
- store ptr @.str657, ptr %retval
+ store ptr @.str682, ptr %retval
br label %ret
ifend8:
%t28 = load ptr, ptr %t0
@@ -27998,66 +28390,66 @@ ifend8:
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then9, label %ifend11
then9:
- store ptr @.str658, ptr %retval
+ store ptr @.str683, ptr %retval
br label %ret
ifend11:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str659)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str684)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then12, label %ifend14
then12:
- store ptr @.str660, ptr %retval
+ store ptr @.str685, ptr %retval
br label %ret
ifend14:
%t34 = load ptr, ptr %t0
- %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str661)
+ %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str686)
%t36 = icmp ne i32 %t35, 0
br i1 %t36, label %then15, label %ifend17
then15:
- store ptr @.str662, ptr %retval
+ store ptr @.str687, ptr %retval
br label %ret
ifend17:
%t37 = load ptr, ptr %t0
- %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str663)
+ %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str688)
%t39 = icmp ne i32 %t38, 0
br i1 %t39, label %then18, label %ifend20
then18:
- store ptr @.str664, ptr %retval
+ store ptr @.str689, ptr %retval
br label %ret
ifend20:
%t40 = load ptr, ptr %t0
- %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str665)
+ %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str690)
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then21, label %ifend23
then21:
- store ptr @.str666, ptr %retval
+ store ptr @.str691, ptr %retval
br label %ret
ifend23:
%t43 = load ptr, ptr %t0
- %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str667)
+ %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str692)
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then24, label %ifend26
then24:
- store ptr @.str668, ptr %retval
+ store ptr @.str693, ptr %retval
br label %ret
ifend26:
%t46 = load ptr, ptr %t0
- %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str669)
+ %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str694)
%t48 = icmp ne i32 %t47, 0
br i1 %t48, label %then27, label %ifend29
then27:
- store ptr @.str670, ptr %retval
+ store ptr @.str695, ptr %retval
br label %ret
ifend29:
%t51 = load ptr, ptr %t0
- %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str671)
+ %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str696)
%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 @fn_str_eq(ptr %t55, ptr @.str672)
+ %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str697)
%t57 = icmp ne i32 %t56, 0
%t58 = zext i1 %t57 to i32
store i32 %t58, ptr %t50
@@ -28070,7 +28462,7 @@ scend31:
br i1 %t60, label %scend33, label %sc32
sc32:
%t62 = load ptr, ptr %t0
- %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str673)
+ %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str698)
%t64 = icmp ne i32 %t63, 0
%t65 = zext i1 %t64 to i32
store i32 %t65, ptr %t49
@@ -28080,18 +28472,18 @@ scend33:
%t67 = icmp ne i32 %t66, 0
br i1 %t67, label %then34, label %ifend36
then34:
- store ptr @.str674, ptr %retval
+ store ptr @.str699, ptr %retval
br label %ret
ifend36:
%t68 = load ptr, ptr %t0
- %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str675)
+ %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str700)
%t70 = icmp ne i32 %t69, 0
br i1 %t70, label %then37, label %ifend39
then37:
- store ptr @.str676, ptr %retval
+ store ptr @.str701, ptr %retval
br label %ret
ifend39:
- store ptr @.str677, ptr %retval
+ store ptr @.str702, ptr %retval
br label %ret
ret:
%t71 = load ptr, ptr %retval
@@ -28143,7 +28535,7 @@ entry:
%t2 = load ptr, ptr %t0
%t3 = call i64 @strlen(ptr %t2)
%t4 = trunc i64 %t3 to i32
- %t5 = call ptr @fn_str_slice(ptr %t1, i32 2, i32 %t4)
+ %t5 = call ptr @lp_str_slice(ptr %t1, i32 2, i32 %t4)
store ptr %t5, ptr %retval
br label %ret
ret:
@@ -28192,7 +28584,7 @@ sc3:
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t0
- %t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
+ %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
@@ -28259,7 +28651,7 @@ sc3:
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t0
- %t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
+ %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
@@ -28305,7 +28697,7 @@ entry:
%t0 = alloca ptr
store ptr %arg_name, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call ptr @fn_str_concat(ptr @.str678, ptr %t1)
+ %t2 = call ptr @lp_str_concat(ptr @.str703, ptr %t1)
store ptr %t2, ptr %retval
br label %ret
ret:
@@ -28346,7 +28738,7 @@ wbody1:
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1
%t21 = load ptr, ptr %t20
%t22 = load ptr, ptr %t1
- %t23 = call i32 @fn_str_eq(ptr %t21, ptr %t22)
+ %t23 = call i32 @lp_str_eq(ptr %t21, ptr %t22)
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then3, label %ifend5
then3:
@@ -28400,7 +28792,7 @@ wbody1:
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1
%t21 = load ptr, ptr %t20
%t22 = load ptr, ptr %t1
- %t23 = call i32 @fn_str_eq(ptr %t21, ptr %t22)
+ %t23 = call i32 @lp_str_eq(ptr %t21, ptr %t22)
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then3, label %ifend5
then3:
@@ -28422,7 +28814,7 @@ ifend5:
store i32 %t36, ptr %t2
br label %wcond0
wend2:
- store ptr @.str679, ptr %retval
+ store ptr @.str704, ptr %retval
br label %ret
ret:
%t37 = load ptr, ptr %retval
@@ -28471,7 +28863,7 @@ sc3:
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t0
- %t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
+ %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
@@ -28499,7 +28891,7 @@ sc8:
%t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1
%t44 = load ptr, ptr %t43
%t45 = load ptr, ptr %t0
- %t46 = call i32 @fn_str_eq(ptr %t44, ptr %t45)
+ %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
@@ -28569,7 +28961,7 @@ sc3:
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1
%t27 = load ptr, ptr %t26
%t28 = load ptr, ptr %t0
- %t29 = call i32 @fn_str_eq(ptr %t27, ptr %t28)
+ %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
@@ -28604,7 +28996,7 @@ wbody9:
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1
%t53 = load ptr, ptr %t52
%t54 = load ptr, ptr %t1
- %t55 = call i32 @fn_str_eq(ptr %t53, ptr %t54)
+ %t55 = call i32 @lp_str_eq(ptr %t53, ptr %t54)
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %then11, label %ifend13
then11:
@@ -28625,12 +29017,12 @@ ifend7:
br label %wcond0
wend2:
%t62 = load ptr, ptr %t0
- %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str680)
+ %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str705)
%t64 = icmp ne i32 %t63, 0
br i1 %t64, label %then14, label %ifend16
then14:
%t65 = load ptr, ptr %t1
- %t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str681)
+ %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str706)
%t67 = icmp ne i32 %t66, 0
br i1 %t67, label %then17, label %ifend19
then17:
@@ -28638,7 +29030,7 @@ then17:
br label %ret
ifend19:
%t68 = load ptr, ptr %t1
- %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str682)
+ %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str707)
%t70 = icmp ne i32 %t69, 0
br i1 %t70, label %then20, label %ifend22
then20:
@@ -28646,7 +29038,7 @@ then20:
br label %ret
ifend22:
%t71 = load ptr, ptr %t1
- %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str683)
+ %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str708)
%t73 = icmp ne i32 %t72, 0
br i1 %t73, label %then23, label %ifend25
then23:
@@ -28769,7 +29161,7 @@ sc3:
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t0
- %t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
+ %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
@@ -28896,7 +29288,7 @@ wbody7:
%t38 = load ptr, ptr %t37
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 3
%t40 = load ptr, ptr %t39
- %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str684)
+ %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str709)
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then9, label %ifend11
then9:
@@ -28963,7 +29355,7 @@ sc3:
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t0
- %t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
+ %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
@@ -29030,7 +29422,7 @@ sc3:
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t0
- %t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
+ %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
@@ -29175,7 +29567,7 @@ wbody1:
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1
%t21 = load ptr, ptr %t20
%t22 = load ptr, ptr %t1
- %t23 = call i32 @fn_str_eq(ptr %t21, ptr %t22)
+ %t23 = call i32 @lp_str_eq(ptr %t21, ptr %t22)
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then3, label %ifend5
then3:
@@ -29385,7 +29777,7 @@ sc3:
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t0
- %t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
+ %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
@@ -29427,9 +29819,9 @@ entry:
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1
%t8 = load ptr, ptr %t0
- %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str685)
+ %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str710)
%t10 = load ptr, ptr %t1
- %t11 = call ptr @fn_str_concat(ptr %t9, ptr %t10)
+ %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
@@ -29440,33 +29832,33 @@ entry:
%t17 = load ptr, ptr %t3
store ptr %t17, ptr %t16
%t18 = load ptr, ptr @g_g_computed
- %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1
- %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 2
- %t21 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0
- %t22 = load i32, ptr %t19
+ %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 = icmp sge i32 %t22, %t23
- br i1 %t24, label %grow0, label %put1
+ %t24 = load i32, ptr %t21
+ %t25 = icmp sge i32 %t23, %t24
+ br i1 %t25, label %grow0, label %put1
grow0:
- %t25 = mul i32 %t23, 2
- %t26 = icmp eq i32 %t23, 0
- %t27 = select i1 %t26, i32 8, i32 %t25
- %t28 = getelementptr ptr, ptr null, i32 1
- %t29 = ptrtoint ptr %t28 to i64
- %t30 = zext i32 %t27 to i64
- %t31 = mul i64 %t30, %t29
- %t32 = load ptr, ptr %t21
- %t33 = call ptr @realloc(ptr %t32, i64 %t31)
- store ptr %t33, ptr %t21
- store i32 %t27, ptr %t20
+ %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:
- %t34 = load ptr, ptr %t5
- %t35 = load ptr, ptr %t21
- %t36 = getelementptr inbounds ptr, ptr %t35, i32 %t22
- store ptr %t34, ptr %t36
- %t37 = add i32 %t22, 1
- store i32 %t37, ptr %t19
+ %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
@@ -29491,9 +29883,9 @@ then0:
br label %ret
ifend2:
%t6 = load ptr, ptr %t0
- %t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str686)
+ %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str711)
%t8 = load ptr, ptr %t1
- %t9 = call ptr @fn_str_concat(ptr %t7, ptr %t8)
+ %t9 = call ptr @lp_str_concat(ptr %t7, ptr %t8)
store ptr %t9, ptr %t10
store i32 0, ptr %t11
br label %wcond3
@@ -29516,7 +29908,7 @@ wbody4:
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t10
- %t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
+ %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27)
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then6, label %ifend8
then6:
@@ -29567,6 +29959,11 @@ entry:
%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
@@ -29704,7 +30101,7 @@ sc23:
%t100 = load ptr, ptr %t99
%t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1
%t102 = load ptr, ptr %t101
- %t103 = call i32 @fn_str_eq(ptr %t102, ptr @.str687)
+ %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str712)
%t104 = icmp ne i32 %t103, 0
%t105 = zext i1 %t104 to i32
store i32 %t105, ptr %t85
@@ -29731,7 +30128,7 @@ ifend27:
%t120 = load ptr, ptr %t119
%t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 1
%t122 = load ptr, ptr %t121
- %t123 = call i32 @fn_str_eq(ptr %t122, ptr @.str688)
+ %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str713)
%t124 = icmp ne i32 %t123, 0
%t125 = zext i1 %t124 to i32
store i32 %t125, ptr %t115
@@ -29742,7 +30139,7 @@ sc28:
%t134 = load ptr, ptr %t133
%t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1
%t136 = load ptr, ptr %t135
- %t137 = call i32 @fn_str_eq(ptr %t136, ptr @.str689)
+ %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str714)
%t138 = icmp ne i32 %t137, 0
%t139 = zext i1 %t138 to i32
store i32 %t139, ptr %t131
@@ -29753,7 +30150,7 @@ sc30:
%t142 = load ptr, ptr %t141
%t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1
%t144 = load ptr, ptr %t143
- %t145 = call i32 @fn_str_eq(ptr %t144, ptr @.str690)
+ %t145 = call i32 @lp_str_eq(ptr %t144, ptr @.str715)
%t146 = icmp ne i32 %t145, 0
%t147 = zext i1 %t146 to i32
store i32 %t147, ptr %t131
@@ -29770,7 +30167,7 @@ sc32:
%t153 = load ptr, ptr %t152
%t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 1
%t155 = load ptr, ptr %t154
- %t156 = call i32 @fn_str_eq(ptr %t155, ptr @.str691)
+ %t156 = call i32 @lp_str_eq(ptr %t155, ptr @.str716)
%t157 = icmp ne i32 %t156, 0
%t158 = zext i1 %t157 to i32
store i32 %t158, ptr %t130
@@ -29787,7 +30184,7 @@ sc34:
%t164 = load ptr, ptr %t163
%t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 1
%t166 = load ptr, ptr %t165
- %t167 = call i32 @fn_str_eq(ptr %t166, ptr @.str692)
+ %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str717)
%t168 = icmp ne i32 %t167, 0
%t169 = zext i1 %t168 to i32
store i32 %t169, ptr %t129
@@ -29804,7 +30201,7 @@ sc36:
%t175 = load ptr, ptr %t174
%t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 1
%t177 = load ptr, ptr %t176
- %t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str693)
+ %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str718)
%t179 = icmp ne i32 %t178, 0
%t180 = zext i1 %t179 to i32
store i32 %t180, ptr %t128
@@ -29821,7 +30218,7 @@ sc38:
%t186 = load ptr, ptr %t185
%t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 1
%t188 = load ptr, ptr %t187
- %t189 = call i32 @fn_str_eq(ptr %t188, ptr @.str694)
+ %t189 = call i32 @lp_str_eq(ptr %t188, ptr @.str719)
%t190 = icmp ne i32 %t189, 0
%t191 = zext i1 %t190 to i32
store i32 %t191, ptr %t127
@@ -29838,7 +30235,7 @@ sc40:
%t197 = load ptr, ptr %t196
%t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1
%t199 = load ptr, ptr %t198
- %t200 = call i32 @fn_str_eq(ptr %t199, ptr @.str695)
+ %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str720)
%t201 = icmp ne i32 %t200, 0
%t202 = zext i1 %t201 to i32
store i32 %t202, ptr %t126
@@ -29854,7 +30251,7 @@ scend29:
%t207 = icmp ne i32 %t206, 0
br i1 %t207, label %then42, label %ifend44
then42:
- store ptr @.str696, ptr %retval
+ store ptr @.str721, ptr %retval
br label %ret
ifend44:
%t209 = load ptr, ptr %t0
@@ -29864,7 +30261,7 @@ ifend44:
%t213 = load ptr, ptr %t212
%t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 1
%t215 = load ptr, ptr %t214
- %t216 = call i32 @fn_str_eq(ptr %t215, ptr @.str697)
+ %t216 = call i32 @lp_str_eq(ptr %t215, ptr @.str722)
%t217 = icmp ne i32 %t216, 0
%t218 = zext i1 %t217 to i32
store i32 %t218, ptr %t208
@@ -29875,7 +30272,7 @@ sc45:
%t223 = load ptr, ptr %t222
%t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 1
%t225 = load ptr, ptr %t224
- %t226 = call i32 @fn_str_eq(ptr %t225, ptr @.str698)
+ %t226 = call i32 @lp_str_eq(ptr %t225, ptr @.str723)
%t227 = icmp ne i32 %t226, 0
%t228 = zext i1 %t227 to i32
store i32 %t228, ptr %t220
@@ -29886,7 +30283,7 @@ sc47:
%t231 = load ptr, ptr %t230
%t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 1
%t233 = load ptr, ptr %t232
- %t234 = call i32 @fn_str_eq(ptr %t233, ptr @.str699)
+ %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str724)
%t235 = icmp ne i32 %t234, 0
%t236 = zext i1 %t235 to i32
store i32 %t236, ptr %t220
@@ -29903,7 +30300,7 @@ sc49:
%t242 = load ptr, ptr %t241
%t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 1
%t244 = load ptr, ptr %t243
- %t245 = call i32 @fn_str_eq(ptr %t244, ptr @.str700)
+ %t245 = call i32 @lp_str_eq(ptr %t244, ptr @.str725)
%t246 = icmp ne i32 %t245, 0
%t247 = zext i1 %t246 to i32
store i32 %t247, ptr %t219
@@ -29919,7 +30316,7 @@ scend46:
%t252 = icmp ne i32 %t251, 0
br i1 %t252, label %then51, label %ifend53
then51:
- store ptr @.str701, ptr %retval
+ store ptr @.str726, ptr %retval
br label %ret
ifend53:
%t254 = load ptr, ptr %t0
@@ -29929,7 +30326,7 @@ ifend53:
%t258 = load ptr, ptr %t257
%t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 1
%t260 = load ptr, ptr %t259
- %t261 = call i32 @fn_str_eq(ptr %t260, ptr @.str702)
+ %t261 = call i32 @lp_str_eq(ptr %t260, ptr @.str727)
%t262 = icmp ne i32 %t261, 0
%t263 = zext i1 %t262 to i32
store i32 %t263, ptr %t253
@@ -29940,7 +30337,7 @@ sc54:
%t266 = load ptr, ptr %t265
%t267 = getelementptr inbounds %Cmp_Node, ptr %t266, i32 0, i32 1
%t268 = load ptr, ptr %t267
- %t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str703)
+ %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str728)
%t270 = icmp ne i32 %t269, 0
%t271 = zext i1 %t270 to i32
store i32 %t271, ptr %t253
@@ -29950,7 +30347,7 @@ scend55:
%t273 = icmp ne i32 %t272, 0
br i1 %t273, label %then56, label %ifend58
then56:
- store ptr @.str704, ptr %retval
+ store ptr @.str729, ptr %retval
br label %ret
ifend58:
%t275 = load ptr, ptr %t0
@@ -29960,7 +30357,7 @@ ifend58:
%t279 = load ptr, ptr %t278
%t280 = getelementptr inbounds %Cmp_Node, ptr %t279, i32 0, i32 1
%t281 = load ptr, ptr %t280
- %t282 = call i32 @fn_str_eq(ptr %t281, ptr @.str705)
+ %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str730)
%t283 = icmp ne i32 %t282, 0
%t284 = zext i1 %t283 to i32
store i32 %t284, ptr %t274
@@ -29971,7 +30368,7 @@ sc59:
%t287 = load ptr, ptr %t286
%t288 = getelementptr inbounds %Cmp_Node, ptr %t287, i32 0, i32 1
%t289 = load ptr, ptr %t288
- %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str706)
+ %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str731)
%t291 = icmp ne i32 %t290, 0
%t292 = zext i1 %t291 to i32
store i32 %t292, ptr %t274
@@ -29981,7 +30378,7 @@ scend60:
%t294 = icmp ne i32 %t293, 0
br i1 %t294, label %then61, label %ifend63
then61:
- store ptr @.str707, ptr %retval
+ store ptr @.str732, ptr %retval
br label %ret
ifend63:
%t295 = load ptr, ptr %t0
@@ -29992,13 +30389,13 @@ ifend63:
%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 @fn_str_concat(ptr %t302, ptr @.str708)
+ %t303 = call ptr @lp_str_concat(ptr %t302, ptr @.str733)
%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 @fn_str_concat(ptr %t303, ptr %t308)
+ %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
@@ -30057,11 +30454,172 @@ ifend75:
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 @.str734, 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 @.str735, 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 @.str736, 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 @.str737, 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 @.str738, ptr %retval
+ br label %ret
+ifend108:
store ptr null, ptr %retval
br label %ret
ret:
- %t346 = load ptr, ptr %retval
- ret ptr %t346
+ %t449 = load ptr, ptr %retval
+ ret ptr %t449
}
define void @fn_register_onspawn(ptr %arg_model, ptr %arg_body) {
@@ -30082,33 +30640,33 @@ entry:
%t9 = load ptr, ptr %t1
store ptr %t9, ptr %t8
%t10 = load ptr, ptr @g_g_onspawn
- %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
- %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
- %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
- %t14 = load i32, ptr %t11
+ %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 = icmp sge i32 %t14, %t15
- br i1 %t16, label %grow0, label %put1
+ %t16 = load i32, ptr %t13
+ %t17 = icmp sge i32 %t15, %t16
+ br i1 %t17, label %grow0, label %put1
grow0:
- %t17 = mul i32 %t15, 2
- %t18 = icmp eq i32 %t15, 0
- %t19 = select i1 %t18, i32 8, i32 %t17
- %t20 = getelementptr ptr, ptr null, i32 1
- %t21 = ptrtoint ptr %t20 to i64
- %t22 = zext i32 %t19 to i64
- %t23 = mul i64 %t22, %t21
- %t24 = load ptr, ptr %t13
- %t25 = call ptr @realloc(ptr %t24, i64 %t23)
- store ptr %t25, ptr %t13
- store i32 %t19, ptr %t12
+ %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:
- %t26 = load ptr, ptr %t3
- %t27 = load ptr, ptr %t13
- %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
- store ptr %t26, ptr %t28
- %t29 = add i32 %t14, 1
- store i32 %t29, ptr %t11
+ %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
@@ -30141,7 +30699,7 @@ wbody1:
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
+ %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
@@ -30192,33 +30750,33 @@ entry:
%t13 = load ptr, ptr %t2
store ptr %t13, ptr %t12
%t14 = load ptr, ptr @g_g_ondespawn
- %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1
- %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2
- %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
- %t18 = load i32, ptr %t15
+ %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 = icmp sge i32 %t18, %t19
- br i1 %t20, label %grow0, label %put1
+ %t20 = load i32, ptr %t17
+ %t21 = icmp sge i32 %t19, %t20
+ br i1 %t21, 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
+ %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:
- %t30 = load ptr, ptr %t4
- %t31 = load ptr, ptr %t17
- %t32 = getelementptr inbounds ptr, ptr %t31, i32 %t18
- store ptr %t30, ptr %t32
- %t33 = add i32 %t18, 1
- store i32 %t33, ptr %t15
+ %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
@@ -30251,7 +30809,7 @@ wbody1:
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
+ %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
@@ -30296,33 +30854,33 @@ entry:
%t9 = load ptr, ptr %t1
store ptr %t9, ptr %t8
%t10 = load ptr, ptr @g_g_onattach
- %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
- %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
- %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
- %t14 = load i32, ptr %t11
+ %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 = icmp sge i32 %t14, %t15
- br i1 %t16, label %grow0, label %put1
+ %t16 = load i32, ptr %t13
+ %t17 = icmp sge i32 %t15, %t16
+ br i1 %t17, label %grow0, label %put1
grow0:
- %t17 = mul i32 %t15, 2
- %t18 = icmp eq i32 %t15, 0
- %t19 = select i1 %t18, i32 8, i32 %t17
- %t20 = getelementptr ptr, ptr null, i32 1
- %t21 = ptrtoint ptr %t20 to i64
- %t22 = zext i32 %t19 to i64
- %t23 = mul i64 %t22, %t21
- %t24 = load ptr, ptr %t13
- %t25 = call ptr @realloc(ptr %t24, i64 %t23)
- store ptr %t25, ptr %t13
- store i32 %t19, ptr %t12
+ %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:
- %t26 = load ptr, ptr %t3
- %t27 = load ptr, ptr %t13
- %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
- store ptr %t26, ptr %t28
- %t29 = add i32 %t14, 1
- store i32 %t29, ptr %t11
+ %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
@@ -30355,7 +30913,7 @@ wbody1:
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
+ %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
@@ -30400,33 +30958,33 @@ entry:
%t9 = load ptr, ptr %t1
store ptr %t9, ptr %t8
%t10 = load ptr, ptr @g_g_ondetach
- %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
- %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
- %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
- %t14 = load i32, ptr %t11
+ %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 = icmp sge i32 %t14, %t15
- br i1 %t16, label %grow0, label %put1
+ %t16 = load i32, ptr %t13
+ %t17 = icmp sge i32 %t15, %t16
+ br i1 %t17, label %grow0, label %put1
grow0:
- %t17 = mul i32 %t15, 2
- %t18 = icmp eq i32 %t15, 0
- %t19 = select i1 %t18, i32 8, i32 %t17
- %t20 = getelementptr ptr, ptr null, i32 1
- %t21 = ptrtoint ptr %t20 to i64
- %t22 = zext i32 %t19 to i64
- %t23 = mul i64 %t22, %t21
- %t24 = load ptr, ptr %t13
- %t25 = call ptr @realloc(ptr %t24, i64 %t23)
- store ptr %t25, ptr %t13
- store i32 %t19, ptr %t12
+ %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:
- %t26 = load ptr, ptr %t3
- %t27 = load ptr, ptr %t13
- %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
- store ptr %t26, ptr %t28
- %t29 = add i32 %t14, 1
- store i32 %t29, ptr %t11
+ %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
@@ -30459,7 +31017,7 @@ wbody1:
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
+ %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
@@ -30504,33 +31062,33 @@ entry:
%t9 = load ptr, ptr %t1
store ptr %t9, ptr %t8
%t10 = load ptr, ptr @g_g_onenable
- %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
- %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
- %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
- %t14 = load i32, ptr %t11
+ %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 = icmp sge i32 %t14, %t15
- br i1 %t16, label %grow0, label %put1
+ %t16 = load i32, ptr %t13
+ %t17 = icmp sge i32 %t15, %t16
+ br i1 %t17, label %grow0, label %put1
grow0:
- %t17 = mul i32 %t15, 2
- %t18 = icmp eq i32 %t15, 0
- %t19 = select i1 %t18, i32 8, i32 %t17
- %t20 = getelementptr ptr, ptr null, i32 1
- %t21 = ptrtoint ptr %t20 to i64
- %t22 = zext i32 %t19 to i64
- %t23 = mul i64 %t22, %t21
- %t24 = load ptr, ptr %t13
- %t25 = call ptr @realloc(ptr %t24, i64 %t23)
- store ptr %t25, ptr %t13
- store i32 %t19, ptr %t12
+ %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:
- %t26 = load ptr, ptr %t3
- %t27 = load ptr, ptr %t13
- %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
- store ptr %t26, ptr %t28
- %t29 = add i32 %t14, 1
- store i32 %t29, ptr %t11
+ %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
@@ -30554,33 +31112,33 @@ entry:
%t9 = load ptr, ptr %t1
store ptr %t9, ptr %t8
%t10 = load ptr, ptr @g_g_ondisable
- %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
- %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
- %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
- %t14 = load i32, ptr %t11
+ %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 = icmp sge i32 %t14, %t15
- br i1 %t16, label %grow0, label %put1
+ %t16 = load i32, ptr %t13
+ %t17 = icmp sge i32 %t15, %t16
+ br i1 %t17, label %grow0, label %put1
grow0:
- %t17 = mul i32 %t15, 2
- %t18 = icmp eq i32 %t15, 0
- %t19 = select i1 %t18, i32 8, i32 %t17
- %t20 = getelementptr ptr, ptr null, i32 1
- %t21 = ptrtoint ptr %t20 to i64
- %t22 = zext i32 %t19 to i64
- %t23 = mul i64 %t22, %t21
- %t24 = load ptr, ptr %t13
- %t25 = call ptr @realloc(ptr %t24, i64 %t23)
- store ptr %t25, ptr %t13
- store i32 %t19, ptr %t12
+ %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:
- %t26 = load ptr, ptr %t3
- %t27 = load ptr, ptr %t13
- %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
- store ptr %t26, ptr %t28
- %t29 = add i32 %t14, 1
- store i32 %t29, ptr %t11
+ %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
@@ -30613,7 +31171,7 @@ wbody1:
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
+ %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
@@ -30667,7 +31225,7 @@ wbody1:
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
+ %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
@@ -30699,33 +31257,33 @@ entry:
%t0 = alloca ptr
store ptr %arg_n, ptr %t0
%t1 = load ptr, ptr @g_g_events
- %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1
- %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 2
- %t4 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0
- %t5 = load i32, ptr %t2
+ %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 = icmp sge i32 %t5, %t6
- br i1 %t7, label %grow0, label %put1
+ %t7 = load i32, ptr %t4
+ %t8 = icmp sge i32 %t6, %t7
+ br i1 %t8, label %grow0, label %put1
grow0:
- %t8 = mul i32 %t6, 2
- %t9 = icmp eq i32 %t6, 0
- %t10 = select i1 %t9, i32 8, i32 %t8
- %t11 = getelementptr ptr, ptr null, i32 1
- %t12 = ptrtoint ptr %t11 to i64
- %t13 = zext i32 %t10 to i64
- %t14 = mul i64 %t13, %t12
- %t15 = load ptr, ptr %t4
- %t16 = call ptr @realloc(ptr %t15, i64 %t14)
- store ptr %t16, ptr %t4
- store i32 %t10, ptr %t3
+ %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:
- %t17 = load ptr, ptr %t0
- %t18 = load ptr, ptr %t4
- %t19 = getelementptr inbounds ptr, ptr %t18, i32 %t5
- store ptr %t17, ptr %t19
- %t20 = add i32 %t5, 1
- store i32 %t20, ptr %t2
+ %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
@@ -30758,7 +31316,7 @@ wbody1:
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
+ %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
@@ -30801,33 +31359,33 @@ entry:
%t9 = load ptr, ptr %t1
store ptr %t9, ptr %t8
%t10 = load ptr, ptr @g_g_onlisten
- %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
- %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
- %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
- %t14 = load i32, ptr %t11
+ %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 = icmp sge i32 %t14, %t15
- br i1 %t16, label %grow0, label %put1
+ %t16 = load i32, ptr %t13
+ %t17 = icmp sge i32 %t15, %t16
+ br i1 %t17, label %grow0, label %put1
grow0:
- %t17 = mul i32 %t15, 2
- %t18 = icmp eq i32 %t15, 0
- %t19 = select i1 %t18, i32 8, i32 %t17
- %t20 = getelementptr ptr, ptr null, i32 1
- %t21 = ptrtoint ptr %t20 to i64
- %t22 = zext i32 %t19 to i64
- %t23 = mul i64 %t22, %t21
- %t24 = load ptr, ptr %t13
- %t25 = call ptr @realloc(ptr %t24, i64 %t23)
- store ptr %t25, ptr %t13
- store i32 %t19, ptr %t12
+ %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:
- %t26 = load ptr, ptr %t3
- %t27 = load ptr, ptr %t13
- %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
- store ptr %t26, ptr %t28
- %t29 = add i32 %t14, 1
- store i32 %t29, ptr %t11
+ %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
@@ -30861,40 +31419,40 @@ ifend2:
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
- store ptr @.str709, ptr %t15
+ store ptr @.str739, ptr %t15
%t16 = load ptr, ptr %t13
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3
- store ptr @.str710, ptr %t17
+ store ptr @.str740, ptr %t17
%t18 = load ptr, ptr %t8
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7
%t20 = load ptr, ptr %t19
- %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1
- %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2
- %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
- %t24 = load i32, ptr %t21
+ %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 = icmp sge i32 %t24, %t25
- br i1 %t26, label %grow3, label %put4
+ %t26 = load i32, ptr %t23
+ %t27 = icmp sge i32 %t25, %t26
+ br i1 %t27, 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
+ %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:
- %t36 = load ptr, ptr %t13
- %t37 = load ptr, ptr %t23
- %t38 = getelementptr inbounds ptr, ptr %t37, i32 %t24
- store ptr %t36, ptr %t38
- %t39 = add i32 %t24, 1
- store i32 %t39, ptr %t21
+ %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
@@ -30903,40 +31461,40 @@ then5:
store ptr %t42, ptr %t43
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1
- store ptr @.str711, ptr %t45
+ store ptr @.str741, ptr %t45
%t46 = load ptr, ptr %t43
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3
- store ptr @.str712, ptr %t47
+ store ptr @.str742, ptr %t47
%t48 = load ptr, ptr %t8
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7
%t50 = load ptr, ptr %t49
- %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1
- %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2
- %t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0
- %t54 = load i32, ptr %t51
+ %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 = icmp sge i32 %t54, %t55
- br i1 %t56, label %grow8, label %put9
+ %t56 = load i32, ptr %t53
+ %t57 = icmp sge i32 %t55, %t56
+ br i1 %t57, label %grow8, label %put9
grow8:
- %t57 = mul i32 %t55, 2
- %t58 = icmp eq i32 %t55, 0
- %t59 = select i1 %t58, i32 8, i32 %t57
- %t60 = getelementptr ptr, ptr null, i32 1
- %t61 = ptrtoint ptr %t60 to i64
- %t62 = zext i32 %t59 to i64
- %t63 = mul i64 %t62, %t61
- %t64 = load ptr, ptr %t53
- %t65 = call ptr @realloc(ptr %t64, i64 %t63)
- store ptr %t65, ptr %t53
- store i32 %t59, ptr %t52
+ %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:
- %t66 = load ptr, ptr %t43
- %t67 = load ptr, ptr %t53
- %t68 = getelementptr inbounds ptr, ptr %t67, i32 %t54
- store ptr %t66, ptr %t68
- %t69 = add i32 %t54, 1
- store i32 %t69, ptr %t51
+ %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
@@ -30997,7 +31555,7 @@ wbody1:
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
+ %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then3, label %ifend5
then3:
@@ -31009,33 +31567,33 @@ ifend5:
br label %wcond0
wend2:
%t20 = load ptr, ptr @g_g_toggled_layers
- %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1
- %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2
- %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
- %t24 = load i32, ptr %t21
+ %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 = icmp sge i32 %t24, %t25
- br i1 %t26, label %grow6, label %put7
+ %t26 = load i32, ptr %t23
+ %t27 = icmp sge i32 %t25, %t26
+ br i1 %t27, 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
+ %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:
- %t36 = load ptr, ptr %t0
- %t37 = load ptr, ptr %t23
- %t38 = getelementptr inbounds ptr, ptr %t37, i32 %t24
- store ptr %t36, ptr %t38
- %t39 = add i32 %t24, 1
- store i32 %t39, ptr %t21
+ %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
@@ -31066,7 +31624,7 @@ wbody1:
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
+ %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then3, label %ifend5
then3:
@@ -31156,89 +31714,89 @@ then0:
br label %ifend2
else1:
%t33 = load ptr, ptr @g_loc_name
- %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1
- %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 2
- %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0
- %t37 = load i32, ptr %t34
+ %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 = icmp sge i32 %t37, %t38
- br i1 %t39, label %grow3, label %put4
+ %t39 = load i32, ptr %t36
+ %t40 = icmp sge i32 %t38, %t39
+ br i1 %t40, label %grow3, label %put4
grow3:
- %t40 = mul i32 %t38, 2
- %t41 = icmp eq i32 %t38, 0
- %t42 = select i1 %t41, i32 8, i32 %t40
- %t43 = getelementptr ptr, ptr null, i32 1
- %t44 = ptrtoint ptr %t43 to i64
- %t45 = zext i32 %t42 to i64
- %t46 = mul i64 %t45, %t44
- %t47 = load ptr, ptr %t36
- %t48 = call ptr @realloc(ptr %t47, i64 %t46)
- store ptr %t48, ptr %t36
- store i32 %t42, ptr %t35
+ %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:
- %t49 = load ptr, ptr %t0
- %t50 = load ptr, ptr %t36
- %t51 = getelementptr inbounds ptr, ptr %t50, i32 %t37
- store ptr %t49, ptr %t51
- %t52 = add i32 %t37, 1
- store i32 %t52, ptr %t34
+ %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 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1
- %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 2
- %t56 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0
- %t57 = load i32, ptr %t54
+ %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 = icmp sge i32 %t57, %t58
- br i1 %t59, label %grow5, label %put6
+ %t59 = load i32, ptr %t56
+ %t60 = icmp sge i32 %t58, %t59
+ br i1 %t60, label %grow5, label %put6
grow5:
- %t60 = mul i32 %t58, 2
- %t61 = icmp eq i32 %t58, 0
- %t62 = select i1 %t61, i32 8, i32 %t60
- %t63 = getelementptr ptr, ptr null, i32 1
- %t64 = ptrtoint ptr %t63 to i64
- %t65 = zext i32 %t62 to i64
- %t66 = mul i64 %t65, %t64
- %t67 = load ptr, ptr %t56
- %t68 = call ptr @realloc(ptr %t67, i64 %t66)
- store ptr %t68, ptr %t56
- store i32 %t62, ptr %t55
+ %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:
- %t69 = load ptr, ptr %t1
- %t70 = load ptr, ptr %t56
- %t71 = getelementptr inbounds ptr, ptr %t70, i32 %t57
- store ptr %t69, ptr %t71
- %t72 = add i32 %t57, 1
- store i32 %t72, ptr %t54
+ %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 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1
- %t75 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 2
- %t76 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0
- %t77 = load i32, ptr %t74
+ %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 = icmp sge i32 %t77, %t78
- br i1 %t79, label %grow7, label %put8
+ %t79 = load i32, ptr %t76
+ %t80 = icmp sge i32 %t78, %t79
+ br i1 %t80, label %grow7, label %put8
grow7:
- %t80 = mul i32 %t78, 2
- %t81 = icmp eq i32 %t78, 0
- %t82 = select i1 %t81, i32 8, i32 %t80
- %t83 = getelementptr ptr, ptr null, i32 1
- %t84 = ptrtoint ptr %t83 to i64
- %t85 = zext i32 %t82 to i64
- %t86 = mul i64 %t85, %t84
- %t87 = load ptr, ptr %t76
- %t88 = call ptr @realloc(ptr %t87, i64 %t86)
- store ptr %t88, ptr %t76
- store i32 %t82, ptr %t75
+ %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:
- %t89 = load ptr, ptr %t2
- %t90 = load ptr, ptr %t76
- %t91 = getelementptr inbounds ptr, ptr %t90, i32 %t77
- store ptr %t89, ptr %t91
- %t92 = add i32 %t77, 1
- store i32 %t92, ptr %t74
+ %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
@@ -31325,7 +31883,7 @@ wbody1:
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t13, ptr %t14)
+ %t15 = call i32 @lp_str_eq(ptr %t13, ptr %t14)
%t16 = icmp ne i32 %t15, 0
br i1 %t16, label %then3, label %ifend5
then3:
@@ -31385,7 +31943,7 @@ entry:
store ptr %arg_s, ptr %t0
%t1 = load i32, ptr @g_ll_str
%t2 = call ptr @fn_itoa(i32 %t1)
- %t3 = call ptr @fn_str_concat(ptr @.str713, ptr %t2)
+ %t3 = call ptr @lp_str_concat(ptr @.str743, ptr %t2)
store ptr %t3, ptr %t4
%t5 = load i32, ptr @g_ll_str
%t6 = add i32 %t5, 1
@@ -31396,12 +31954,12 @@ entry:
store i32 %t9, ptr %t10
%t11 = load ptr, ptr %t4
call void @fn_emith(ptr %t11)
- call void @fn_emith(ptr @.str714)
+ call void @fn_emith(ptr @.str744)
%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 @.str715)
+ call void @fn_emith(ptr @.str745)
store i32 0, ptr %t15
br label %wcond0
wcond0:
@@ -31490,7 +32048,7 @@ ifend11:
store i32 %t70, ptr %t15
br label %wcond0
wend2:
- call void @fn_emith(ptr @.str716)
+ call void @fn_emith(ptr @.str746)
%t71 = load ptr, ptr %t4
store ptr %t71, ptr %retval
br label %ret
@@ -31523,14 +32081,14 @@ then0:
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3
%t9 = load ptr, ptr %t8
%t10 = call ptr @fn_llty(ptr %t9)
- %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str717)
+ %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str747)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then3, label %ifend5
then3:
- store ptr @.str718, ptr %retval
+ store ptr @.str748, ptr %retval
br label %ret
ifend5:
- store ptr @.str719, ptr %retval
+ store ptr @.str749, ptr %retval
br label %ret
ifend2:
%t13 = load ptr, ptr %t0
@@ -31597,7 +32155,7 @@ sc13:
%t58 = load ptr, ptr %t16
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1
%t60 = load ptr, ptr %t59
- %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str720)
+ %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str750)
%t62 = icmp ne i32 %t61, 0
%t63 = zext i1 %t62 to i32
store i32 %t63, ptr %t50
@@ -31631,7 +32189,7 @@ then17:
%t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 2
%t82 = load i32, ptr %t81
%t83 = call ptr @fn_itoa(i32 %t82)
- %t84 = call ptr @fn_str_concat(ptr @.str721, ptr %t83)
+ %t84 = call ptr @lp_str_concat(ptr @.str751, ptr %t83)
store ptr %t84, ptr %retval
br label %ret
ifend19:
@@ -31688,14 +32246,14 @@ ifend24:
%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 @fn_str_eq(ptr %t123, ptr @.str722)
+ %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str752)
%t125 = icmp ne i32 %t124, 0
br i1 %t125, label %then28, label %ifend30
then28:
- store ptr @.str723, ptr %retval
+ store ptr @.str753, ptr %retval
br label %ret
ifend30:
- store ptr @.str724, ptr %retval
+ store ptr @.str754, ptr %retval
br label %ret
ret:
%t126 = load ptr, ptr %retval
@@ -31801,7 +32359,7 @@ 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 @fn_str_eq(ptr %t61, ptr @.str725)
+ %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str755)
%t63 = icmp ne i32 %t62, 0
%t64 = zext i1 %t63 to i32
store i32 %t64, ptr %t51
@@ -31898,7 +32456,7 @@ entry:
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
store i32 0, ptr @g_nself
- store ptr @.str726, ptr @g_ret_ty
+ store ptr @.str756, ptr @g_ret_ty
%t0 = call ptr @fn_buf_new()
store ptr %t0, ptr %t1
%t2 = call ptr @fn_buf_new()
@@ -31952,25 +32510,25 @@ then5:
%t37 = load ptr, ptr %t36
%t38 = call ptr @fn_emit_expr(ptr %t37)
store ptr %t38, ptr %t39
- call void @fn_emit(ptr @.str727)
+ call void @fn_emit(ptr @.str757)
%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 @.str728)
+ call void @fn_emit(ptr @.str758)
%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 @.str729)
+ call void @fn_emit(ptr @.str759)
%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 @.str730)
+ call void @fn_emit(ptr @.str760)
br label %ifend7
ifend7:
%t52 = load i32, ptr %t6
@@ -31978,17 +32536,17 @@ ifend7:
store i32 %t53, ptr %t6
br label %wcond0
wend2:
- call void @fn_emit(ptr @.str731)
+ call void @fn_emit(ptr @.str761)
%t54 = load ptr, ptr %t4
store ptr %t54, ptr @g_code
- call void @fn_emit(ptr @.str732)
+ call void @fn_emit(ptr @.str762)
%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 @.str733)
+ call void @fn_emit(ptr @.str763)
br label %ret
ret:
ret void
@@ -32006,36 +32564,6 @@ entry:
%t150 = alloca i32
%t156 = alloca i32
%t185 = alloca i32
- call void @fn_emith(ptr @.str734)
- call void @fn_emith(ptr @.str735)
- call void @fn_emith(ptr @.str736)
- call void @fn_emith(ptr @.str737)
- call void @fn_emith(ptr @.str738)
- call void @fn_emith(ptr @.str739)
- call void @fn_emith(ptr @.str740)
- call void @fn_emith(ptr @.str741)
- call void @fn_emith(ptr @.str742)
- call void @fn_emith(ptr @.str743)
- call void @fn_emith(ptr @.str744)
- call void @fn_emith(ptr @.str745)
- call void @fn_emith(ptr @.str746)
- call void @fn_emith(ptr @.str747)
- call void @fn_emith(ptr @.str748)
- call void @fn_emith(ptr @.str749)
- call void @fn_emith(ptr @.str750)
- call void @fn_emith(ptr @.str751)
- call void @fn_emith(ptr @.str752)
- call void @fn_emith(ptr @.str753)
- call void @fn_emith(ptr @.str754)
- call void @fn_emith(ptr @.str755)
- call void @fn_emith(ptr @.str756)
- call void @fn_emith(ptr @.str757)
- call void @fn_emith(ptr @.str758)
- call void @fn_emith(ptr @.str759)
- call void @fn_emith(ptr @.str760)
- call void @fn_emith(ptr @.str761)
- call void @fn_emith(ptr @.str762)
- call void @fn_emith(ptr @.str763)
call void @fn_emith(ptr @.str764)
call void @fn_emith(ptr @.str765)
call void @fn_emith(ptr @.str766)
@@ -32065,17 +32593,47 @@ entry:
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)
%t0 = load ptr, ptr @g_g_game_name
%t1 = call i64 @strlen(ptr %t0)
%t2 = trunc i64 %t1 to i32
%t3 = add i32 %t2, 1
%t4 = call ptr @fn_itoa(i32 %t3)
call void @fn_emith(ptr %t4)
- call void @fn_emith(ptr @.str793)
+ call void @fn_emith(ptr @.str823)
%t5 = load ptr, ptr @g_g_game_name
call void @fn_emith(ptr %t5)
- call void @fn_emith(ptr @.str794)
- call void @fn_emith(ptr @.str795)
+ call void @fn_emith(ptr @.str824)
+ call void @fn_emith(ptr @.str825)
store i32 0, ptr %t6
br label %wcond0
wcond0:
@@ -32139,7 +32697,7 @@ sc9:
%t54 = load ptr, ptr %t20
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1
%t56 = load ptr, ptr %t55
- %t57 = call i32 @fn_str_eq(ptr %t53, ptr %t56)
+ %t57 = call i32 @lp_str_eq(ptr %t53, ptr %t56)
%t58 = icmp ne i32 %t57, 0
%t59 = zext i1 %t58 to i32
store i32 %t59, ptr %t33
@@ -32174,16 +32732,16 @@ then16:
%t77 = load ptr, ptr %t20
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 1
%t79 = load ptr, ptr %t78
- %t80 = call ptr @fn_str_concat(ptr @.str796, ptr %t79)
- %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str797)
+ %t80 = call ptr @lp_str_concat(ptr @.str826, ptr %t79)
+ %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str827)
call void @fn_perr(ptr %t81)
br label %ifend18
ifend18:
%t82 = load ptr, ptr %t20
%t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 1
%t84 = load ptr, ptr %t83
- %t85 = call ptr @fn_str_concat(ptr @.str798, ptr %t84)
- %t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str799)
+ %t85 = call ptr @lp_str_concat(ptr @.str828, ptr %t84)
+ %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str829)
call void @fn_perr(ptr %t86)
br label %ifend13
ifend13:
@@ -32197,7 +32755,7 @@ wend8:
%t91 = load ptr, ptr %t90
%t92 = call ptr @fn_layout_ty(ptr %t91)
call void @fn_emith(ptr %t92)
- call void @fn_emith(ptr @.str800)
+ call void @fn_emith(ptr @.str830)
%t93 = load ptr, ptr %t20
%t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 7
%t95 = load ptr, ptr %t94
@@ -32208,7 +32766,7 @@ wend8:
%t100 = icmp ne i32 %t99, 0
br i1 %t100, label %then19, label %ifend21
then19:
- call void @fn_emith(ptr @.str801)
+ call void @fn_emith(ptr @.str831)
br label %ifend21
ifend21:
store i32 0, ptr %t101
@@ -32231,7 +32789,7 @@ wbody23:
%t114 = icmp ne i32 %t113, 0
br i1 %t114, label %then25, label %ifend27
then25:
- call void @fn_emith(ptr @.str802)
+ call void @fn_emith(ptr @.str832)
br label %ifend27
ifend27:
%t115 = load ptr, ptr %t20
@@ -32251,7 +32809,7 @@ ifend27:
store i32 %t127, ptr %t101
br label %wcond22
wend24:
- call void @fn_emith(ptr @.str803)
+ call void @fn_emith(ptr @.str833)
br label %ifend5
ifend5:
%t128 = load i32, ptr %t6
@@ -32322,7 +32880,7 @@ sc37:
%t177 = load ptr, ptr %t143
%t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 1
%t179 = load ptr, ptr %t178
- %t180 = call i32 @fn_str_eq(ptr %t176, ptr %t179)
+ %t180 = call i32 @lp_str_eq(ptr %t176, ptr %t179)
%t181 = icmp ne i32 %t180, 0
%t182 = zext i1 %t181 to i32
store i32 %t182, ptr %t156
@@ -32357,16 +32915,16 @@ then44:
%t200 = load ptr, ptr %t143
%t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 1
%t202 = load ptr, ptr %t201
- %t203 = call ptr @fn_str_concat(ptr @.str804, ptr %t202)
- %t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str805)
+ %t203 = call ptr @lp_str_concat(ptr @.str834, ptr %t202)
+ %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str835)
call void @fn_perr(ptr %t204)
br label %ifend46
ifend46:
%t205 = load ptr, ptr %t143
%t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 1
%t207 = load ptr, ptr %t206
- %t208 = call ptr @fn_str_concat(ptr @.str806, ptr %t207)
- %t209 = call ptr @fn_str_concat(ptr %t208, ptr @.str807)
+ %t208 = call ptr @lp_str_concat(ptr @.str836, ptr %t207)
+ %t209 = call ptr @lp_str_concat(ptr %t208, ptr @.str837)
call void @fn_perr(ptr %t209)
br label %ifend41
ifend41:
@@ -32375,22 +32933,22 @@ ifend41:
store i32 %t211, ptr %t150
br label %wcond34
wend36:
- call void @fn_emith(ptr @.str808)
+ call void @fn_emith(ptr @.str838)
%t212 = load ptr, ptr %t143
%t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 1
%t214 = load ptr, ptr %t213
call void @fn_emith(ptr %t214)
- call void @fn_emith(ptr @.str809)
+ call void @fn_emith(ptr @.str839)
%t215 = load ptr, ptr %t143
%t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 3
%t217 = load ptr, ptr %t216
%t218 = call ptr @fn_llty(ptr %t217)
call void @fn_emith(ptr %t218)
- call void @fn_emith(ptr @.str810)
+ call void @fn_emith(ptr @.str840)
%t219 = load ptr, ptr %t143
%t220 = call ptr @fn_global_init(ptr %t219)
call void @fn_emith(ptr %t220)
- call void @fn_emith(ptr @.str811)
+ call void @fn_emith(ptr @.str841)
br label %ifend33
ifend33:
%t221 = load i32, ptr %t6
@@ -32435,20 +32993,20 @@ wbody1:
%t20 = icmp ne i32 %t19, 0
br i1 %t20, label %then3, label %ifend5
then3:
- call void @fn_emith(ptr @.str812)
+ call void @fn_emith(ptr @.str842)
%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 @.str813)
+ call void @fn_emith(ptr @.str843)
%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 @.str814)
+ call void @fn_emith(ptr @.str844)
store i32 0, ptr %t30
br label %wcond6
wcond6:
@@ -32469,7 +33027,7 @@ wbody7:
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %then9, label %ifend11
then9:
- call void @fn_emith(ptr @.str815)
+ call void @fn_emith(ptr @.str845)
br label %ifend11
ifend11:
%t44 = load ptr, ptr %t14
@@ -32489,7 +33047,7 @@ ifend11:
store i32 %t56, ptr %t30
br label %wcond6
wend8:
- call void @fn_emith(ptr @.str816)
+ call void @fn_emith(ptr @.str846)
br label %ifend5
ifend5:
%t57 = load i32, ptr %t0
@@ -32504,48 +33062,11 @@ ret:
define void @fn_emit_str_prelude() {
entry:
- call void @fn_emith(ptr @.str817)
- call void @fn_emith(ptr @.str818)
- call void @fn_emith(ptr @.str819)
- call void @fn_emith(ptr @.str820)
- call void @fn_emith(ptr @.str821)
- call void @fn_emith(ptr @.str822)
- call void @fn_emith(ptr @.str823)
- call void @fn_emith(ptr @.str824)
- call void @fn_emith(ptr @.str825)
- call void @fn_emith(ptr @.str826)
- call void @fn_emith(ptr @.str827)
- call void @fn_emith(ptr @.str828)
- call void @fn_emith(ptr @.str829)
- call void @fn_emith(ptr @.str830)
- call void @fn_emith(ptr @.str831)
- call void @fn_emith(ptr @.str832)
- 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)
- call void @fn_emith(ptr @.str838)
- call void @fn_emith(ptr @.str839)
- call void @fn_emith(ptr @.str840)
- call void @fn_emith(ptr @.str841)
- call void @fn_emith(ptr @.str842)
- call void @fn_emith(ptr @.str843)
- call void @fn_emith(ptr @.str844)
- call void @fn_emith(ptr @.str845)
- call void @fn_emith(ptr @.str846)
call void @fn_emith(ptr @.str847)
call void @fn_emith(ptr @.str848)
call void @fn_emith(ptr @.str849)
call void @fn_emith(ptr @.str850)
call void @fn_emith(ptr @.str851)
- br label %ret
-ret:
- ret void
-}
-
-define void @fn_emit_int_str() {
-entry:
call void @fn_emith(ptr @.str852)
call void @fn_emith(ptr @.str853)
call void @fn_emith(ptr @.str854)
@@ -32563,13 +33084,6 @@ entry:
call void @fn_emith(ptr @.str866)
call void @fn_emith(ptr @.str867)
call void @fn_emith(ptr @.str868)
- br label %ret
-ret:
- ret void
-}
-
-define void @fn_emit_long_str() {
-entry:
call void @fn_emith(ptr @.str869)
call void @fn_emith(ptr @.str870)
call void @fn_emith(ptr @.str871)
@@ -32583,17 +33097,17 @@ entry:
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)
br label %ret
ret:
ret void
}
-define void @fn_emit_str_slice() {
+define void @fn_emit_int_str() {
entry:
+ 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)
@@ -32602,6 +33116,50 @@ entry:
call void @fn_emith(ptr @.str891)
call void @fn_emith(ptr @.str892)
call void @fn_emith(ptr @.str893)
+ call void @fn_emith(ptr @.str894)
+ call void @fn_emith(ptr @.str895)
+ call void @fn_emith(ptr @.str896)
+ call void @fn_emith(ptr @.str897)
+ call void @fn_emith(ptr @.str898)
+ br label %ret
+ret:
+ ret void
+}
+
+define void @fn_emit_long_str() {
+entry:
+ 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)
+ call void @fn_emith(ptr @.str914)
+ call void @fn_emith(ptr @.str915)
+ br label %ret
+ret:
+ ret void
+}
+
+define void @fn_emit_str_slice() {
+entry:
+ 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)
br label %ret
ret:
ret void
@@ -32635,7 +33193,7 @@ then0:
%t15 = load ptr, ptr %t5
%t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 1
%t17 = load ptr, ptr %t16
- %t18 = call ptr @fn_str_concat(ptr @.str894, ptr %t17)
+ %t18 = call ptr @lp_str_concat(ptr @.str924, ptr %t17)
call void @fn_perr(ptr %t18)
br label %ifend2
ifend2:
@@ -32654,7 +33212,7 @@ then3:
%t29 = load ptr, ptr %t0
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1
%t31 = load ptr, ptr %t30
- %t32 = call ptr @fn_str_concat(ptr @.str895, ptr %t31)
+ %t32 = call ptr @lp_str_concat(ptr @.str925, ptr %t31)
call void @fn_perr(ptr %t32)
br label %ifend5
ifend5:
@@ -32666,25 +33224,25 @@ ifend5:
store ptr %t37, ptr @g_g_addr_ty
%t38 = call ptr @fn_nreg()
store ptr %t38, ptr %t39
- call void @fn_emit(ptr @.str896)
+ call void @fn_emit(ptr @.str926)
%t40 = load ptr, ptr %t39
call void @fn_emit(ptr %t40)
- call void @fn_emit(ptr @.str897)
+ call void @fn_emit(ptr @.str927)
%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 @.str898)
+ call void @fn_emit(ptr @.str928)
%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 @.str899)
+ call void @fn_emit(ptr @.str929)
%t48 = load i32, ptr %t24
%t49 = call ptr @fn_itoa(i32 %t48)
call void @fn_emit(ptr %t49)
- call void @fn_emit(ptr @.str900)
+ call void @fn_emit(ptr @.str930)
%t50 = load ptr, ptr %t39
store ptr %t50, ptr %retval
br label %ret
@@ -32731,22 +33289,22 @@ then0:
%t18 = load ptr, ptr %t5
%t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 1
%t20 = load ptr, ptr %t19
- %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str901)
+ %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str931)
%t22 = icmp ne i32 %t21, 0
br i1 %t22, label %then3, label %ifend5
then3:
%t23 = load ptr, ptr %t5
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
%t25 = load ptr, ptr %t24
- %t26 = call ptr @fn_str_concat(ptr @.str902, ptr %t25)
- %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str903)
+ %t26 = call ptr @lp_str_concat(ptr @.str932, ptr %t25)
+ %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str933)
%t28 = load ptr, ptr %t17
%t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0
%t30 = load ptr, ptr %t29
- %t31 = call ptr @fn_str_concat(ptr %t27, ptr %t30)
+ %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 @.str904, ptr @g_g_addr_ty
+ store ptr @.str934, ptr @g_g_addr_ty
%t34 = load ptr, ptr %t33
store ptr %t34, ptr %retval
br label %ret
@@ -32754,22 +33312,22 @@ ifend5:
%t35 = load ptr, ptr %t5
%t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 1
%t37 = load ptr, ptr %t36
- %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str905)
+ %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str935)
%t39 = icmp ne i32 %t38, 0
br i1 %t39, label %then6, label %ifend8
then6:
%t40 = load ptr, ptr %t5
%t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0
%t42 = load ptr, ptr %t41
- %t43 = call ptr @fn_str_concat(ptr @.str906, ptr %t42)
- %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str907)
+ %t43 = call ptr @lp_str_concat(ptr @.str936, ptr %t42)
+ %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str937)
%t45 = load ptr, ptr %t17
%t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0
%t47 = load ptr, ptr %t46
- %t48 = call ptr @fn_str_concat(ptr %t44, ptr %t47)
+ %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 @.str908, ptr @g_g_addr_ty
+ store ptr @.str938, ptr @g_g_addr_ty
%t51 = load ptr, ptr %t50
store ptr %t51, ptr %retval
br label %ret
@@ -32777,22 +33335,22 @@ ifend8:
%t52 = load ptr, ptr %t5
%t53 = getelementptr inbounds %Cmp_Val, ptr %t52, i32 0, i32 1
%t54 = load ptr, ptr %t53
- %t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str909)
+ %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str939)
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %then9, label %ifend11
then9:
%t57 = load ptr, ptr %t5
%t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0
%t59 = load ptr, ptr %t58
- %t60 = call ptr @fn_str_concat(ptr @.str910, ptr %t59)
- %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str911)
+ %t60 = call ptr @lp_str_concat(ptr @.str940, ptr %t59)
+ %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str941)
%t62 = load ptr, ptr %t17
%t63 = getelementptr inbounds %Cmp_Val, ptr %t62, i32 0, i32 0
%t64 = load ptr, ptr %t63
- %t65 = call ptr @fn_str_concat(ptr %t61, ptr %t64)
+ %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 @.str912, ptr @g_g_addr_ty
+ store ptr @.str942, ptr @g_g_addr_ty
%t68 = load ptr, ptr %t67
store ptr %t68, ptr %retval
br label %ret
@@ -32800,15 +33358,15 @@ ifend11:
%t69 = load ptr, ptr %t5
%t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0
%t71 = load ptr, ptr %t70
- %t72 = call ptr @fn_str_concat(ptr @.str913, ptr %t71)
- %t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str914)
+ %t72 = call ptr @lp_str_concat(ptr @.str943, ptr %t71)
+ %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str944)
%t74 = load ptr, ptr %t17
%t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0
%t76 = load ptr, ptr %t75
- %t77 = call ptr @fn_str_concat(ptr %t73, ptr %t76)
+ %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 @.str915, ptr @g_g_addr_ty
+ store ptr @.str945, ptr @g_g_addr_ty
%t80 = load ptr, ptr %t79
store ptr %t80, ptr %retval
br label %ret
@@ -32820,24 +33378,24 @@ ifend2:
store ptr %t84, ptr %t85
%t86 = call ptr @fn_nreg()
store ptr %t86, ptr %t87
- call void @fn_emit(ptr @.str916)
+ call void @fn_emit(ptr @.str946)
%t88 = load ptr, ptr %t87
call void @fn_emit(ptr %t88)
- call void @fn_emit(ptr @.str917)
+ call void @fn_emit(ptr @.str947)
%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 @.str918)
+ call void @fn_emit(ptr @.str948)
%t92 = call ptr @fn_nreg()
store ptr %t92, ptr %t93
- call void @fn_emit(ptr @.str919)
+ call void @fn_emit(ptr @.str949)
%t94 = load ptr, ptr %t93
call void @fn_emit(ptr %t94)
- call void @fn_emit(ptr @.str920)
+ call void @fn_emit(ptr @.str950)
%t95 = load ptr, ptr %t87
call void @fn_emit(ptr %t95)
- call void @fn_emit(ptr @.str921)
+ call void @fn_emit(ptr @.str951)
%t96 = load ptr, ptr %t0
%t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 5
%t98 = load ptr, ptr %t97
@@ -32845,22 +33403,22 @@ ifend2:
store ptr %t99, ptr %t100
%t101 = call ptr @fn_nreg()
store ptr %t101, ptr %t102
- call void @fn_emit(ptr @.str922)
+ call void @fn_emit(ptr @.str952)
%t103 = load ptr, ptr %t102
call void @fn_emit(ptr %t103)
- call void @fn_emit(ptr @.str923)
+ call void @fn_emit(ptr @.str953)
%t104 = load ptr, ptr %t85
%t105 = call ptr @fn_llty(ptr %t104)
call void @fn_emit(ptr %t105)
- call void @fn_emit(ptr @.str924)
+ call void @fn_emit(ptr @.str954)
%t106 = load ptr, ptr %t93
call void @fn_emit(ptr %t106)
- call void @fn_emit(ptr @.str925)
+ call void @fn_emit(ptr @.str955)
%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 @.str926)
+ call void @fn_emit(ptr @.str956)
%t110 = load ptr, ptr %t85
store ptr %t110, ptr @g_g_addr_ty
%t111 = load ptr, ptr %t102
@@ -32885,7 +33443,7 @@ entry:
%t72 = alloca i32
store ptr %arg_name, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str927)
+ %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str957)
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then0, label %ifend2
then0:
@@ -32893,14 +33451,14 @@ then0:
br label %ret
ifend2:
%t6 = load ptr, ptr %t0
- %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str928)
+ %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str958)
%t8 = icmp ne i32 %t7, 0
%t9 = zext i1 %t8 to i32
store i32 %t9, ptr %t5
br i1 %t8, label %scend4, label %sc3
sc3:
%t10 = load ptr, ptr %t0
- %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str929)
+ %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str959)
%t12 = icmp ne i32 %t11, 0
%t13 = zext i1 %t12 to i32
store i32 %t13, ptr %t5
@@ -32913,7 +33471,7 @@ scend4:
br i1 %t15, label %scend6, label %sc5
sc5:
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str930)
+ %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str960)
%t19 = icmp ne i32 %t18, 0
%t20 = zext i1 %t19 to i32
store i32 %t20, ptr %t4
@@ -32927,14 +33485,14 @@ then7:
br label %ret
ifend9:
%t25 = load ptr, ptr %t0
- %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str931)
+ %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str961)
%t27 = icmp ne i32 %t26, 0
%t28 = zext i1 %t27 to i32
store i32 %t28, ptr %t24
br i1 %t27, label %scend11, label %sc10
sc10:
%t29 = load ptr, ptr %t0
- %t30 = call i32 @fn_str_eq(ptr %t29, ptr @.str932)
+ %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str962)
%t31 = icmp ne i32 %t30, 0
%t32 = zext i1 %t31 to i32
store i32 %t32, ptr %t24
@@ -32947,7 +33505,7 @@ scend11:
br i1 %t34, label %scend13, label %sc12
sc12:
%t36 = load ptr, ptr %t0
- %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str933)
+ %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str963)
%t38 = icmp ne i32 %t37, 0
%t39 = zext i1 %t38 to i32
store i32 %t39, ptr %t23
@@ -32961,14 +33519,14 @@ then14:
br label %ret
ifend16:
%t44 = load ptr, ptr %t0
- %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str934)
+ %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str964)
%t46 = icmp ne i32 %t45, 0
%t47 = zext i1 %t46 to i32
store i32 %t47, ptr %t43
br i1 %t46, label %scend18, label %sc17
sc17:
%t48 = load ptr, ptr %t0
- %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str935)
+ %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str965)
%t50 = icmp ne i32 %t49, 0
%t51 = zext i1 %t50 to i32
store i32 %t51, ptr %t43
@@ -32981,7 +33539,7 @@ scend18:
br i1 %t53, label %scend20, label %sc19
sc19:
%t55 = load ptr, ptr %t0
- %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str936)
+ %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str966)
%t57 = icmp ne i32 %t56, 0
%t58 = zext i1 %t57 to i32
store i32 %t58, ptr %t42
@@ -32995,14 +33553,14 @@ then21:
br label %ret
ifend23:
%t62 = load ptr, ptr %t0
- %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str937)
+ %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str967)
%t64 = icmp ne i32 %t63, 0
%t65 = zext i1 %t64 to i32
store i32 %t65, ptr %t61
br i1 %t64, label %scend25, label %sc24
sc24:
%t66 = load ptr, ptr %t0
- %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str938)
+ %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str968)
%t68 = icmp ne i32 %t67, 0
%t69 = zext i1 %t68 to i32
store i32 %t69, ptr %t61
@@ -33016,14 +33574,14 @@ then26:
br label %ret
ifend28:
%t73 = load ptr, ptr %t0
- %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str939)
+ %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str969)
%t75 = icmp ne i32 %t74, 0
%t76 = zext i1 %t75 to i32
store i32 %t76, ptr %t72
br i1 %t75, label %scend30, label %sc29
sc29:
%t77 = load ptr, ptr %t0
- %t78 = call i32 @fn_str_eq(ptr %t77, ptr @.str940)
+ %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str970)
%t79 = icmp ne i32 %t78, 0
%t80 = zext i1 %t79 to i32
store i32 %t80, ptr %t72
@@ -33037,7 +33595,7 @@ then31:
br label %ret
ifend33:
%t83 = load ptr, ptr %t0
- %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str941)
+ %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str971)
%t85 = icmp ne i32 %t84, 0
br i1 %t85, label %then34, label %ifend36
then34:
@@ -33059,13 +33617,13 @@ entry:
store ptr %arg_rest, ptr %t0
%t1 = call ptr @fn_nreg()
store ptr %t1, ptr %t2
- call void @fn_emit(ptr @.str942)
+ call void @fn_emit(ptr @.str972)
%t3 = load ptr, ptr %t2
call void @fn_emit(ptr %t3)
- call void @fn_emit(ptr @.str943)
+ call void @fn_emit(ptr @.str973)
%t4 = load ptr, ptr %t0
call void @fn_emit(ptr %t4)
- call void @fn_emit(ptr @.str944)
+ call void @fn_emit(ptr @.str974)
%t5 = load ptr, ptr %t2
store ptr %t5, ptr %retval
br label %ret
@@ -33137,7 +33695,7 @@ entry:
store ptr %arg_e, ptr %t1
store i32 1, ptr @g_g_intrin_ok
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str945)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str975)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -33148,23 +33706,23 @@ then0:
%t9 = call ptr @fn_arg_code(ptr %t8, i32 1)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t10
- %t12 = call ptr @fn_str_concat(ptr @.str946, ptr %t11)
- %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str947)
+ %t12 = call ptr @lp_str_concat(ptr @.str976, ptr %t11)
+ %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str977)
%t14 = call ptr @fn_emit_bind(ptr %t13)
store ptr %t14, ptr %t15
%t16 = load ptr, ptr %t7
- %t17 = call ptr @fn_str_concat(ptr @.str948, ptr %t16)
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str949)
+ %t17 = call ptr @lp_str_concat(ptr @.str978, ptr %t16)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str979)
%t19 = load ptr, ptr %t15
- %t20 = call ptr @fn_str_concat(ptr %t18, ptr %t19)
- %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str950)
+ %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19)
+ %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str980)
%t22 = call ptr @fn_emit_bind(ptr %t21)
- %t23 = call ptr @fn_val(ptr %t22, ptr @.str951)
+ %t23 = call ptr @fn_val(ptr %t22, ptr @.str981)
store ptr %t23, ptr %retval
br label %ret
ifend2:
%t24 = load ptr, ptr %t0
- %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str952)
+ %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str982)
%t26 = icmp ne i32 %t25, 0
br i1 %t26, label %then3, label %ifend5
then3:
@@ -33175,25 +33733,25 @@ then3:
%t31 = call ptr @fn_arg_code(ptr %t30, i32 1)
store ptr %t31, ptr %t32
%t33 = load ptr, ptr %t29
- %t34 = call ptr @fn_str_concat(ptr @.str953, ptr %t33)
- %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str954)
+ %t34 = call ptr @lp_str_concat(ptr @.str983, ptr %t33)
+ %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str984)
%t36 = load ptr, ptr %t32
- %t37 = call ptr @fn_str_concat(ptr %t35, ptr %t36)
- %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str955)
+ %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36)
+ %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str985)
%t39 = call ptr @fn_emit_bind(ptr %t38)
- %t40 = call ptr @fn_val(ptr %t39, ptr @.str956)
+ %t40 = call ptr @fn_val(ptr %t39, ptr @.str986)
store ptr %t40, ptr %retval
br label %ret
ifend5:
%t42 = load ptr, ptr %t0
- %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str957)
+ %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str987)
%t44 = icmp ne i32 %t43, 0
%t45 = zext i1 %t44 to i32
store i32 %t45, ptr %t41
br i1 %t44, label %scend7, label %sc6
sc6:
%t46 = load ptr, ptr %t0
- %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str958)
+ %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str988)
%t48 = icmp ne i32 %t47, 0
%t49 = zext i1 %t48 to i32
store i32 %t49, ptr %t41
@@ -33213,43 +33771,43 @@ then8:
%t59 = call ptr @fn_arg_code(ptr %t58, i32 2)
store ptr %t59, ptr %t60
%t61 = load ptr, ptr %t60
- %t62 = call ptr @fn_str_concat(ptr @.str959, ptr %t61)
- %t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str960)
+ %t62 = call ptr @lp_str_concat(ptr @.str989, ptr %t61)
+ %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str990)
%t64 = call ptr @fn_emit_bind(ptr %t63)
store ptr %t64, ptr %t65
- store ptr @.str961, ptr %t66
+ store ptr @.str991, ptr %t66
%t67 = load ptr, ptr %t0
- %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str962)
+ %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str992)
%t69 = icmp ne i32 %t68, 0
br i1 %t69, label %then11, label %ifend13
then11:
- store ptr @.str963, ptr %t66
+ store ptr @.str993, ptr %t66
br label %ifend13
ifend13:
%t70 = load ptr, ptr %t66
- %t71 = call ptr @fn_str_concat(ptr @.str964, ptr %t70)
- %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str965)
+ %t71 = call ptr @lp_str_concat(ptr @.str994, ptr %t70)
+ %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str995)
%t73 = load ptr, ptr %t57
- %t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
- %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str966)
+ %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73)
+ %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str996)
%t76 = load ptr, ptr %t65
- %t77 = call ptr @fn_str_concat(ptr %t75, ptr %t76)
- %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str967)
+ %t77 = call ptr @lp_str_concat(ptr %t75, ptr %t76)
+ %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str997)
%t79 = load ptr, ptr %t54
- %t80 = call ptr @fn_str_concat(ptr %t78, ptr %t79)
- %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str968)
+ %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79)
+ %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str998)
%t82 = call ptr @fn_emit_bind(ptr %t81)
store ptr %t82, ptr %t83
%t84 = load ptr, ptr %t83
- %t85 = call ptr @fn_str_concat(ptr @.str969, ptr %t84)
- %t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str970)
+ %t85 = call ptr @lp_str_concat(ptr @.str999, ptr %t84)
+ %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1000)
%t87 = call ptr @fn_emit_bind(ptr %t86)
- %t88 = call ptr @fn_val(ptr %t87, ptr @.str971)
+ %t88 = call ptr @fn_val(ptr %t87, ptr @.str1001)
store ptr %t88, ptr %retval
br label %ret
ifend10:
%t89 = load ptr, ptr %t0
- %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str972)
+ %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1002)
%t91 = icmp ne i32 %t90, 0
br i1 %t91, label %then14, label %ifend16
then14:
@@ -33263,26 +33821,26 @@ then14:
%t99 = call ptr @fn_arg_code(ptr %t98, i32 2)
store ptr %t99, ptr %t100
%t101 = load ptr, ptr %t97
- %t102 = call ptr @fn_str_concat(ptr @.str973, ptr %t101)
- %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str974)
+ %t102 = call ptr @lp_str_concat(ptr @.str1003, ptr %t101)
+ %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1004)
%t104 = call ptr @fn_emit_bind(ptr %t103)
store ptr %t104, ptr %t105
%t106 = load ptr, ptr %t94
- %t107 = call ptr @fn_str_concat(ptr @.str975, ptr %t106)
- %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str976)
+ %t107 = call ptr @lp_str_concat(ptr @.str1005, ptr %t106)
+ %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str1006)
%t109 = load ptr, ptr %t105
- %t110 = call ptr @fn_str_concat(ptr %t108, ptr %t109)
- %t111 = call ptr @fn_str_concat(ptr %t110, ptr @.str977)
+ %t110 = call ptr @lp_str_concat(ptr %t108, ptr %t109)
+ %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str1007)
%t112 = load ptr, ptr %t100
- %t113 = call ptr @fn_str_concat(ptr %t111, ptr %t112)
- %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str978)
+ %t113 = call ptr @lp_str_concat(ptr %t111, ptr %t112)
+ %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str1008)
%t115 = call ptr @fn_emit_bind(ptr %t114)
- %t116 = call ptr @fn_val(ptr %t115, ptr @.str979)
+ %t116 = call ptr @fn_val(ptr %t115, ptr @.str1009)
store ptr %t116, ptr %retval
br label %ret
ifend16:
%t117 = load ptr, ptr %t0
- %t118 = call i32 @fn_str_eq(ptr %t117, ptr @.str980)
+ %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str1010)
%t119 = icmp ne i32 %t118, 0
br i1 %t119, label %then17, label %ifend19
then17:
@@ -33290,36 +33848,36 @@ then17:
%t121 = call ptr @fn_arg_code(ptr %t120, i32 0)
store ptr %t121, ptr %t122
%t123 = load ptr, ptr %t122
- %t124 = call ptr @fn_str_concat(ptr @.str981, ptr %t123)
- %t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str982)
+ %t124 = call ptr @lp_str_concat(ptr @.str1011, ptr %t123)
+ %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str1012)
%t126 = call ptr @fn_emit_bind(ptr %t125)
store ptr %t126, ptr %t127
%t128 = load ptr, ptr %t127
- %t129 = call ptr @fn_str_concat(ptr @.str983, ptr %t128)
- %t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str984)
+ %t129 = call ptr @lp_str_concat(ptr @.str1013, ptr %t128)
+ %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1014)
%t131 = call ptr @fn_emit_bind(ptr %t130)
- %t132 = call ptr @fn_val(ptr %t131, ptr @.str985)
+ %t132 = call ptr @fn_val(ptr %t131, ptr @.str1015)
store ptr %t132, ptr %retval
br label %ret
ifend19:
%t133 = load ptr, ptr %t0
- %t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str986)
+ %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str1016)
%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 @.str987)
+ call void @fn_emit(ptr @.str1017)
%t139 = load ptr, ptr %t138
call void @fn_emit(ptr %t139)
- call void @fn_emit(ptr @.str988)
- %t140 = call ptr @fn_val(ptr @.str989, ptr @.str990)
+ call void @fn_emit(ptr @.str1018)
+ %t140 = call ptr @fn_val(ptr @.str1019, ptr @.str1020)
store ptr %t140, ptr %retval
br label %ret
ifend22:
%t141 = load ptr, ptr %t0
- %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str991)
+ %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1021)
%t143 = icmp ne i32 %t142, 0
br i1 %t143, label %then23, label %ifend25
then23:
@@ -33327,88 +33885,88 @@ then23:
%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 @.str992)
+ call void @fn_emit(ptr @.str1022)
%t147 = load ptr, ptr %t146
call void @fn_emit(ptr %t147)
- call void @fn_emit(ptr @.str993)
- %t148 = call ptr @fn_val(ptr @.str994, ptr @.str995)
+ call void @fn_emit(ptr @.str1023)
+ %t148 = call ptr @fn_val(ptr @.str1024, ptr @.str1025)
store ptr %t148, ptr %retval
br label %ret
ifend25:
%t149 = load ptr, ptr %t0
- %t150 = call i32 @fn_str_eq(ptr %t149, ptr @.str996)
+ %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str1026)
%t151 = icmp ne i32 %t150, 0
br i1 %t151, label %then26, label %ifend28
then26:
- %t152 = call ptr @fn_emit_bind(ptr @.str997)
- %t153 = call ptr @fn_val(ptr %t152, ptr @.str998)
+ %t152 = call ptr @fn_emit_bind(ptr @.str1027)
+ %t153 = call ptr @fn_val(ptr %t152, ptr @.str1028)
store ptr %t153, ptr %retval
br label %ret
ifend28:
%t154 = load ptr, ptr %t0
- %t155 = call i32 @fn_str_eq(ptr %t154, ptr @.str999)
+ %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str1029)
%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 @.str1000)
+ %t160 = call ptr @fn_emit_bind(ptr @.str1030)
store ptr %t160, ptr %t161
%t162 = load ptr, ptr %t161
- %t163 = call ptr @fn_str_concat(ptr @.str1001, ptr %t162)
- %t164 = call ptr @fn_str_concat(ptr %t163, ptr @.str1002)
+ %t163 = call ptr @lp_str_concat(ptr @.str1031, ptr %t162)
+ %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str1032)
%t165 = load ptr, ptr %t159
- %t166 = call ptr @fn_str_concat(ptr %t164, ptr %t165)
+ %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 @fn_str_concat(ptr @.str1003, ptr %t169)
+ %t170 = call ptr @lp_str_concat(ptr @.str1033, ptr %t169)
%t171 = call ptr @fn_emit_bind(ptr %t170)
- %t172 = call ptr @fn_val(ptr %t171, ptr @.str1004)
+ %t172 = call ptr @fn_val(ptr %t171, ptr @.str1034)
store ptr %t172, ptr %retval
br label %ret
ifend31:
%t173 = load ptr, ptr %t0
- %t174 = call i32 @fn_str_eq(ptr %t173, ptr @.str1005)
+ %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str1035)
%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 @.str1006)
+ call void @fn_emit(ptr @.str1036)
%t179 = load ptr, ptr %t178
call void @fn_emit(ptr %t179)
- call void @fn_emit(ptr @.str1007)
- call void @fn_emit(ptr @.str1008)
+ call void @fn_emit(ptr @.str1037)
+ call void @fn_emit(ptr @.str1038)
store i32 1, ptr @g_g_term
- %t180 = call ptr @fn_val(ptr @.str1009, ptr @.str1010)
+ %t180 = call ptr @fn_val(ptr @.str1039, ptr @.str1040)
store ptr %t180, ptr %retval
br label %ret
ifend34:
%t181 = load ptr, ptr %t0
- %t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str1011)
+ %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str1041)
%t183 = icmp ne i32 %t182, 0
br i1 %t183, label %then35, label %ifend37
then35:
- %t184 = call ptr @fn_emit_bind(ptr @.str1012)
- %t185 = call ptr @fn_val(ptr %t184, ptr @.str1013)
+ %t184 = call ptr @fn_emit_bind(ptr @.str1042)
+ %t185 = call ptr @fn_val(ptr %t184, ptr @.str1043)
store ptr %t185, ptr %retval
br label %ret
ifend37:
%t186 = load ptr, ptr %t0
- %t187 = call i32 @fn_str_eq(ptr %t186, ptr @.str1014)
+ %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str1044)
%t188 = icmp ne i32 %t187, 0
br i1 %t188, label %then38, label %ifend40
then38:
- %t189 = call ptr @fn_emit_bind(ptr @.str1015)
- %t190 = call ptr @fn_val(ptr %t189, ptr @.str1016)
+ %t189 = call ptr @fn_emit_bind(ptr @.str1045)
+ %t190 = call ptr @fn_val(ptr %t189, ptr @.str1046)
store ptr %t190, ptr %retval
br label %ret
ifend40:
%t191 = load ptr, ptr %t0
- %t192 = call i32 @fn_str_eq(ptr %t191, ptr @.str1017)
+ %t192 = call i32 @lp_str_eq(ptr %t191, ptr @.str1047)
%t193 = icmp ne i32 %t192, 0
br i1 %t193, label %then41, label %ifend43
then41:
@@ -33416,15 +33974,15 @@ then41:
%t195 = call ptr @fn_arg_code(ptr %t194, i32 0)
store ptr %t195, ptr %t196
%t197 = load ptr, ptr %t196
- %t198 = call ptr @fn_str_concat(ptr @.str1018, ptr %t197)
- %t199 = call ptr @fn_str_concat(ptr %t198, ptr @.str1019)
+ %t198 = call ptr @lp_str_concat(ptr @.str1048, ptr %t197)
+ %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str1049)
%t200 = call ptr @fn_emit_bind(ptr %t199)
- %t201 = call ptr @fn_val(ptr %t200, ptr @.str1020)
+ %t201 = call ptr @fn_val(ptr %t200, ptr @.str1050)
store ptr %t201, ptr %retval
br label %ret
ifend43:
%t202 = load ptr, ptr %t0
- %t203 = call i32 @fn_str_eq(ptr %t202, ptr @.str1021)
+ %t203 = call i32 @lp_str_eq(ptr %t202, ptr @.str1051)
%t204 = icmp ne i32 %t203, 0
br i1 %t204, label %then44, label %ifend46
then44:
@@ -33432,15 +33990,15 @@ then44:
%t206 = call ptr @fn_arg_code(ptr %t205, i32 0)
store ptr %t206, ptr %t207
%t208 = load ptr, ptr %t207
- %t209 = call ptr @fn_str_concat(ptr @.str1022, ptr %t208)
- %t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str1023)
+ %t209 = call ptr @lp_str_concat(ptr @.str1052, ptr %t208)
+ %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str1053)
%t211 = call ptr @fn_emit_bind(ptr %t210)
- %t212 = call ptr @fn_val(ptr %t211, ptr @.str1024)
+ %t212 = call ptr @fn_val(ptr %t211, ptr @.str1054)
store ptr %t212, ptr %retval
br label %ret
ifend46:
store i32 0, ptr @g_g_intrin_ok
- %t213 = call ptr @fn_val(ptr @.str1025, ptr @.str1026)
+ %t213 = call ptr @fn_val(ptr @.str1055, ptr @.str1056)
store ptr %t213, ptr %retval
br label %ret
ret:
@@ -33474,14 +34032,14 @@ entry:
%t185 = alloca i32
store ptr %arg_name, ptr %t0
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1027)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1057)
%t4 = icmp ne i32 %t3, 0
%t5 = zext i1 %t4 to i32
store i32 %t5, ptr %t1
br i1 %t4, label %scend1, label %sc0
sc0:
%t6 = load ptr, ptr %t0
- %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str1028)
+ %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1058)
%t8 = icmp ne i32 %t7, 0
%t9 = zext i1 %t8 to i32
store i32 %t9, ptr %t1
@@ -33495,14 +34053,14 @@ then2:
br label %ret
ifend4:
%t13 = load ptr, ptr %t0
- %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str1029)
+ %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str1059)
%t15 = icmp ne i32 %t14, 0
%t16 = zext i1 %t15 to i32
store i32 %t16, ptr %t12
br i1 %t15, label %scend6, label %sc5
sc5:
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str1030)
+ %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str1060)
%t19 = icmp ne i32 %t18, 0
%t20 = zext i1 %t19 to i32
store i32 %t20, ptr %t12
@@ -33516,14 +34074,14 @@ then7:
br label %ret
ifend9:
%t24 = load ptr, ptr %t0
- %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str1031)
+ %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str1061)
%t26 = icmp ne i32 %t25, 0
%t27 = zext i1 %t26 to i32
store i32 %t27, ptr %t23
br i1 %t26, label %scend11, label %sc10
sc10:
%t28 = load ptr, ptr %t0
- %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str1032)
+ %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str1062)
%t30 = icmp ne i32 %t29, 0
%t31 = zext i1 %t30 to i32
store i32 %t31, ptr %t23
@@ -33537,14 +34095,14 @@ then12:
br label %ret
ifend14:
%t35 = load ptr, ptr %t0
- %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1033)
+ %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1063)
%t37 = icmp ne i32 %t36, 0
%t38 = zext i1 %t37 to i32
store i32 %t38, ptr %t34
br i1 %t37, label %scend16, label %sc15
sc15:
%t39 = load ptr, ptr %t0
- %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str1034)
+ %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str1064)
%t41 = icmp ne i32 %t40, 0
%t42 = zext i1 %t41 to i32
store i32 %t42, ptr %t34
@@ -33558,14 +34116,14 @@ then17:
br label %ret
ifend19:
%t47 = load ptr, ptr %t0
- %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str1035)
+ %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1065)
%t49 = icmp ne i32 %t48, 0
%t50 = zext i1 %t49 to i32
store i32 %t50, ptr %t46
br i1 %t49, label %scend21, label %sc20
sc20:
%t51 = load ptr, ptr %t0
- %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str1036)
+ %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str1066)
%t53 = icmp ne i32 %t52, 0
%t54 = zext i1 %t53 to i32
store i32 %t54, ptr %t46
@@ -33578,7 +34136,7 @@ scend21:
br i1 %t56, label %scend23, label %sc22
sc22:
%t58 = load ptr, ptr %t0
- %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str1037)
+ %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str1067)
%t60 = icmp ne i32 %t59, 0
%t61 = zext i1 %t60 to i32
store i32 %t61, ptr %t45
@@ -33592,14 +34150,14 @@ then24:
br label %ret
ifend26:
%t65 = load ptr, ptr %t0
- %t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str1038)
+ %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str1068)
%t67 = icmp ne i32 %t66, 0
%t68 = zext i1 %t67 to i32
store i32 %t68, ptr %t64
br i1 %t67, label %scend28, label %sc27
sc27:
%t69 = load ptr, ptr %t0
- %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str1039)
+ %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str1069)
%t71 = icmp ne i32 %t70, 0
%t72 = zext i1 %t71 to i32
store i32 %t72, ptr %t64
@@ -33613,14 +34171,14 @@ then29:
br label %ret
ifend31:
%t76 = load ptr, ptr %t0
- %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str1040)
+ %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str1070)
%t78 = icmp ne i32 %t77, 0
%t79 = zext i1 %t78 to i32
store i32 %t79, ptr %t75
br i1 %t78, label %scend33, label %sc32
sc32:
%t80 = load ptr, ptr %t0
- %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str1041)
+ %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str1071)
%t82 = icmp ne i32 %t81, 0
%t83 = zext i1 %t82 to i32
store i32 %t83, ptr %t75
@@ -33634,14 +34192,14 @@ then34:
br label %ret
ifend36:
%t87 = load ptr, ptr %t0
- %t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str1042)
+ %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str1072)
%t89 = icmp ne i32 %t88, 0
%t90 = zext i1 %t89 to i32
store i32 %t90, ptr %t86
br i1 %t89, label %scend38, label %sc37
sc37:
%t91 = load ptr, ptr %t0
- %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str1043)
+ %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1073)
%t93 = icmp ne i32 %t92, 0
%t94 = zext i1 %t93 to i32
store i32 %t94, ptr %t86
@@ -33655,7 +34213,7 @@ then39:
br label %ret
ifend41:
%t97 = load ptr, ptr %t0
- %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str1044)
+ %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str1074)
%t99 = icmp ne i32 %t98, 0
br i1 %t99, label %then42, label %ifend44
then42:
@@ -33663,14 +34221,14 @@ then42:
br label %ret
ifend44:
%t102 = load ptr, ptr %t0
- %t103 = call i32 @fn_str_eq(ptr %t102, ptr @.str1045)
+ %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str1075)
%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 @fn_str_eq(ptr %t106, ptr @.str1046)
+ %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str1076)
%t108 = icmp ne i32 %t107, 0
%t109 = zext i1 %t108 to i32
store i32 %t109, ptr %t101
@@ -33683,7 +34241,7 @@ scend46:
br i1 %t111, label %scend48, label %sc47
sc47:
%t113 = load ptr, ptr %t0
- %t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str1047)
+ %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str1077)
%t115 = icmp ne i32 %t114, 0
%t116 = zext i1 %t115 to i32
store i32 %t116, ptr %t100
@@ -33697,14 +34255,14 @@ then49:
br label %ret
ifend51:
%t121 = load ptr, ptr %t0
- %t122 = call i32 @fn_str_eq(ptr %t121, ptr @.str1048)
+ %t122 = call i32 @lp_str_eq(ptr %t121, ptr @.str1078)
%t123 = icmp ne i32 %t122, 0
%t124 = zext i1 %t123 to i32
store i32 %t124, ptr %t120
br i1 %t123, label %scend53, label %sc52
sc52:
%t125 = load ptr, ptr %t0
- %t126 = call i32 @fn_str_eq(ptr %t125, ptr @.str1049)
+ %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str1079)
%t127 = icmp ne i32 %t126, 0
%t128 = zext i1 %t127 to i32
store i32 %t128, ptr %t120
@@ -33717,7 +34275,7 @@ scend53:
br i1 %t130, label %scend55, label %sc54
sc54:
%t132 = load ptr, ptr %t0
- %t133 = call i32 @fn_str_eq(ptr %t132, ptr @.str1050)
+ %t133 = call i32 @lp_str_eq(ptr %t132, ptr @.str1080)
%t134 = icmp ne i32 %t133, 0
%t135 = zext i1 %t134 to i32
store i32 %t135, ptr %t119
@@ -33731,14 +34289,14 @@ then56:
br label %ret
ifend58:
%t140 = load ptr, ptr %t0
- %t141 = call i32 @fn_str_eq(ptr %t140, ptr @.str1051)
+ %t141 = call i32 @lp_str_eq(ptr %t140, ptr @.str1081)
%t142 = icmp ne i32 %t141, 0
%t143 = zext i1 %t142 to i32
store i32 %t143, ptr %t139
br i1 %t142, label %scend60, label %sc59
sc59:
%t144 = load ptr, ptr %t0
- %t145 = call i32 @fn_str_eq(ptr %t144, ptr @.str1052)
+ %t145 = call i32 @lp_str_eq(ptr %t144, ptr @.str1082)
%t146 = icmp ne i32 %t145, 0
%t147 = zext i1 %t146 to i32
store i32 %t147, ptr %t139
@@ -33751,7 +34309,7 @@ scend60:
br i1 %t149, label %scend62, label %sc61
sc61:
%t151 = load ptr, ptr %t0
- %t152 = call i32 @fn_str_eq(ptr %t151, ptr @.str1053)
+ %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str1083)
%t153 = icmp ne i32 %t152, 0
%t154 = zext i1 %t153 to i32
store i32 %t154, ptr %t138
@@ -33765,14 +34323,14 @@ then63:
br label %ret
ifend65:
%t160 = load ptr, ptr %t0
- %t161 = call i32 @fn_str_eq(ptr %t160, ptr @.str1054)
+ %t161 = call i32 @lp_str_eq(ptr %t160, ptr @.str1084)
%t162 = icmp ne i32 %t161, 0
%t163 = zext i1 %t162 to i32
store i32 %t163, ptr %t159
br i1 %t162, label %scend67, label %sc66
sc66:
%t164 = load ptr, ptr %t0
- %t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str1055)
+ %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str1085)
%t166 = icmp ne i32 %t165, 0
%t167 = zext i1 %t166 to i32
store i32 %t167, ptr %t159
@@ -33785,7 +34343,7 @@ scend67:
br i1 %t169, label %scend69, label %sc68
sc68:
%t171 = load ptr, ptr %t0
- %t172 = call i32 @fn_str_eq(ptr %t171, ptr @.str1056)
+ %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str1086)
%t173 = icmp ne i32 %t172, 0
%t174 = zext i1 %t173 to i32
store i32 %t174, ptr %t158
@@ -33798,7 +34356,7 @@ scend69:
br i1 %t176, label %scend71, label %sc70
sc70:
%t178 = load ptr, ptr %t0
- %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str1057)
+ %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str1087)
%t180 = icmp ne i32 %t179, 0
%t181 = zext i1 %t180 to i32
store i32 %t181, ptr %t157
@@ -33812,14 +34370,14 @@ then72:
br label %ret
ifend74:
%t186 = load ptr, ptr %t0
- %t187 = call i32 @fn_str_eq(ptr %t186, ptr @.str1058)
+ %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str1088)
%t188 = icmp ne i32 %t187, 0
%t189 = zext i1 %t188 to i32
store i32 %t189, ptr %t185
br i1 %t188, label %scend76, label %sc75
sc75:
%t190 = load ptr, ptr %t0
- %t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str1059)
+ %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str1089)
%t192 = icmp ne i32 %t191, 0
%t193 = zext i1 %t192 to i32
store i32 %t193, ptr %t185
@@ -33832,7 +34390,7 @@ scend76:
br i1 %t195, label %scend78, label %sc77
sc77:
%t197 = load ptr, ptr %t0
- %t198 = call i32 @fn_str_eq(ptr %t197, ptr @.str1060)
+ %t198 = call i32 @lp_str_eq(ptr %t197, ptr @.str1090)
%t199 = icmp ne i32 %t198, 0
%t200 = zext i1 %t199 to i32
store i32 %t200, ptr %t184
@@ -33910,23 +34468,23 @@ entry:
store ptr %arg_name, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1061)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1091)
%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 @.str1062)
+ call void @fn_emit(ptr @.str1092)
%t8 = load ptr, ptr %t7
call void @fn_emit(ptr %t8)
- call void @fn_emit(ptr @.str1063)
- %t9 = call ptr @fn_val(ptr @.str1064, ptr @.str1065)
+ call void @fn_emit(ptr @.str1093)
+ %t9 = call ptr @fn_val(ptr @.str1094, ptr @.str1095)
store ptr %t9, ptr %retval
br label %ret
ifend2:
%t10 = load ptr, ptr %t0
- %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str1066)
+ %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1096)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then3, label %ifend5
then3:
@@ -33940,26 +34498,26 @@ then3:
%t20 = call ptr @fn_arg_code(ptr %t19, i32 2)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t21
- %t23 = call ptr @fn_str_concat(ptr @.str1067, ptr %t22)
- %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str1068)
+ %t23 = call ptr @lp_str_concat(ptr @.str1097, ptr %t22)
+ %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1098)
%t25 = call ptr @fn_emit_bind(ptr %t24)
store ptr %t25, ptr %t26
- call void @fn_emit(ptr @.str1069)
+ call void @fn_emit(ptr @.str1099)
%t27 = load ptr, ptr %t15
call void @fn_emit(ptr %t27)
- call void @fn_emit(ptr @.str1070)
+ call void @fn_emit(ptr @.str1100)
%t28 = load ptr, ptr %t18
call void @fn_emit(ptr %t28)
- call void @fn_emit(ptr @.str1071)
+ call void @fn_emit(ptr @.str1101)
%t29 = load ptr, ptr %t26
call void @fn_emit(ptr %t29)
- call void @fn_emit(ptr @.str1072)
- %t30 = call ptr @fn_val(ptr @.str1073, ptr @.str1074)
+ call void @fn_emit(ptr @.str1102)
+ %t30 = call ptr @fn_val(ptr @.str1103, ptr @.str1104)
store ptr %t30, ptr %retval
br label %ret
ifend5:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str1075)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1105)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then6, label %ifend8
then6:
@@ -33971,33 +34529,33 @@ then6:
store ptr %t38, ptr %t39
%t40 = call ptr @fn_nreg()
store ptr %t40, ptr %t41
- call void @fn_emit(ptr @.str1076)
+ call void @fn_emit(ptr @.str1106)
%t42 = load ptr, ptr %t41
call void @fn_emit(ptr %t42)
- call void @fn_emit(ptr @.str1077)
+ call void @fn_emit(ptr @.str1107)
%t43 = load ptr, ptr %t36
call void @fn_emit(ptr %t43)
- call void @fn_emit(ptr @.str1078)
+ call void @fn_emit(ptr @.str1108)
%t44 = load ptr, ptr %t39
call void @fn_emit(ptr %t44)
- call void @fn_emit(ptr @.str1079)
+ call void @fn_emit(ptr @.str1109)
%t45 = load ptr, ptr %t41
- %t46 = call ptr @fn_val(ptr %t45, ptr @.str1080)
+ %t46 = call ptr @fn_val(ptr %t45, ptr @.str1110)
store ptr %t46, ptr %retval
br label %ret
ifend8:
%t47 = load ptr, ptr %t0
- %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str1081)
+ %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1111)
%t49 = icmp ne i32 %t48, 0
br i1 %t49, label %then9, label %ifend11
then9:
- %t50 = call ptr @fn_emit_bind(ptr @.str1082)
- %t51 = call ptr @fn_val(ptr %t50, ptr @.str1083)
+ %t50 = call ptr @fn_emit_bind(ptr @.str1112)
+ %t51 = call ptr @fn_val(ptr %t50, ptr @.str1113)
store ptr %t51, ptr %retval
br label %ret
ifend11:
%t52 = load ptr, ptr %t0
- %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1084)
+ %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1114)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then12, label %ifend14
then12:
@@ -34013,12 +34571,12 @@ then12:
%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 @.str1085)
+ %t67 = call ptr @fn_val(ptr %t66, ptr @.str1115)
store ptr %t67, ptr %retval
br label %ret
ifend14:
%t68 = load ptr, ptr %t0
- %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str1086)
+ %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str1116)
%t70 = icmp ne i32 %t69, 0
br i1 %t70, label %then15, label %ifend17
then15:
@@ -34034,12 +34592,12 @@ then15:
%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 @.str1087)
+ %t83 = call ptr @fn_val(ptr %t82, ptr @.str1117)
store ptr %t83, ptr %retval
br label %ret
ifend17:
%t84 = load ptr, ptr %t0
- %t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str1088)
+ %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str1118)
%t86 = icmp ne i32 %t85, 0
br i1 %t86, label %then18, label %ifend20
then18:
@@ -34047,45 +34605,45 @@ then18:
%t88 = icmp ne i32 %t87, 0
br i1 %t88, label %then21, label %ifend23
then21:
- %t89 = call ptr @fn_val(ptr @.str1089, ptr @.str1090)
+ %t89 = call ptr @fn_val(ptr @.str1119, ptr @.str1120)
store ptr %t89, ptr %retval
br label %ret
ifend23:
- %t90 = call ptr @fn_val(ptr @.str1091, ptr @.str1092)
+ %t90 = call ptr @fn_val(ptr @.str1121, ptr @.str1122)
store ptr %t90, ptr %retval
br label %ret
ifend20:
%t91 = load ptr, ptr %t0
- %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str1093)
+ %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1123)
%t93 = icmp ne i32 %t92, 0
br i1 %t93, label %then24, label %ifend26
then24:
- %t94 = call ptr @fn_val(ptr @.str1094, ptr @.str1095)
+ %t94 = call ptr @fn_val(ptr @.str1124, ptr @.str1125)
store ptr %t94, ptr %retval
br label %ret
ifend26:
%t95 = load ptr, ptr %t0
- %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str1096)
+ %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str1126)
%t97 = icmp ne i32 %t96, 0
br i1 %t97, label %then27, label %ifend29
then27:
- %t98 = call ptr @fn_emit_bind(ptr @.str1097)
- %t99 = call ptr @fn_val(ptr %t98, ptr @.str1098)
+ %t98 = call ptr @fn_emit_bind(ptr @.str1127)
+ %t99 = call ptr @fn_val(ptr %t98, ptr @.str1128)
store ptr %t99, ptr %retval
br label %ret
ifend29:
%t100 = load ptr, ptr %t0
- %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str1099)
+ %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str1129)
%t102 = icmp ne i32 %t101, 0
br i1 %t102, label %then30, label %ifend32
then30:
- %t103 = call ptr @fn_emit_bind(ptr @.str1100)
- %t104 = call ptr @fn_val(ptr %t103, ptr @.str1101)
+ %t103 = call ptr @fn_emit_bind(ptr @.str1130)
+ %t104 = call ptr @fn_val(ptr %t103, ptr @.str1131)
store ptr %t104, ptr %retval
br label %ret
ifend32:
%t105 = load ptr, ptr %t0
- %t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str1102)
+ %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str1132)
%t107 = icmp ne i32 %t106, 0
br i1 %t107, label %then33, label %ifend35
then33:
@@ -34101,25 +34659,25 @@ then33:
%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 @.str1103)
+ call void @fn_emit(ptr @.str1133)
%t120 = load ptr, ptr %t110
call void @fn_emit(ptr %t120)
- call void @fn_emit(ptr @.str1104)
+ call void @fn_emit(ptr @.str1134)
%t121 = load ptr, ptr %t113
call void @fn_emit(ptr %t121)
- call void @fn_emit(ptr @.str1105)
+ call void @fn_emit(ptr @.str1135)
%t122 = load ptr, ptr %t116
call void @fn_emit(ptr %t122)
- call void @fn_emit(ptr @.str1106)
+ call void @fn_emit(ptr @.str1136)
%t123 = load ptr, ptr %t119
call void @fn_emit(ptr %t123)
- call void @fn_emit(ptr @.str1107)
- %t124 = call ptr @fn_val(ptr @.str1108, ptr @.str1109)
+ call void @fn_emit(ptr @.str1137)
+ %t124 = call ptr @fn_val(ptr @.str1138, ptr @.str1139)
store ptr %t124, ptr %retval
br label %ret
ifend35:
%t125 = load ptr, ptr %t0
- %t126 = call i32 @fn_str_eq(ptr %t125, ptr @.str1110)
+ %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str1140)
%t127 = icmp ne i32 %t126, 0
br i1 %t127, label %then36, label %ifend38
then36:
@@ -34132,112 +34690,112 @@ then36:
%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 @.str1111)
+ call void @fn_emit(ptr @.str1141)
%t137 = load ptr, ptr %t130
call void @fn_emit(ptr %t137)
- call void @fn_emit(ptr @.str1112)
+ call void @fn_emit(ptr @.str1142)
%t138 = load ptr, ptr %t133
call void @fn_emit(ptr %t138)
- call void @fn_emit(ptr @.str1113)
+ call void @fn_emit(ptr @.str1143)
%t139 = load ptr, ptr %t136
call void @fn_emit(ptr %t139)
- call void @fn_emit(ptr @.str1114)
- %t140 = call ptr @fn_val(ptr @.str1115, ptr @.str1116)
+ call void @fn_emit(ptr @.str1144)
+ %t140 = call ptr @fn_val(ptr @.str1145, ptr @.str1146)
store ptr %t140, ptr %retval
br label %ret
ifend38:
%t141 = load ptr, ptr %t0
- %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str1117)
+ %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1147)
%t143 = icmp ne i32 %t142, 0
br i1 %t143, label %then39, label %ifend41
then39:
- call void @fn_emit(ptr @.str1118)
- %t144 = call ptr @fn_val(ptr @.str1119, ptr @.str1120)
+ call void @fn_emit(ptr @.str1148)
+ %t144 = call ptr @fn_val(ptr @.str1149, ptr @.str1150)
store ptr %t144, ptr %retval
br label %ret
ifend41:
%t145 = load ptr, ptr %t0
- %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str1121)
+ %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str1151)
%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 @.str1122)
+ call void @fn_emit(ptr @.str1152)
%t151 = load ptr, ptr %t150
call void @fn_emit(ptr %t151)
- call void @fn_emit(ptr @.str1123)
- %t152 = call ptr @fn_val(ptr @.str1124, ptr @.str1125)
+ call void @fn_emit(ptr @.str1153)
+ %t152 = call ptr @fn_val(ptr @.str1154, ptr @.str1155)
store ptr %t152, ptr %retval
br label %ret
ifend44:
%t153 = load ptr, ptr %t0
- %t154 = call i32 @fn_str_eq(ptr %t153, ptr @.str1126)
+ %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str1156)
%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 @.str1127)
+ call void @fn_emit(ptr @.str1157)
%t159 = load ptr, ptr %t158
call void @fn_emit(ptr %t159)
- call void @fn_emit(ptr @.str1128)
- %t160 = call ptr @fn_val(ptr @.str1129, ptr @.str1130)
+ call void @fn_emit(ptr @.str1158)
+ %t160 = call ptr @fn_val(ptr @.str1159, ptr @.str1160)
store ptr %t160, ptr %retval
br label %ret
ifend47:
%t161 = load ptr, ptr %t0
- %t162 = call i32 @fn_str_eq(ptr %t161, ptr @.str1131)
+ %t162 = call i32 @lp_str_eq(ptr %t161, ptr @.str1161)
%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 @.str1132)
+ call void @fn_emit(ptr @.str1162)
%t167 = load ptr, ptr %t166
call void @fn_emit(ptr %t167)
- call void @fn_emit(ptr @.str1133)
- %t168 = call ptr @fn_val(ptr @.str1134, ptr @.str1135)
+ call void @fn_emit(ptr @.str1163)
+ %t168 = call ptr @fn_val(ptr @.str1164, ptr @.str1165)
store ptr %t168, ptr %retval
br label %ret
ifend50:
%t169 = load ptr, ptr %t0
- %t170 = call i32 @fn_str_eq(ptr %t169, ptr @.str1136)
+ %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str1166)
%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 @.str1137)
+ call void @fn_emit(ptr @.str1167)
%t175 = load ptr, ptr %t174
call void @fn_emit(ptr %t175)
- call void @fn_emit(ptr @.str1138)
- %t176 = call ptr @fn_val(ptr @.str1139, ptr @.str1140)
+ call void @fn_emit(ptr @.str1168)
+ %t176 = call ptr @fn_val(ptr @.str1169, ptr @.str1170)
store ptr %t176, ptr %retval
br label %ret
ifend53:
%t177 = load ptr, ptr %t0
- %t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str1141)
+ %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str1171)
%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 @.str1142)
+ call void @fn_emit(ptr @.str1172)
%t183 = load ptr, ptr %t182
call void @fn_emit(ptr %t183)
- call void @fn_emit(ptr @.str1143)
- %t184 = call ptr @fn_val(ptr @.str1144, ptr @.str1145)
+ call void @fn_emit(ptr @.str1173)
+ %t184 = call ptr @fn_val(ptr @.str1174, ptr @.str1175)
store ptr %t184, ptr %retval
br label %ret
ifend56:
%t185 = load ptr, ptr %t0
- %t186 = call i32 @fn_str_eq(ptr %t185, ptr @.str1146)
+ %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str1176)
%t187 = icmp ne i32 %t186, 0
br i1 %t187, label %then57, label %ifend59
then57:
@@ -34245,15 +34803,15 @@ then57:
%t189 = call ptr @fn_arg_code(ptr %t188, i32 0)
store ptr %t189, ptr %t190
%t191 = load ptr, ptr %t190
- %t192 = call ptr @fn_str_concat(ptr @.str1147, ptr %t191)
- %t193 = call ptr @fn_str_concat(ptr %t192, ptr @.str1148)
+ %t192 = call ptr @lp_str_concat(ptr @.str1177, ptr %t191)
+ %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str1178)
%t194 = call ptr @fn_emit_bind(ptr %t193)
- %t195 = call ptr @fn_val(ptr %t194, ptr @.str1149)
+ %t195 = call ptr @fn_val(ptr %t194, ptr @.str1179)
store ptr %t195, ptr %retval
br label %ret
ifend59:
%t196 = load ptr, ptr %t0
- %t197 = call i32 @fn_str_eq(ptr %t196, ptr @.str1150)
+ %t197 = call i32 @lp_str_eq(ptr %t196, ptr @.str1180)
%t198 = icmp ne i32 %t197, 0
br i1 %t198, label %then60, label %ifend62
then60:
@@ -34269,41 +34827,41 @@ then60:
%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 @.str1151)
+ call void @fn_emit(ptr @.str1181)
%t211 = load ptr, ptr %t201
call void @fn_emit(ptr %t211)
- call void @fn_emit(ptr @.str1152)
+ call void @fn_emit(ptr @.str1182)
%t212 = load ptr, ptr %t204
call void @fn_emit(ptr %t212)
- call void @fn_emit(ptr @.str1153)
+ call void @fn_emit(ptr @.str1183)
%t213 = load ptr, ptr %t207
call void @fn_emit(ptr %t213)
- call void @fn_emit(ptr @.str1154)
+ call void @fn_emit(ptr @.str1184)
%t214 = load ptr, ptr %t210
call void @fn_emit(ptr %t214)
- call void @fn_emit(ptr @.str1155)
- %t215 = call ptr @fn_val(ptr @.str1156, ptr @.str1157)
+ call void @fn_emit(ptr @.str1185)
+ %t215 = call ptr @fn_val(ptr @.str1186, ptr @.str1187)
store ptr %t215, ptr %retval
br label %ret
ifend62:
%t216 = load ptr, ptr %t0
- %t217 = call i32 @fn_str_eq(ptr %t216, ptr @.str1158)
+ %t217 = call i32 @lp_str_eq(ptr %t216, ptr @.str1188)
%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 @.str1159)
+ call void @fn_emit(ptr @.str1189)
%t222 = load ptr, ptr %t221
call void @fn_emit(ptr %t222)
- call void @fn_emit(ptr @.str1160)
- %t223 = call ptr @fn_val(ptr @.str1161, ptr @.str1162)
+ call void @fn_emit(ptr @.str1190)
+ %t223 = call ptr @fn_val(ptr @.str1191, ptr @.str1192)
store ptr %t223, ptr %retval
br label %ret
ifend65:
%t224 = load ptr, ptr %t0
- %t225 = call i32 @fn_str_eq(ptr %t224, ptr @.str1163)
+ %t225 = call i32 @lp_str_eq(ptr %t224, ptr @.str1193)
%t226 = icmp ne i32 %t225, 0
br i1 %t226, label %then66, label %ifend68
then66:
@@ -34311,15 +34869,15 @@ then66:
%t228 = call ptr @fn_arg_code(ptr %t227, i32 0)
store ptr %t228, ptr %t229
%t230 = load ptr, ptr %t229
- %t231 = call ptr @fn_str_concat(ptr @.str1164, ptr %t230)
- %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str1165)
+ %t231 = call ptr @lp_str_concat(ptr @.str1194, ptr %t230)
+ %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str1195)
%t233 = call ptr @fn_emit_bind(ptr %t232)
- %t234 = call ptr @fn_val(ptr %t233, ptr @.str1166)
+ %t234 = call ptr @fn_val(ptr %t233, ptr @.str1196)
store ptr %t234, ptr %retval
br label %ret
ifend68:
%t235 = load ptr, ptr %t0
- %t236 = call i32 @fn_str_eq(ptr %t235, ptr @.str1167)
+ %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str1197)
%t237 = icmp ne i32 %t236, 0
br i1 %t237, label %then69, label %ifend71
then69:
@@ -34329,19 +34887,19 @@ then69:
%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 @.str1168)
+ call void @fn_emit(ptr @.str1198)
%t244 = load ptr, ptr %t240
call void @fn_emit(ptr %t244)
- call void @fn_emit(ptr @.str1169)
+ call void @fn_emit(ptr @.str1199)
%t245 = load ptr, ptr %t243
call void @fn_emit(ptr %t245)
- call void @fn_emit(ptr @.str1170)
- %t246 = call ptr @fn_val(ptr @.str1171, ptr @.str1172)
+ call void @fn_emit(ptr @.str1200)
+ %t246 = call ptr @fn_val(ptr @.str1201, ptr @.str1202)
store ptr %t246, ptr %retval
br label %ret
ifend71:
%t247 = load ptr, ptr %t0
- %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str1173)
+ %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str1203)
%t249 = icmp ne i32 %t248, 0
br i1 %t249, label %then72, label %ifend74
then72:
@@ -34351,19 +34909,19 @@ then72:
%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 @.str1174)
+ call void @fn_emit(ptr @.str1204)
%t256 = load ptr, ptr %t252
call void @fn_emit(ptr %t256)
- call void @fn_emit(ptr @.str1175)
+ call void @fn_emit(ptr @.str1205)
%t257 = load ptr, ptr %t255
call void @fn_emit(ptr %t257)
- call void @fn_emit(ptr @.str1176)
- %t258 = call ptr @fn_val(ptr @.str1177, ptr @.str1178)
+ call void @fn_emit(ptr @.str1206)
+ %t258 = call ptr @fn_val(ptr @.str1207, ptr @.str1208)
store ptr %t258, ptr %retval
br label %ret
ifend74:
%t259 = load ptr, ptr %t0
- %t260 = call i32 @fn_str_eq(ptr %t259, ptr @.str1179)
+ %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str1209)
%t261 = icmp ne i32 %t260, 0
br i1 %t261, label %then75, label %ifend77
then75:
@@ -34374,18 +34932,18 @@ then75:
%t266 = call ptr @fn_arg_code(ptr %t265, i32 1)
store ptr %t266, ptr %t267
%t268 = load ptr, ptr %t264
- %t269 = call ptr @fn_str_concat(ptr @.str1180, ptr %t268)
- %t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str1181)
+ %t269 = call ptr @lp_str_concat(ptr @.str1210, ptr %t268)
+ %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str1211)
%t271 = load ptr, ptr %t267
- %t272 = call ptr @fn_str_concat(ptr %t270, ptr %t271)
- %t273 = call ptr @fn_str_concat(ptr %t272, ptr @.str1182)
+ %t272 = call ptr @lp_str_concat(ptr %t270, ptr %t271)
+ %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str1212)
%t274 = call ptr @fn_emit_bind(ptr %t273)
- %t275 = call ptr @fn_val(ptr %t274, ptr @.str1183)
+ %t275 = call ptr @fn_val(ptr %t274, ptr @.str1213)
store ptr %t275, ptr %retval
br label %ret
ifend77:
%t276 = load ptr, ptr %t0
- %t277 = call i32 @fn_str_eq(ptr %t276, ptr @.str1184)
+ %t277 = call i32 @lp_str_eq(ptr %t276, ptr @.str1214)
%t278 = icmp ne i32 %t277, 0
br i1 %t278, label %then78, label %ifend80
then78:
@@ -34398,22 +34956,22 @@ then78:
%t285 = load ptr, ptr %t1
%t286 = call ptr @fn_arg_code(ptr %t285, i32 2)
store ptr %t286, ptr %t287
- call void @fn_emit(ptr @.str1185)
+ call void @fn_emit(ptr @.str1215)
%t288 = load ptr, ptr %t281
call void @fn_emit(ptr %t288)
- call void @fn_emit(ptr @.str1186)
+ call void @fn_emit(ptr @.str1216)
%t289 = load ptr, ptr %t284
call void @fn_emit(ptr %t289)
- call void @fn_emit(ptr @.str1187)
+ call void @fn_emit(ptr @.str1217)
%t290 = load ptr, ptr %t287
call void @fn_emit(ptr %t290)
- call void @fn_emit(ptr @.str1188)
- %t291 = call ptr @fn_val(ptr @.str1189, ptr @.str1190)
+ call void @fn_emit(ptr @.str1218)
+ %t291 = call ptr @fn_val(ptr @.str1219, ptr @.str1220)
store ptr %t291, ptr %retval
br label %ret
ifend80:
%t292 = load ptr, ptr %t0
- %t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str1191)
+ %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str1221)
%t294 = icmp ne i32 %t293, 0
br i1 %t294, label %then81, label %ifend83
then81:
@@ -34426,22 +34984,22 @@ then81:
%t301 = load ptr, ptr %t1
%t302 = call ptr @fn_arg_code(ptr %t301, i32 2)
store ptr %t302, ptr %t303
- call void @fn_emit(ptr @.str1192)
+ call void @fn_emit(ptr @.str1222)
%t304 = load ptr, ptr %t297
call void @fn_emit(ptr %t304)
- call void @fn_emit(ptr @.str1193)
+ call void @fn_emit(ptr @.str1223)
%t305 = load ptr, ptr %t300
call void @fn_emit(ptr %t305)
- call void @fn_emit(ptr @.str1194)
+ call void @fn_emit(ptr @.str1224)
%t306 = load ptr, ptr %t303
call void @fn_emit(ptr %t306)
- call void @fn_emit(ptr @.str1195)
- %t307 = call ptr @fn_val(ptr @.str1196, ptr @.str1197)
+ call void @fn_emit(ptr @.str1225)
+ %t307 = call ptr @fn_val(ptr @.str1226, ptr @.str1227)
store ptr %t307, ptr %retval
br label %ret
ifend83:
%t308 = load ptr, ptr %t0
- %t309 = call i32 @fn_str_eq(ptr %t308, ptr @.str1198)
+ %t309 = call i32 @lp_str_eq(ptr %t308, ptr @.str1228)
%t310 = icmp ne i32 %t309, 0
br i1 %t310, label %then84, label %ifend86
then84:
@@ -34451,19 +35009,19 @@ then84:
%t314 = load ptr, ptr %t1
%t315 = call ptr @fn_arg_code(ptr %t314, i32 1)
store ptr %t315, ptr %t316
- call void @fn_emit(ptr @.str1199)
+ call void @fn_emit(ptr @.str1229)
%t317 = load ptr, ptr %t313
call void @fn_emit(ptr %t317)
- call void @fn_emit(ptr @.str1200)
+ call void @fn_emit(ptr @.str1230)
%t318 = load ptr, ptr %t316
call void @fn_emit(ptr %t318)
- call void @fn_emit(ptr @.str1201)
- %t319 = call ptr @fn_val(ptr @.str1202, ptr @.str1203)
+ call void @fn_emit(ptr @.str1231)
+ %t319 = call ptr @fn_val(ptr @.str1232, ptr @.str1233)
store ptr %t319, ptr %retval
br label %ret
ifend86:
%t320 = load ptr, ptr %t0
- %t321 = call i32 @fn_str_eq(ptr %t320, ptr @.str1204)
+ %t321 = call i32 @lp_str_eq(ptr %t320, ptr @.str1234)
%t322 = icmp ne i32 %t321, 0
br i1 %t322, label %then87, label %ifend89
then87:
@@ -34471,15 +35029,15 @@ then87:
%t324 = call ptr @fn_arg_code(ptr %t323, i32 0)
store ptr %t324, ptr %t325
%t326 = load ptr, ptr %t325
- %t327 = call ptr @fn_str_concat(ptr @.str1205, ptr %t326)
- %t328 = call ptr @fn_str_concat(ptr %t327, ptr @.str1206)
+ %t327 = call ptr @lp_str_concat(ptr @.str1235, ptr %t326)
+ %t328 = call ptr @lp_str_concat(ptr %t327, ptr @.str1236)
%t329 = call ptr @fn_emit_bind(ptr %t328)
- %t330 = call ptr @fn_val(ptr %t329, ptr @.str1207)
+ %t330 = call ptr @fn_val(ptr %t329, ptr @.str1237)
store ptr %t330, ptr %retval
br label %ret
ifend89:
%t331 = load ptr, ptr %t0
- %t332 = call i32 @fn_str_eq(ptr %t331, ptr @.str1208)
+ %t332 = call i32 @lp_str_eq(ptr %t331, ptr @.str1238)
%t333 = icmp ne i32 %t332, 0
br i1 %t333, label %then90, label %ifend92
then90:
@@ -34487,15 +35045,15 @@ then90:
%t335 = call ptr @fn_arg_code(ptr %t334, i32 0)
store ptr %t335, ptr %t336
%t337 = load ptr, ptr %t336
- %t338 = call ptr @fn_str_concat(ptr @.str1209, ptr %t337)
- %t339 = call ptr @fn_str_concat(ptr %t338, ptr @.str1210)
+ %t338 = call ptr @lp_str_concat(ptr @.str1239, ptr %t337)
+ %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str1240)
%t340 = call ptr @fn_emit_bind(ptr %t339)
- %t341 = call ptr @fn_val(ptr %t340, ptr @.str1211)
+ %t341 = call ptr @fn_val(ptr %t340, ptr @.str1241)
store ptr %t341, ptr %retval
br label %ret
ifend92:
%t342 = load ptr, ptr %t0
- %t343 = call i32 @fn_str_eq(ptr %t342, ptr @.str1212)
+ %t343 = call i32 @lp_str_eq(ptr %t342, ptr @.str1242)
%t344 = icmp ne i32 %t343, 0
br i1 %t344, label %then93, label %ifend95
then93:
@@ -34503,15 +35061,15 @@ then93:
%t346 = call ptr @fn_arg_code(ptr %t345, i32 0)
store ptr %t346, ptr %t347
%t348 = load ptr, ptr %t347
- %t349 = call ptr @fn_str_concat(ptr @.str1213, ptr %t348)
- %t350 = call ptr @fn_str_concat(ptr %t349, ptr @.str1214)
+ %t349 = call ptr @lp_str_concat(ptr @.str1243, ptr %t348)
+ %t350 = call ptr @lp_str_concat(ptr %t349, ptr @.str1244)
%t351 = call ptr @fn_emit_bind(ptr %t350)
- %t352 = call ptr @fn_val(ptr %t351, ptr @.str1215)
+ %t352 = call ptr @fn_val(ptr %t351, ptr @.str1245)
store ptr %t352, ptr %retval
br label %ret
ifend95:
%t353 = load ptr, ptr %t0
- %t354 = call i32 @fn_str_eq(ptr %t353, ptr @.str1216)
+ %t354 = call i32 @lp_str_eq(ptr %t353, ptr @.str1246)
%t355 = icmp ne i32 %t354, 0
br i1 %t355, label %then96, label %ifend98
then96:
@@ -34519,15 +35077,15 @@ then96:
%t357 = call ptr @fn_arg_code(ptr %t356, i32 0)
store ptr %t357, ptr %t358
%t359 = load ptr, ptr %t358
- %t360 = call ptr @fn_str_concat(ptr @.str1217, ptr %t359)
- %t361 = call ptr @fn_str_concat(ptr %t360, ptr @.str1218)
+ %t360 = call ptr @lp_str_concat(ptr @.str1247, ptr %t359)
+ %t361 = call ptr @lp_str_concat(ptr %t360, ptr @.str1248)
%t362 = call ptr @fn_emit_bind(ptr %t361)
- %t363 = call ptr @fn_val(ptr %t362, ptr @.str1219)
+ %t363 = call ptr @fn_val(ptr %t362, ptr @.str1249)
store ptr %t363, ptr %retval
br label %ret
ifend98:
%t364 = load ptr, ptr %t0
- %t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str1220)
+ %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str1250)
%t366 = icmp ne i32 %t365, 0
br i1 %t366, label %then99, label %ifend101
then99:
@@ -34538,33 +35096,33 @@ then99:
%t371 = call ptr @fn_arg_code(ptr %t370, i32 1)
store ptr %t371, ptr %t372
%t373 = load ptr, ptr %t369
- %t374 = call ptr @fn_str_concat(ptr @.str1221, ptr %t373)
- %t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str1222)
+ %t374 = call ptr @lp_str_concat(ptr @.str1251, ptr %t373)
+ %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str1252)
%t376 = load ptr, ptr %t372
- %t377 = call ptr @fn_str_concat(ptr %t375, ptr %t376)
- %t378 = call ptr @fn_str_concat(ptr %t377, ptr @.str1223)
+ %t377 = call ptr @lp_str_concat(ptr %t375, ptr %t376)
+ %t378 = call ptr @lp_str_concat(ptr %t377, ptr @.str1253)
%t379 = call ptr @fn_emit_bind(ptr %t378)
- %t380 = call ptr @fn_val(ptr %t379, ptr @.str1224)
+ %t380 = call ptr @fn_val(ptr %t379, ptr @.str1254)
store ptr %t380, ptr %retval
br label %ret
ifend101:
%t381 = load ptr, ptr %t0
- %t382 = call i32 @fn_str_eq(ptr %t381, ptr @.str1225)
+ %t382 = call i32 @lp_str_eq(ptr %t381, ptr @.str1255)
%t383 = icmp ne i32 %t382, 0
br i1 %t383, label %then102, label %ifend104
then102:
%t384 = load ptr, ptr %t1
%t385 = call ptr @fn_arg_code(ptr %t384, i32 0)
store ptr %t385, ptr %t386
- call void @fn_emit(ptr @.str1226)
+ call void @fn_emit(ptr @.str1256)
%t387 = load ptr, ptr %t386
call void @fn_emit(ptr %t387)
- call void @fn_emit(ptr @.str1227)
- %t388 = call ptr @fn_val(ptr @.str1228, ptr @.str1229)
+ call void @fn_emit(ptr @.str1257)
+ %t388 = call ptr @fn_val(ptr @.str1258, ptr @.str1259)
store ptr %t388, ptr %retval
br label %ret
ifend104:
- %t389 = call ptr @fn_val(ptr @.str1230, ptr @.str1231)
+ %t389 = call ptr @fn_val(ptr @.str1260, ptr @.str1261)
store ptr %t389, ptr %retval
br label %ret
ret:
@@ -34581,14 +35139,14 @@ entry:
%t3 = alloca i32
store ptr %arg_name, ptr %t0
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1232)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1262)
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t3
br i1 %t6, label %scend1, label %sc0
sc0:
%t8 = load ptr, ptr %t0
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str1233)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str1263)
%t10 = icmp ne i32 %t9, 0
%t11 = zext i1 %t10 to i32
store i32 %t11, ptr %t3
@@ -34601,7 +35159,7 @@ scend1:
br i1 %t13, label %scend3, label %sc2
sc2:
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str1234)
+ %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str1264)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t2
@@ -34614,7 +35172,7 @@ scend3:
br i1 %t20, label %scend5, label %sc4
sc4:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1235)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str1265)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
@@ -34650,7 +35208,7 @@ entry:
store ptr %arg_name, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1236)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1266)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -34666,26 +35224,26 @@ then0:
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
- %t17 = call ptr @fn_str_concat(ptr @.str1237, ptr %t16)
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str1238)
+ %t17 = call ptr @lp_str_concat(ptr @.str1267, ptr %t16)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1268)
%t19 = call ptr @fn_emit_bind(ptr %t18)
store ptr %t19, ptr %t20
%t21 = load ptr, ptr %t13
%t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0
%t23 = load ptr, ptr %t22
- %t24 = call ptr @fn_str_concat(ptr @.str1239, ptr %t23)
+ %t24 = call ptr @lp_str_concat(ptr @.str1269, ptr %t23)
%t25 = call ptr @fn_emit_bind(ptr %t24)
store ptr %t25, ptr %t26
%t27 = load ptr, ptr %t20
- %t28 = call ptr @fn_str_concat(ptr @.str1240, ptr %t27)
- %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str1241)
+ %t28 = call ptr @lp_str_concat(ptr @.str1270, ptr %t27)
+ %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str1271)
%t30 = load ptr, ptr %t26
- %t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30)
- %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str1242)
+ %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30)
+ %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1272)
%t33 = load ptr, ptr %t13
%t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 0
%t35 = load ptr, ptr %t34
- %t36 = call ptr @fn_str_concat(ptr %t32, ptr %t35)
+ %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
@@ -34695,14 +35253,14 @@ then0:
br label %ret
ifend2:
%t43 = load ptr, ptr %t0
- %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str1243)
+ %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str1273)
%t45 = icmp ne i32 %t44, 0
%t46 = zext i1 %t45 to i32
store i32 %t46, ptr %t42
br i1 %t45, label %scend4, label %sc3
sc3:
%t47 = load ptr, ptr %t0
- %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str1244)
+ %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1274)
%t49 = icmp ne i32 %t48, 0
%t50 = zext i1 %t49 to i32
store i32 %t50, ptr %t42
@@ -34730,41 +35288,41 @@ then5:
%t68 = load ptr, ptr %t67
%t69 = call ptr @fn_emit_expr(ptr %t68)
store ptr %t69, ptr %t70
- store ptr @.str1245, ptr %t71
+ store ptr @.str1275, ptr %t71
%t72 = load ptr, ptr %t0
- %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str1246)
+ %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1276)
%t74 = icmp ne i32 %t73, 0
br i1 %t74, label %then8, label %ifend10
then8:
- store ptr @.str1247, ptr %t71
+ store ptr @.str1277, ptr %t71
br label %ifend10
ifend10:
%t75 = load ptr, ptr %t71
- %t76 = call ptr @fn_str_concat(ptr @.str1248, ptr %t75)
- %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str1249)
+ %t76 = call ptr @lp_str_concat(ptr @.str1278, ptr %t75)
+ %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str1279)
%t78 = load ptr, ptr %t61
%t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0
%t80 = load ptr, ptr %t79
- %t81 = call ptr @fn_str_concat(ptr %t77, ptr %t80)
- %t82 = call ptr @fn_str_concat(ptr %t81, ptr @.str1250)
+ %t81 = call ptr @lp_str_concat(ptr %t77, ptr %t80)
+ %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str1280)
%t83 = load ptr, ptr %t70
%t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0
%t85 = load ptr, ptr %t84
- %t86 = call ptr @fn_str_concat(ptr %t82, ptr %t85)
+ %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 @fn_str_concat(ptr @.str1251, ptr %t89)
- %t91 = call ptr @fn_str_concat(ptr %t90, ptr @.str1252)
+ %t90 = call ptr @lp_str_concat(ptr @.str1281, ptr %t89)
+ %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str1282)
%t92 = load ptr, ptr %t61
%t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0
%t94 = load ptr, ptr %t93
- %t95 = call ptr @fn_str_concat(ptr %t91, ptr %t94)
- %t96 = call ptr @fn_str_concat(ptr %t95, ptr @.str1253)
+ %t95 = call ptr @lp_str_concat(ptr %t91, ptr %t94)
+ %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str1283)
%t97 = load ptr, ptr %t70
%t98 = getelementptr inbounds %Cmp_Val, ptr %t97, i32 0, i32 0
%t99 = load ptr, ptr %t98
- %t100 = call ptr @fn_str_concat(ptr %t96, ptr %t99)
+ %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
@@ -34803,47 +35361,47 @@ ifend7:
%t133 = load ptr, ptr %t114
%t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0
%t135 = load ptr, ptr %t134
- %t136 = call ptr @fn_str_concat(ptr @.str1254, ptr %t135)
- %t137 = call ptr @fn_str_concat(ptr %t136, ptr @.str1255)
+ %t136 = call ptr @lp_str_concat(ptr @.str1284, ptr %t135)
+ %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str1285)
%t138 = load ptr, ptr %t132
%t139 = getelementptr inbounds %Cmp_Val, ptr %t138, i32 0, i32 0
%t140 = load ptr, ptr %t139
- %t141 = call ptr @fn_str_concat(ptr %t137, ptr %t140)
+ %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 @fn_str_concat(ptr @.str1256, ptr %t144)
- %t146 = call ptr @fn_str_concat(ptr %t145, ptr @.str1257)
+ %t145 = call ptr @lp_str_concat(ptr @.str1286, ptr %t144)
+ %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str1287)
%t147 = load ptr, ptr %t114
%t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0
%t149 = load ptr, ptr %t148
- %t150 = call ptr @fn_str_concat(ptr %t146, ptr %t149)
- %t151 = call ptr @fn_str_concat(ptr %t150, ptr @.str1258)
+ %t150 = call ptr @lp_str_concat(ptr %t146, ptr %t149)
+ %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str1288)
%t152 = load ptr, ptr %t132
%t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0
%t154 = load ptr, ptr %t153
- %t155 = call ptr @fn_str_concat(ptr %t151, ptr %t154)
+ %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 @fn_str_concat(ptr @.str1259, ptr %t160)
- %t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str1260)
+ %t161 = call ptr @lp_str_concat(ptr @.str1289, ptr %t160)
+ %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str1290)
%t163 = load ptr, ptr %t157
- %t164 = call ptr @fn_str_concat(ptr %t162, ptr %t163)
+ %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 @fn_str_concat(ptr @.str1261, ptr %t167)
- %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str1262)
+ %t168 = call ptr @lp_str_concat(ptr @.str1291, ptr %t167)
+ %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str1292)
%t170 = load ptr, ptr %t123
%t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0
%t172 = load ptr, ptr %t171
- %t173 = call ptr @fn_str_concat(ptr %t169, ptr %t172)
- %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str1263)
+ %t173 = call ptr @lp_str_concat(ptr %t169, ptr %t172)
+ %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str1293)
%t175 = load ptr, ptr %t157
- %t176 = call ptr @fn_str_concat(ptr %t174, ptr %t175)
+ %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
@@ -34868,30 +35426,30 @@ entry:
store ptr %arg_a, ptr %t0
store ptr %arg_b, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call ptr @fn_str_concat(ptr @.str1264, ptr %t2)
- %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str1265)
+ %t3 = call ptr @lp_str_concat(ptr @.str1294, ptr %t2)
+ %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1295)
%t5 = call ptr @fn_emit_bind(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t1
- %t8 = call ptr @fn_str_concat(ptr @.str1266, ptr %t7)
- %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str1267)
+ %t8 = call ptr @lp_str_concat(ptr @.str1296, ptr %t7)
+ %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1297)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t6
- %t13 = call ptr @fn_str_concat(ptr @.str1268, ptr %t12)
- %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str1269)
+ %t13 = call ptr @lp_str_concat(ptr @.str1298, ptr %t12)
+ %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1299)
%t15 = load ptr, ptr %t11
- %t16 = call ptr @fn_str_concat(ptr %t14, ptr %t15)
+ %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 @fn_str_concat(ptr @.str1270, ptr %t19)
- %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str1271)
+ %t20 = call ptr @lp_str_concat(ptr @.str1300, ptr %t19)
+ %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1301)
%t22 = call ptr @fn_emit_bind(ptr %t21)
store ptr %t22, ptr %t23
%t24 = load ptr, ptr %t23
- %t25 = call ptr @fn_str_concat(ptr @.str1272, ptr %t24)
- %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str1273)
+ %t25 = call ptr @lp_str_concat(ptr @.str1302, ptr %t24)
+ %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1303)
%t27 = call ptr @fn_emit_bind(ptr %t26)
store ptr %t27, ptr %retval
br label %ret
@@ -34912,30 +35470,30 @@ entry:
store ptr %arg_a, ptr %t0
store ptr %arg_b, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call ptr @fn_str_concat(ptr @.str1274, ptr %t2)
- %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str1275)
+ %t3 = call ptr @lp_str_concat(ptr @.str1304, ptr %t2)
+ %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1305)
%t5 = call ptr @fn_emit_bind(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t6
- %t8 = call ptr @fn_str_concat(ptr @.str1276, ptr %t7)
- %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str1277)
+ %t8 = call ptr @lp_str_concat(ptr @.str1306, ptr %t7)
+ %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1307)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t1
- %t13 = call ptr @fn_str_concat(ptr @.str1278, ptr %t12)
- %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str1279)
+ %t13 = call ptr @lp_str_concat(ptr @.str1308, ptr %t12)
+ %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1309)
%t15 = call ptr @fn_emit_bind(ptr %t14)
store ptr %t15, ptr %t16
%t17 = load ptr, ptr %t11
- %t18 = call ptr @fn_str_concat(ptr @.str1280, ptr %t17)
- %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str1281)
+ %t18 = call ptr @lp_str_concat(ptr @.str1310, ptr %t17)
+ %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1311)
%t20 = load ptr, ptr %t16
- %t21 = call ptr @fn_str_concat(ptr %t19, ptr %t20)
+ %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 @fn_str_concat(ptr @.str1282, ptr %t24)
- %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str1283)
+ %t25 = call ptr @lp_str_concat(ptr @.str1312, ptr %t24)
+ %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1313)
%t27 = call ptr @fn_emit_bind(ptr %t26)
store ptr %t27, ptr %retval
br label %ret
@@ -34956,10 +35514,10 @@ entry:
store ptr %arg_b, ptr %t1
store ptr %arg_t, ptr %t2
%t3 = load ptr, ptr %t1
- %t4 = call ptr @fn_str_concat(ptr @.str1284, ptr %t3)
- %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str1285)
+ %t4 = call ptr @lp_str_concat(ptr @.str1314, ptr %t3)
+ %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1315)
%t6 = load ptr, ptr %t0
- %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
+ %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
@@ -34967,10 +35525,10 @@ entry:
%t12 = call ptr @fn_fx_mul_code(ptr %t10, ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t0
- %t15 = call ptr @fn_str_concat(ptr @.str1286, ptr %t14)
- %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str1287)
+ %t15 = call ptr @lp_str_concat(ptr @.str1316, ptr %t14)
+ %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1317)
%t17 = load ptr, ptr %t13
- %t18 = call ptr @fn_str_concat(ptr %t16, ptr %t17)
+ %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
@@ -34991,17 +35549,17 @@ entry:
store ptr %arg_b, ptr %t1
store ptr %arg_v, ptr %t2
%t3 = load ptr, ptr %t2
- %t4 = call ptr @fn_str_concat(ptr @.str1288, ptr %t3)
- %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str1289)
+ %t4 = call ptr @lp_str_concat(ptr @.str1318, ptr %t3)
+ %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1319)
%t6 = load ptr, ptr %t0
- %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
+ %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 @fn_str_concat(ptr @.str1290, ptr %t10)
- %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str1291)
+ %t11 = call ptr @lp_str_concat(ptr @.str1320, ptr %t10)
+ %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1321)
%t13 = load ptr, ptr %t0
- %t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
+ %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
@@ -35043,14 +35601,14 @@ entry:
%t194 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1292)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1322)
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t3
br i1 %t6, label %scend1, label %sc0
sc0:
%t8 = load ptr, ptr %t0
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str1293)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str1323)
%t10 = icmp ne i32 %t9, 0
%t11 = zext i1 %t10 to i32
store i32 %t11, ptr %t3
@@ -35063,7 +35621,7 @@ scend1:
br i1 %t13, label %scend3, label %sc2
sc2:
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str1294)
+ %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str1324)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t2
@@ -35076,7 +35634,7 @@ scend3:
br i1 %t20, label %scend5, label %sc4
sc4:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1295)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str1325)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
@@ -35090,14 +35648,14 @@ then6:
br label %ret
ifend8:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str1296)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1326)
%t33 = icmp ne i32 %t32, 0
%t34 = zext i1 %t33 to i32
store i32 %t34, ptr %t30
br i1 %t33, label %scend10, label %sc9
sc9:
%t35 = load ptr, ptr %t0
- %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1297)
+ %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1327)
%t37 = icmp ne i32 %t36, 0
%t38 = zext i1 %t37 to i32
store i32 %t38, ptr %t30
@@ -35110,7 +35668,7 @@ scend10:
br i1 %t40, label %scend12, label %sc11
sc11:
%t42 = load ptr, ptr %t0
- %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str1298)
+ %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1328)
%t44 = icmp ne i32 %t43, 0
%t45 = zext i1 %t44 to i32
store i32 %t45, ptr %t29
@@ -35123,7 +35681,7 @@ scend12:
br i1 %t47, label %scend14, label %sc13
sc13:
%t49 = load ptr, ptr %t0
- %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str1299)
+ %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str1329)
%t51 = icmp ne i32 %t50, 0
%t52 = zext i1 %t51 to i32
store i32 %t52, ptr %t28
@@ -35137,14 +35695,14 @@ then15:
br label %ret
ifend17:
%t57 = load ptr, ptr %t0
- %t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str1300)
+ %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str1330)
%t59 = icmp ne i32 %t58, 0
%t60 = zext i1 %t59 to i32
store i32 %t60, ptr %t56
br i1 %t59, label %scend19, label %sc18
sc18:
%t61 = load ptr, ptr %t0
- %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str1301)
+ %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str1331)
%t63 = icmp ne i32 %t62, 0
%t64 = zext i1 %t63 to i32
store i32 %t64, ptr %t56
@@ -35157,7 +35715,7 @@ scend19:
br i1 %t66, label %scend21, label %sc20
sc20:
%t68 = load ptr, ptr %t0
- %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str1302)
+ %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str1332)
%t70 = icmp ne i32 %t69, 0
%t71 = zext i1 %t70 to i32
store i32 %t71, ptr %t55
@@ -35171,14 +35729,14 @@ then22:
br label %ret
ifend24:
%t78 = load ptr, ptr %t0
- %t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str1303)
+ %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str1333)
%t80 = icmp ne i32 %t79, 0
%t81 = zext i1 %t80 to i32
store i32 %t81, ptr %t77
br i1 %t80, label %scend26, label %sc25
sc25:
%t82 = load ptr, ptr %t0
- %t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str1304)
+ %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str1334)
%t84 = icmp ne i32 %t83, 0
%t85 = zext i1 %t84 to i32
store i32 %t85, ptr %t77
@@ -35191,7 +35749,7 @@ scend26:
br i1 %t87, label %scend28, label %sc27
sc27:
%t89 = load ptr, ptr %t0
- %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str1305)
+ %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1335)
%t91 = icmp ne i32 %t90, 0
%t92 = zext i1 %t91 to i32
store i32 %t92, ptr %t76
@@ -35204,7 +35762,7 @@ scend28:
br i1 %t94, label %scend30, label %sc29
sc29:
%t96 = load ptr, ptr %t0
- %t97 = call i32 @fn_str_eq(ptr %t96, ptr @.str1306)
+ %t97 = call i32 @lp_str_eq(ptr %t96, ptr @.str1336)
%t98 = icmp ne i32 %t97, 0
%t99 = zext i1 %t98 to i32
store i32 %t99, ptr %t75
@@ -35217,7 +35775,7 @@ scend30:
br i1 %t101, label %scend32, label %sc31
sc31:
%t103 = load ptr, ptr %t0
- %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str1307)
+ %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str1337)
%t105 = icmp ne i32 %t104, 0
%t106 = zext i1 %t105 to i32
store i32 %t106, ptr %t74
@@ -35231,14 +35789,14 @@ then33:
br label %ret
ifend35:
%t111 = load ptr, ptr %t0
- %t112 = call i32 @fn_str_eq(ptr %t111, ptr @.str1308)
+ %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str1338)
%t113 = icmp ne i32 %t112, 0
%t114 = zext i1 %t113 to i32
store i32 %t114, ptr %t110
br i1 %t113, label %scend37, label %sc36
sc36:
%t115 = load ptr, ptr %t0
- %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str1309)
+ %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str1339)
%t117 = icmp ne i32 %t116, 0
%t118 = zext i1 %t117 to i32
store i32 %t118, ptr %t110
@@ -35251,7 +35809,7 @@ scend37:
br i1 %t120, label %scend39, label %sc38
sc38:
%t122 = load ptr, ptr %t0
- %t123 = call i32 @fn_str_eq(ptr %t122, ptr @.str1310)
+ %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str1340)
%t124 = icmp ne i32 %t123, 0
%t125 = zext i1 %t124 to i32
store i32 %t125, ptr %t109
@@ -35265,14 +35823,14 @@ then40:
br label %ret
ifend42:
%t131 = load ptr, ptr %t0
- %t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str1311)
+ %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str1341)
%t133 = icmp ne i32 %t132, 0
%t134 = zext i1 %t133 to i32
store i32 %t134, ptr %t130
br i1 %t133, label %scend44, label %sc43
sc43:
%t135 = load ptr, ptr %t0
- %t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str1312)
+ %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str1342)
%t137 = icmp ne i32 %t136, 0
%t138 = zext i1 %t137 to i32
store i32 %t138, ptr %t130
@@ -35285,7 +35843,7 @@ scend44:
br i1 %t140, label %scend46, label %sc45
sc45:
%t142 = load ptr, ptr %t0
- %t143 = call i32 @fn_str_eq(ptr %t142, ptr @.str1313)
+ %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str1343)
%t144 = icmp ne i32 %t143, 0
%t145 = zext i1 %t144 to i32
store i32 %t145, ptr %t129
@@ -35298,7 +35856,7 @@ scend46:
br i1 %t147, label %scend48, label %sc47
sc47:
%t149 = load ptr, ptr %t0
- %t150 = call i32 @fn_str_eq(ptr %t149, ptr @.str1314)
+ %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str1344)
%t151 = icmp ne i32 %t150, 0
%t152 = zext i1 %t151 to i32
store i32 %t152, ptr %t128
@@ -35312,14 +35870,14 @@ then49:
br label %ret
ifend51:
%t158 = load ptr, ptr %t0
- %t159 = call i32 @fn_str_eq(ptr %t158, ptr @.str1315)
+ %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str1345)
%t160 = icmp ne i32 %t159, 0
%t161 = zext i1 %t160 to i32
store i32 %t161, ptr %t157
br i1 %t160, label %scend53, label %sc52
sc52:
%t162 = load ptr, ptr %t0
- %t163 = call i32 @fn_str_eq(ptr %t162, ptr @.str1316)
+ %t163 = call i32 @lp_str_eq(ptr %t162, ptr @.str1346)
%t164 = icmp ne i32 %t163, 0
%t165 = zext i1 %t164 to i32
store i32 %t165, ptr %t157
@@ -35332,7 +35890,7 @@ scend53:
br i1 %t167, label %scend55, label %sc54
sc54:
%t169 = load ptr, ptr %t0
- %t170 = call i32 @fn_str_eq(ptr %t169, ptr @.str1317)
+ %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str1347)
%t171 = icmp ne i32 %t170, 0
%t172 = zext i1 %t171 to i32
store i32 %t172, ptr %t156
@@ -35345,7 +35903,7 @@ scend55:
br i1 %t174, label %scend57, label %sc56
sc56:
%t176 = load ptr, ptr %t0
- %t177 = call i32 @fn_str_eq(ptr %t176, ptr @.str1318)
+ %t177 = call i32 @lp_str_eq(ptr %t176, ptr @.str1348)
%t178 = icmp ne i32 %t177, 0
%t179 = zext i1 %t178 to i32
store i32 %t179, ptr %t155
@@ -35359,14 +35917,14 @@ then58:
br label %ret
ifend60:
%t183 = load ptr, ptr %t0
- %t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str1319)
+ %t184 = call i32 @lp_str_eq(ptr %t183, ptr @.str1349)
%t185 = icmp ne i32 %t184, 0
%t186 = zext i1 %t185 to i32
store i32 %t186, ptr %t182
br i1 %t185, label %scend62, label %sc61
sc61:
%t187 = load ptr, ptr %t0
- %t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str1320)
+ %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str1350)
%t189 = icmp ne i32 %t188, 0
%t190 = zext i1 %t189 to i32
store i32 %t190, ptr %t182
@@ -35380,14 +35938,14 @@ then63:
br label %ret
ifend65:
%t195 = load ptr, ptr %t0
- %t196 = call i32 @fn_str_eq(ptr %t195, ptr @.str1321)
+ %t196 = call i32 @lp_str_eq(ptr %t195, ptr @.str1351)
%t197 = icmp ne i32 %t196, 0
%t198 = zext i1 %t197 to i32
store i32 %t198, ptr %t194
br i1 %t197, label %scend67, label %sc66
sc66:
%t199 = load ptr, ptr %t0
- %t200 = call i32 @fn_str_eq(ptr %t199, ptr @.str1322)
+ %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str1352)
%t201 = icmp ne i32 %t200, 0
%t202 = zext i1 %t201 to i32
store i32 %t202, ptr %t194
@@ -35400,7 +35958,7 @@ scend67:
br i1 %t204, label %scend69, label %sc68
sc68:
%t206 = load ptr, ptr %t0
- %t207 = call i32 @fn_str_eq(ptr %t206, ptr @.str1323)
+ %t207 = call i32 @lp_str_eq(ptr %t206, ptr @.str1353)
%t208 = icmp ne i32 %t207, 0
%t209 = zext i1 %t208 to i32
store i32 %t209, ptr %t193
@@ -35554,14 +36112,14 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t5 = load ptr, ptr %t0
- %t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str1324)
+ %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1354)
%t7 = icmp ne i32 %t6, 0
%t8 = zext i1 %t7 to i32
store i32 %t8, ptr %t4
br i1 %t7, label %scend1, label %sc0
sc0:
%t9 = load ptr, ptr %t0
- %t10 = call i32 @fn_str_eq(ptr %t9, ptr @.str1325)
+ %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str1355)
%t11 = icmp ne i32 %t10, 0
%t12 = zext i1 %t11 to i32
store i32 %t12, ptr %t4
@@ -35574,7 +36132,7 @@ scend1:
br i1 %t14, label %scend3, label %sc2
sc2:
%t16 = load ptr, ptr %t0
- %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str1326)
+ %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str1356)
%t18 = icmp ne i32 %t17, 0
%t19 = zext i1 %t18 to i32
store i32 %t19, ptr %t3
@@ -35587,7 +36145,7 @@ scend3:
br i1 %t21, label %scend5, label %sc4
sc4:
%t23 = load ptr, ptr %t0
- %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str1327)
+ %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str1357)
%t25 = icmp ne i32 %t24, 0
%t26 = zext i1 %t25 to i32
store i32 %t26, ptr %t2
@@ -35604,7 +36162,7 @@ then6:
br label %ret
ifend8:
%t32 = load ptr, ptr %t0
- %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str1328)
+ %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str1358)
%t34 = icmp ne i32 %t33, 0
br i1 %t34, label %then9, label %ifend11
then9:
@@ -35620,34 +36178,34 @@ then9:
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0
%t46 = load ptr, ptr %t45
- %t47 = call ptr @fn_str_concat(ptr @.str1329, ptr %t46)
- %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str1330)
+ %t47 = call ptr @lp_str_concat(ptr @.str1359, ptr %t46)
+ %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1360)
%t49 = call ptr @fn_emit_bind(ptr %t48)
store ptr %t49, ptr %t50
%t51 = load ptr, ptr %t43
%t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0
%t53 = load ptr, ptr %t52
- %t54 = call ptr @fn_str_concat(ptr @.str1331, ptr %t53)
- %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str1332)
+ %t54 = call ptr @lp_str_concat(ptr @.str1361, ptr %t53)
+ %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1362)
%t56 = call ptr @fn_emit_bind(ptr %t55)
store ptr %t56, ptr %t57
%t58 = load ptr, ptr %t57
- %t59 = call ptr @fn_str_concat(ptr @.str1333, ptr %t58)
- %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str1334)
+ %t59 = call ptr @lp_str_concat(ptr @.str1363, ptr %t58)
+ %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str1364)
%t61 = call ptr @fn_emit_bind(ptr %t60)
store ptr %t61, ptr %t62
%t63 = load ptr, ptr %t50
- %t64 = call ptr @fn_str_concat(ptr @.str1335, ptr %t63)
- %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str1336)
+ %t64 = call ptr @lp_str_concat(ptr @.str1365, ptr %t63)
+ %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str1366)
%t66 = load ptr, ptr %t62
- %t67 = call ptr @fn_str_concat(ptr %t65, ptr %t66)
+ %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 @.str1337)
+ %t69 = call ptr @fn_val(ptr %t68, ptr @.str1367)
store ptr %t69, ptr %retval
br label %ret
ifend11:
%t70 = load ptr, ptr %t0
- %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str1338)
+ %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str1368)
%t72 = icmp ne i32 %t71, 0
br i1 %t72, label %then12, label %ifend14
then12:
@@ -35663,15 +36221,15 @@ then12:
%t82 = load ptr, ptr %t81
%t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0
%t84 = load ptr, ptr %t83
- %t85 = call ptr @fn_str_concat(ptr @.str1339, ptr %t84)
- %t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str1340)
+ %t85 = call ptr @lp_str_concat(ptr @.str1369, ptr %t84)
+ %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1370)
%t87 = call ptr @fn_emit_bind(ptr %t86)
- %t88 = call ptr @fn_val(ptr %t87, ptr @.str1341)
+ %t88 = call ptr @fn_val(ptr %t87, ptr @.str1371)
store ptr %t88, ptr %retval
br label %ret
ifend14:
%t89 = load ptr, ptr %t0
- %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str1342)
+ %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1372)
%t91 = icmp ne i32 %t90, 0
br i1 %t91, label %then15, label %ifend17
then15:
@@ -35687,20 +36245,20 @@ then15:
%t101 = load ptr, ptr %t100
%t102 = getelementptr inbounds %Cmp_Val, ptr %t101, i32 0, i32 0
%t103 = load ptr, ptr %t102
- %t104 = call ptr @fn_str_concat(ptr @.str1343, ptr %t103)
- %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str1344)
+ %t104 = call ptr @lp_str_concat(ptr @.str1373, ptr %t103)
+ %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str1374)
%t106 = call ptr @fn_emit_bind(ptr %t105)
store ptr %t106, ptr %t107
%t108 = load ptr, ptr %t107
- %t109 = call ptr @fn_str_concat(ptr @.str1345, ptr %t108)
- %t110 = call ptr @fn_str_concat(ptr %t109, ptr @.str1346)
+ %t109 = call ptr @lp_str_concat(ptr @.str1375, ptr %t108)
+ %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str1376)
%t111 = call ptr @fn_emit_bind(ptr %t110)
- %t112 = call ptr @fn_val(ptr %t111, ptr @.str1347)
+ %t112 = call ptr @fn_val(ptr %t111, ptr @.str1377)
store ptr %t112, ptr %retval
br label %ret
ifend17:
%t113 = load ptr, ptr %t0
- %t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str1348)
+ %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str1378)
%t115 = icmp ne i32 %t114, 0
br i1 %t115, label %then18, label %ifend20
then18:
@@ -35716,20 +36274,20 @@ then18:
%t125 = load ptr, ptr %t124
%t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0
%t127 = load ptr, ptr %t126
- %t128 = call ptr @fn_str_concat(ptr @.str1349, ptr %t127)
- %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str1350)
+ %t128 = call ptr @lp_str_concat(ptr @.str1379, ptr %t127)
+ %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str1380)
%t130 = call ptr @fn_emit_bind(ptr %t129)
store ptr %t130, ptr %t131
%t132 = load ptr, ptr %t131
- %t133 = call ptr @fn_str_concat(ptr @.str1351, ptr %t132)
- %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str1352)
+ %t133 = call ptr @lp_str_concat(ptr @.str1381, ptr %t132)
+ %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str1382)
%t135 = call ptr @fn_emit_bind(ptr %t134)
- %t136 = call ptr @fn_val(ptr %t135, ptr @.str1353)
+ %t136 = call ptr @fn_val(ptr %t135, ptr @.str1383)
store ptr %t136, ptr %retval
br label %ret
ifend20:
%t137 = load ptr, ptr %t0
- %t138 = call i32 @fn_str_eq(ptr %t137, ptr @.str1354)
+ %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str1384)
%t139 = icmp ne i32 %t138, 0
br i1 %t139, label %then21, label %ifend23
then21:
@@ -35770,12 +36328,12 @@ then21:
%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 @.str1355)
+ %t177 = call ptr @fn_val(ptr %t176, ptr @.str1385)
store ptr %t177, ptr %retval
br label %ret
ifend23:
%t178 = load ptr, ptr %t0
- %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str1356)
+ %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str1386)
%t180 = icmp ne i32 %t179, 0
br i1 %t180, label %then24, label %ifend26
then24:
@@ -35816,12 +36374,12 @@ then24:
%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 @.str1357)
+ %t218 = call ptr @fn_val(ptr %t217, ptr @.str1387)
store ptr %t218, ptr %retval
br label %ret
ifend26:
%t219 = load ptr, ptr %t0
- %t220 = call i32 @fn_str_eq(ptr %t219, ptr @.str1358)
+ %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str1388)
%t221 = icmp ne i32 %t220, 0
br i1 %t221, label %then27, label %ifend29
then27:
@@ -35838,15 +36396,15 @@ then27:
%t231 = load ptr, ptr %t230
%t232 = getelementptr inbounds %Cmp_Val, ptr %t231, i32 0, i32 0
%t233 = load ptr, ptr %t232
- %t234 = call ptr @fn_str_concat(ptr @.str1359, ptr %t233)
- %t235 = call ptr @fn_str_concat(ptr %t234, ptr @.str1360)
+ %t234 = call ptr @lp_str_concat(ptr @.str1389, ptr %t233)
+ %t235 = call ptr @lp_str_concat(ptr %t234, ptr @.str1390)
%t236 = call ptr @fn_emit_bind(ptr %t235)
- %t237 = call ptr @fn_val(ptr %t236, ptr @.str1361)
+ %t237 = call ptr @fn_val(ptr %t236, ptr @.str1391)
store ptr %t237, ptr %retval
br label %ret
ifend29:
%t238 = load ptr, ptr %t0
- %t239 = call i32 @fn_str_eq(ptr %t238, ptr @.str1362)
+ %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str1392)
%t240 = icmp ne i32 %t239, 0
br i1 %t240, label %then30, label %ifend32
then30:
@@ -35863,15 +36421,15 @@ then30:
%t250 = load ptr, ptr %t249
%t251 = getelementptr inbounds %Cmp_Val, ptr %t250, i32 0, i32 0
%t252 = load ptr, ptr %t251
- %t253 = call ptr @fn_str_concat(ptr @.str1363, ptr %t252)
- %t254 = call ptr @fn_str_concat(ptr %t253, ptr @.str1364)
+ %t253 = call ptr @lp_str_concat(ptr @.str1393, ptr %t252)
+ %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str1394)
%t255 = call ptr @fn_emit_bind(ptr %t254)
- %t256 = call ptr @fn_val(ptr %t255, ptr @.str1365)
+ %t256 = call ptr @fn_val(ptr %t255, ptr @.str1395)
store ptr %t256, ptr %retval
br label %ret
ifend32:
%t257 = load ptr, ptr %t0
- %t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str1366)
+ %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str1396)
%t259 = icmp ne i32 %t258, 0
br i1 %t259, label %then33, label %ifend35
then33:
@@ -35888,20 +36446,20 @@ then33:
%t269 = load ptr, ptr %t268
%t270 = getelementptr inbounds %Cmp_Val, ptr %t269, i32 0, i32 0
%t271 = load ptr, ptr %t270
- %t272 = call ptr @fn_str_concat(ptr @.str1367, ptr %t271)
- %t273 = call ptr @fn_str_concat(ptr %t272, ptr @.str1368)
+ %t272 = call ptr @lp_str_concat(ptr @.str1397, ptr %t271)
+ %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str1398)
%t274 = call ptr @fn_emit_bind(ptr %t273)
store ptr %t274, ptr %t275
%t276 = load ptr, ptr %t275
- %t277 = call ptr @fn_str_concat(ptr @.str1369, ptr %t276)
- %t278 = call ptr @fn_str_concat(ptr %t277, ptr @.str1370)
+ %t277 = call ptr @lp_str_concat(ptr @.str1399, ptr %t276)
+ %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str1400)
%t279 = call ptr @fn_emit_bind(ptr %t278)
- %t280 = call ptr @fn_val(ptr %t279, ptr @.str1371)
+ %t280 = call ptr @fn_val(ptr %t279, ptr @.str1401)
store ptr %t280, ptr %retval
br label %ret
ifend35:
%t281 = load ptr, ptr %t0
- %t282 = call i32 @fn_str_eq(ptr %t281, ptr @.str1372)
+ %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str1402)
%t283 = icmp ne i32 %t282, 0
br i1 %t283, label %then36, label %ifend38
then36:
@@ -35918,31 +36476,31 @@ then36:
%t293 = load ptr, ptr %t292
%t294 = getelementptr inbounds %Cmp_Val, ptr %t293, i32 0, i32 0
%t295 = load ptr, ptr %t294
- %t296 = call ptr @fn_str_concat(ptr @.str1373, ptr %t295)
- %t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str1374)
+ %t296 = call ptr @lp_str_concat(ptr @.str1403, ptr %t295)
+ %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str1404)
%t298 = call ptr @fn_emit_bind(ptr %t297)
store ptr %t298, ptr %t299
%t300 = load ptr, ptr %t292
%t301 = getelementptr inbounds %Cmp_Val, ptr %t300, i32 0, i32 0
%t302 = load ptr, ptr %t301
- %t303 = call ptr @fn_str_concat(ptr @.str1375, ptr %t302)
- %t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str1376)
+ %t303 = call ptr @lp_str_concat(ptr @.str1405, ptr %t302)
+ %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str1406)
%t305 = call ptr @fn_emit_bind(ptr %t304)
store ptr %t305, ptr %t306
%t307 = load ptr, ptr %t306
- %t308 = call ptr @fn_str_concat(ptr @.str1377, ptr %t307)
- %t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str1378)
+ %t308 = call ptr @lp_str_concat(ptr @.str1407, ptr %t307)
+ %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str1408)
%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 @.str1379)
+ %t315 = call ptr @fn_val(ptr %t314, ptr @.str1409)
store ptr %t315, ptr %retval
br label %ret
ifend38:
%t316 = load ptr, ptr %t0
- %t317 = call i32 @fn_str_eq(ptr %t316, ptr @.str1380)
+ %t317 = call i32 @lp_str_eq(ptr %t316, ptr @.str1410)
%t318 = icmp ne i32 %t317, 0
br i1 %t318, label %then39, label %ifend41
then39:
@@ -35968,20 +36526,20 @@ then39:
%t337 = load ptr, ptr %t327
%t338 = getelementptr inbounds %Cmp_Val, ptr %t337, i32 0, i32 0
%t339 = load ptr, ptr %t338
- %t340 = call ptr @fn_str_concat(ptr @.str1381, ptr %t339)
- %t341 = call ptr @fn_str_concat(ptr %t340, ptr @.str1382)
+ %t340 = call ptr @lp_str_concat(ptr @.str1411, ptr %t339)
+ %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str1412)
%t342 = load ptr, ptr %t336
%t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0
%t344 = load ptr, ptr %t343
- %t345 = call ptr @fn_str_concat(ptr %t341, ptr %t344)
- %t346 = call ptr @fn_str_concat(ptr %t345, ptr @.str1383)
+ %t345 = call ptr @lp_str_concat(ptr %t341, ptr %t344)
+ %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str1413)
%t347 = call ptr @fn_emit_bind(ptr %t346)
- %t348 = call ptr @fn_val(ptr %t347, ptr @.str1384)
+ %t348 = call ptr @fn_val(ptr %t347, ptr @.str1414)
store ptr %t348, ptr %retval
br label %ret
ifend41:
%t349 = load ptr, ptr %t0
- %t350 = call i32 @fn_str_eq(ptr %t349, ptr @.str1385)
+ %t350 = call i32 @lp_str_eq(ptr %t349, ptr @.str1415)
%t351 = icmp ne i32 %t350, 0
br i1 %t351, label %then42, label %ifend44
then42:
@@ -36004,29 +36562,29 @@ then42:
%t367 = call ptr @fn_fx_mul_code(ptr %t363, ptr %t366)
store ptr %t367, ptr %t368
%t369 = load ptr, ptr %t368
- %t370 = call ptr @fn_str_concat(ptr @.str1386, ptr %t369)
+ %t370 = call ptr @lp_str_concat(ptr @.str1416, ptr %t369)
%t371 = call ptr @fn_emit_bind(ptr %t370)
store ptr %t371, ptr %t372
%t373 = load ptr, ptr %t372
- %t374 = call ptr @fn_str_concat(ptr @.str1387, ptr %t373)
- %t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str1388)
+ %t374 = call ptr @lp_str_concat(ptr @.str1417, ptr %t373)
+ %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str1418)
%t376 = call ptr @fn_emit_bind(ptr %t375)
store ptr %t376, ptr %t377
%t378 = load ptr, ptr %t360
%t379 = getelementptr inbounds %Cmp_Val, ptr %t378, i32 0, i32 0
%t380 = load ptr, ptr %t379
- %t381 = call ptr @fn_str_concat(ptr @.str1389, ptr %t380)
- %t382 = call ptr @fn_str_concat(ptr %t381, ptr @.str1390)
+ %t381 = call ptr @lp_str_concat(ptr @.str1419, ptr %t380)
+ %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str1420)
%t383 = load ptr, ptr %t377
- %t384 = call ptr @fn_str_concat(ptr %t382, ptr %t383)
- %t385 = call ptr @fn_str_concat(ptr %t384, ptr @.str1391)
+ %t384 = call ptr @lp_str_concat(ptr %t382, ptr %t383)
+ %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str1421)
%t386 = call ptr @fn_emit_bind(ptr %t385)
- %t387 = call ptr @fn_val(ptr %t386, ptr @.str1392)
+ %t387 = call ptr @fn_val(ptr %t386, ptr @.str1422)
store ptr %t387, ptr %retval
br label %ret
ifend44:
%t388 = load ptr, ptr %t0
- %t389 = call i32 @fn_str_eq(ptr %t388, ptr @.str1393)
+ %t389 = call i32 @lp_str_eq(ptr %t388, ptr @.str1423)
%t390 = icmp ne i32 %t389, 0
br i1 %t390, label %then45, label %ifend47
then45:
@@ -36049,29 +36607,29 @@ then45:
%t406 = call ptr @fn_fx_mul_code(ptr %t402, ptr %t405)
store ptr %t406, ptr %t407
%t408 = load ptr, ptr %t407
- %t409 = call ptr @fn_str_concat(ptr @.str1394, ptr %t408)
+ %t409 = call ptr @lp_str_concat(ptr @.str1424, ptr %t408)
%t410 = call ptr @fn_emit_bind(ptr %t409)
store ptr %t410, ptr %t411
%t412 = load ptr, ptr %t411
- %t413 = call ptr @fn_str_concat(ptr @.str1395, ptr %t412)
- %t414 = call ptr @fn_str_concat(ptr %t413, ptr @.str1396)
+ %t413 = call ptr @lp_str_concat(ptr @.str1425, ptr %t412)
+ %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str1426)
%t415 = call ptr @fn_emit_bind(ptr %t414)
store ptr %t415, ptr %t416
%t417 = load ptr, ptr %t416
- %t418 = call ptr @fn_str_concat(ptr @.str1397, ptr %t417)
- %t419 = call ptr @fn_str_concat(ptr %t418, ptr @.str1398)
+ %t418 = call ptr @lp_str_concat(ptr @.str1427, ptr %t417)
+ %t419 = call ptr @lp_str_concat(ptr %t418, ptr @.str1428)
%t420 = load ptr, ptr %t399
%t421 = getelementptr inbounds %Cmp_Val, ptr %t420, i32 0, i32 0
%t422 = load ptr, ptr %t421
- %t423 = call ptr @fn_str_concat(ptr %t419, ptr %t422)
- %t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str1399)
+ %t423 = call ptr @lp_str_concat(ptr %t419, ptr %t422)
+ %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str1429)
%t425 = call ptr @fn_emit_bind(ptr %t424)
- %t426 = call ptr @fn_val(ptr %t425, ptr @.str1400)
+ %t426 = call ptr @fn_val(ptr %t425, ptr @.str1430)
store ptr %t426, ptr %retval
br label %ret
ifend47:
%t427 = load ptr, ptr %t0
- %t428 = call i32 @fn_str_eq(ptr %t427, ptr @.str1401)
+ %t428 = call i32 @lp_str_eq(ptr %t427, ptr @.str1431)
%t429 = icmp ne i32 %t428, 0
br i1 %t429, label %then48, label %ifend50
then48:
@@ -36111,22 +36669,22 @@ then48:
%t462 = call ptr @fn_fx_mul_code(ptr %t458, ptr %t461)
store ptr %t462, ptr %t463
%t464 = load ptr, ptr %t455
- %t465 = call ptr @fn_str_concat(ptr @.str1402, ptr %t464)
- %t466 = call ptr @fn_str_concat(ptr %t465, ptr @.str1403)
+ %t465 = call ptr @lp_str_concat(ptr @.str1432, ptr %t464)
+ %t466 = call ptr @lp_str_concat(ptr %t465, ptr @.str1433)
%t467 = load ptr, ptr %t463
- %t468 = call ptr @fn_str_concat(ptr %t466, ptr %t467)
+ %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 @fn_str_concat(ptr @.str1404, ptr %t471)
- %t473 = call ptr @fn_str_concat(ptr %t472, ptr @.str1405)
+ %t472 = call ptr @lp_str_concat(ptr @.str1434, ptr %t471)
+ %t473 = call ptr @lp_str_concat(ptr %t472, ptr @.str1435)
%t474 = call ptr @fn_emit_bind(ptr %t473)
- %t475 = call ptr @fn_val(ptr %t474, ptr @.str1406)
+ %t475 = call ptr @fn_val(ptr %t474, ptr @.str1436)
store ptr %t475, ptr %retval
br label %ret
ifend50:
%t476 = load ptr, ptr %t0
- %t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str1407)
+ %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str1437)
%t478 = icmp ne i32 %t477, 0
br i1 %t478, label %then51, label %ifend53
then51:
@@ -36169,23 +36727,23 @@ then51:
%t515 = load ptr, ptr %t505
%t516 = getelementptr inbounds %Cmp_Val, ptr %t515, i32 0, i32 0
%t517 = load ptr, ptr %t516
- %t518 = call ptr @fn_str_concat(ptr @.str1408, ptr %t517)
- %t519 = call ptr @fn_str_concat(ptr %t518, ptr @.str1409)
+ %t518 = call ptr @lp_str_concat(ptr @.str1438, ptr %t517)
+ %t519 = call ptr @lp_str_concat(ptr %t518, ptr @.str1439)
%t520 = load ptr, ptr %t487
%t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0
%t522 = load ptr, ptr %t521
- %t523 = call ptr @fn_str_concat(ptr %t519, ptr %t522)
+ %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 @fn_str_concat(ptr @.str1410, ptr %t528)
- %t530 = call ptr @fn_str_concat(ptr %t529, ptr @.str1411)
+ %t529 = call ptr @lp_str_concat(ptr @.str1440, ptr %t528)
+ %t530 = call ptr @lp_str_concat(ptr %t529, ptr @.str1441)
%t531 = load ptr, ptr %t496
%t532 = getelementptr inbounds %Cmp_Val, ptr %t531, i32 0, i32 0
%t533 = load ptr, ptr %t532
- %t534 = call ptr @fn_str_concat(ptr %t530, ptr %t533)
+ %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
@@ -36197,17 +36755,17 @@ then51:
%t543 = call ptr @fn_fx_mul_code(ptr %t541, ptr %t542)
store ptr %t543, ptr %t544
%t545 = load ptr, ptr %t540
- %t546 = call ptr @fn_str_concat(ptr @.str1412, ptr %t545)
- %t547 = call ptr @fn_str_concat(ptr %t546, ptr @.str1413)
+ %t546 = call ptr @lp_str_concat(ptr @.str1442, ptr %t545)
+ %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str1443)
%t548 = load ptr, ptr %t544
- %t549 = call ptr @fn_str_concat(ptr %t547, ptr %t548)
+ %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 @.str1414)
+ %t551 = call ptr @fn_val(ptr %t550, ptr @.str1444)
store ptr %t551, ptr %retval
br label %ret
ifend53:
%t552 = load ptr, ptr %t0
- %t553 = call i32 @fn_str_eq(ptr %t552, ptr @.str1415)
+ %t553 = call i32 @lp_str_eq(ptr %t552, ptr @.str1445)
%t554 = icmp ne i32 %t553, 0
br i1 %t554, label %then54, label %ifend56
then54:
@@ -36251,23 +36809,23 @@ then54:
%t591 = load ptr, ptr %t581
%t592 = getelementptr inbounds %Cmp_Val, ptr %t591, i32 0, i32 0
%t593 = load ptr, ptr %t592
- %t594 = call ptr @fn_str_concat(ptr @.str1416, ptr %t593)
- %t595 = call ptr @fn_str_concat(ptr %t594, ptr @.str1417)
+ %t594 = call ptr @lp_str_concat(ptr @.str1446, ptr %t593)
+ %t595 = call ptr @lp_str_concat(ptr %t594, ptr @.str1447)
%t596 = load ptr, ptr %t563
%t597 = getelementptr inbounds %Cmp_Val, ptr %t596, i32 0, i32 0
%t598 = load ptr, ptr %t597
- %t599 = call ptr @fn_str_concat(ptr %t595, ptr %t598)
+ %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 @fn_str_concat(ptr @.str1418, ptr %t604)
- %t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str1419)
+ %t605 = call ptr @lp_str_concat(ptr @.str1448, ptr %t604)
+ %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1449)
%t607 = load ptr, ptr %t572
%t608 = getelementptr inbounds %Cmp_Val, ptr %t607, i32 0, i32 0
%t609 = load ptr, ptr %t608
- %t610 = call ptr @fn_str_concat(ptr %t606, ptr %t609)
+ %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
@@ -36279,22 +36837,22 @@ then54:
%t619 = call ptr @fn_fx_mul_code(ptr %t617, ptr %t618)
store ptr %t619, ptr %t620
%t621 = load ptr, ptr %t616
- %t622 = call ptr @fn_str_concat(ptr @.str1420, ptr %t621)
- %t623 = call ptr @fn_str_concat(ptr %t622, ptr @.str1421)
+ %t622 = call ptr @lp_str_concat(ptr @.str1450, ptr %t621)
+ %t623 = call ptr @lp_str_concat(ptr %t622, ptr @.str1451)
%t624 = load ptr, ptr %t620
- %t625 = call ptr @fn_str_concat(ptr %t623, ptr %t624)
+ %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 @fn_str_concat(ptr @.str1422, ptr %t628)
- %t630 = call ptr @fn_str_concat(ptr %t629, ptr @.str1423)
+ %t629 = call ptr @lp_str_concat(ptr @.str1452, ptr %t628)
+ %t630 = call ptr @lp_str_concat(ptr %t629, ptr @.str1453)
%t631 = call ptr @fn_emit_bind(ptr %t630)
- %t632 = call ptr @fn_val(ptr %t631, ptr @.str1424)
+ %t632 = call ptr @fn_val(ptr %t631, ptr @.str1454)
store ptr %t632, ptr %retval
br label %ret
ifend56:
%t633 = load ptr, ptr %t0
- %t634 = call i32 @fn_str_eq(ptr %t633, ptr @.str1425)
+ %t634 = call i32 @lp_str_eq(ptr %t633, ptr @.str1455)
%t635 = icmp ne i32 %t634, 0
br i1 %t635, label %then57, label %ifend59
then57:
@@ -36311,18 +36869,18 @@ then57:
%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 @.str1426)
+ %t648 = call ptr @fn_fx_mul_code(ptr %t647, ptr @.str1456)
store ptr %t648, ptr %t649
%t650 = load ptr, ptr %t649
- %t651 = call ptr @fn_str_concat(ptr @.str1427, ptr %t650)
- %t652 = call ptr @fn_str_concat(ptr %t651, ptr @.str1428)
+ %t651 = call ptr @lp_str_concat(ptr @.str1457, ptr %t650)
+ %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str1458)
%t653 = call ptr @fn_emit_bind(ptr %t652)
- %t654 = call ptr @fn_val(ptr %t653, ptr @.str1429)
+ %t654 = call ptr @fn_val(ptr %t653, ptr @.str1459)
store ptr %t654, ptr %retval
br label %ret
ifend59:
%t655 = load ptr, ptr %t0
- %t656 = call i32 @fn_str_eq(ptr %t655, ptr @.str1430)
+ %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str1460)
%t657 = icmp ne i32 %t656, 0
br i1 %t657, label %then60, label %ifend62
then60:
@@ -36339,18 +36897,18 @@ then60:
%t667 = load ptr, ptr %t666
%t668 = getelementptr inbounds %Cmp_Val, ptr %t667, i32 0, i32 0
%t669 = load ptr, ptr %t668
- %t670 = call ptr @fn_str_concat(ptr @.str1431, ptr %t669)
- %t671 = call ptr @fn_str_concat(ptr %t670, ptr @.str1432)
+ %t670 = call ptr @lp_str_concat(ptr @.str1461, ptr %t669)
+ %t671 = call ptr @lp_str_concat(ptr %t670, ptr @.str1462)
%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 @.str1433)
- %t676 = call ptr @fn_val(ptr %t675, ptr @.str1434)
+ %t675 = call ptr @fn_fx_mul_code(ptr %t674, ptr @.str1463)
+ %t676 = call ptr @fn_val(ptr %t675, ptr @.str1464)
store ptr %t676, ptr %retval
br label %ret
ifend62:
%t677 = load ptr, ptr %t0
- %t678 = call i32 @fn_str_eq(ptr %t677, ptr @.str1435)
+ %t678 = call i32 @lp_str_eq(ptr %t677, ptr @.str1465)
%t679 = icmp ne i32 %t678, 0
br i1 %t679, label %then63, label %ifend65
then63:
@@ -36376,8 +36934,8 @@ then63:
%t698 = load ptr, ptr %t688
%t699 = getelementptr inbounds %Cmp_Val, ptr %t698, i32 0, i32 0
%t700 = load ptr, ptr %t699
- %t701 = call ptr @fn_str_concat(ptr @.str1436, ptr %t700)
- %t702 = call ptr @fn_str_concat(ptr %t701, ptr @.str1437)
+ %t701 = call ptr @lp_str_concat(ptr @.str1466, ptr %t700)
+ %t702 = call ptr @lp_str_concat(ptr %t701, ptr @.str1467)
%t703 = call ptr @fn_emit_bind(ptr %t702)
store ptr %t703, ptr %t704
%t705 = load ptr, ptr %t697
@@ -36387,15 +36945,15 @@ then63:
%t709 = call ptr @fn_fx_mul_code(ptr %t707, ptr %t708)
store ptr %t709, ptr %t710
%t711 = load ptr, ptr %t710
- %t712 = call ptr @fn_str_concat(ptr @.str1438, ptr %t711)
- %t713 = call ptr @fn_str_concat(ptr %t712, ptr @.str1439)
+ %t712 = call ptr @lp_str_concat(ptr @.str1468, ptr %t711)
+ %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str1469)
%t714 = call ptr @fn_emit_bind(ptr %t713)
- %t715 = call ptr @fn_val(ptr %t714, ptr @.str1440)
+ %t715 = call ptr @fn_val(ptr %t714, ptr @.str1470)
store ptr %t715, ptr %retval
br label %ret
ifend65:
%t716 = load ptr, ptr %t0
- %t717 = call i32 @fn_str_eq(ptr %t716, ptr @.str1441)
+ %t717 = call i32 @lp_str_eq(ptr %t716, ptr @.str1471)
%t718 = icmp ne i32 %t717, 0
br i1 %t718, label %then66, label %ifend68
then66:
@@ -36411,13 +36969,13 @@ then66:
%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 @.str1442)
- %t732 = call ptr @fn_val(ptr %t731, ptr @.str1443)
+ %t731 = call ptr @fn_fx_mul_code(ptr %t730, ptr @.str1472)
+ %t732 = call ptr @fn_val(ptr %t731, ptr @.str1473)
store ptr %t732, ptr %retval
br label %ret
ifend68:
%t733 = load ptr, ptr %t0
- %t734 = call i32 @fn_str_eq(ptr %t733, ptr @.str1444)
+ %t734 = call i32 @lp_str_eq(ptr %t733, ptr @.str1474)
%t735 = icmp ne i32 %t734, 0
br i1 %t735, label %then69, label %ifend71
then69:
@@ -36433,13 +36991,13 @@ then69:
%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 @.str1445)
- %t749 = call ptr @fn_val(ptr %t748, ptr @.str1446)
+ %t748 = call ptr @fn_fx_mul_code(ptr %t747, ptr @.str1475)
+ %t749 = call ptr @fn_val(ptr %t748, ptr @.str1476)
store ptr %t749, ptr %retval
br label %ret
ifend71:
%t750 = load ptr, ptr %t0
- %t751 = call i32 @fn_str_eq(ptr %t750, ptr @.str1447)
+ %t751 = call i32 @lp_str_eq(ptr %t750, ptr @.str1477)
%t752 = icmp ne i32 %t751, 0
br i1 %t752, label %then72, label %ifend74
then72:
@@ -36464,37 +37022,37 @@ then72:
%t771 = load ptr, ptr %t761
%t772 = getelementptr inbounds %Cmp_Val, ptr %t771, i32 0, i32 0
%t773 = load ptr, ptr %t772
- %t774 = call ptr @fn_str_concat(ptr @.str1448, ptr %t773)
- %t775 = call ptr @fn_str_concat(ptr %t774, ptr @.str1449)
+ %t774 = call ptr @lp_str_concat(ptr @.str1478, ptr %t773)
+ %t775 = call ptr @lp_str_concat(ptr %t774, ptr @.str1479)
%t776 = load ptr, ptr %t770
%t777 = getelementptr inbounds %Cmp_Val, ptr %t776, i32 0, i32 0
%t778 = load ptr, ptr %t777
- %t779 = call ptr @fn_str_concat(ptr %t775, ptr %t778)
+ %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 @fn_str_concat(ptr @.str1450, ptr %t782)
- %t784 = call ptr @fn_str_concat(ptr %t783, ptr @.str1451)
+ %t783 = call ptr @lp_str_concat(ptr @.str1480, ptr %t782)
+ %t784 = call ptr @lp_str_concat(ptr %t783, ptr @.str1481)
%t785 = load ptr, ptr %t770
%t786 = getelementptr inbounds %Cmp_Val, ptr %t785, i32 0, i32 0
%t787 = load ptr, ptr %t786
- %t788 = call ptr @fn_str_concat(ptr %t784, ptr %t787)
+ %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 @fn_str_concat(ptr @.str1452, ptr %t791)
- %t793 = call ptr @fn_str_concat(ptr %t792, ptr @.str1453)
+ %t792 = call ptr @lp_str_concat(ptr @.str1482, ptr %t791)
+ %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str1483)
%t794 = load ptr, ptr %t770
%t795 = getelementptr inbounds %Cmp_Val, ptr %t794, i32 0, i32 0
%t796 = load ptr, ptr %t795
- %t797 = call ptr @fn_str_concat(ptr %t793, ptr %t796)
+ %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 @.str1454)
+ %t799 = call ptr @fn_val(ptr %t798, ptr @.str1484)
store ptr %t799, ptr %retval
br label %ret
ifend74:
%t800 = load ptr, ptr %t0
- %t801 = call i32 @fn_str_eq(ptr %t800, ptr @.str1455)
+ %t801 = call i32 @lp_str_eq(ptr %t800, ptr @.str1485)
%t802 = icmp ne i32 %t801, 0
br i1 %t802, label %then75, label %ifend77
then75:
@@ -36528,60 +37086,60 @@ then75:
%t830 = load ptr, ptr %t829
%t831 = getelementptr inbounds %Cmp_Val, ptr %t830, i32 0, i32 0
%t832 = load ptr, ptr %t831
- %t833 = call ptr @fn_str_concat(ptr @.str1456, ptr %t832)
- %t834 = call ptr @fn_str_concat(ptr %t833, ptr @.str1457)
+ %t833 = call ptr @lp_str_concat(ptr @.str1486, ptr %t832)
+ %t834 = call ptr @lp_str_concat(ptr %t833, ptr @.str1487)
%t835 = load ptr, ptr %t820
%t836 = getelementptr inbounds %Cmp_Val, ptr %t835, i32 0, i32 0
%t837 = load ptr, ptr %t836
- %t838 = call ptr @fn_str_concat(ptr %t834, ptr %t837)
+ %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 @fn_str_concat(ptr @.str1458, ptr %t843)
- %t845 = call ptr @fn_str_concat(ptr %t844, ptr @.str1459)
+ %t844 = call ptr @lp_str_concat(ptr @.str1488, ptr %t843)
+ %t845 = call ptr @lp_str_concat(ptr %t844, ptr @.str1489)
%t846 = load ptr, ptr %t820
%t847 = getelementptr inbounds %Cmp_Val, ptr %t846, i32 0, i32 0
%t848 = load ptr, ptr %t847
- %t849 = call ptr @fn_str_concat(ptr %t845, ptr %t848)
+ %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 @fn_str_concat(ptr @.str1460, ptr %t852)
- %t854 = call ptr @fn_str_concat(ptr %t853, ptr @.str1461)
+ %t853 = call ptr @lp_str_concat(ptr @.str1490, ptr %t852)
+ %t854 = call ptr @lp_str_concat(ptr %t853, ptr @.str1491)
%t855 = load ptr, ptr %t840
- %t856 = call ptr @fn_str_concat(ptr %t854, ptr %t855)
+ %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 @fn_str_concat(ptr @.str1462, ptr %t859)
- %t861 = call ptr @fn_str_concat(ptr %t860, ptr @.str1463)
+ %t860 = call ptr @lp_str_concat(ptr @.str1492, ptr %t859)
+ %t861 = call ptr @lp_str_concat(ptr %t860, ptr @.str1493)
%t862 = load ptr, ptr %t840
- %t863 = call ptr @fn_str_concat(ptr %t861, ptr %t862)
+ %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 @fn_str_concat(ptr @.str1464, ptr %t866)
- %t868 = call ptr @fn_str_concat(ptr %t867, ptr @.str1465)
+ %t867 = call ptr @lp_str_concat(ptr @.str1494, ptr %t866)
+ %t868 = call ptr @lp_str_concat(ptr %t867, ptr @.str1495)
%t869 = load ptr, ptr %t840
- %t870 = call ptr @fn_str_concat(ptr %t868, ptr %t869)
+ %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 @fn_str_concat(ptr @.str1466, ptr %t875)
- %t877 = call ptr @fn_str_concat(ptr %t876, ptr @.str1467)
+ %t876 = call ptr @lp_str_concat(ptr @.str1496, ptr %t875)
+ %t877 = call ptr @lp_str_concat(ptr %t876, ptr @.str1497)
%t878 = load ptr, ptr %t872
- %t879 = call ptr @fn_str_concat(ptr %t877, ptr %t878)
+ %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 @.str1468)
+ %t881 = call ptr @fn_val(ptr %t880, ptr @.str1498)
store ptr %t881, ptr %retval
br label %ret
ifend77:
%t882 = load ptr, ptr %t0
- %t883 = call i32 @fn_str_eq(ptr %t882, ptr @.str1469)
+ %t883 = call i32 @lp_str_eq(ptr %t882, ptr @.str1499)
%t884 = icmp ne i32 %t883, 0
br i1 %t884, label %then78, label %ifend80
then78:
@@ -36606,75 +37164,75 @@ then78:
%t903 = load ptr, ptr %t902
%t904 = getelementptr inbounds %Cmp_Val, ptr %t903, i32 0, i32 0
%t905 = load ptr, ptr %t904
- %t906 = call ptr @fn_str_concat(ptr @.str1470, ptr %t905)
- %t907 = call ptr @fn_str_concat(ptr %t906, ptr @.str1471)
+ %t906 = call ptr @lp_str_concat(ptr @.str1500, ptr %t905)
+ %t907 = call ptr @lp_str_concat(ptr %t906, ptr @.str1501)
%t908 = call ptr @fn_emit_bind(ptr %t907)
store ptr %t908, ptr %t909
%t910 = load ptr, ptr %t893
%t911 = getelementptr inbounds %Cmp_Val, ptr %t910, i32 0, i32 0
%t912 = load ptr, ptr %t911
- %t913 = call ptr @fn_str_concat(ptr @.str1472, ptr %t912)
- %t914 = call ptr @fn_str_concat(ptr %t913, ptr @.str1473)
+ %t913 = call ptr @lp_str_concat(ptr @.str1502, ptr %t912)
+ %t914 = call ptr @lp_str_concat(ptr %t913, ptr @.str1503)
%t915 = load ptr, ptr %t909
- %t916 = call ptr @fn_str_concat(ptr %t914, ptr %t915)
+ %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 @fn_str_concat(ptr @.str1474, ptr %t919)
- %t921 = call ptr @fn_str_concat(ptr %t920, ptr @.str1475)
+ %t920 = call ptr @lp_str_concat(ptr @.str1504, ptr %t919)
+ %t921 = call ptr @lp_str_concat(ptr %t920, ptr @.str1505)
%t922 = load ptr, ptr %t909
- %t923 = call ptr @fn_str_concat(ptr %t921, ptr %t922)
+ %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 @fn_str_concat(ptr @.str1476, ptr %t926)
- %t928 = call ptr @fn_str_concat(ptr %t927, ptr @.str1477)
+ %t927 = call ptr @lp_str_concat(ptr @.str1506, ptr %t926)
+ %t928 = call ptr @lp_str_concat(ptr %t927, ptr @.str1507)
%t929 = load ptr, ptr %t909
- %t930 = call ptr @fn_str_concat(ptr %t928, ptr %t929)
+ %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 @fn_str_concat(ptr @.str1478, ptr %t933)
- %t935 = call ptr @fn_str_concat(ptr %t934, ptr @.str1479)
+ %t934 = call ptr @lp_str_concat(ptr @.str1508, ptr %t933)
+ %t935 = call ptr @lp_str_concat(ptr %t934, ptr @.str1509)
%t936 = load ptr, ptr %t902
%t937 = getelementptr inbounds %Cmp_Val, ptr %t936, i32 0, i32 0
%t938 = load ptr, ptr %t937
- %t939 = call ptr @fn_str_concat(ptr %t935, ptr %t938)
+ %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 @fn_str_concat(ptr @.str1480, ptr %t942)
+ %t943 = call ptr @lp_str_concat(ptr @.str1510, ptr %t942)
%t944 = call ptr @fn_emit_bind(ptr %t943)
store ptr %t944, ptr %t945
%t946 = load ptr, ptr %t941
- %t947 = call ptr @fn_str_concat(ptr @.str1481, ptr %t946)
- %t948 = call ptr @fn_str_concat(ptr %t947, ptr @.str1482)
+ %t947 = call ptr @lp_str_concat(ptr @.str1511, ptr %t946)
+ %t948 = call ptr @lp_str_concat(ptr %t947, ptr @.str1512)
%t949 = call ptr @fn_emit_bind(ptr %t948)
store ptr %t949, ptr %t950
%t951 = load ptr, ptr %t950
- %t952 = call ptr @fn_str_concat(ptr @.str1483, ptr %t951)
- %t953 = call ptr @fn_str_concat(ptr %t952, ptr @.str1484)
+ %t952 = call ptr @lp_str_concat(ptr @.str1513, ptr %t951)
+ %t953 = call ptr @lp_str_concat(ptr %t952, ptr @.str1514)
%t954 = load ptr, ptr %t945
- %t955 = call ptr @fn_str_concat(ptr %t953, ptr %t954)
- %t956 = call ptr @fn_str_concat(ptr %t955, ptr @.str1485)
+ %t955 = call ptr @lp_str_concat(ptr %t953, ptr %t954)
+ %t956 = call ptr @lp_str_concat(ptr %t955, ptr @.str1515)
%t957 = load ptr, ptr %t941
- %t958 = call ptr @fn_str_concat(ptr %t956, ptr %t957)
+ %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 @fn_str_concat(ptr @.str1486, ptr %t963)
- %t965 = call ptr @fn_str_concat(ptr %t964, ptr @.str1487)
+ %t964 = call ptr @lp_str_concat(ptr @.str1516, ptr %t963)
+ %t965 = call ptr @lp_str_concat(ptr %t964, ptr @.str1517)
%t966 = load ptr, ptr %t960
- %t967 = call ptr @fn_str_concat(ptr %t965, ptr %t966)
+ %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 @.str1488)
+ %t969 = call ptr @fn_val(ptr %t968, ptr @.str1518)
store ptr %t969, ptr %retval
br label %ret
ifend80:
%t970 = load ptr, ptr %t0
- %t971 = call i32 @fn_str_eq(ptr %t970, ptr @.str1489)
+ %t971 = call i32 @lp_str_eq(ptr %t970, ptr @.str1519)
%t972 = icmp ne i32 %t971, 0
br i1 %t972, label %then81, label %ifend83
then81:
@@ -36705,29 +37263,29 @@ then81:
%t997 = call ptr @fn_fx_div_code(ptr %t993, ptr %t996)
store ptr %t997, ptr %t998
%t999 = load ptr, ptr %t998
- %t1000 = call ptr @fn_str_concat(ptr @.str1490, ptr %t999)
- %t1001 = call ptr @fn_str_concat(ptr %t1000, ptr @.str1491)
+ %t1000 = call ptr @lp_str_concat(ptr @.str1520, ptr %t999)
+ %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str1521)
%t1002 = call ptr @fn_emit_bind(ptr %t1001)
store ptr %t1002, ptr %t1003
%t1004 = load ptr, ptr %t1003
- %t1005 = call ptr @fn_str_concat(ptr @.str1492, ptr %t1004)
- %t1006 = call ptr @fn_str_concat(ptr %t1005, ptr @.str1493)
+ %t1005 = call ptr @lp_str_concat(ptr @.str1522, ptr %t1004)
+ %t1006 = call ptr @lp_str_concat(ptr %t1005, ptr @.str1523)
%t1007 = call ptr @fn_emit_bind(ptr %t1006)
store ptr %t1007, ptr %t1008
%t1009 = load ptr, ptr %t1008
- %t1010 = call ptr @fn_str_concat(ptr @.str1494, ptr %t1009)
- %t1011 = call ptr @fn_str_concat(ptr %t1010, ptr @.str1495)
+ %t1010 = call ptr @lp_str_concat(ptr @.str1524, ptr %t1009)
+ %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str1525)
%t1012 = load ptr, ptr %t990
%t1013 = getelementptr inbounds %Cmp_Val, ptr %t1012, i32 0, i32 0
%t1014 = load ptr, ptr %t1013
- %t1015 = call ptr @fn_str_concat(ptr %t1011, ptr %t1014)
+ %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 @.str1496)
+ %t1017 = call ptr @fn_val(ptr %t1016, ptr @.str1526)
store ptr %t1017, ptr %retval
br label %ret
ifend83:
%t1018 = load ptr, ptr %t0
- %t1019 = call i32 @fn_str_eq(ptr %t1018, ptr @.str1497)
+ %t1019 = call i32 @lp_str_eq(ptr %t1018, ptr @.str1527)
%t1020 = icmp ne i32 %t1019, 0
br i1 %t1020, label %then84, label %ifend86
then84:
@@ -36761,99 +37319,99 @@ then84:
%t1048 = load ptr, ptr %t1038
%t1049 = getelementptr inbounds %Cmp_Val, ptr %t1048, i32 0, i32 0
%t1050 = load ptr, ptr %t1049
- %t1051 = call ptr @fn_str_concat(ptr @.str1498, ptr %t1050)
- %t1052 = call ptr @fn_str_concat(ptr %t1051, ptr @.str1499)
+ %t1051 = call ptr @lp_str_concat(ptr @.str1528, ptr %t1050)
+ %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str1529)
%t1053 = load ptr, ptr %t1029
%t1054 = getelementptr inbounds %Cmp_Val, ptr %t1053, i32 0, i32 0
%t1055 = load ptr, ptr %t1054
- %t1056 = call ptr @fn_str_concat(ptr %t1052, ptr %t1055)
+ %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 @fn_str_concat(ptr @.str1500, ptr %t1059)
+ %t1060 = call ptr @lp_str_concat(ptr @.str1530, ptr %t1059)
%t1061 = call ptr @fn_emit_bind(ptr %t1060)
store ptr %t1061, ptr %t1062
%t1063 = load ptr, ptr %t1058
- %t1064 = call ptr @fn_str_concat(ptr @.str1501, ptr %t1063)
- %t1065 = call ptr @fn_str_concat(ptr %t1064, ptr @.str1502)
+ %t1064 = call ptr @lp_str_concat(ptr @.str1531, ptr %t1063)
+ %t1065 = call ptr @lp_str_concat(ptr %t1064, ptr @.str1532)
%t1066 = call ptr @fn_emit_bind(ptr %t1065)
store ptr %t1066, ptr %t1067
%t1068 = load ptr, ptr %t1067
- %t1069 = call ptr @fn_str_concat(ptr @.str1503, ptr %t1068)
- %t1070 = call ptr @fn_str_concat(ptr %t1069, ptr @.str1504)
+ %t1069 = call ptr @lp_str_concat(ptr @.str1533, ptr %t1068)
+ %t1070 = call ptr @lp_str_concat(ptr %t1069, ptr @.str1534)
%t1071 = load ptr, ptr %t1062
- %t1072 = call ptr @fn_str_concat(ptr %t1070, ptr %t1071)
- %t1073 = call ptr @fn_str_concat(ptr %t1072, ptr @.str1505)
+ %t1072 = call ptr @lp_str_concat(ptr %t1070, ptr %t1071)
+ %t1073 = call ptr @lp_str_concat(ptr %t1072, ptr @.str1535)
%t1074 = load ptr, ptr %t1058
- %t1075 = call ptr @fn_str_concat(ptr %t1073, ptr %t1074)
+ %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 @fn_str_concat(ptr @.str1506, ptr %t1078)
- %t1080 = call ptr @fn_str_concat(ptr %t1079, ptr @.str1507)
+ %t1079 = call ptr @lp_str_concat(ptr @.str1536, ptr %t1078)
+ %t1080 = call ptr @lp_str_concat(ptr %t1079, ptr @.str1537)
%t1081 = call ptr @fn_emit_bind(ptr %t1080)
store ptr %t1081, ptr %t1082
%t1083 = load ptr, ptr %t1058
- %t1084 = call ptr @fn_str_concat(ptr @.str1508, ptr %t1083)
- %t1085 = call ptr @fn_str_concat(ptr %t1084, ptr @.str1509)
+ %t1084 = call ptr @lp_str_concat(ptr @.str1538, ptr %t1083)
+ %t1085 = call ptr @lp_str_concat(ptr %t1084, ptr @.str1539)
%t1086 = call ptr @fn_emit_bind(ptr %t1085)
store ptr %t1086, ptr %t1087
%t1088 = load ptr, ptr %t1087
- %t1089 = call ptr @fn_str_concat(ptr @.str1510, ptr %t1088)
- %t1090 = call ptr @fn_str_concat(ptr %t1089, ptr @.str1511)
+ %t1089 = call ptr @lp_str_concat(ptr @.str1540, ptr %t1088)
+ %t1090 = call ptr @lp_str_concat(ptr %t1089, ptr @.str1541)
%t1091 = call ptr @fn_emit_bind(ptr %t1090)
store ptr %t1091, ptr %t1092
%t1093 = load ptr, ptr %t1082
- %t1094 = call ptr @fn_str_concat(ptr @.str1512, ptr %t1093)
- %t1095 = call ptr @fn_str_concat(ptr %t1094, ptr @.str1513)
+ %t1094 = call ptr @lp_str_concat(ptr @.str1542, ptr %t1093)
+ %t1095 = call ptr @lp_str_concat(ptr %t1094, ptr @.str1543)
%t1096 = load ptr, ptr %t1092
- %t1097 = call ptr @fn_str_concat(ptr %t1095, ptr %t1096)
+ %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 @fn_str_concat(ptr @.str1514, ptr %t1100)
- %t1102 = call ptr @fn_str_concat(ptr %t1101, ptr @.str1515)
+ %t1101 = call ptr @lp_str_concat(ptr @.str1544, ptr %t1100)
+ %t1102 = call ptr @lp_str_concat(ptr %t1101, ptr @.str1545)
%t1103 = load ptr, ptr %t1047
%t1104 = getelementptr inbounds %Cmp_Val, ptr %t1103, i32 0, i32 0
%t1105 = load ptr, ptr %t1104
- %t1106 = call ptr @fn_str_concat(ptr %t1102, ptr %t1105)
+ %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 @fn_str_concat(ptr @.str1516, ptr %t1111)
- %t1113 = call ptr @fn_str_concat(ptr %t1112, ptr @.str1517)
+ %t1112 = call ptr @lp_str_concat(ptr @.str1546, ptr %t1111)
+ %t1113 = call ptr @lp_str_concat(ptr %t1112, ptr @.str1547)
%t1114 = load ptr, ptr %t1108
- %t1115 = call ptr @fn_str_concat(ptr %t1113, ptr %t1114)
+ %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 @fn_str_concat(ptr @.str1518, ptr %t1118)
- %t1120 = call ptr @fn_str_concat(ptr %t1119, ptr @.str1519)
+ %t1119 = call ptr @lp_str_concat(ptr @.str1548, ptr %t1118)
+ %t1120 = call ptr @lp_str_concat(ptr %t1119, ptr @.str1549)
%t1121 = load ptr, ptr %t1047
%t1122 = getelementptr inbounds %Cmp_Val, ptr %t1121, i32 0, i32 0
%t1123 = load ptr, ptr %t1122
- %t1124 = call ptr @fn_str_concat(ptr %t1120, ptr %t1123)
+ %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 @fn_str_concat(ptr @.str1520, ptr %t1127)
- %t1129 = call ptr @fn_str_concat(ptr %t1128, ptr @.str1521)
+ %t1128 = call ptr @lp_str_concat(ptr @.str1550, ptr %t1127)
+ %t1129 = call ptr @lp_str_concat(ptr %t1128, ptr @.str1551)
%t1130 = load ptr, ptr %t1038
%t1131 = getelementptr inbounds %Cmp_Val, ptr %t1130, i32 0, i32 0
%t1132 = load ptr, ptr %t1131
- %t1133 = call ptr @fn_str_concat(ptr %t1129, ptr %t1132)
- %t1134 = call ptr @fn_str_concat(ptr %t1133, ptr @.str1522)
+ %t1133 = call ptr @lp_str_concat(ptr %t1129, ptr %t1132)
+ %t1134 = call ptr @lp_str_concat(ptr %t1133, ptr @.str1552)
%t1135 = load ptr, ptr %t1117
- %t1136 = call ptr @fn_str_concat(ptr %t1134, ptr %t1135)
+ %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 @.str1523)
+ %t1138 = call ptr @fn_val(ptr %t1137, ptr @.str1553)
store ptr %t1138, ptr %retval
br label %ret
ifend86:
%t1139 = load ptr, ptr %t0
- %t1140 = call i32 @fn_str_eq(ptr %t1139, ptr @.str1524)
+ %t1140 = call i32 @lp_str_eq(ptr %t1139, ptr @.str1554)
%t1141 = icmp ne i32 %t1140, 0
br i1 %t1141, label %then87, label %ifend89
then87:
@@ -36896,36 +37454,36 @@ then87:
%t1178 = call ptr @fn_fx_inv_lerp_code(ptr %t1171, ptr %t1174, ptr %t1177)
store ptr %t1178, ptr %t1179
%t1180 = load ptr, ptr %t1179
- %t1181 = call ptr @fn_str_concat(ptr @.str1525, ptr %t1180)
- %t1182 = call ptr @fn_str_concat(ptr %t1181, ptr @.str1526)
+ %t1181 = call ptr @lp_str_concat(ptr @.str1555, ptr %t1180)
+ %t1182 = call ptr @lp_str_concat(ptr %t1181, ptr @.str1556)
%t1183 = call ptr @fn_emit_bind(ptr %t1182)
store ptr %t1183, ptr %t1184
%t1185 = load ptr, ptr %t1184
- %t1186 = call ptr @fn_str_concat(ptr @.str1527, ptr %t1185)
- %t1187 = call ptr @fn_str_concat(ptr %t1186, ptr @.str1528)
+ %t1186 = call ptr @lp_str_concat(ptr @.str1557, ptr %t1185)
+ %t1187 = call ptr @lp_str_concat(ptr %t1186, ptr @.str1558)
%t1188 = load ptr, ptr %t1179
- %t1189 = call ptr @fn_str_concat(ptr %t1187, ptr %t1188)
+ %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 @fn_str_concat(ptr @.str1529, ptr %t1192)
- %t1194 = call ptr @fn_str_concat(ptr %t1193, ptr @.str1530)
+ %t1193 = call ptr @lp_str_concat(ptr @.str1559, ptr %t1192)
+ %t1194 = call ptr @lp_str_concat(ptr %t1193, ptr @.str1560)
%t1195 = call ptr @fn_emit_bind(ptr %t1194)
store ptr %t1195, ptr %t1196
%t1197 = load ptr, ptr %t1196
- %t1198 = call ptr @fn_str_concat(ptr @.str1531, ptr %t1197)
- %t1199 = call ptr @fn_str_concat(ptr %t1198, ptr @.str1532)
+ %t1198 = call ptr @lp_str_concat(ptr @.str1561, ptr %t1197)
+ %t1199 = call ptr @lp_str_concat(ptr %t1198, ptr @.str1562)
%t1200 = load ptr, ptr %t1191
- %t1201 = call ptr @fn_str_concat(ptr %t1199, ptr %t1200)
+ %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 @fn_str_concat(ptr @.str1533, ptr %t1204)
- %t1206 = call ptr @fn_str_concat(ptr %t1205, ptr @.str1534)
+ %t1205 = call ptr @lp_str_concat(ptr @.str1563, ptr %t1204)
+ %t1206 = call ptr @lp_str_concat(ptr %t1205, ptr @.str1564)
%t1207 = call ptr @fn_emit_bind(ptr %t1206)
store ptr %t1207, ptr %t1208
%t1209 = load ptr, ptr %t1208
- %t1210 = call ptr @fn_str_concat(ptr @.str1535, ptr %t1209)
+ %t1210 = call ptr @lp_str_concat(ptr @.str1565, ptr %t1209)
%t1211 = call ptr @fn_emit_bind(ptr %t1210)
store ptr %t1211, ptr %t1212
%t1213 = load ptr, ptr %t1203
@@ -36935,7 +37493,7 @@ then87:
%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 @.str1536)
+ %t1220 = call ptr @fn_val(ptr %t1219, ptr @.str1566)
store ptr %t1220, ptr %retval
br label %ret
ifend89:
@@ -37003,7 +37561,7 @@ ifend89:
%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 @.str1537)
+ %t1285 = call ptr @fn_val(ptr %t1284, ptr @.str1567)
store ptr %t1285, ptr %retval
br label %ret
ret:
@@ -37013,36 +37571,6 @@ ret:
define void @fn_emit_math_prelude() {
entry:
- call void @fn_emith(ptr @.str1538)
- call void @fn_emith(ptr @.str1539)
- call void @fn_emith(ptr @.str1540)
- call void @fn_emith(ptr @.str1541)
- call void @fn_emith(ptr @.str1542)
- call void @fn_emith(ptr @.str1543)
- call void @fn_emith(ptr @.str1544)
- call void @fn_emith(ptr @.str1545)
- call void @fn_emith(ptr @.str1546)
- call void @fn_emith(ptr @.str1547)
- call void @fn_emith(ptr @.str1548)
- call void @fn_emith(ptr @.str1549)
- call void @fn_emith(ptr @.str1550)
- call void @fn_emith(ptr @.str1551)
- call void @fn_emith(ptr @.str1552)
- call void @fn_emith(ptr @.str1553)
- call void @fn_emith(ptr @.str1554)
- call void @fn_emith(ptr @.str1555)
- call void @fn_emith(ptr @.str1556)
- call void @fn_emith(ptr @.str1557)
- call void @fn_emith(ptr @.str1558)
- call void @fn_emith(ptr @.str1559)
- call void @fn_emith(ptr @.str1560)
- call void @fn_emith(ptr @.str1561)
- call void @fn_emith(ptr @.str1562)
- call void @fn_emith(ptr @.str1563)
- call void @fn_emith(ptr @.str1564)
- call void @fn_emith(ptr @.str1565)
- call void @fn_emith(ptr @.str1566)
- call void @fn_emith(ptr @.str1567)
call void @fn_emith(ptr @.str1568)
call void @fn_emith(ptr @.str1569)
call void @fn_emith(ptr @.str1570)
@@ -37122,6 +37650,36 @@ entry:
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)
br label %ret
ret:
ret void
@@ -37138,25 +37696,25 @@ entry:
store ptr %arg_x, ptr %t0
store ptr %arg_y, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call ptr @fn_str_concat(ptr @.str1647, ptr %t2)
- %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str1648)
+ %t3 = call ptr @lp_str_concat(ptr @.str1677, ptr %t2)
+ %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1678)
%t5 = call ptr @fn_emit_bind(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t6
- %t8 = call ptr @fn_str_concat(ptr @.str1649, ptr %t7)
- %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str1650)
+ %t8 = call ptr @lp_str_concat(ptr @.str1679, ptr %t7)
+ %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1680)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t1
- %t13 = call ptr @fn_str_concat(ptr @.str1651, ptr %t12)
- %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str1652)
+ %t13 = call ptr @lp_str_concat(ptr @.str1681, ptr %t12)
+ %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1682)
%t15 = call ptr @fn_emit_bind(ptr %t14)
store ptr %t15, ptr %t16
%t17 = load ptr, ptr %t11
- %t18 = call ptr @fn_str_concat(ptr @.str1653, ptr %t17)
- %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str1654)
+ %t18 = call ptr @lp_str_concat(ptr @.str1683, ptr %t17)
+ %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1684)
%t20 = load ptr, ptr %t16
- %t21 = call ptr @fn_str_concat(ptr %t19, ptr %t20)
+ %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
@@ -37172,13 +37730,13 @@ entry:
%t5 = alloca ptr
store ptr %arg_v, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call ptr @fn_str_concat(ptr @.str1655, ptr %t1)
- %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1656)
+ %t2 = call ptr @lp_str_concat(ptr @.str1685, ptr %t1)
+ %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str1686)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
- %t7 = call ptr @fn_str_concat(ptr @.str1657, ptr %t6)
- %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1658)
+ %t7 = call ptr @lp_str_concat(ptr @.str1687, ptr %t6)
+ %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1688)
%t9 = call ptr @fn_emit_bind(ptr %t8)
store ptr %t9, ptr %retval
br label %ret
@@ -37193,8 +37751,8 @@ entry:
%t0 = alloca ptr
store ptr %arg_v, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call ptr @fn_str_concat(ptr @.str1659, ptr %t1)
- %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1660)
+ %t2 = call ptr @lp_str_concat(ptr @.str1689, ptr %t1)
+ %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str1690)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %retval
br label %ret
@@ -37220,14 +37778,14 @@ entry:
%t83 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1661)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1691)
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t3
br i1 %t6, label %scend1, label %sc0
sc0:
%t8 = load ptr, ptr %t0
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str1662)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str1692)
%t10 = icmp ne i32 %t9, 0
%t11 = zext i1 %t10 to i32
store i32 %t11, ptr %t3
@@ -37240,7 +37798,7 @@ scend1:
br i1 %t13, label %scend3, label %sc2
sc2:
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str1663)
+ %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str1693)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t2
@@ -37253,7 +37811,7 @@ scend3:
br i1 %t20, label %scend5, label %sc4
sc4:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1664)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str1694)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
@@ -37267,14 +37825,14 @@ then6:
br label %ret
ifend8:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str1665)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1695)
%t33 = icmp ne i32 %t32, 0
%t34 = zext i1 %t33 to i32
store i32 %t34, ptr %t30
br i1 %t33, label %scend10, label %sc9
sc9:
%t35 = load ptr, ptr %t0
- %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1666)
+ %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1696)
%t37 = icmp ne i32 %t36, 0
%t38 = zext i1 %t37 to i32
store i32 %t38, ptr %t30
@@ -37287,7 +37845,7 @@ scend10:
br i1 %t40, label %scend12, label %sc11
sc11:
%t42 = load ptr, ptr %t0
- %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str1667)
+ %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1697)
%t44 = icmp ne i32 %t43, 0
%t45 = zext i1 %t44 to i32
store i32 %t45, ptr %t29
@@ -37300,7 +37858,7 @@ scend12:
br i1 %t47, label %scend14, label %sc13
sc13:
%t49 = load ptr, ptr %t0
- %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str1668)
+ %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str1698)
%t51 = icmp ne i32 %t50, 0
%t52 = zext i1 %t51 to i32
store i32 %t52, ptr %t28
@@ -37314,14 +37872,14 @@ then15:
br label %ret
ifend17:
%t58 = load ptr, ptr %t0
- %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str1669)
+ %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str1699)
%t60 = icmp ne i32 %t59, 0
%t61 = zext i1 %t60 to i32
store i32 %t61, ptr %t57
br i1 %t60, label %scend19, label %sc18
sc18:
%t62 = load ptr, ptr %t0
- %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str1670)
+ %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str1700)
%t64 = icmp ne i32 %t63, 0
%t65 = zext i1 %t64 to i32
store i32 %t65, ptr %t57
@@ -37334,7 +37892,7 @@ scend19:
br i1 %t67, label %scend21, label %sc20
sc20:
%t69 = load ptr, ptr %t0
- %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str1671)
+ %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str1701)
%t71 = icmp ne i32 %t70, 0
%t72 = zext i1 %t71 to i32
store i32 %t72, ptr %t56
@@ -37347,7 +37905,7 @@ scend21:
br i1 %t74, label %scend23, label %sc22
sc22:
%t76 = load ptr, ptr %t0
- %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str1672)
+ %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str1702)
%t78 = icmp ne i32 %t77, 0
%t79 = zext i1 %t78 to i32
store i32 %t79, ptr %t55
@@ -37361,14 +37919,14 @@ then24:
br label %ret
ifend26:
%t84 = load ptr, ptr %t0
- %t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str1673)
+ %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str1703)
%t86 = icmp ne i32 %t85, 0
%t87 = zext i1 %t86 to i32
store i32 %t87, ptr %t83
br i1 %t86, label %scend28, label %sc27
sc27:
%t88 = load ptr, ptr %t0
- %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str1674)
+ %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str1704)
%t90 = icmp ne i32 %t89, 0
%t91 = zext i1 %t90 to i32
store i32 %t91, ptr %t83
@@ -37381,7 +37939,7 @@ scend28:
br i1 %t93, label %scend30, label %sc29
sc29:
%t95 = load ptr, ptr %t0
- %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str1675)
+ %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str1705)
%t97 = icmp ne i32 %t96, 0
%t98 = zext i1 %t97 to i32
store i32 %t98, ptr %t82
@@ -37501,16 +38059,16 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1676)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1706)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
- %t5 = call ptr @fn_val(ptr @.str1677, ptr @.str1678)
+ %t5 = call ptr @fn_val(ptr @.str1707, ptr @.str1708)
store ptr %t5, ptr %retval
br label %ret
ifend2:
%t6 = load ptr, ptr %t0
- %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str1679)
+ %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1709)
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %then3, label %ifend5
then3:
@@ -37539,12 +38097,12 @@ then3:
%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 @.str1680)
+ %t34 = call ptr @fn_val(ptr %t33, ptr @.str1710)
store ptr %t34, ptr %retval
br label %ret
ifend5:
%t35 = load ptr, ptr %t0
- %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1681)
+ %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1711)
%t37 = icmp ne i32 %t36, 0
br i1 %t37, label %then6, label %ifend8
then6:
@@ -37561,12 +38119,12 @@ then6:
%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 @.str1682)
+ %t51 = call ptr @fn_val(ptr %t50, ptr @.str1712)
store ptr %t51, ptr %retval
br label %ret
ifend8:
%t52 = load ptr, ptr %t0
- %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1683)
+ %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1713)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then9, label %ifend11
then9:
@@ -37583,12 +38141,12 @@ then9:
%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 @.str1684)
+ %t68 = call ptr @fn_val(ptr %t67, ptr @.str1714)
store ptr %t68, ptr %retval
br label %ret
ifend11:
%t69 = load ptr, ptr %t0
- %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str1685)
+ %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str1715)
%t71 = icmp ne i32 %t70, 0
br i1 %t71, label %then12, label %ifend14
then12:
@@ -37631,28 +38189,28 @@ then12:
%t108 = call ptr @fn_vec_y(ptr %t107)
store ptr %t108, ptr %t109
%t110 = load ptr, ptr %t94
- %t111 = call ptr @fn_str_concat(ptr @.str1686, ptr %t110)
- %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str1687)
+ %t111 = call ptr @lp_str_concat(ptr @.str1716, ptr %t110)
+ %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str1717)
%t113 = load ptr, ptr %t104
- %t114 = call ptr @fn_str_concat(ptr %t112, ptr %t113)
+ %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 @fn_str_concat(ptr @.str1688, ptr %t117)
- %t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str1689)
+ %t118 = call ptr @lp_str_concat(ptr @.str1718, ptr %t117)
+ %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str1719)
%t120 = load ptr, ptr %t109
- %t121 = call ptr @fn_str_concat(ptr %t119, ptr %t120)
+ %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 @.str1690)
+ %t127 = call ptr @fn_val(ptr %t126, ptr @.str1720)
store ptr %t127, ptr %retval
br label %ret
ifend14:
%t128 = load ptr, ptr %t0
- %t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str1691)
+ %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str1721)
%t130 = icmp ne i32 %t129, 0
br i1 %t130, label %then15, label %ifend17
then15:
@@ -37695,28 +38253,28 @@ then15:
%t167 = call ptr @fn_vec_y(ptr %t166)
store ptr %t167, ptr %t168
%t169 = load ptr, ptr %t153
- %t170 = call ptr @fn_str_concat(ptr @.str1692, ptr %t169)
- %t171 = call ptr @fn_str_concat(ptr %t170, ptr @.str1693)
+ %t170 = call ptr @lp_str_concat(ptr @.str1722, ptr %t169)
+ %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str1723)
%t172 = load ptr, ptr %t163
- %t173 = call ptr @fn_str_concat(ptr %t171, ptr %t172)
+ %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 @fn_str_concat(ptr @.str1694, ptr %t176)
- %t178 = call ptr @fn_str_concat(ptr %t177, ptr @.str1695)
+ %t177 = call ptr @lp_str_concat(ptr @.str1724, ptr %t176)
+ %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str1725)
%t179 = load ptr, ptr %t168
- %t180 = call ptr @fn_str_concat(ptr %t178, ptr %t179)
+ %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 @.str1696)
+ %t186 = call ptr @fn_val(ptr %t185, ptr @.str1726)
store ptr %t186, ptr %retval
br label %ret
ifend17:
%t187 = load ptr, ptr %t0
- %t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str1697)
+ %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str1727)
%t189 = icmp ne i32 %t188, 0
br i1 %t189, label %then18, label %ifend20
then18:
@@ -37763,12 +38321,12 @@ then18:
%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 @.str1698)
+ %t233 = call ptr @fn_val(ptr %t232, ptr @.str1728)
store ptr %t233, ptr %retval
br label %ret
ifend20:
%t234 = load ptr, ptr %t0
- %t235 = call i32 @fn_str_eq(ptr %t234, ptr @.str1699)
+ %t235 = call i32 @lp_str_eq(ptr %t234, ptr @.str1729)
%t236 = icmp ne i32 %t235, 0
br i1 %t236, label %then21, label %ifend23
then21:
@@ -37819,17 +38377,17 @@ then21:
%t281 = call ptr @fn_fx_mul_code(ptr %t279, ptr %t280)
store ptr %t281, ptr %t282
%t283 = load ptr, ptr %t278
- %t284 = call ptr @fn_str_concat(ptr @.str1700, ptr %t283)
- %t285 = call ptr @fn_str_concat(ptr %t284, ptr @.str1701)
+ %t284 = call ptr @lp_str_concat(ptr @.str1730, ptr %t283)
+ %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str1731)
%t286 = load ptr, ptr %t282
- %t287 = call ptr @fn_str_concat(ptr %t285, ptr %t286)
+ %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 @.str1702)
+ %t289 = call ptr @fn_val(ptr %t288, ptr @.str1732)
store ptr %t289, ptr %retval
br label %ret
ifend23:
%t290 = load ptr, ptr %t0
- %t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str1703)
+ %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str1733)
%t292 = icmp ne i32 %t291, 0
br i1 %t292, label %then24, label %ifend26
then24:
@@ -37862,22 +38420,22 @@ then24:
%t318 = call ptr @fn_fx_mul_code(ptr %t316, ptr %t317)
store ptr %t318, ptr %t319
%t320 = load ptr, ptr %t315
- %t321 = call ptr @fn_str_concat(ptr @.str1704, ptr %t320)
- %t322 = call ptr @fn_str_concat(ptr %t321, ptr @.str1705)
+ %t321 = call ptr @lp_str_concat(ptr @.str1734, ptr %t320)
+ %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str1735)
%t323 = load ptr, ptr %t319
- %t324 = call ptr @fn_str_concat(ptr %t322, ptr %t323)
+ %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 @fn_str_concat(ptr @.str1706, ptr %t327)
- %t329 = call ptr @fn_str_concat(ptr %t328, ptr @.str1707)
+ %t328 = call ptr @lp_str_concat(ptr @.str1736, ptr %t327)
+ %t329 = call ptr @lp_str_concat(ptr %t328, ptr @.str1737)
%t330 = call ptr @fn_emit_bind(ptr %t329)
- %t331 = call ptr @fn_val(ptr %t330, ptr @.str1708)
+ %t331 = call ptr @fn_val(ptr %t330, ptr @.str1738)
store ptr %t331, ptr %retval
br label %ret
ifend26:
%t332 = load ptr, ptr %t0
- %t333 = call i32 @fn_str_eq(ptr %t332, ptr @.str1709)
+ %t333 = call i32 @lp_str_eq(ptr %t332, ptr @.str1739)
%t334 = icmp ne i32 %t333, 0
br i1 %t334, label %then27, label %ifend29
then27:
@@ -37921,17 +38479,17 @@ then27:
%t371 = call ptr @fn_vec_y(ptr %t370)
store ptr %t371, ptr %t372
%t373 = load ptr, ptr %t357
- %t374 = call ptr @fn_str_concat(ptr @.str1710, ptr %t373)
- %t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str1711)
+ %t374 = call ptr @lp_str_concat(ptr @.str1740, ptr %t373)
+ %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str1741)
%t376 = load ptr, ptr %t367
- %t377 = call ptr @fn_str_concat(ptr %t375, ptr %t376)
+ %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 @fn_str_concat(ptr @.str1712, ptr %t380)
- %t382 = call ptr @fn_str_concat(ptr %t381, ptr @.str1713)
+ %t381 = call ptr @lp_str_concat(ptr @.str1742, ptr %t380)
+ %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str1743)
%t383 = load ptr, ptr %t372
- %t384 = call ptr @fn_str_concat(ptr %t382, ptr %t383)
+ %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
@@ -37943,22 +38501,22 @@ then27:
%t393 = call ptr @fn_fx_mul_code(ptr %t391, ptr %t392)
store ptr %t393, ptr %t394
%t395 = load ptr, ptr %t390
- %t396 = call ptr @fn_str_concat(ptr @.str1714, ptr %t395)
- %t397 = call ptr @fn_str_concat(ptr %t396, ptr @.str1715)
+ %t396 = call ptr @lp_str_concat(ptr @.str1744, ptr %t395)
+ %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str1745)
%t398 = load ptr, ptr %t394
- %t399 = call ptr @fn_str_concat(ptr %t397, ptr %t398)
+ %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 @fn_str_concat(ptr @.str1716, ptr %t402)
- %t404 = call ptr @fn_str_concat(ptr %t403, ptr @.str1717)
+ %t403 = call ptr @lp_str_concat(ptr @.str1746, ptr %t402)
+ %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str1747)
%t405 = call ptr @fn_emit_bind(ptr %t404)
- %t406 = call ptr @fn_val(ptr %t405, ptr @.str1718)
+ %t406 = call ptr @fn_val(ptr %t405, ptr @.str1748)
store ptr %t406, ptr %retval
br label %ret
ifend29:
%t407 = load ptr, ptr %t0
- %t408 = call i32 @fn_str_eq(ptr %t407, ptr @.str1719)
+ %t408 = call i32 @lp_str_eq(ptr %t407, ptr @.str1749)
%t409 = icmp ne i32 %t408, 0
br i1 %t409, label %then30, label %ifend32
then30:
@@ -37991,31 +38549,31 @@ then30:
%t435 = call ptr @fn_fx_mul_code(ptr %t433, ptr %t434)
store ptr %t435, ptr %t436
%t437 = load ptr, ptr %t432
- %t438 = call ptr @fn_str_concat(ptr @.str1720, ptr %t437)
- %t439 = call ptr @fn_str_concat(ptr %t438, ptr @.str1721)
+ %t438 = call ptr @lp_str_concat(ptr @.str1750, ptr %t437)
+ %t439 = call ptr @lp_str_concat(ptr %t438, ptr @.str1751)
%t440 = load ptr, ptr %t436
- %t441 = call ptr @fn_str_concat(ptr %t439, ptr %t440)
+ %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 @fn_str_concat(ptr @.str1722, ptr %t444)
- %t446 = call ptr @fn_str_concat(ptr %t445, ptr @.str1723)
+ %t445 = call ptr @lp_str_concat(ptr @.str1752, ptr %t444)
+ %t446 = call ptr @lp_str_concat(ptr %t445, ptr @.str1753)
%t447 = call ptr @fn_emit_bind(ptr %t446)
store ptr %t447, ptr %t448
%t449 = load ptr, ptr %t448
- %t450 = call ptr @fn_str_concat(ptr @.str1724, ptr %t449)
- %t451 = call ptr @fn_str_concat(ptr %t450, ptr @.str1725)
+ %t450 = call ptr @lp_str_concat(ptr @.str1754, ptr %t449)
+ %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str1755)
%t452 = call ptr @fn_emit_bind(ptr %t451)
store ptr %t452, ptr %t453
%t454 = load ptr, ptr %t453
- %t455 = call ptr @fn_str_concat(ptr @.str1726, ptr %t454)
- %t456 = call ptr @fn_str_concat(ptr %t455, ptr @.str1727)
+ %t455 = call ptr @lp_str_concat(ptr @.str1756, ptr %t454)
+ %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str1757)
%t457 = load ptr, ptr %t448
- %t458 = call ptr @fn_str_concat(ptr %t456, ptr %t457)
+ %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 @.str1728, ptr %t461)
+ %t462 = call ptr @fn_fx_div_code(ptr @.str1758, ptr %t461)
store ptr %t462, ptr %t463
%t464 = load ptr, ptr %t423
%t465 = load ptr, ptr %t463
@@ -38028,12 +38586,12 @@ then30:
%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 @.str1729)
+ %t475 = call ptr @fn_val(ptr %t474, ptr @.str1759)
store ptr %t475, ptr %retval
br label %ret
ifend32:
%t476 = load ptr, ptr %t0
- %t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str1730)
+ %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str1760)
%t478 = icmp ne i32 %t477, 0
br i1 %t478, label %then33, label %ifend35
then33:
@@ -38059,20 +38617,20 @@ then33:
%t497 = load ptr, ptr %t496
%t498 = getelementptr inbounds %Cmp_Val, ptr %t497, i32 0, i32 0
%t499 = load ptr, ptr %t498
- %t500 = call ptr @fn_str_concat(ptr @.str1731, ptr %t499)
- %t501 = call ptr @fn_str_concat(ptr %t500, ptr @.str1732)
+ %t500 = call ptr @lp_str_concat(ptr @.str1761, ptr %t499)
+ %t501 = call ptr @lp_str_concat(ptr %t500, ptr @.str1762)
%t502 = call ptr @fn_emit_bind(ptr %t501)
store ptr %t502, ptr %t503
%t504 = load ptr, ptr %t496
%t505 = getelementptr inbounds %Cmp_Val, ptr %t504, i32 0, i32 0
%t506 = load ptr, ptr %t505
- %t507 = call ptr @fn_str_concat(ptr @.str1733, ptr %t506)
- %t508 = call ptr @fn_str_concat(ptr %t507, ptr @.str1734)
+ %t507 = call ptr @lp_str_concat(ptr @.str1763, ptr %t506)
+ %t508 = call ptr @lp_str_concat(ptr %t507, ptr @.str1764)
%t509 = call ptr @fn_emit_bind(ptr %t508)
store ptr %t509, ptr %t510
%t511 = load ptr, ptr %t510
- %t512 = call ptr @fn_str_concat(ptr @.str1735, ptr %t511)
- %t513 = call ptr @fn_str_concat(ptr %t512, ptr @.str1736)
+ %t512 = call ptr @lp_str_concat(ptr @.str1765, ptr %t511)
+ %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str1766)
%t514 = call ptr @fn_emit_bind(ptr %t513)
store ptr %t514, ptr %t515
%t516 = load ptr, ptr %t487
@@ -38102,28 +38660,28 @@ then33:
%t540 = call ptr @fn_fx_mul_code(ptr %t538, ptr %t539)
store ptr %t540, ptr %t541
%t542 = load ptr, ptr %t529
- %t543 = call ptr @fn_str_concat(ptr @.str1737, ptr %t542)
- %t544 = call ptr @fn_str_concat(ptr %t543, ptr @.str1738)
+ %t543 = call ptr @lp_str_concat(ptr @.str1767, ptr %t542)
+ %t544 = call ptr @lp_str_concat(ptr %t543, ptr @.str1768)
%t545 = load ptr, ptr %t533
- %t546 = call ptr @fn_str_concat(ptr %t544, ptr %t545)
+ %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 @fn_str_concat(ptr @.str1739, ptr %t549)
- %t551 = call ptr @fn_str_concat(ptr %t550, ptr @.str1740)
+ %t550 = call ptr @lp_str_concat(ptr @.str1769, ptr %t549)
+ %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str1770)
%t552 = load ptr, ptr %t541
- %t553 = call ptr @fn_str_concat(ptr %t551, ptr %t552)
+ %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 @.str1741)
+ %t559 = call ptr @fn_val(ptr %t558, ptr @.str1771)
store ptr %t559, ptr %retval
br label %ret
ifend35:
%t560 = load ptr, ptr %t0
- %t561 = call i32 @fn_str_eq(ptr %t560, ptr @.str1742)
+ %t561 = call i32 @lp_str_eq(ptr %t560, ptr @.str1772)
%t562 = icmp ne i32 %t561, 0
br i1 %t562, label %then36, label %ifend38
then36:
@@ -38148,18 +38706,18 @@ then36:
%t580 = call ptr @fn_vec_y(ptr %t579)
store ptr %t580, ptr %t581
%t582 = load ptr, ptr %t581
- %t583 = call ptr @fn_str_concat(ptr @.str1743, ptr %t582)
- %t584 = call ptr @fn_str_concat(ptr %t583, ptr @.str1744)
+ %t583 = call ptr @lp_str_concat(ptr @.str1773, ptr %t582)
+ %t584 = call ptr @lp_str_concat(ptr %t583, ptr @.str1774)
%t585 = load ptr, ptr %t576
- %t586 = call ptr @fn_str_concat(ptr %t584, ptr %t585)
- %t587 = call ptr @fn_str_concat(ptr %t586, ptr @.str1745)
+ %t586 = call ptr @lp_str_concat(ptr %t584, ptr %t585)
+ %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str1775)
%t588 = call ptr @fn_emit_bind(ptr %t587)
- %t589 = call ptr @fn_val(ptr %t588, ptr @.str1746)
+ %t589 = call ptr @fn_val(ptr %t588, ptr @.str1776)
store ptr %t589, ptr %retval
br label %ret
ifend38:
%t590 = load ptr, ptr %t0
- %t591 = call i32 @fn_str_eq(ptr %t590, ptr @.str1747)
+ %t591 = call i32 @lp_str_eq(ptr %t590, ptr @.str1777)
%t592 = icmp ne i32 %t591, 0
br i1 %t592, label %then39, label %ifend41
then39:
@@ -38176,26 +38734,26 @@ then39:
%t602 = load ptr, ptr %t601
%t603 = getelementptr inbounds %Cmp_Val, ptr %t602, i32 0, i32 0
%t604 = load ptr, ptr %t603
- %t605 = call ptr @fn_str_concat(ptr @.str1748, ptr %t604)
- %t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str1749)
+ %t605 = call ptr @lp_str_concat(ptr @.str1778, ptr %t604)
+ %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1779)
%t607 = call ptr @fn_emit_bind(ptr %t606)
store ptr %t607, ptr %t608
%t609 = load ptr, ptr %t601
%t610 = getelementptr inbounds %Cmp_Val, ptr %t609, i32 0, i32 0
%t611 = load ptr, ptr %t610
- %t612 = call ptr @fn_str_concat(ptr @.str1750, ptr %t611)
- %t613 = call ptr @fn_str_concat(ptr %t612, ptr @.str1751)
+ %t612 = call ptr @lp_str_concat(ptr @.str1780, ptr %t611)
+ %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str1781)
%t614 = call ptr @fn_emit_bind(ptr %t613)
store ptr %t614, ptr %t615
%t616 = load ptr, ptr %t615
- %t617 = call ptr @fn_str_concat(ptr @.str1752, ptr %t616)
- %t618 = call ptr @fn_str_concat(ptr %t617, ptr @.str1753)
+ %t617 = call ptr @lp_str_concat(ptr @.str1782, ptr %t616)
+ %t618 = call ptr @lp_str_concat(ptr %t617, ptr @.str1783)
%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 @.str1754)
+ %t624 = call ptr @fn_val(ptr %t623, ptr @.str1784)
store ptr %t624, ptr %retval
br label %ret
ifend41:
@@ -38263,7 +38821,7 @@ ifend41:
%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 @.str1755)
+ %t689 = call ptr @fn_val(ptr %t688, ptr @.str1785)
store ptr %t689, ptr %retval
br label %ret
ret:
@@ -38279,22 +38837,22 @@ entry:
%t9 = alloca ptr
store ptr %arg_d, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call ptr @fn_str_concat(ptr @.str1756, ptr %t1)
+ %t2 = call ptr @lp_str_concat(ptr @.str1786, ptr %t1)
%t3 = call ptr @fn_emit_bind(ptr %t2)
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t0
- %t6 = call ptr @fn_str_concat(ptr @.str1757, ptr %t5)
- %t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str1758)
+ %t6 = call ptr @lp_str_concat(ptr @.str1787, ptr %t5)
+ %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str1788)
%t8 = call ptr @fn_emit_bind(ptr %t7)
store ptr %t8, ptr %t9
%t10 = load ptr, ptr %t9
- %t11 = call ptr @fn_str_concat(ptr @.str1759, ptr %t10)
- %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str1760)
+ %t11 = call ptr @lp_str_concat(ptr @.str1789, ptr %t10)
+ %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1790)
%t13 = load ptr, ptr %t4
- %t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
- %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str1761)
+ %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13)
+ %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1791)
%t16 = load ptr, ptr %t0
- %t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16)
+ %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
@@ -38321,14 +38879,14 @@ entry:
%t77 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1762)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1792)
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t3
br i1 %t6, label %scend1, label %sc0
sc0:
%t8 = load ptr, ptr %t0
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str1763)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str1793)
%t10 = icmp ne i32 %t9, 0
%t11 = zext i1 %t10 to i32
store i32 %t11, ptr %t3
@@ -38341,7 +38899,7 @@ scend1:
br i1 %t13, label %scend3, label %sc2
sc2:
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str1764)
+ %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str1794)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t2
@@ -38354,7 +38912,7 @@ scend3:
br i1 %t20, label %scend5, label %sc4
sc4:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1765)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str1795)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
@@ -38368,14 +38926,14 @@ then6:
br label %ret
ifend8:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str1766)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1796)
%t33 = icmp ne i32 %t32, 0
%t34 = zext i1 %t33 to i32
store i32 %t34, ptr %t30
br i1 %t33, label %scend10, label %sc9
sc9:
%t35 = load ptr, ptr %t0
- %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1767)
+ %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1797)
%t37 = icmp ne i32 %t36, 0
%t38 = zext i1 %t37 to i32
store i32 %t38, ptr %t30
@@ -38388,7 +38946,7 @@ scend10:
br i1 %t40, label %scend12, label %sc11
sc11:
%t42 = load ptr, ptr %t0
- %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str1768)
+ %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1798)
%t44 = icmp ne i32 %t43, 0
%t45 = zext i1 %t44 to i32
store i32 %t45, ptr %t29
@@ -38401,7 +38959,7 @@ scend12:
br i1 %t47, label %scend14, label %sc13
sc13:
%t49 = load ptr, ptr %t0
- %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str1769)
+ %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str1799)
%t51 = icmp ne i32 %t50, 0
%t52 = zext i1 %t51 to i32
store i32 %t52, ptr %t28
@@ -38415,14 +38973,14 @@ then15:
br label %ret
ifend17:
%t57 = load ptr, ptr %t0
- %t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str1770)
+ %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str1800)
%t59 = icmp ne i32 %t58, 0
%t60 = zext i1 %t59 to i32
store i32 %t60, ptr %t56
br i1 %t59, label %scend19, label %sc18
sc18:
%t61 = load ptr, ptr %t0
- %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str1771)
+ %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str1801)
%t63 = icmp ne i32 %t62, 0
%t64 = zext i1 %t63 to i32
store i32 %t64, ptr %t56
@@ -38435,7 +38993,7 @@ scend19:
br i1 %t66, label %scend21, label %sc20
sc20:
%t68 = load ptr, ptr %t0
- %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str1772)
+ %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str1802)
%t70 = icmp ne i32 %t69, 0
%t71 = zext i1 %t70 to i32
store i32 %t71, ptr %t55
@@ -38449,14 +39007,14 @@ then22:
br label %ret
ifend24:
%t78 = load ptr, ptr %t0
- %t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str1773)
+ %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str1803)
%t80 = icmp ne i32 %t79, 0
%t81 = zext i1 %t80 to i32
store i32 %t81, ptr %t77
br i1 %t80, label %scend26, label %sc25
sc25:
%t82 = load ptr, ptr %t0
- %t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str1774)
+ %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str1804)
%t84 = icmp ne i32 %t83, 0
%t85 = zext i1 %t84 to i32
store i32 %t85, ptr %t77
@@ -38469,7 +39027,7 @@ scend26:
br i1 %t87, label %scend28, label %sc27
sc27:
%t89 = load ptr, ptr %t0
- %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str1775)
+ %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1805)
%t91 = icmp ne i32 %t90, 0
%t92 = zext i1 %t91 to i32
store i32 %t92, ptr %t76
@@ -38482,7 +39040,7 @@ scend28:
br i1 %t94, label %scend30, label %sc29
sc29:
%t96 = load ptr, ptr %t0
- %t97 = call i32 @fn_str_eq(ptr %t96, ptr @.str1776)
+ %t97 = call i32 @lp_str_eq(ptr %t96, ptr @.str1806)
%t98 = icmp ne i32 %t97, 0
%t99 = zext i1 %t98 to i32
store i32 %t99, ptr %t75
@@ -38495,7 +39053,7 @@ scend30:
br i1 %t101, label %scend32, label %sc31
sc31:
%t103 = load ptr, ptr %t0
- %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str1777)
+ %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str1807)
%t105 = icmp ne i32 %t104, 0
%t106 = zext i1 %t105 to i32
store i32 %t106, ptr %t74
@@ -38592,16 +39150,16 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1778)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1808)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
- %t5 = call ptr @fn_val(ptr @.str1779, ptr @.str1780)
+ %t5 = call ptr @fn_val(ptr @.str1809, ptr @.str1810)
store ptr %t5, ptr %retval
br label %ret
ifend2:
%t6 = load ptr, ptr %t0
- %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str1781)
+ %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1811)
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %then3, label %ifend5
then3:
@@ -38630,12 +39188,12 @@ then3:
%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 @.str1782)
+ %t34 = call ptr @fn_val(ptr %t33, ptr @.str1812)
store ptr %t34, ptr %retval
br label %ret
ifend5:
%t35 = load ptr, ptr %t0
- %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1783)
+ %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1813)
%t37 = icmp ne i32 %t36, 0
br i1 %t37, label %then6, label %ifend8
then6:
@@ -38652,12 +39210,12 @@ then6:
%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 @.str1784)
+ %t51 = call ptr @fn_val(ptr %t50, ptr @.str1814)
store ptr %t51, ptr %retval
br label %ret
ifend8:
%t52 = load ptr, ptr %t0
- %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1785)
+ %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1815)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then9, label %ifend11
then9:
@@ -38674,19 +39232,19 @@ then9:
%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 @.str1786)
+ %t68 = call ptr @fn_val(ptr %t67, ptr @.str1816)
store ptr %t68, ptr %retval
br label %ret
ifend11:
%t70 = load ptr, ptr %t0
- %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str1787)
+ %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str1817)
%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 @fn_str_eq(ptr %t74, ptr @.str1788)
+ %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str1818)
%t76 = icmp ne i32 %t75, 0
%t77 = zext i1 %t76 to i32
store i32 %t77, ptr %t69
@@ -38718,56 +39276,56 @@ then14:
%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 @fn_str_concat(ptr @.str1789, ptr %t101)
- %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str1790)
+ %t102 = call ptr @lp_str_concat(ptr @.str1819, ptr %t101)
+ %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1820)
%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 @fn_str_concat(ptr %t103, ptr %t107)
+ %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 @fn_str_concat(ptr @.str1791, ptr %t114)
- %t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str1792)
+ %t115 = call ptr @lp_str_concat(ptr @.str1821, ptr %t114)
+ %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str1822)
%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 @fn_str_concat(ptr %t116, ptr %t120)
+ %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 @fn_str_concat(ptr @.str1793, ptr %t124)
- %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str1794)
+ %t125 = call ptr @lp_str_concat(ptr @.str1823, ptr %t124)
+ %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str1824)
%t127 = load ptr, ptr %t110
- %t128 = call ptr @fn_str_concat(ptr %t126, ptr %t127)
+ %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 @fn_str_concat(ptr @.str1795, ptr %t131)
- %t133 = call ptr @fn_str_concat(ptr %t132, ptr @.str1796)
+ %t132 = call ptr @lp_str_concat(ptr @.str1825, ptr %t131)
+ %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str1826)
%t134 = load ptr, ptr %t123
- %t135 = call ptr @fn_str_concat(ptr %t133, ptr %t134)
+ %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 @fn_str_concat(ptr @.str1797, ptr %t138)
- %t140 = call ptr @fn_str_concat(ptr %t139, ptr @.str1798)
+ %t139 = call ptr @lp_str_concat(ptr @.str1827, ptr %t138)
+ %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str1828)
%t141 = load ptr, ptr %t137
- %t142 = call ptr @fn_str_concat(ptr %t140, ptr %t141)
+ %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 @fn_str_eq(ptr %t145, ptr @.str1799)
+ %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str1829)
%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 @.str1800)
+ %t149 = call ptr @fn_val(ptr %t148, ptr @.str1830)
store ptr %t149, ptr %retval
br label %ret
ifend19:
@@ -38783,41 +39341,41 @@ ifend19:
%t159 = load ptr, ptr %t158
%t160 = getelementptr inbounds %Cmp_Val, ptr %t159, i32 0, i32 0
%t161 = load ptr, ptr %t160
- %t162 = call ptr @fn_str_concat(ptr @.str1801, ptr %t161)
- %t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str1802)
+ %t162 = call ptr @lp_str_concat(ptr @.str1831, ptr %t161)
+ %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str1832)
%t164 = load ptr, ptr %t158
%t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0
%t166 = load ptr, ptr %t165
- %t167 = call ptr @fn_str_concat(ptr %t163, ptr %t166)
+ %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 @fn_str_concat(ptr @.str1803, ptr %t170)
- %t172 = call ptr @fn_str_concat(ptr %t171, ptr @.str1804)
+ %t171 = call ptr @lp_str_concat(ptr @.str1833, ptr %t170)
+ %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str1834)
%t173 = load ptr, ptr %t169
- %t174 = call ptr @fn_str_concat(ptr %t172, ptr %t173)
+ %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 @fn_str_concat(ptr @.str1805, ptr %t177)
- %t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str1806)
+ %t178 = call ptr @lp_str_concat(ptr @.str1835, ptr %t177)
+ %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str1836)
%t180 = call ptr @fn_emit_bind(ptr %t179)
- %t181 = call ptr @fn_val(ptr %t180, ptr @.str1807)
+ %t181 = call ptr @fn_val(ptr %t180, ptr @.str1837)
store ptr %t181, ptr %retval
br label %ret
ifend16:
%t182 = load ptr, ptr %t0
- %t183 = call i32 @fn_str_eq(ptr %t182, ptr @.str1808)
+ %t183 = call i32 @lp_str_eq(ptr %t182, ptr @.str1838)
%t184 = icmp ne i32 %t183, 0
br i1 %t184, label %then20, label %ifend22
then20:
- %t185 = call ptr @fn_find_fn(ptr @.str1809)
+ %t185 = call ptr @fn_find_fn(ptr @.str1839)
%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 @.str1810)
+ call void @fn_perr(ptr @.str1840)
br label %ifend25
ifend25:
%t189 = load ptr, ptr %t1
@@ -38841,30 +39399,30 @@ ifend25:
%t207 = load ptr, ptr %t197
%t208 = getelementptr inbounds %Cmp_Val, ptr %t207, i32 0, i32 0
%t209 = load ptr, ptr %t208
- %t210 = call ptr @fn_str_concat(ptr @.str1811, ptr %t209)
- %t211 = call ptr @fn_str_concat(ptr %t210, ptr @.str1812)
+ %t210 = call ptr @lp_str_concat(ptr @.str1841, ptr %t209)
+ %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str1842)
%t212 = load ptr, ptr %t206
%t213 = getelementptr inbounds %Cmp_Val, ptr %t212, i32 0, i32 0
%t214 = load ptr, ptr %t213
- %t215 = call ptr @fn_str_concat(ptr %t211, ptr %t214)
- %t216 = call ptr @fn_str_concat(ptr %t215, ptr @.str1813)
+ %t215 = call ptr @lp_str_concat(ptr %t211, ptr %t214)
+ %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str1843)
%t217 = call ptr @fn_emit_bind(ptr %t216)
- %t218 = call ptr @fn_val(ptr %t217, ptr @.str1814)
+ %t218 = call ptr @fn_val(ptr %t217, ptr @.str1844)
store ptr %t218, ptr %retval
br label %ret
ifend22:
%t219 = load ptr, ptr %t0
- %t220 = call i32 @fn_str_eq(ptr %t219, ptr @.str1815)
+ %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str1845)
%t221 = icmp ne i32 %t220, 0
br i1 %t221, label %then26, label %ifend28
then26:
- %t222 = call ptr @fn_find_fn(ptr @.str1816)
+ %t222 = call ptr @fn_find_fn(ptr @.str1846)
%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 @.str1817)
+ call void @fn_perr(ptr @.str1847)
br label %ifend31
ifend31:
%t226 = load ptr, ptr %t1
@@ -38897,35 +39455,35 @@ ifend31:
%t253 = load ptr, ptr %t234
%t254 = getelementptr inbounds %Cmp_Val, ptr %t253, i32 0, i32 0
%t255 = load ptr, ptr %t254
- %t256 = call ptr @fn_str_concat(ptr @.str1818, ptr %t255)
- %t257 = call ptr @fn_str_concat(ptr %t256, ptr @.str1819)
+ %t256 = call ptr @lp_str_concat(ptr @.str1848, ptr %t255)
+ %t257 = call ptr @lp_str_concat(ptr %t256, ptr @.str1849)
%t258 = load ptr, ptr %t243
%t259 = getelementptr inbounds %Cmp_Val, ptr %t258, i32 0, i32 0
%t260 = load ptr, ptr %t259
- %t261 = call ptr @fn_str_concat(ptr %t257, ptr %t260)
- %t262 = call ptr @fn_str_concat(ptr %t261, ptr @.str1820)
+ %t261 = call ptr @lp_str_concat(ptr %t257, ptr %t260)
+ %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str1850)
%t263 = load ptr, ptr %t252
%t264 = getelementptr inbounds %Cmp_Val, ptr %t263, i32 0, i32 0
%t265 = load ptr, ptr %t264
- %t266 = call ptr @fn_str_concat(ptr %t262, ptr %t265)
- %t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str1821)
+ %t266 = call ptr @lp_str_concat(ptr %t262, ptr %t265)
+ %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str1851)
%t268 = call ptr @fn_emit_bind(ptr %t267)
- %t269 = call ptr @fn_val(ptr %t268, ptr @.str1822)
+ %t269 = call ptr @fn_val(ptr %t268, ptr @.str1852)
store ptr %t269, ptr %retval
br label %ret
ifend28:
%t270 = load ptr, ptr %t0
- %t271 = call i32 @fn_str_eq(ptr %t270, ptr @.str1823)
+ %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str1853)
%t272 = icmp ne i32 %t271, 0
br i1 %t272, label %then32, label %ifend34
then32:
- %t273 = call ptr @fn_find_fn(ptr @.str1824)
+ %t273 = call ptr @fn_find_fn(ptr @.str1854)
%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 @.str1825)
+ call void @fn_perr(ptr @.str1855)
br label %ifend37
ifend37:
%t277 = load ptr, ptr %t1
@@ -38940,15 +39498,15 @@ ifend37:
%t286 = load ptr, ptr %t285
%t287 = getelementptr inbounds %Cmp_Val, ptr %t286, i32 0, i32 0
%t288 = load ptr, ptr %t287
- %t289 = call ptr @fn_str_concat(ptr @.str1826, ptr %t288)
- %t290 = call ptr @fn_str_concat(ptr %t289, ptr @.str1827)
+ %t289 = call ptr @lp_str_concat(ptr @.str1856, ptr %t288)
+ %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str1857)
%t291 = call ptr @fn_emit_bind(ptr %t290)
- %t292 = call ptr @fn_val(ptr %t291, ptr @.str1828)
+ %t292 = call ptr @fn_val(ptr %t291, ptr @.str1858)
store ptr %t292, ptr %retval
br label %ret
ifend34:
%t293 = load ptr, ptr %t0
- %t294 = call i32 @fn_str_eq(ptr %t293, ptr @.str1829)
+ %t294 = call i32 @lp_str_eq(ptr %t293, ptr @.str1859)
%t295 = icmp ne i32 %t294, 0
br i1 %t295, label %then38, label %ifend40
then38:
@@ -38991,28 +39549,28 @@ then38:
%t332 = call ptr @fn_vec_y(ptr %t331)
store ptr %t332, ptr %t333
%t334 = load ptr, ptr %t318
- %t335 = call ptr @fn_str_concat(ptr @.str1830, ptr %t334)
- %t336 = call ptr @fn_str_concat(ptr %t335, ptr @.str1831)
+ %t335 = call ptr @lp_str_concat(ptr @.str1860, ptr %t334)
+ %t336 = call ptr @lp_str_concat(ptr %t335, ptr @.str1861)
%t337 = load ptr, ptr %t328
- %t338 = call ptr @fn_str_concat(ptr %t336, ptr %t337)
+ %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 @fn_str_concat(ptr @.str1832, ptr %t341)
- %t343 = call ptr @fn_str_concat(ptr %t342, ptr @.str1833)
+ %t342 = call ptr @lp_str_concat(ptr @.str1862, ptr %t341)
+ %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str1863)
%t344 = load ptr, ptr %t333
- %t345 = call ptr @fn_str_concat(ptr %t343, ptr %t344)
+ %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 @.str1834)
+ %t351 = call ptr @fn_val(ptr %t350, ptr @.str1864)
store ptr %t351, ptr %retval
br label %ret
ifend40:
%t352 = load ptr, ptr %t0
- %t353 = call i32 @fn_str_eq(ptr %t352, ptr @.str1835)
+ %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str1865)
%t354 = icmp ne i32 %t353, 0
br i1 %t354, label %then41, label %ifend43
then41:
@@ -39055,28 +39613,28 @@ then41:
%t391 = call ptr @fn_vec_y(ptr %t390)
store ptr %t391, ptr %t392
%t393 = load ptr, ptr %t377
- %t394 = call ptr @fn_str_concat(ptr @.str1836, ptr %t393)
- %t395 = call ptr @fn_str_concat(ptr %t394, ptr @.str1837)
+ %t394 = call ptr @lp_str_concat(ptr @.str1866, ptr %t393)
+ %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str1867)
%t396 = load ptr, ptr %t387
- %t397 = call ptr @fn_str_concat(ptr %t395, ptr %t396)
+ %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 @fn_str_concat(ptr @.str1838, ptr %t400)
- %t402 = call ptr @fn_str_concat(ptr %t401, ptr @.str1839)
+ %t401 = call ptr @lp_str_concat(ptr @.str1868, ptr %t400)
+ %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str1869)
%t403 = load ptr, ptr %t392
- %t404 = call ptr @fn_str_concat(ptr %t402, ptr %t403)
+ %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 @.str1840)
+ %t410 = call ptr @fn_val(ptr %t409, ptr @.str1870)
store ptr %t410, ptr %retval
br label %ret
ifend43:
%t411 = load ptr, ptr %t0
- %t412 = call i32 @fn_str_eq(ptr %t411, ptr @.str1841)
+ %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str1871)
%t413 = icmp ne i32 %t412, 0
br i1 %t413, label %then44, label %ifend46
then44:
@@ -39109,32 +39667,32 @@ then44:
%t440 = call ptr @fn_vec_y(ptr %t439)
store ptr %t440, ptr %t441
%t442 = load ptr, ptr %t436
- %t443 = call ptr @fn_str_concat(ptr @.str1842, ptr %t442)
- %t444 = call ptr @fn_str_concat(ptr %t443, ptr @.str1843)
+ %t443 = call ptr @lp_str_concat(ptr @.str1872, ptr %t442)
+ %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str1873)
%t445 = load ptr, ptr %t431
%t446 = getelementptr inbounds %Cmp_Val, ptr %t445, i32 0, i32 0
%t447 = load ptr, ptr %t446
- %t448 = call ptr @fn_str_concat(ptr %t444, ptr %t447)
+ %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 @fn_str_concat(ptr @.str1844, ptr %t451)
- %t453 = call ptr @fn_str_concat(ptr %t452, ptr @.str1845)
+ %t452 = call ptr @lp_str_concat(ptr @.str1874, ptr %t451)
+ %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str1875)
%t454 = load ptr, ptr %t431
%t455 = getelementptr inbounds %Cmp_Val, ptr %t454, i32 0, i32 0
%t456 = load ptr, ptr %t455
- %t457 = call ptr @fn_str_concat(ptr %t453, ptr %t456)
+ %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 @.str1846)
+ %t463 = call ptr @fn_val(ptr %t462, ptr @.str1876)
store ptr %t463, ptr %retval
br label %ret
ifend46:
%t464 = load ptr, ptr %t0
- %t465 = call i32 @fn_str_eq(ptr %t464, ptr @.str1847)
+ %t465 = call i32 @lp_str_eq(ptr %t464, ptr @.str1877)
%t466 = icmp ne i32 %t465, 0
br i1 %t466, label %then47, label %ifend49
then47:
@@ -39177,31 +39735,31 @@ then47:
%t503 = call ptr @fn_vec_y(ptr %t502)
store ptr %t503, ptr %t504
%t505 = load ptr, ptr %t489
- %t506 = call ptr @fn_str_concat(ptr @.str1848, ptr %t505)
- %t507 = call ptr @fn_str_concat(ptr %t506, ptr @.str1849)
+ %t506 = call ptr @lp_str_concat(ptr @.str1878, ptr %t505)
+ %t507 = call ptr @lp_str_concat(ptr %t506, ptr @.str1879)
%t508 = load ptr, ptr %t499
- %t509 = call ptr @fn_str_concat(ptr %t507, ptr %t508)
+ %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 @fn_str_concat(ptr @.str1850, ptr %t512)
- %t514 = call ptr @fn_str_concat(ptr %t513, ptr @.str1851)
+ %t513 = call ptr @lp_str_concat(ptr @.str1880, ptr %t512)
+ %t514 = call ptr @lp_str_concat(ptr %t513, ptr @.str1881)
%t515 = load ptr, ptr %t504
- %t516 = call ptr @fn_str_concat(ptr %t514, ptr %t515)
+ %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 @fn_str_concat(ptr @.str1852, ptr %t519)
- %t521 = call ptr @fn_str_concat(ptr %t520, ptr @.str1853)
+ %t520 = call ptr @lp_str_concat(ptr @.str1882, ptr %t519)
+ %t521 = call ptr @lp_str_concat(ptr %t520, ptr @.str1883)
%t522 = load ptr, ptr %t518
- %t523 = call ptr @fn_str_concat(ptr %t521, ptr %t522)
+ %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 @.str1854)
+ %t525 = call ptr @fn_val(ptr %t524, ptr @.str1884)
store ptr %t525, ptr %retval
br label %ret
ifend49:
%t526 = load ptr, ptr %t0
- %t527 = call i32 @fn_str_eq(ptr %t526, ptr @.str1855)
+ %t527 = call i32 @lp_str_eq(ptr %t526, ptr @.str1885)
%t528 = icmp ne i32 %t527, 0
br i1 %t528, label %then50, label %ifend52
then50:
@@ -39226,24 +39784,24 @@ then50:
%t547 = load ptr, ptr %t537
%t548 = getelementptr inbounds %Cmp_Val, ptr %t547, i32 0, i32 0
%t549 = load ptr, ptr %t548
- %t550 = call ptr @fn_str_concat(ptr @.str1856, ptr %t549)
- %t551 = call ptr @fn_str_concat(ptr %t550, ptr @.str1857)
+ %t550 = call ptr @lp_str_concat(ptr @.str1886, ptr %t549)
+ %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str1887)
%t552 = load ptr, ptr %t546
%t553 = getelementptr inbounds %Cmp_Val, ptr %t552, i32 0, i32 0
%t554 = load ptr, ptr %t553
- %t555 = call ptr @fn_str_concat(ptr %t551, ptr %t554)
+ %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 @fn_str_concat(ptr @.str1858, ptr %t558)
- %t560 = call ptr @fn_str_concat(ptr %t559, ptr @.str1859)
+ %t559 = call ptr @lp_str_concat(ptr @.str1888, ptr %t558)
+ %t560 = call ptr @lp_str_concat(ptr %t559, ptr @.str1889)
%t561 = call ptr @fn_emit_bind(ptr %t560)
- %t562 = call ptr @fn_val(ptr %t561, ptr @.str1860)
+ %t562 = call ptr @fn_val(ptr %t561, ptr @.str1890)
store ptr %t562, ptr %retval
br label %ret
ifend52:
%t563 = load ptr, ptr %t0
- %t564 = call i32 @fn_str_eq(ptr %t563, ptr @.str1861)
+ %t564 = call i32 @lp_str_eq(ptr %t563, ptr @.str1891)
%t565 = icmp ne i32 %t564, 0
br i1 %t565, label %then53, label %ifend55
then53:
@@ -39286,17 +39844,17 @@ then53:
%t602 = call ptr @fn_vec_y(ptr %t601)
store ptr %t602, ptr %t603
%t604 = load ptr, ptr %t588
- %t605 = call ptr @fn_str_concat(ptr @.str1862, ptr %t604)
- %t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str1863)
+ %t605 = call ptr @lp_str_concat(ptr @.str1892, ptr %t604)
+ %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1893)
%t607 = load ptr, ptr %t598
- %t608 = call ptr @fn_str_concat(ptr %t606, ptr %t607)
+ %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 @fn_str_concat(ptr @.str1864, ptr %t611)
- %t613 = call ptr @fn_str_concat(ptr %t612, ptr @.str1865)
+ %t612 = call ptr @lp_str_concat(ptr @.str1894, ptr %t611)
+ %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str1895)
%t614 = load ptr, ptr %t603
- %t615 = call ptr @fn_str_concat(ptr %t613, ptr %t614)
+ %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
@@ -39306,12 +39864,12 @@ then53:
%t622 = call ptr @fn_ivec_abs(ptr %t621)
store ptr %t622, ptr %t623
%t624 = load ptr, ptr %t620
- %t625 = call ptr @fn_str_concat(ptr @.str1866, ptr %t624)
- %t626 = call ptr @fn_str_concat(ptr %t625, ptr @.str1867)
+ %t625 = call ptr @lp_str_concat(ptr @.str1896, ptr %t624)
+ %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str1897)
%t627 = load ptr, ptr %t623
- %t628 = call ptr @fn_str_concat(ptr %t626, ptr %t627)
+ %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 @.str1868)
+ %t630 = call ptr @fn_val(ptr %t629, ptr @.str1898)
store ptr %t630, ptr %retval
br label %ret
ifend55:
@@ -39335,19 +39893,19 @@ ifend55:
%t648 = call ptr @fn_vec_y(ptr %t647)
store ptr %t648, ptr %t649
%t650 = load ptr, ptr %t644
- %t651 = call ptr @fn_str_concat(ptr @.str1869, ptr %t650)
- %t652 = call ptr @fn_str_concat(ptr %t651, ptr @.str1870)
+ %t651 = call ptr @lp_str_concat(ptr @.str1899, ptr %t650)
+ %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str1900)
%t653 = call ptr @fn_emit_bind(ptr %t652)
store ptr %t653, ptr %t654
%t655 = load ptr, ptr %t649
- %t656 = call ptr @fn_str_concat(ptr @.str1871, ptr %t655)
- %t657 = call ptr @fn_str_concat(ptr %t656, ptr @.str1872)
+ %t656 = call ptr @lp_str_concat(ptr @.str1901, ptr %t655)
+ %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str1902)
%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 @.str1873)
+ %t663 = call ptr @fn_val(ptr %t662, ptr @.str1903)
store ptr %t663, ptr %retval
br label %ret
ret:
@@ -39376,59 +39934,59 @@ entry:
store ptr %arg_w, ptr %t2
store ptr %arg_h, ptr %t3
%t4 = load ptr, ptr %t0
- %t5 = call ptr @fn_str_concat(ptr @.str1874, ptr %t4)
- %t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str1875)
+ %t5 = call ptr @lp_str_concat(ptr @.str1904, ptr %t4)
+ %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1905)
%t7 = call ptr @fn_emit_bind(ptr %t6)
store ptr %t7, ptr %t8
%t9 = load ptr, ptr %t8
- %t10 = call ptr @fn_str_concat(ptr @.str1876, ptr %t9)
- %t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str1877)
+ %t10 = call ptr @lp_str_concat(ptr @.str1906, ptr %t9)
+ %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str1907)
%t12 = call ptr @fn_emit_bind(ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t1
- %t15 = call ptr @fn_str_concat(ptr @.str1878, ptr %t14)
- %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str1879)
+ %t15 = call ptr @lp_str_concat(ptr @.str1908, ptr %t14)
+ %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1909)
%t17 = call ptr @fn_emit_bind(ptr %t16)
store ptr %t17, ptr %t18
%t19 = load ptr, ptr %t18
- %t20 = call ptr @fn_str_concat(ptr @.str1880, ptr %t19)
- %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str1881)
+ %t20 = call ptr @lp_str_concat(ptr @.str1910, ptr %t19)
+ %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1911)
%t22 = call ptr @fn_emit_bind(ptr %t21)
store ptr %t22, ptr %t23
%t24 = load ptr, ptr %t2
- %t25 = call ptr @fn_str_concat(ptr @.str1882, ptr %t24)
- %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str1883)
+ %t25 = call ptr @lp_str_concat(ptr @.str1912, ptr %t24)
+ %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1913)
%t27 = call ptr @fn_emit_bind(ptr %t26)
store ptr %t27, ptr %t28
%t29 = load ptr, ptr %t28
- %t30 = call ptr @fn_str_concat(ptr @.str1884, ptr %t29)
- %t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str1885)
+ %t30 = call ptr @lp_str_concat(ptr @.str1914, ptr %t29)
+ %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1915)
%t32 = call ptr @fn_emit_bind(ptr %t31)
store ptr %t32, ptr %t33
%t34 = load ptr, ptr %t3
- %t35 = call ptr @fn_str_concat(ptr @.str1886, ptr %t34)
- %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str1887)
+ %t35 = call ptr @lp_str_concat(ptr @.str1916, ptr %t34)
+ %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str1917)
%t37 = call ptr @fn_emit_bind(ptr %t36)
store ptr %t37, ptr %t38
%t39 = load ptr, ptr %t13
- %t40 = call ptr @fn_str_concat(ptr @.str1888, ptr %t39)
- %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str1889)
+ %t40 = call ptr @lp_str_concat(ptr @.str1918, ptr %t39)
+ %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str1919)
%t42 = load ptr, ptr %t23
- %t43 = call ptr @fn_str_concat(ptr %t41, ptr %t42)
+ %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 @fn_str_concat(ptr @.str1890, ptr %t46)
- %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str1891)
+ %t47 = call ptr @lp_str_concat(ptr @.str1920, ptr %t46)
+ %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1921)
%t49 = load ptr, ptr %t33
- %t50 = call ptr @fn_str_concat(ptr %t48, ptr %t49)
+ %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 @fn_str_concat(ptr @.str1892, ptr %t53)
- %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str1893)
+ %t54 = call ptr @lp_str_concat(ptr @.str1922, ptr %t53)
+ %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1923)
%t56 = load ptr, ptr %t38
- %t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56)
+ %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
@@ -39452,23 +40010,23 @@ entry:
br i1 %t5, label %then0, label %ifend2
then0:
%t6 = load ptr, ptr %t0
- %t7 = call ptr @fn_str_concat(ptr @.str1894, ptr %t6)
- %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1895)
+ %t7 = call ptr @lp_str_concat(ptr @.str1924, ptr %t6)
+ %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1925)
%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 @fn_str_concat(ptr @.str1896, ptr %t10)
- %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str1897)
+ %t11 = call ptr @lp_str_concat(ptr @.str1926, ptr %t10)
+ %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1927)
%t13 = load i32, ptr %t1
%t14 = call ptr @fn_itoa(i32 %t13)
- %t15 = call ptr @fn_str_concat(ptr %t12, ptr %t14)
+ %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 @fn_str_concat(ptr @.str1898, ptr %t18)
- %t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str1899)
+ %t19 = call ptr @lp_str_concat(ptr @.str1928, ptr %t18)
+ %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str1929)
%t21 = call ptr @fn_emit_bind(ptr %t20)
store ptr %t21, ptr %retval
br label %ret
@@ -39488,18 +40046,18 @@ entry:
store ptr %arg_a, ptr %t1
store ptr %arg_b, ptr %t2
%t3 = load ptr, ptr %t0
- %t4 = call ptr @fn_str_concat(ptr @.str1900, ptr %t3)
- %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str1901)
+ %t4 = call ptr @lp_str_concat(ptr @.str1930, ptr %t3)
+ %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1931)
%t6 = load ptr, ptr %t1
- %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
- %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1902)
+ %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6)
+ %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1932)
%t9 = load ptr, ptr %t2
- %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
+ %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 @fn_str_concat(ptr @.str1903, ptr %t13)
- %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str1904)
+ %t14 = call ptr @lp_str_concat(ptr @.str1933, ptr %t13)
+ %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1934)
%t16 = call ptr @fn_emit_bind(ptr %t15)
store ptr %t16, ptr %retval
br label %ret
@@ -39521,14 +40079,14 @@ entry:
%t55 = alloca i32
store ptr %arg_meth, ptr %t0
%t5 = load ptr, ptr %t0
- %t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str1905)
+ %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1935)
%t7 = icmp ne i32 %t6, 0
%t8 = zext i1 %t7 to i32
store i32 %t8, ptr %t4
br i1 %t7, label %scend1, label %sc0
sc0:
%t9 = load ptr, ptr %t0
- %t10 = call i32 @fn_str_eq(ptr %t9, ptr @.str1906)
+ %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str1936)
%t11 = icmp ne i32 %t10, 0
%t12 = zext i1 %t11 to i32
store i32 %t12, ptr %t4
@@ -39541,7 +40099,7 @@ scend1:
br i1 %t14, label %scend3, label %sc2
sc2:
%t16 = load ptr, ptr %t0
- %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str1907)
+ %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str1937)
%t18 = icmp ne i32 %t17, 0
%t19 = zext i1 %t18 to i32
store i32 %t19, ptr %t3
@@ -39554,7 +40112,7 @@ scend3:
br i1 %t21, label %scend5, label %sc4
sc4:
%t23 = load ptr, ptr %t0
- %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str1908)
+ %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str1938)
%t25 = icmp ne i32 %t24, 0
%t26 = zext i1 %t25 to i32
store i32 %t26, ptr %t2
@@ -39567,7 +40125,7 @@ scend5:
br i1 %t28, label %scend7, label %sc6
sc6:
%t30 = load ptr, ptr %t0
- %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str1909)
+ %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str1939)
%t32 = icmp ne i32 %t31, 0
%t33 = zext i1 %t32 to i32
store i32 %t33, ptr %t1
@@ -39581,14 +40139,14 @@ then8:
br label %ret
ifend10:
%t38 = load ptr, ptr %t0
- %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str1910)
+ %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str1940)
%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 @fn_str_eq(ptr %t42, ptr @.str1911)
+ %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1941)
%t44 = icmp ne i32 %t43, 0
%t45 = zext i1 %t44 to i32
store i32 %t45, ptr %t37
@@ -39601,7 +40159,7 @@ scend12:
br i1 %t47, label %scend14, label %sc13
sc13:
%t49 = load ptr, ptr %t0
- %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str1912)
+ %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str1942)
%t51 = icmp ne i32 %t50, 0
%t52 = zext i1 %t51 to i32
store i32 %t52, ptr %t36
@@ -39615,14 +40173,14 @@ then15:
br label %ret
ifend17:
%t56 = load ptr, ptr %t0
- %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str1913)
+ %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str1943)
%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 @fn_str_eq(ptr %t60, ptr @.str1914)
+ %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str1944)
%t62 = icmp ne i32 %t61, 0
%t63 = zext i1 %t62 to i32
store i32 %t63, ptr %t55
@@ -39708,7 +40266,7 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1915)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1945)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -39761,12 +40319,12 @@ then0:
%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 @.str1916)
+ %t54 = call ptr @fn_val(ptr %t53, ptr @.str1946)
store ptr %t54, ptr %retval
br label %ret
ifend2:
%t55 = load ptr, ptr %t0
- %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str1917)
+ %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str1947)
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then3, label %ifend5
then3:
@@ -39783,12 +40341,12 @@ then3:
%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 @.str1918)
+ %t71 = call ptr @fn_val(ptr %t70, ptr @.str1948)
store ptr %t71, ptr %retval
br label %ret
ifend5:
%t72 = load ptr, ptr %t0
- %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str1919)
+ %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1949)
%t74 = icmp ne i32 %t73, 0
br i1 %t74, label %then6, label %ifend8
then6:
@@ -39805,12 +40363,12 @@ then6:
%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 @.str1920)
+ %t88 = call ptr @fn_val(ptr %t87, ptr @.str1950)
store ptr %t88, ptr %retval
br label %ret
ifend8:
%t89 = load ptr, ptr %t0
- %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str1921)
+ %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1951)
%t91 = icmp ne i32 %t90, 0
br i1 %t91, label %then9, label %ifend11
then9:
@@ -39827,12 +40385,12 @@ then9:
%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 @.str1922)
+ %t105 = call ptr @fn_val(ptr %t104, ptr @.str1952)
store ptr %t105, ptr %retval
br label %ret
ifend11:
%t106 = load ptr, ptr %t0
- %t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str1923)
+ %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str1953)
%t108 = icmp ne i32 %t107, 0
br i1 %t108, label %then12, label %ifend14
then12:
@@ -39849,12 +40407,12 @@ then12:
%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 @.str1924)
+ %t122 = call ptr @fn_val(ptr %t121, ptr @.str1954)
store ptr %t122, ptr %retval
br label %ret
ifend14:
%t123 = load ptr, ptr %t0
- %t124 = call i32 @fn_str_eq(ptr %t123, ptr @.str1925)
+ %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str1955)
%t125 = icmp ne i32 %t124, 0
br i1 %t125, label %then15, label %ifend17
then15:
@@ -39878,17 +40436,17 @@ then15:
%t143 = call ptr @fn_rect_field(ptr %t142, i32 32)
store ptr %t143, ptr %t144
%t145 = load ptr, ptr %t139
- %t146 = call ptr @fn_str_concat(ptr @.str1926, ptr %t145)
- %t147 = call ptr @fn_str_concat(ptr %t146, ptr @.str1927)
+ %t146 = call ptr @lp_str_concat(ptr @.str1956, ptr %t145)
+ %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str1957)
%t148 = load ptr, ptr %t144
- %t149 = call ptr @fn_str_concat(ptr %t147, ptr %t148)
+ %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 @.str1928)
+ %t151 = call ptr @fn_val(ptr %t150, ptr @.str1958)
store ptr %t151, ptr %retval
br label %ret
ifend17:
%t152 = load ptr, ptr %t0
- %t153 = call i32 @fn_str_eq(ptr %t152, ptr @.str1929)
+ %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str1959)
%t154 = icmp ne i32 %t153, 0
br i1 %t154, label %then18, label %ifend20
then18:
@@ -39912,17 +40470,17 @@ then18:
%t172 = call ptr @fn_rect_field(ptr %t171, i32 0)
store ptr %t172, ptr %t173
%t174 = load ptr, ptr %t168
- %t175 = call ptr @fn_str_concat(ptr @.str1930, ptr %t174)
- %t176 = call ptr @fn_str_concat(ptr %t175, ptr @.str1931)
+ %t175 = call ptr @lp_str_concat(ptr @.str1960, ptr %t174)
+ %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str1961)
%t177 = load ptr, ptr %t173
- %t178 = call ptr @fn_str_concat(ptr %t176, ptr %t177)
+ %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 @.str1932)
+ %t180 = call ptr @fn_val(ptr %t179, ptr @.str1962)
store ptr %t180, ptr %retval
br label %ret
ifend20:
%t181 = load ptr, ptr %t0
- %t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str1933)
+ %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str1963)
%t183 = icmp ne i32 %t182, 0
br i1 %t183, label %then21, label %ifend23
then21:
@@ -39956,38 +40514,38 @@ then21:
%t211 = call ptr @fn_rect_field(ptr %t210, i32 0)
store ptr %t211, ptr %t212
%t213 = load ptr, ptr %t207
- %t214 = call ptr @fn_str_concat(ptr @.str1934, ptr %t213)
- %t215 = call ptr @fn_str_concat(ptr %t214, ptr @.str1935)
+ %t214 = call ptr @lp_str_concat(ptr @.str1964, ptr %t213)
+ %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str1965)
%t216 = call ptr @fn_emit_bind(ptr %t215)
store ptr %t216, ptr %t217
%t218 = load ptr, ptr %t212
- %t219 = call ptr @fn_str_concat(ptr @.str1936, ptr %t218)
- %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str1937)
+ %t219 = call ptr @lp_str_concat(ptr @.str1966, ptr %t218)
+ %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str1967)
%t221 = call ptr @fn_emit_bind(ptr %t220)
store ptr %t221, ptr %t222
%t223 = load ptr, ptr %t197
- %t224 = call ptr @fn_str_concat(ptr @.str1938, ptr %t223)
- %t225 = call ptr @fn_str_concat(ptr %t224, ptr @.str1939)
+ %t224 = call ptr @lp_str_concat(ptr @.str1968, ptr %t223)
+ %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str1969)
%t226 = load ptr, ptr %t217
- %t227 = call ptr @fn_str_concat(ptr %t225, ptr %t226)
+ %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 @fn_str_concat(ptr @.str1940, ptr %t230)
- %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str1941)
+ %t231 = call ptr @lp_str_concat(ptr @.str1970, ptr %t230)
+ %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str1971)
%t233 = load ptr, ptr %t222
- %t234 = call ptr @fn_str_concat(ptr %t232, ptr %t233)
+ %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 @.str1942)
+ %t240 = call ptr @fn_val(ptr %t239, ptr @.str1972)
store ptr %t240, ptr %retval
br label %ret
ifend23:
%t241 = load ptr, ptr %t0
- %t242 = call i32 @fn_str_eq(ptr %t241, ptr @.str1943)
+ %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str1973)
%t243 = icmp ne i32 %t242, 0
br i1 %t243, label %then24, label %ifend26
then24:
@@ -40039,64 +40597,64 @@ then24:
%t289 = call ptr @fn_rect_field(ptr %t288, i32 0)
store ptr %t289, ptr %t290
%t291 = load ptr, ptr %t275
- %t292 = call ptr @fn_str_concat(ptr @.str1944, ptr %t291)
- %t293 = call ptr @fn_str_concat(ptr %t292, ptr @.str1945)
+ %t292 = call ptr @lp_str_concat(ptr @.str1974, ptr %t291)
+ %t293 = call ptr @lp_str_concat(ptr %t292, ptr @.str1975)
%t294 = load ptr, ptr %t285
- %t295 = call ptr @fn_str_concat(ptr %t293, ptr %t294)
+ %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 @fn_str_concat(ptr @.str1946, ptr %t298)
- %t300 = call ptr @fn_str_concat(ptr %t299, ptr @.str1947)
+ %t299 = call ptr @lp_str_concat(ptr @.str1976, ptr %t298)
+ %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str1977)
%t301 = load ptr, ptr %t290
- %t302 = call ptr @fn_str_concat(ptr %t300, ptr %t301)
+ %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 @.str1948, ptr %t307, ptr %t308)
+ %t309 = call ptr @fn_rect_cmp(ptr @.str1978, 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 @.str1949, ptr %t313, ptr %t314)
+ %t315 = call ptr @fn_rect_cmp(ptr @.str1979, 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 @.str1950, ptr %t319, ptr %t320)
+ %t321 = call ptr @fn_rect_cmp(ptr @.str1980, 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 @.str1951, ptr %t325, ptr %t326)
+ %t327 = call ptr @fn_rect_cmp(ptr @.str1981, ptr %t325, ptr %t326)
store ptr %t327, ptr %t328
%t329 = load ptr, ptr %t310
- %t330 = call ptr @fn_str_concat(ptr @.str1952, ptr %t329)
- %t331 = call ptr @fn_str_concat(ptr %t330, ptr @.str1953)
+ %t330 = call ptr @lp_str_concat(ptr @.str1982, ptr %t329)
+ %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str1983)
%t332 = load ptr, ptr %t316
- %t333 = call ptr @fn_str_concat(ptr %t331, ptr %t332)
+ %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 @fn_str_concat(ptr @.str1954, ptr %t336)
- %t338 = call ptr @fn_str_concat(ptr %t337, ptr @.str1955)
+ %t337 = call ptr @lp_str_concat(ptr @.str1984, ptr %t336)
+ %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str1985)
%t339 = load ptr, ptr %t328
- %t340 = call ptr @fn_str_concat(ptr %t338, ptr %t339)
+ %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 @fn_str_concat(ptr @.str1956, ptr %t343)
- %t345 = call ptr @fn_str_concat(ptr %t344, ptr @.str1957)
+ %t344 = call ptr @lp_str_concat(ptr @.str1986, ptr %t343)
+ %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str1987)
%t346 = load ptr, ptr %t342
- %t347 = call ptr @fn_str_concat(ptr %t345, ptr %t346)
+ %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 @.str1958)
+ %t349 = call ptr @fn_val(ptr %t348, ptr @.str1988)
store ptr %t349, ptr %retval
br label %ret
ifend26:
@@ -40159,70 +40717,70 @@ ifend26:
%t406 = call ptr @fn_rect_field(ptr %t405, i32 0)
store ptr %t406, ptr %t407
%t408 = load ptr, ptr %t372
- %t409 = call ptr @fn_str_concat(ptr @.str1959, ptr %t408)
- %t410 = call ptr @fn_str_concat(ptr %t409, ptr @.str1960)
+ %t409 = call ptr @lp_str_concat(ptr @.str1989, ptr %t408)
+ %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str1990)
%t411 = load ptr, ptr %t382
- %t412 = call ptr @fn_str_concat(ptr %t410, ptr %t411)
+ %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 @fn_str_concat(ptr @.str1961, ptr %t415)
- %t417 = call ptr @fn_str_concat(ptr %t416, ptr @.str1962)
+ %t416 = call ptr @lp_str_concat(ptr @.str1991, ptr %t415)
+ %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str1992)
%t418 = load ptr, ptr %t387
- %t419 = call ptr @fn_str_concat(ptr %t417, ptr %t418)
+ %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 @fn_str_concat(ptr @.str1963, ptr %t422)
- %t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str1964)
+ %t423 = call ptr @lp_str_concat(ptr @.str1993, ptr %t422)
+ %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str1994)
%t425 = load ptr, ptr %t402
- %t426 = call ptr @fn_str_concat(ptr %t424, ptr %t425)
+ %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 @fn_str_concat(ptr @.str1965, ptr %t429)
- %t431 = call ptr @fn_str_concat(ptr %t430, ptr @.str1966)
+ %t430 = call ptr @lp_str_concat(ptr @.str1995, ptr %t429)
+ %t431 = call ptr @lp_str_concat(ptr %t430, ptr @.str1996)
%t432 = load ptr, ptr %t407
- %t433 = call ptr @fn_str_concat(ptr %t431, ptr %t432)
+ %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 @.str1967, ptr %t436, ptr %t437)
+ %t438 = call ptr @fn_rect_cmp(ptr @.str1997, 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 @.str1968, ptr %t440, ptr %t441)
+ %t442 = call ptr @fn_rect_cmp(ptr @.str1998, 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 @.str1969, ptr %t444, ptr %t445)
+ %t446 = call ptr @fn_rect_cmp(ptr @.str1999, 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 @.str1970, ptr %t448, ptr %t449)
+ %t450 = call ptr @fn_rect_cmp(ptr @.str2000, ptr %t448, ptr %t449)
store ptr %t450, ptr %t451
%t452 = load ptr, ptr %t439
- %t453 = call ptr @fn_str_concat(ptr @.str1971, ptr %t452)
- %t454 = call ptr @fn_str_concat(ptr %t453, ptr @.str1972)
+ %t453 = call ptr @lp_str_concat(ptr @.str2001, ptr %t452)
+ %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str2002)
%t455 = load ptr, ptr %t443
- %t456 = call ptr @fn_str_concat(ptr %t454, ptr %t455)
+ %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 @fn_str_concat(ptr @.str1973, ptr %t459)
- %t461 = call ptr @fn_str_concat(ptr %t460, ptr @.str1974)
+ %t460 = call ptr @lp_str_concat(ptr @.str2003, ptr %t459)
+ %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str2004)
%t462 = load ptr, ptr %t451
- %t463 = call ptr @fn_str_concat(ptr %t461, ptr %t462)
+ %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 @fn_str_concat(ptr @.str1975, ptr %t466)
- %t468 = call ptr @fn_str_concat(ptr %t467, ptr @.str1976)
+ %t467 = call ptr @lp_str_concat(ptr @.str2005, ptr %t466)
+ %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str2006)
%t469 = load ptr, ptr %t465
- %t470 = call ptr @fn_str_concat(ptr %t468, ptr %t469)
+ %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 @.str1977)
+ %t472 = call ptr @fn_val(ptr %t471, ptr @.str2007)
store ptr %t472, ptr %retval
br label %ret
ret:
@@ -40249,14 +40807,14 @@ entry:
%t108 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str1978)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str2008)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str1979)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str2009)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -40269,7 +40827,7 @@ scend1:
br i1 %t12, label %scend3, label %sc2
sc2:
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str1980)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str2010)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
@@ -40283,14 +40841,14 @@ then4:
br label %ret
ifend6:
%t23 = load ptr, ptr %t0
- %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str1981)
+ %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str2011)
%t25 = icmp ne i32 %t24, 0
%t26 = zext i1 %t25 to i32
store i32 %t26, ptr %t22
br i1 %t25, label %scend8, label %sc7
sc7:
%t27 = load ptr, ptr %t0
- %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str1982)
+ %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str2012)
%t29 = icmp ne i32 %t28, 0
%t30 = zext i1 %t29 to i32
store i32 %t30, ptr %t22
@@ -40303,7 +40861,7 @@ scend8:
br i1 %t32, label %scend10, label %sc9
sc9:
%t34 = load ptr, ptr %t0
- %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str1983)
+ %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str2013)
%t36 = icmp ne i32 %t35, 0
%t37 = zext i1 %t36 to i32
store i32 %t37, ptr %t21
@@ -40316,7 +40874,7 @@ scend10:
br i1 %t39, label %scend12, label %sc11
sc11:
%t41 = load ptr, ptr %t0
- %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str1984)
+ %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str2014)
%t43 = icmp ne i32 %t42, 0
%t44 = zext i1 %t43 to i32
store i32 %t44, ptr %t20
@@ -40330,14 +40888,14 @@ then13:
br label %ret
ifend15:
%t48 = load ptr, ptr %t0
- %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str1985)
+ %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str2015)
%t50 = icmp ne i32 %t49, 0
%t51 = zext i1 %t50 to i32
store i32 %t51, ptr %t47
br i1 %t50, label %scend17, label %sc16
sc16:
%t52 = load ptr, ptr %t0
- %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1986)
+ %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str2016)
%t54 = icmp ne i32 %t53, 0
%t55 = zext i1 %t54 to i32
store i32 %t55, ptr %t47
@@ -40351,14 +40909,14 @@ then18:
br label %ret
ifend20:
%t59 = load ptr, ptr %t0
- %t60 = call i32 @fn_str_eq(ptr %t59, ptr @.str1987)
+ %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str2017)
%t61 = icmp ne i32 %t60, 0
%t62 = zext i1 %t61 to i32
store i32 %t62, ptr %t58
br i1 %t61, label %scend22, label %sc21
sc21:
%t63 = load ptr, ptr %t0
- %t64 = call i32 @fn_str_eq(ptr %t63, ptr @.str1988)
+ %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str2018)
%t65 = icmp ne i32 %t64, 0
%t66 = zext i1 %t65 to i32
store i32 %t66, ptr %t58
@@ -40372,14 +40930,14 @@ then23:
br label %ret
ifend25:
%t72 = load ptr, ptr %t0
- %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str1989)
+ %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str2019)
%t74 = icmp ne i32 %t73, 0
%t75 = zext i1 %t74 to i32
store i32 %t75, ptr %t71
br i1 %t74, label %scend27, label %sc26
sc26:
%t76 = load ptr, ptr %t0
- %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str1990)
+ %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str2020)
%t78 = icmp ne i32 %t77, 0
%t79 = zext i1 %t78 to i32
store i32 %t79, ptr %t71
@@ -40392,7 +40950,7 @@ scend27:
br i1 %t81, label %scend29, label %sc28
sc28:
%t83 = load ptr, ptr %t0
- %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str1991)
+ %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str2021)
%t85 = icmp ne i32 %t84, 0
%t86 = zext i1 %t85 to i32
store i32 %t86, ptr %t70
@@ -40405,7 +40963,7 @@ scend29:
br i1 %t88, label %scend31, label %sc30
sc30:
%t90 = load ptr, ptr %t0
- %t91 = call i32 @fn_str_eq(ptr %t90, ptr @.str1992)
+ %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str2022)
%t92 = icmp ne i32 %t91, 0
%t93 = zext i1 %t92 to i32
store i32 %t93, ptr %t69
@@ -40419,14 +40977,14 @@ then32:
br label %ret
ifend34:
%t97 = load ptr, ptr %t0
- %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str1993)
+ %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str2023)
%t99 = icmp ne i32 %t98, 0
%t100 = zext i1 %t99 to i32
store i32 %t100, ptr %t96
br i1 %t99, label %scend36, label %sc35
sc35:
%t101 = load ptr, ptr %t0
- %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str1994)
+ %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str2024)
%t103 = icmp ne i32 %t102, 0
%t104 = zext i1 %t103 to i32
store i32 %t104, ptr %t96
@@ -40440,14 +40998,14 @@ then37:
br label %ret
ifend39:
%t109 = load ptr, ptr %t0
- %t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str1995)
+ %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str2025)
%t111 = icmp ne i32 %t110, 0
%t112 = zext i1 %t111 to i32
store i32 %t112, ptr %t108
br i1 %t111, label %scend41, label %sc40
sc40:
%t113 = load ptr, ptr %t0
- %t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str1996)
+ %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str2026)
%t115 = icmp ne i32 %t114, 0
%t116 = zext i1 %t115 to i32
store i32 %t116, ptr %t108
@@ -40460,7 +41018,7 @@ scend41:
br i1 %t118, label %scend43, label %sc42
sc42:
%t120 = load ptr, ptr %t0
- %t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str1997)
+ %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str2027)
%t122 = icmp ne i32 %t121, 0
%t123 = zext i1 %t122 to i32
store i32 %t123, ptr %t107
@@ -40531,7 +41089,7 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1998)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str2028)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -40548,15 +41106,15 @@ then0:
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
- %t17 = call ptr @fn_str_concat(ptr @.str1999, ptr %t16)
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2000)
+ %t17 = call ptr @lp_str_concat(ptr @.str2029, ptr %t16)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str2030)
%t19 = call ptr @fn_emit_bind(ptr %t18)
- %t20 = call ptr @fn_val(ptr %t19, ptr @.str2001)
+ %t20 = call ptr @fn_val(ptr %t19, ptr @.str2031)
store ptr %t20, ptr %retval
br label %ret
ifend2:
%t21 = load ptr, ptr %t0
- %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str2002)
+ %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2032)
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then3, label %ifend5
then3:
@@ -40591,25 +41149,25 @@ then3:
%t51 = load ptr, ptr %t32
%t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0
%t53 = load ptr, ptr %t52
- %t54 = call ptr @fn_str_concat(ptr @.str2003, ptr %t53)
- %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str2004)
+ %t54 = call ptr @lp_str_concat(ptr @.str2033, ptr %t53)
+ %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str2034)
%t56 = load ptr, ptr %t41
%t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 0
%t58 = load ptr, ptr %t57
- %t59 = call ptr @fn_str_concat(ptr %t55, ptr %t58)
- %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str2005)
+ %t59 = call ptr @lp_str_concat(ptr %t55, ptr %t58)
+ %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str2035)
%t61 = load ptr, ptr %t50
%t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0
%t63 = load ptr, ptr %t62
- %t64 = call ptr @fn_str_concat(ptr %t60, ptr %t63)
- %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str2006)
+ %t64 = call ptr @lp_str_concat(ptr %t60, ptr %t63)
+ %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str2036)
%t66 = call ptr @fn_emit_bind(ptr %t65)
- %t67 = call ptr @fn_val(ptr %t66, ptr @.str2007)
+ %t67 = call ptr @fn_val(ptr %t66, ptr @.str2037)
store ptr %t67, ptr %retval
br label %ret
ifend5:
%t68 = load ptr, ptr %t0
- %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str2008)
+ %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str2038)
%t70 = icmp ne i32 %t69, 0
br i1 %t70, label %then6, label %ifend8
then6:
@@ -40635,20 +41193,20 @@ then6:
%t89 = load ptr, ptr %t79
%t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0
%t91 = load ptr, ptr %t90
- %t92 = call ptr @fn_str_concat(ptr @.str2009, ptr %t91)
- %t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str2010)
+ %t92 = call ptr @lp_str_concat(ptr @.str2039, ptr %t91)
+ %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str2040)
%t94 = load ptr, ptr %t88
%t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0
%t96 = load ptr, ptr %t95
- %t97 = call ptr @fn_str_concat(ptr %t93, ptr %t96)
- %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str2011)
+ %t97 = call ptr @lp_str_concat(ptr %t93, ptr %t96)
+ %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str2041)
%t99 = call ptr @fn_emit_bind(ptr %t98)
- %t100 = call ptr @fn_val(ptr %t99, ptr @.str2012)
+ %t100 = call ptr @fn_val(ptr %t99, ptr @.str2042)
store ptr %t100, ptr %retval
br label %ret
ifend8:
%t101 = load ptr, ptr %t0
- %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str2013)
+ %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str2043)
%t103 = icmp ne i32 %t102, 0
br i1 %t103, label %then9, label %ifend11
then9:
@@ -40674,15 +41232,15 @@ then9:
%t122 = load ptr, ptr %t112
%t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0
%t124 = load ptr, ptr %t123
- %t125 = call ptr @fn_str_concat(ptr @.str2014, ptr %t124)
- %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str2015)
+ %t125 = call ptr @lp_str_concat(ptr @.str2044, ptr %t124)
+ %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str2045)
%t127 = load ptr, ptr %t121
%t128 = getelementptr inbounds %Cmp_Val, ptr %t127, i32 0, i32 0
%t129 = load ptr, ptr %t128
- %t130 = call ptr @fn_str_concat(ptr %t126, ptr %t129)
- %t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str2016)
+ %t130 = call ptr @lp_str_concat(ptr %t126, ptr %t129)
+ %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str2046)
%t132 = call ptr @fn_emit_bind(ptr %t131)
- %t133 = call ptr @fn_val(ptr %t132, ptr @.str2017)
+ %t133 = call ptr @fn_val(ptr %t132, ptr @.str2047)
store ptr %t133, ptr %retval
br label %ret
ifend11:
@@ -40696,27 +41254,27 @@ ifend11:
%t141 = call ptr @fn_emit_expr(ptr %t140)
store ptr %t141, ptr %t142
%t143 = load ptr, ptr %t0
- %t144 = call i32 @fn_str_eq(ptr %t143, ptr @.str2018)
+ %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str2048)
%t145 = icmp ne i32 %t144, 0
br i1 %t145, label %then12, label %ifend14
then12:
%t146 = load ptr, ptr %t142
%t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0
%t148 = load ptr, ptr %t147
- %t149 = call ptr @fn_str_concat(ptr @.str2019, ptr %t148)
- %t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str2020)
+ %t149 = call ptr @lp_str_concat(ptr @.str2049, ptr %t148)
+ %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str2050)
%t151 = call ptr @fn_emit_bind(ptr %t150)
store ptr %t151, ptr %t152
%t153 = load ptr, ptr %t152
- %t154 = call ptr @fn_str_concat(ptr @.str2021, ptr %t153)
- %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str2022)
+ %t154 = call ptr @lp_str_concat(ptr @.str2051, ptr %t153)
+ %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str2052)
%t156 = call ptr @fn_emit_bind(ptr %t155)
- %t157 = call ptr @fn_val(ptr %t156, ptr @.str2023)
+ %t157 = call ptr @fn_val(ptr %t156, ptr @.str2053)
store ptr %t157, ptr %retval
br label %ret
ifend14:
%t158 = load ptr, ptr %t0
- %t159 = call i32 @fn_str_eq(ptr %t158, ptr @.str2024)
+ %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str2054)
%t160 = icmp ne i32 %t159, 0
br i1 %t160, label %then15, label %ifend17
then15:
@@ -40732,43 +41290,43 @@ then15:
%t170 = load ptr, ptr %t142
%t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0
%t172 = load ptr, ptr %t171
- %t173 = call ptr @fn_str_concat(ptr @.str2025, ptr %t172)
- %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str2026)
+ %t173 = call ptr @lp_str_concat(ptr @.str2055, ptr %t172)
+ %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str2056)
%t175 = load ptr, ptr %t169
%t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 0
%t177 = load ptr, ptr %t176
- %t178 = call ptr @fn_str_concat(ptr %t174, ptr %t177)
+ %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 @fn_str_concat(ptr @.str2027, ptr %t181)
+ %t182 = call ptr @lp_str_concat(ptr @.str2057, ptr %t181)
%t183 = call ptr @fn_emit_bind(ptr %t182)
store ptr %t183, ptr %t184
%t185 = load ptr, ptr %t184
- %t186 = call ptr @fn_str_concat(ptr @.str2028, ptr %t185)
- %t187 = call ptr @fn_str_concat(ptr %t186, ptr @.str2029)
+ %t186 = call ptr @lp_str_concat(ptr @.str2058, ptr %t185)
+ %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str2059)
%t188 = call ptr @fn_emit_bind(ptr %t187)
- %t189 = call ptr @fn_val(ptr %t188, ptr @.str2030)
+ %t189 = call ptr @fn_val(ptr %t188, ptr @.str2060)
store ptr %t189, ptr %retval
br label %ret
ifend17:
%t190 = load ptr, ptr %t0
- %t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str2031)
+ %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str2061)
%t192 = icmp ne i32 %t191, 0
br i1 %t192, label %then18, label %ifend20
then18:
%t193 = load ptr, ptr %t142
%t194 = getelementptr inbounds %Cmp_Val, ptr %t193, i32 0, i32 0
%t195 = load ptr, ptr %t194
- %t196 = call ptr @fn_str_concat(ptr @.str2032, ptr %t195)
- %t197 = call ptr @fn_str_concat(ptr %t196, ptr @.str2033)
+ %t196 = call ptr @lp_str_concat(ptr @.str2062, ptr %t195)
+ %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str2063)
%t198 = call ptr @fn_emit_bind(ptr %t197)
- %t199 = call ptr @fn_val(ptr %t198, ptr @.str2034)
+ %t199 = call ptr @fn_val(ptr %t198, ptr @.str2064)
store ptr %t199, ptr %retval
br label %ret
ifend20:
%t200 = load ptr, ptr %t0
- %t201 = call i32 @fn_str_eq(ptr %t200, ptr @.str2035)
+ %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str2065)
%t202 = icmp ne i32 %t201, 0
br i1 %t202, label %then21, label %ifend23
then21:
@@ -40776,15 +41334,15 @@ then21:
%t203 = load ptr, ptr %t142
%t204 = getelementptr inbounds %Cmp_Val, ptr %t203, i32 0, i32 0
%t205 = load ptr, ptr %t204
- %t206 = call ptr @fn_str_concat(ptr @.str2036, ptr %t205)
- %t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str2037)
+ %t206 = call ptr @lp_str_concat(ptr @.str2066, ptr %t205)
+ %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str2067)
%t208 = call ptr @fn_emit_bind(ptr %t207)
- %t209 = call ptr @fn_val(ptr %t208, ptr @.str2038)
+ %t209 = call ptr @fn_val(ptr %t208, ptr @.str2068)
store ptr %t209, ptr %retval
br label %ret
ifend23:
%t210 = load ptr, ptr %t0
- %t211 = call i32 @fn_str_eq(ptr %t210, ptr @.str2039)
+ %t211 = call i32 @lp_str_eq(ptr %t210, ptr @.str2069)
%t212 = icmp ne i32 %t211, 0
br i1 %t212, label %then24, label %ifend26
then24:
@@ -40792,15 +41350,15 @@ then24:
%t213 = load ptr, ptr %t142
%t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0
%t215 = load ptr, ptr %t214
- %t216 = call ptr @fn_str_concat(ptr @.str2040, ptr %t215)
- %t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str2041)
+ %t216 = call ptr @lp_str_concat(ptr @.str2070, ptr %t215)
+ %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str2071)
%t218 = call ptr @fn_emit_bind(ptr %t217)
- %t219 = call ptr @fn_val(ptr %t218, ptr @.str2042)
+ %t219 = call ptr @fn_val(ptr %t218, ptr @.str2072)
store ptr %t219, ptr %retval
br label %ret
ifend26:
%t220 = load ptr, ptr %t0
- %t221 = call i32 @fn_str_eq(ptr %t220, ptr @.str2043)
+ %t221 = call i32 @lp_str_eq(ptr %t220, ptr @.str2073)
%t222 = icmp ne i32 %t221, 0
br i1 %t222, label %then27, label %ifend29
then27:
@@ -40808,15 +41366,15 @@ then27:
%t223 = load ptr, ptr %t142
%t224 = getelementptr inbounds %Cmp_Val, ptr %t223, i32 0, i32 0
%t225 = load ptr, ptr %t224
- %t226 = call ptr @fn_str_concat(ptr @.str2044, ptr %t225)
- %t227 = call ptr @fn_str_concat(ptr %t226, ptr @.str2045)
+ %t226 = call ptr @lp_str_concat(ptr @.str2074, ptr %t225)
+ %t227 = call ptr @lp_str_concat(ptr %t226, ptr @.str2075)
%t228 = call ptr @fn_emit_bind(ptr %t227)
- %t229 = call ptr @fn_val(ptr %t228, ptr @.str2046)
+ %t229 = call ptr @fn_val(ptr %t228, ptr @.str2076)
store ptr %t229, ptr %retval
br label %ret
ifend29:
%t230 = load ptr, ptr %t0
- %t231 = call i32 @fn_str_eq(ptr %t230, ptr @.str2047)
+ %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str2077)
%t232 = icmp ne i32 %t231, 0
br i1 %t232, label %then30, label %ifend32
then30:
@@ -40833,20 +41391,20 @@ then30:
%t242 = load ptr, ptr %t142
%t243 = getelementptr inbounds %Cmp_Val, ptr %t242, i32 0, i32 0
%t244 = load ptr, ptr %t243
- %t245 = call ptr @fn_str_concat(ptr @.str2048, ptr %t244)
- %t246 = call ptr @fn_str_concat(ptr %t245, ptr @.str2049)
+ %t245 = call ptr @lp_str_concat(ptr @.str2078, ptr %t244)
+ %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str2079)
%t247 = load ptr, ptr %t241
%t248 = getelementptr inbounds %Cmp_Val, ptr %t247, i32 0, i32 0
%t249 = load ptr, ptr %t248
- %t250 = call ptr @fn_str_concat(ptr %t246, ptr %t249)
- %t251 = call ptr @fn_str_concat(ptr %t250, ptr @.str2050)
+ %t250 = call ptr @lp_str_concat(ptr %t246, ptr %t249)
+ %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str2080)
%t252 = call ptr @fn_emit_bind(ptr %t251)
- %t253 = call ptr @fn_val(ptr %t252, ptr @.str2051)
+ %t253 = call ptr @fn_val(ptr %t252, ptr @.str2081)
store ptr %t253, ptr %retval
br label %ret
ifend32:
%t254 = load ptr, ptr %t0
- %t255 = call i32 @fn_str_eq(ptr %t254, ptr @.str2052)
+ %t255 = call i32 @lp_str_eq(ptr %t254, ptr @.str2082)
%t256 = icmp ne i32 %t255, 0
br i1 %t256, label %then33, label %ifend35
then33:
@@ -40863,20 +41421,20 @@ then33:
%t266 = load ptr, ptr %t142
%t267 = getelementptr inbounds %Cmp_Val, ptr %t266, i32 0, i32 0
%t268 = load ptr, ptr %t267
- %t269 = call ptr @fn_str_concat(ptr @.str2053, ptr %t268)
- %t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str2054)
+ %t269 = call ptr @lp_str_concat(ptr @.str2083, ptr %t268)
+ %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str2084)
%t271 = load ptr, ptr %t265
%t272 = getelementptr inbounds %Cmp_Val, ptr %t271, i32 0, i32 0
%t273 = load ptr, ptr %t272
- %t274 = call ptr @fn_str_concat(ptr %t270, ptr %t273)
- %t275 = call ptr @fn_str_concat(ptr %t274, ptr @.str2055)
+ %t274 = call ptr @lp_str_concat(ptr %t270, ptr %t273)
+ %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str2085)
%t276 = call ptr @fn_emit_bind(ptr %t275)
- %t277 = call ptr @fn_val(ptr %t276, ptr @.str2056)
+ %t277 = call ptr @fn_val(ptr %t276, ptr @.str2086)
store ptr %t277, ptr %retval
br label %ret
ifend35:
%t278 = load ptr, ptr %t0
- %t279 = call i32 @fn_str_eq(ptr %t278, ptr @.str2057)
+ %t279 = call i32 @lp_str_eq(ptr %t278, ptr @.str2087)
%t280 = icmp ne i32 %t279, 0
br i1 %t280, label %then36, label %ifend38
then36:
@@ -40893,20 +41451,20 @@ then36:
%t290 = load ptr, ptr %t142
%t291 = getelementptr inbounds %Cmp_Val, ptr %t290, i32 0, i32 0
%t292 = load ptr, ptr %t291
- %t293 = call ptr @fn_str_concat(ptr @.str2058, ptr %t292)
- %t294 = call ptr @fn_str_concat(ptr %t293, ptr @.str2059)
+ %t293 = call ptr @lp_str_concat(ptr @.str2088, ptr %t292)
+ %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str2089)
%t295 = load ptr, ptr %t289
%t296 = getelementptr inbounds %Cmp_Val, ptr %t295, i32 0, i32 0
%t297 = load ptr, ptr %t296
- %t298 = call ptr @fn_str_concat(ptr %t294, ptr %t297)
- %t299 = call ptr @fn_str_concat(ptr %t298, ptr @.str2060)
+ %t298 = call ptr @lp_str_concat(ptr %t294, ptr %t297)
+ %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str2090)
%t300 = call ptr @fn_emit_bind(ptr %t299)
- %t301 = call ptr @fn_val(ptr %t300, ptr @.str2061)
+ %t301 = call ptr @fn_val(ptr %t300, ptr @.str2091)
store ptr %t301, ptr %retval
br label %ret
ifend38:
%t302 = load ptr, ptr %t0
- %t303 = call i32 @fn_str_eq(ptr %t302, ptr @.str2062)
+ %t303 = call i32 @lp_str_eq(ptr %t302, ptr @.str2092)
%t304 = icmp ne i32 %t303, 0
br i1 %t304, label %then39, label %ifend41
then39:
@@ -40932,25 +41490,25 @@ then39:
%t323 = load ptr, ptr %t142
%t324 = getelementptr inbounds %Cmp_Val, ptr %t323, i32 0, i32 0
%t325 = load ptr, ptr %t324
- %t326 = call ptr @fn_str_concat(ptr @.str2063, ptr %t325)
- %t327 = call ptr @fn_str_concat(ptr %t326, ptr @.str2064)
+ %t326 = call ptr @lp_str_concat(ptr @.str2093, ptr %t325)
+ %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str2094)
%t328 = load ptr, ptr %t313
%t329 = getelementptr inbounds %Cmp_Val, ptr %t328, i32 0, i32 0
%t330 = load ptr, ptr %t329
- %t331 = call ptr @fn_str_concat(ptr %t327, ptr %t330)
- %t332 = call ptr @fn_str_concat(ptr %t331, ptr @.str2065)
+ %t331 = call ptr @lp_str_concat(ptr %t327, ptr %t330)
+ %t332 = call ptr @lp_str_concat(ptr %t331, ptr @.str2095)
%t333 = load ptr, ptr %t322
%t334 = getelementptr inbounds %Cmp_Val, ptr %t333, i32 0, i32 0
%t335 = load ptr, ptr %t334
- %t336 = call ptr @fn_str_concat(ptr %t332, ptr %t335)
- %t337 = call ptr @fn_str_concat(ptr %t336, ptr @.str2066)
+ %t336 = call ptr @lp_str_concat(ptr %t332, ptr %t335)
+ %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str2096)
%t338 = call ptr @fn_emit_bind(ptr %t337)
- %t339 = call ptr @fn_val(ptr %t338, ptr @.str2067)
+ %t339 = call ptr @fn_val(ptr %t338, ptr @.str2097)
store ptr %t339, ptr %retval
br label %ret
ifend41:
%t340 = load ptr, ptr %t0
- %t341 = call i32 @fn_str_eq(ptr %t340, ptr @.str2068)
+ %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str2098)
%t342 = icmp ne i32 %t341, 0
br i1 %t342, label %then42, label %ifend44
then42:
@@ -40967,20 +41525,20 @@ then42:
%t352 = load ptr, ptr %t142
%t353 = getelementptr inbounds %Cmp_Val, ptr %t352, i32 0, i32 0
%t354 = load ptr, ptr %t353
- %t355 = call ptr @fn_str_concat(ptr @.str2069, ptr %t354)
- %t356 = call ptr @fn_str_concat(ptr %t355, ptr @.str2070)
+ %t355 = call ptr @lp_str_concat(ptr @.str2099, ptr %t354)
+ %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str2100)
%t357 = load ptr, ptr %t351
%t358 = getelementptr inbounds %Cmp_Val, ptr %t357, i32 0, i32 0
%t359 = load ptr, ptr %t358
- %t360 = call ptr @fn_str_concat(ptr %t356, ptr %t359)
- %t361 = call ptr @fn_str_concat(ptr %t360, ptr @.str2071)
+ %t360 = call ptr @lp_str_concat(ptr %t356, ptr %t359)
+ %t361 = call ptr @lp_str_concat(ptr %t360, ptr @.str2101)
%t362 = call ptr @fn_emit_bind(ptr %t361)
- %t363 = call ptr @fn_val(ptr %t362, ptr @.str2072)
+ %t363 = call ptr @fn_val(ptr %t362, ptr @.str2102)
store ptr %t363, ptr %retval
br label %ret
ifend44:
%t364 = load ptr, ptr %t0
- %t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str2073)
+ %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str2103)
%t366 = icmp ne i32 %t365, 0
br i1 %t366, label %then45, label %ifend47
then45:
@@ -40997,27 +41555,27 @@ then45:
%t376 = load ptr, ptr %t142
%t377 = getelementptr inbounds %Cmp_Val, ptr %t376, i32 0, i32 0
%t378 = load ptr, ptr %t377
- %t379 = call ptr @fn_str_concat(ptr @.str2074, ptr %t378)
- %t380 = call ptr @fn_str_concat(ptr %t379, ptr @.str2075)
+ %t379 = call ptr @lp_str_concat(ptr @.str2104, ptr %t378)
+ %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str2105)
%t381 = load ptr, ptr %t375
%t382 = getelementptr inbounds %Cmp_Val, ptr %t381, i32 0, i32 0
%t383 = load ptr, ptr %t382
- %t384 = call ptr @fn_str_concat(ptr %t380, ptr %t383)
- %t385 = call ptr @fn_str_concat(ptr %t384, ptr @.str2076)
+ %t384 = call ptr @lp_str_concat(ptr %t380, ptr %t383)
+ %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str2106)
%t386 = call ptr @fn_emit_bind(ptr %t385)
- %t387 = call ptr @fn_val(ptr %t386, ptr @.str2077)
+ %t387 = call ptr @fn_val(ptr %t386, ptr @.str2107)
store ptr %t387, ptr %retval
br label %ret
ifend47:
%t389 = load ptr, ptr %t0
- %t390 = call i32 @fn_str_eq(ptr %t389, ptr @.str2078)
+ %t390 = call i32 @lp_str_eq(ptr %t389, ptr @.str2108)
%t391 = icmp ne i32 %t390, 0
%t392 = zext i1 %t391 to i32
store i32 %t392, ptr %t388
br i1 %t391, label %scend49, label %sc48
sc48:
%t393 = load ptr, ptr %t0
- %t394 = call i32 @fn_str_eq(ptr %t393, ptr @.str2079)
+ %t394 = call i32 @lp_str_eq(ptr %t393, ptr @.str2109)
%t395 = icmp ne i32 %t394, 0
%t396 = zext i1 %t395 to i32
store i32 %t396, ptr %t388
@@ -41039,69 +41597,69 @@ then50:
%t408 = load ptr, ptr %t142
%t409 = getelementptr inbounds %Cmp_Val, ptr %t408, i32 0, i32 0
%t410 = load ptr, ptr %t409
- %t411 = call ptr @fn_str_concat(ptr @.str2080, ptr %t410)
- %t412 = call ptr @fn_str_concat(ptr %t411, ptr @.str2081)
+ %t411 = call ptr @lp_str_concat(ptr @.str2110, ptr %t410)
+ %t412 = call ptr @lp_str_concat(ptr %t411, ptr @.str2111)
%t413 = load ptr, ptr %t407
%t414 = getelementptr inbounds %Cmp_Val, ptr %t413, i32 0, i32 0
%t415 = load ptr, ptr %t414
- %t416 = call ptr @fn_str_concat(ptr %t412, ptr %t415)
- %t417 = call ptr @fn_str_concat(ptr %t416, ptr @.str2082)
+ %t416 = call ptr @lp_str_concat(ptr %t412, ptr %t415)
+ %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str2112)
%t418 = call ptr @fn_emit_bind(ptr %t417)
store ptr %t418, ptr %t419
%t420 = load ptr, ptr %t0
- %t421 = call i32 @fn_str_eq(ptr %t420, ptr @.str2083)
+ %t421 = call i32 @lp_str_eq(ptr %t420, ptr @.str2113)
%t422 = icmp ne i32 %t421, 0
br i1 %t422, label %then53, label %ifend55
then53:
%t423 = load ptr, ptr %t419
- %t424 = call ptr @fn_str_concat(ptr @.str2084, ptr %t423)
- %t425 = call ptr @fn_str_concat(ptr %t424, ptr @.str2085)
+ %t424 = call ptr @lp_str_concat(ptr @.str2114, ptr %t423)
+ %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str2115)
%t426 = call ptr @fn_emit_bind(ptr %t425)
store ptr %t426, ptr %t427
%t428 = load ptr, ptr %t427
- %t429 = call ptr @fn_str_concat(ptr @.str2086, ptr %t428)
- %t430 = call ptr @fn_str_concat(ptr %t429, ptr @.str2087)
+ %t429 = call ptr @lp_str_concat(ptr @.str2116, ptr %t428)
+ %t430 = call ptr @lp_str_concat(ptr %t429, ptr @.str2117)
%t431 = call ptr @fn_emit_bind(ptr %t430)
- %t432 = call ptr @fn_val(ptr %t431, ptr @.str2088)
+ %t432 = call ptr @fn_val(ptr %t431, ptr @.str2118)
store ptr %t432, ptr %retval
br label %ret
ifend55:
%t433 = load ptr, ptr %t419
- %t434 = call ptr @fn_str_concat(ptr @.str2089, ptr %t433)
- %t435 = call ptr @fn_str_concat(ptr %t434, ptr @.str2090)
+ %t434 = call ptr @lp_str_concat(ptr @.str2119, ptr %t433)
+ %t435 = call ptr @lp_str_concat(ptr %t434, ptr @.str2120)
%t436 = call ptr @fn_emit_bind(ptr %t435)
store ptr %t436, ptr %t437
%t438 = load ptr, ptr %t419
- %t439 = call ptr @fn_str_concat(ptr @.str2091, ptr %t438)
- %t440 = call ptr @fn_str_concat(ptr %t439, ptr @.str2092)
+ %t439 = call ptr @lp_str_concat(ptr @.str2121, ptr %t438)
+ %t440 = call ptr @lp_str_concat(ptr %t439, ptr @.str2122)
%t441 = call ptr @fn_emit_bind(ptr %t440)
store ptr %t441, ptr %t442
%t443 = load ptr, ptr %t142
%t444 = getelementptr inbounds %Cmp_Val, ptr %t443, i32 0, i32 0
%t445 = load ptr, ptr %t444
- %t446 = call ptr @fn_str_concat(ptr @.str2093, ptr %t445)
- %t447 = call ptr @fn_str_concat(ptr %t446, ptr @.str2094)
+ %t446 = call ptr @lp_str_concat(ptr @.str2123, ptr %t445)
+ %t447 = call ptr @lp_str_concat(ptr %t446, ptr @.str2124)
%t448 = call ptr @fn_emit_bind(ptr %t447)
store ptr %t448, ptr %t449
%t450 = load ptr, ptr %t442
- %t451 = call ptr @fn_str_concat(ptr @.str2095, ptr %t450)
- %t452 = call ptr @fn_str_concat(ptr %t451, ptr @.str2096)
+ %t451 = call ptr @lp_str_concat(ptr @.str2125, ptr %t450)
+ %t452 = call ptr @lp_str_concat(ptr %t451, ptr @.str2126)
%t453 = load ptr, ptr %t449
- %t454 = call ptr @fn_str_concat(ptr %t452, ptr %t453)
+ %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 @fn_str_concat(ptr @.str2097, ptr %t457)
- %t459 = call ptr @fn_str_concat(ptr %t458, ptr @.str2098)
+ %t458 = call ptr @lp_str_concat(ptr @.str2127, ptr %t457)
+ %t459 = call ptr @lp_str_concat(ptr %t458, ptr @.str2128)
%t460 = call ptr @fn_emit_bind(ptr %t459)
store ptr %t460, ptr %t461
%t462 = load ptr, ptr %t437
- %t463 = call ptr @fn_str_concat(ptr @.str2099, ptr %t462)
- %t464 = call ptr @fn_str_concat(ptr %t463, ptr @.str2100)
+ %t463 = call ptr @lp_str_concat(ptr @.str2129, ptr %t462)
+ %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str2130)
%t465 = load ptr, ptr %t461
- %t466 = call ptr @fn_str_concat(ptr %t464, ptr %t465)
+ %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 @.str2101)
+ %t468 = call ptr @fn_val(ptr %t467, ptr @.str2131)
store ptr %t468, ptr %retval
br label %ret
ifend52:
@@ -41117,129 +41675,129 @@ ifend52:
%t478 = load ptr, ptr %t477
%t479 = getelementptr inbounds %Cmp_Val, ptr %t478, i32 0, i32 0
%t480 = load ptr, ptr %t479
- %t481 = call ptr @fn_str_concat(ptr @.str2102, ptr %t480)
- %t482 = call ptr @fn_str_concat(ptr %t481, ptr @.str2103)
+ %t481 = call ptr @lp_str_concat(ptr @.str2132, ptr %t480)
+ %t482 = call ptr @lp_str_concat(ptr %t481, ptr @.str2133)
%t483 = call ptr @fn_emit_bind(ptr %t482)
store ptr %t483, ptr %t484
%t485 = load ptr, ptr %t0
- %t486 = call i32 @fn_str_eq(ptr %t485, ptr @.str2104)
+ %t486 = call i32 @lp_str_eq(ptr %t485, ptr @.str2134)
%t487 = icmp ne i32 %t486, 0
br i1 %t487, label %then56, label %ifend58
then56:
%t488 = load ptr, ptr %t142
%t489 = getelementptr inbounds %Cmp_Val, ptr %t488, i32 0, i32 0
%t490 = load ptr, ptr %t489
- %t491 = call ptr @fn_str_concat(ptr @.str2105, ptr %t490)
- %t492 = call ptr @fn_str_concat(ptr %t491, ptr @.str2106)
+ %t491 = call ptr @lp_str_concat(ptr @.str2135, ptr %t490)
+ %t492 = call ptr @lp_str_concat(ptr %t491, ptr @.str2136)
%t493 = load ptr, ptr %t477
%t494 = getelementptr inbounds %Cmp_Val, ptr %t493, i32 0, i32 0
%t495 = load ptr, ptr %t494
- %t496 = call ptr @fn_str_concat(ptr %t492, ptr %t495)
- %t497 = call ptr @fn_str_concat(ptr %t496, ptr @.str2107)
+ %t496 = call ptr @lp_str_concat(ptr %t492, ptr %t495)
+ %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str2137)
%t498 = load ptr, ptr %t484
- %t499 = call ptr @fn_str_concat(ptr %t497, ptr %t498)
- %t500 = call ptr @fn_str_concat(ptr %t499, ptr @.str2108)
+ %t499 = call ptr @lp_str_concat(ptr %t497, ptr %t498)
+ %t500 = call ptr @lp_str_concat(ptr %t499, ptr @.str2138)
%t501 = call ptr @fn_emit_bind(ptr %t500)
store ptr %t501, ptr %t502
%t503 = load ptr, ptr %t502
- %t504 = call ptr @fn_str_concat(ptr @.str2109, ptr %t503)
- %t505 = call ptr @fn_str_concat(ptr %t504, ptr @.str2110)
+ %t504 = call ptr @lp_str_concat(ptr @.str2139, ptr %t503)
+ %t505 = call ptr @lp_str_concat(ptr %t504, ptr @.str2140)
%t506 = call ptr @fn_emit_bind(ptr %t505)
store ptr %t506, ptr %t507
%t508 = load ptr, ptr %t507
- %t509 = call ptr @fn_str_concat(ptr @.str2111, ptr %t508)
- %t510 = call ptr @fn_str_concat(ptr %t509, ptr @.str2112)
+ %t509 = call ptr @lp_str_concat(ptr @.str2141, ptr %t508)
+ %t510 = call ptr @lp_str_concat(ptr %t509, ptr @.str2142)
%t511 = call ptr @fn_emit_bind(ptr %t510)
- %t512 = call ptr @fn_val(ptr %t511, ptr @.str2113)
+ %t512 = call ptr @fn_val(ptr %t511, ptr @.str2143)
store ptr %t512, ptr %retval
br label %ret
ifend58:
%t513 = load ptr, ptr %t142
%t514 = getelementptr inbounds %Cmp_Val, ptr %t513, i32 0, i32 0
%t515 = load ptr, ptr %t514
- %t516 = call ptr @fn_str_concat(ptr @.str2114, ptr %t515)
- %t517 = call ptr @fn_str_concat(ptr %t516, ptr @.str2115)
+ %t516 = call ptr @lp_str_concat(ptr @.str2144, ptr %t515)
+ %t517 = call ptr @lp_str_concat(ptr %t516, ptr @.str2145)
%t518 = call ptr @fn_emit_bind(ptr %t517)
store ptr %t518, ptr %t519
%t520 = load ptr, ptr %t519
- %t521 = call ptr @fn_str_concat(ptr @.str2116, ptr %t520)
- %t522 = call ptr @fn_str_concat(ptr %t521, ptr @.str2117)
+ %t521 = call ptr @lp_str_concat(ptr @.str2146, ptr %t520)
+ %t522 = call ptr @lp_str_concat(ptr %t521, ptr @.str2147)
%t523 = load ptr, ptr %t484
- %t524 = call ptr @fn_str_concat(ptr %t522, ptr %t523)
+ %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 @.str2118)
+ %t527 = call ptr @fn_emit_alloca(ptr @.str2148)
store ptr %t527, ptr %t528
%t529 = load ptr, ptr %t528
- call void @fn_store_at(ptr @.str2119, ptr @.str2120, ptr %t529)
+ call void @fn_store_at(ptr @.str2149, ptr @.str2150, ptr %t529)
%t530 = load ptr, ptr %t526
- %t531 = call ptr @fn_str_concat(ptr @.str2121, ptr %t530)
- %t532 = call ptr @fn_str_concat(ptr %t531, ptr @.str2122)
+ %t531 = call ptr @lp_str_concat(ptr @.str2151, ptr %t530)
+ %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str2152)
%t533 = call ptr @fn_emit_bind(ptr %t532)
store ptr %t533, ptr %t534
- %t535 = call ptr @fn_lbl(ptr @.str2123)
+ %t535 = call ptr @fn_lbl(ptr @.str2153)
store ptr %t535, ptr %t536
- %t537 = call ptr @fn_lbl(ptr @.str2124)
+ %t537 = call ptr @fn_lbl(ptr @.str2154)
store ptr %t537, ptr %t538
- call void @fn_emit(ptr @.str2125)
+ call void @fn_emit(ptr @.str2155)
%t539 = load ptr, ptr %t534
call void @fn_emit(ptr %t539)
- call void @fn_emit(ptr @.str2126)
+ call void @fn_emit(ptr @.str2156)
%t540 = load ptr, ptr %t538
call void @fn_emit(ptr %t540)
- call void @fn_emit(ptr @.str2127)
+ call void @fn_emit(ptr @.str2157)
%t541 = load ptr, ptr %t536
call void @fn_emit(ptr %t541)
- call void @fn_emit(ptr @.str2128)
+ call void @fn_emit(ptr @.str2158)
%t542 = load ptr, ptr %t536
call void @fn_emit(ptr %t542)
- call void @fn_emit(ptr @.str2129)
+ call void @fn_emit(ptr @.str2159)
%t543 = load ptr, ptr %t142
%t544 = getelementptr inbounds %Cmp_Val, ptr %t543, i32 0, i32 0
%t545 = load ptr, ptr %t544
- %t546 = call ptr @fn_str_concat(ptr @.str2130, ptr %t545)
- %t547 = call ptr @fn_str_concat(ptr %t546, ptr @.str2131)
+ %t546 = call ptr @lp_str_concat(ptr @.str2160, ptr %t545)
+ %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str2161)
%t548 = load ptr, ptr %t526
- %t549 = call ptr @fn_str_concat(ptr %t547, ptr %t548)
+ %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 @fn_str_concat(ptr @.str2132, ptr %t552)
- %t554 = call ptr @fn_str_concat(ptr %t553, ptr @.str2133)
+ %t553 = call ptr @lp_str_concat(ptr @.str2162, ptr %t552)
+ %t554 = call ptr @lp_str_concat(ptr %t553, ptr @.str2163)
%t555 = load ptr, ptr %t477
%t556 = getelementptr inbounds %Cmp_Val, ptr %t555, i32 0, i32 0
%t557 = load ptr, ptr %t556
- %t558 = call ptr @fn_str_concat(ptr %t554, ptr %t557)
- %t559 = call ptr @fn_str_concat(ptr %t558, ptr @.str2134)
+ %t558 = call ptr @lp_str_concat(ptr %t554, ptr %t557)
+ %t559 = call ptr @lp_str_concat(ptr %t558, ptr @.str2164)
%t560 = load ptr, ptr %t484
- %t561 = call ptr @fn_str_concat(ptr %t559, ptr %t560)
- %t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str2135)
+ %t561 = call ptr @lp_str_concat(ptr %t559, ptr %t560)
+ %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str2165)
%t563 = call ptr @fn_emit_bind(ptr %t562)
store ptr %t563, ptr %t564
%t565 = load ptr, ptr %t564
- %t566 = call ptr @fn_str_concat(ptr @.str2136, ptr %t565)
- %t567 = call ptr @fn_str_concat(ptr %t566, ptr @.str2137)
+ %t566 = call ptr @lp_str_concat(ptr @.str2166, ptr %t565)
+ %t567 = call ptr @lp_str_concat(ptr %t566, ptr @.str2167)
%t568 = call ptr @fn_emit_bind(ptr %t567)
store ptr %t568, ptr %t569
%t570 = load ptr, ptr %t569
- %t571 = call ptr @fn_str_concat(ptr @.str2138, ptr %t570)
- %t572 = call ptr @fn_str_concat(ptr %t571, ptr @.str2139)
+ %t571 = call ptr @lp_str_concat(ptr @.str2168, ptr %t570)
+ %t572 = call ptr @lp_str_concat(ptr %t571, ptr @.str2169)
%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 @.str2140, ptr %t575, ptr %t576)
- call void @fn_emit(ptr @.str2141)
+ call void @fn_store_at(ptr @.str2170, ptr %t575, ptr %t576)
+ call void @fn_emit(ptr @.str2171)
%t577 = load ptr, ptr %t538
call void @fn_emit(ptr %t577)
- call void @fn_emit(ptr @.str2142)
+ call void @fn_emit(ptr @.str2172)
%t578 = load ptr, ptr %t538
call void @fn_emit(ptr %t578)
- call void @fn_emit(ptr @.str2143)
+ call void @fn_emit(ptr @.str2173)
%t579 = load ptr, ptr %t528
- %t580 = call ptr @fn_str_concat(ptr @.str2144, ptr %t579)
+ %t580 = call ptr @lp_str_concat(ptr @.str2174, ptr %t579)
%t581 = call ptr @fn_emit_bind(ptr %t580)
- %t582 = call ptr @fn_val(ptr %t581, ptr @.str2145)
+ %t582 = call ptr @fn_val(ptr %t581, ptr @.str2175)
store ptr %t582, ptr %retval
br label %ret
ret:
@@ -41249,36 +41807,6 @@ ret:
define void @fn_emit_text_prelude() {
entry:
- call void @fn_emith(ptr @.str2146)
- call void @fn_emith(ptr @.str2147)
- call void @fn_emith(ptr @.str2148)
- call void @fn_emith(ptr @.str2149)
- call void @fn_emith(ptr @.str2150)
- call void @fn_emith(ptr @.str2151)
- call void @fn_emith(ptr @.str2152)
- call void @fn_emith(ptr @.str2153)
- call void @fn_emith(ptr @.str2154)
- call void @fn_emith(ptr @.str2155)
- call void @fn_emith(ptr @.str2156)
- call void @fn_emith(ptr @.str2157)
- call void @fn_emith(ptr @.str2158)
- call void @fn_emith(ptr @.str2159)
- call void @fn_emith(ptr @.str2160)
- call void @fn_emith(ptr @.str2161)
- call void @fn_emith(ptr @.str2162)
- call void @fn_emith(ptr @.str2163)
- call void @fn_emith(ptr @.str2164)
- call void @fn_emith(ptr @.str2165)
- call void @fn_emith(ptr @.str2166)
- call void @fn_emith(ptr @.str2167)
- call void @fn_emith(ptr @.str2168)
- call void @fn_emith(ptr @.str2169)
- call void @fn_emith(ptr @.str2170)
- call void @fn_emith(ptr @.str2171)
- call void @fn_emith(ptr @.str2172)
- call void @fn_emith(ptr @.str2173)
- call void @fn_emith(ptr @.str2174)
- call void @fn_emith(ptr @.str2175)
call void @fn_emith(ptr @.str2176)
call void @fn_emith(ptr @.str2177)
call void @fn_emith(ptr @.str2178)
@@ -41447,13 +41975,6 @@ entry:
call void @fn_emith(ptr @.str2341)
call void @fn_emith(ptr @.str2342)
call void @fn_emith(ptr @.str2343)
- br label %ret
-ret:
- ret void
-}
-
-define void @fn_emit_text2_prelude() {
-entry:
call void @fn_emith(ptr @.str2344)
call void @fn_emith(ptr @.str2345)
call void @fn_emith(ptr @.str2346)
@@ -41484,6 +42005,13 @@ entry:
call void @fn_emith(ptr @.str2371)
call void @fn_emith(ptr @.str2372)
call void @fn_emith(ptr @.str2373)
+ br label %ret
+ret:
+ ret void
+}
+
+define void @fn_emit_text2_prelude() {
+entry:
call void @fn_emith(ptr @.str2374)
call void @fn_emith(ptr @.str2375)
call void @fn_emith(ptr @.str2376)
@@ -41665,6 +42193,36 @@ entry:
call void @fn_emith(ptr @.str2552)
call void @fn_emith(ptr @.str2553)
call void @fn_emith(ptr @.str2554)
+ call void @fn_emith(ptr @.str2555)
+ call void @fn_emith(ptr @.str2556)
+ call void @fn_emith(ptr @.str2557)
+ call void @fn_emith(ptr @.str2558)
+ call void @fn_emith(ptr @.str2559)
+ call void @fn_emith(ptr @.str2560)
+ call void @fn_emith(ptr @.str2561)
+ call void @fn_emith(ptr @.str2562)
+ call void @fn_emith(ptr @.str2563)
+ call void @fn_emith(ptr @.str2564)
+ call void @fn_emith(ptr @.str2565)
+ call void @fn_emith(ptr @.str2566)
+ call void @fn_emith(ptr @.str2567)
+ call void @fn_emith(ptr @.str2568)
+ call void @fn_emith(ptr @.str2569)
+ call void @fn_emith(ptr @.str2570)
+ call void @fn_emith(ptr @.str2571)
+ call void @fn_emith(ptr @.str2572)
+ call void @fn_emith(ptr @.str2573)
+ call void @fn_emith(ptr @.str2574)
+ call void @fn_emith(ptr @.str2575)
+ call void @fn_emith(ptr @.str2576)
+ call void @fn_emith(ptr @.str2577)
+ call void @fn_emith(ptr @.str2578)
+ call void @fn_emith(ptr @.str2579)
+ call void @fn_emith(ptr @.str2580)
+ call void @fn_emith(ptr @.str2581)
+ call void @fn_emith(ptr @.str2582)
+ call void @fn_emith(ptr @.str2583)
+ call void @fn_emith(ptr @.str2584)
br label %ret
ret:
ret void
@@ -41681,14 +42239,14 @@ entry:
%t32 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2555)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str2585)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2556)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str2586)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -41701,7 +42259,7 @@ scend1:
br i1 %t12, label %scend3, label %sc2
sc2:
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str2557)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str2587)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
@@ -41715,14 +42273,14 @@ then4:
br label %ret
ifend6:
%t21 = load ptr, ptr %t0
- %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str2558)
+ %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2588)
%t23 = icmp ne i32 %t22, 0
%t24 = zext i1 %t23 to i32
store i32 %t24, ptr %t20
br i1 %t23, label %scend8, label %sc7
sc7:
%t25 = load ptr, ptr %t0
- %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str2559)
+ %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str2589)
%t27 = icmp ne i32 %t26, 0
%t28 = zext i1 %t27 to i32
store i32 %t28, ptr %t20
@@ -41736,14 +42294,14 @@ then9:
br label %ret
ifend11:
%t33 = load ptr, ptr %t0
- %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2560)
+ %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str2590)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t32
br i1 %t35, label %scend13, label %sc12
sc12:
%t37 = load ptr, ptr %t0
- %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str2561)
+ %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str2591)
%t39 = icmp ne i32 %t38, 0
%t40 = zext i1 %t39 to i32
store i32 %t40, ptr %t32
@@ -41756,7 +42314,7 @@ scend13:
br i1 %t42, label %scend15, label %sc14
sc14:
%t44 = load ptr, ptr %t0
- %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str2562)
+ %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str2592)
%t46 = icmp ne i32 %t45, 0
%t47 = zext i1 %t46 to i32
store i32 %t47, ptr %t31
@@ -41789,49 +42347,49 @@ entry:
%t39 = alloca ptr
store ptr %arg_x, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call ptr @fn_str_concat(ptr @.str2563, ptr %t1)
- %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str2564)
+ %t2 = call ptr @lp_str_concat(ptr @.str2593, ptr %t1)
+ %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2594)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t0
- %t7 = call ptr @fn_str_concat(ptr @.str2565, ptr %t6)
- %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str2566)
+ %t7 = call ptr @lp_str_concat(ptr @.str2595, ptr %t6)
+ %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2596)
%t9 = load ptr, ptr %t5
- %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
+ %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 @fn_str_concat(ptr @.str2567, ptr %t13)
- %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str2568)
+ %t14 = call ptr @lp_str_concat(ptr @.str2597, ptr %t13)
+ %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2598)
%t16 = call ptr @fn_emit_bind(ptr %t15)
store ptr %t16, ptr %t17
%t18 = load ptr, ptr %t17
- %t19 = call ptr @fn_str_concat(ptr @.str2569, ptr %t18)
- %t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str2570)
+ %t19 = call ptr @lp_str_concat(ptr @.str2599, ptr %t18)
+ %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str2600)
%t21 = call ptr @fn_emit_bind(ptr %t20)
store ptr %t21, ptr %t22
%t23 = load ptr, ptr %t17
- %t24 = call ptr @fn_str_concat(ptr @.str2571, ptr %t23)
- %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str2572)
+ %t24 = call ptr @lp_str_concat(ptr @.str2601, ptr %t23)
+ %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str2602)
%t26 = load ptr, ptr %t22
- %t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26)
+ %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 @fn_str_concat(ptr @.str2573, ptr %t30)
- %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str2574)
+ %t31 = call ptr @lp_str_concat(ptr @.str2603, ptr %t30)
+ %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str2604)
%t33 = call ptr @fn_emit_bind(ptr %t32)
store ptr %t33, ptr %t34
%t35 = load ptr, ptr %t34
- %t36 = call ptr @fn_str_concat(ptr @.str2575, ptr %t35)
- %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str2576)
+ %t36 = call ptr @lp_str_concat(ptr @.str2605, ptr %t35)
+ %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str2606)
%t38 = call ptr @fn_emit_bind(ptr %t37)
store ptr %t38, ptr %t39
%t40 = load ptr, ptr %t34
- %t41 = call ptr @fn_str_concat(ptr @.str2577, ptr %t40)
- %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str2578)
+ %t41 = call ptr @lp_str_concat(ptr @.str2607, ptr %t40)
+ %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str2608)
%t43 = load ptr, ptr %t39
- %t44 = call ptr @fn_str_concat(ptr %t42, ptr %t43)
+ %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
@@ -41853,49 +42411,49 @@ entry:
%t39 = alloca ptr
store ptr %arg_x, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call ptr @fn_str_concat(ptr @.str2579, ptr %t1)
- %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str2580)
+ %t2 = call ptr @lp_str_concat(ptr @.str2609, ptr %t1)
+ %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2610)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t0
- %t7 = call ptr @fn_str_concat(ptr @.str2581, ptr %t6)
- %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str2582)
+ %t7 = call ptr @lp_str_concat(ptr @.str2611, ptr %t6)
+ %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2612)
%t9 = load ptr, ptr %t5
- %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
+ %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 @fn_str_concat(ptr @.str2583, ptr %t13)
- %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str2584)
+ %t14 = call ptr @lp_str_concat(ptr @.str2613, ptr %t13)
+ %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2614)
%t16 = call ptr @fn_emit_bind(ptr %t15)
store ptr %t16, ptr %t17
%t18 = load ptr, ptr %t17
- %t19 = call ptr @fn_str_concat(ptr @.str2585, ptr %t18)
- %t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str2586)
+ %t19 = call ptr @lp_str_concat(ptr @.str2615, ptr %t18)
+ %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str2616)
%t21 = call ptr @fn_emit_bind(ptr %t20)
store ptr %t21, ptr %t22
%t23 = load ptr, ptr %t17
- %t24 = call ptr @fn_str_concat(ptr @.str2587, ptr %t23)
- %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str2588)
+ %t24 = call ptr @lp_str_concat(ptr @.str2617, ptr %t23)
+ %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str2618)
%t26 = load ptr, ptr %t22
- %t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26)
+ %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 @fn_str_concat(ptr @.str2589, ptr %t30)
- %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str2590)
+ %t31 = call ptr @lp_str_concat(ptr @.str2619, ptr %t30)
+ %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str2620)
%t33 = call ptr @fn_emit_bind(ptr %t32)
store ptr %t33, ptr %t34
%t35 = load ptr, ptr %t34
- %t36 = call ptr @fn_str_concat(ptr @.str2591, ptr %t35)
- %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str2592)
+ %t36 = call ptr @lp_str_concat(ptr @.str2621, ptr %t35)
+ %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str2622)
%t38 = call ptr @fn_emit_bind(ptr %t37)
store ptr %t38, ptr %t39
%t40 = load ptr, ptr %t34
- %t41 = call ptr @fn_str_concat(ptr @.str2593, ptr %t40)
- %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str2594)
+ %t41 = call ptr @lp_str_concat(ptr @.str2623, ptr %t40)
+ %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str2624)
%t43 = load ptr, ptr %t39
- %t44 = call ptr @fn_str_concat(ptr %t42, ptr %t43)
+ %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
@@ -41927,14 +42485,14 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2595)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str2625)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2596)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str2626)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -41957,22 +42515,22 @@ then2:
%t22 = load ptr, ptr %t21
%t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0
%t24 = load ptr, ptr %t23
- %t25 = call ptr @fn_str_concat(ptr @.str2597, ptr %t24)
- %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str2598)
+ %t25 = call ptr @lp_str_concat(ptr @.str2627, ptr %t24)
+ %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str2628)
%t27 = call ptr @fn_emit_bind(ptr %t26)
- %t28 = call ptr @fn_val(ptr %t27, ptr @.str2599)
+ %t28 = call ptr @fn_val(ptr %t27, ptr @.str2629)
store ptr %t28, ptr %retval
br label %ret
ifend4:
%t30 = load ptr, ptr %t0
- %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str2600)
+ %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str2630)
%t32 = icmp ne i32 %t31, 0
%t33 = zext i1 %t32 to i32
store i32 %t33, ptr %t29
br i1 %t32, label %scend6, label %sc5
sc5:
%t34 = load ptr, ptr %t0
- %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str2601)
+ %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str2631)
%t36 = icmp ne i32 %t35, 0
%t37 = zext i1 %t36 to i32
store i32 %t37, ptr %t29
@@ -41995,15 +42553,15 @@ then7:
%t49 = load ptr, ptr %t48
%t50 = getelementptr inbounds %Cmp_Val, ptr %t49, i32 0, i32 0
%t51 = load ptr, ptr %t50
- %t52 = call ptr @fn_str_concat(ptr @.str2602, ptr %t51)
- %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str2603)
+ %t52 = call ptr @lp_str_concat(ptr @.str2632, ptr %t51)
+ %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str2633)
%t54 = call ptr @fn_emit_bind(ptr %t53)
- %t55 = call ptr @fn_val(ptr %t54, ptr @.str2604)
+ %t55 = call ptr @fn_val(ptr %t54, ptr @.str2634)
store ptr %t55, ptr %retval
br label %ret
ifend9:
%t56 = load ptr, ptr %t0
- %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str2605)
+ %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str2635)
%t58 = icmp ne i32 %t57, 0
br i1 %t58, label %then10, label %ifend12
then10:
@@ -42019,12 +42577,12 @@ then10:
%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 @.str2606)
+ %t71 = call ptr @fn_val(ptr %t70, ptr @.str2636)
store ptr %t71, ptr %retval
br label %ret
ifend12:
%t72 = load ptr, ptr %t0
- %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str2607)
+ %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str2637)
%t74 = icmp ne i32 %t73, 0
br i1 %t74, label %then13, label %ifend15
then13:
@@ -42041,15 +42599,15 @@ then13:
%t84 = load ptr, ptr %t83
%t85 = getelementptr inbounds %Cmp_Val, ptr %t84, i32 0, i32 0
%t86 = load ptr, ptr %t85
- %t87 = call ptr @fn_str_concat(ptr @.str2608, ptr %t86)
- %t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str2609)
+ %t87 = call ptr @lp_str_concat(ptr @.str2638, ptr %t86)
+ %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str2639)
%t89 = call ptr @fn_emit_bind(ptr %t88)
- %t90 = call ptr @fn_val(ptr %t89, ptr @.str2610)
+ %t90 = call ptr @fn_val(ptr %t89, ptr @.str2640)
store ptr %t90, ptr %retval
br label %ret
ifend15:
%t91 = load ptr, ptr %t0
- %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str2611)
+ %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str2641)
%t93 = icmp ne i32 %t92, 0
br i1 %t93, label %then16, label %ifend18
then16:
@@ -42066,11 +42624,11 @@ then16:
%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 @.str2612)
+ %t107 = call ptr @fn_val(ptr %t106, ptr @.str2642)
store ptr %t107, ptr %retval
br label %ret
ifend18:
- store ptr @.str2613, ptr %t108
+ store ptr @.str2643, ptr %t108
store i32 0, ptr %t109
br label %wcond19
wcond19:
@@ -42098,39 +42656,39 @@ wbody20:
%t129 = load ptr, ptr %t128
%t130 = getelementptr inbounds %Cmp_Val, ptr %t129, i32 0, i32 0
%t131 = load ptr, ptr %t130
- %t132 = call ptr @fn_str_concat(ptr @.str2614, ptr %t131)
- %t133 = call ptr @fn_str_concat(ptr %t132, ptr @.str2615)
+ %t132 = call ptr @lp_str_concat(ptr @.str2644, ptr %t131)
+ %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str2645)
%t134 = call ptr @fn_emit_bind(ptr %t133)
store ptr %t134, ptr %t135
%t136 = load ptr, ptr %t108
- %t137 = call ptr @fn_str_concat(ptr @.str2616, ptr %t136)
- %t138 = call ptr @fn_str_concat(ptr %t137, ptr @.str2617)
+ %t137 = call ptr @lp_str_concat(ptr @.str2646, ptr %t136)
+ %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str2647)
%t139 = call ptr @fn_emit_bind(ptr %t138)
store ptr %t139, ptr %t140
%t141 = load ptr, ptr %t108
- %t142 = call ptr @fn_str_concat(ptr @.str2618, ptr %t141)
- %t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str2619)
+ %t142 = call ptr @lp_str_concat(ptr @.str2648, ptr %t141)
+ %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str2649)
%t144 = call ptr @fn_emit_bind(ptr %t143)
store ptr %t144, ptr %t145
%t146 = load ptr, ptr %t135
- %t147 = call ptr @fn_str_concat(ptr @.str2620, ptr %t146)
- %t148 = call ptr @fn_str_concat(ptr %t147, ptr @.str2621)
+ %t147 = call ptr @lp_str_concat(ptr @.str2650, ptr %t146)
+ %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str2651)
%t149 = load ptr, ptr %t140
- %t150 = call ptr @fn_str_concat(ptr %t148, ptr %t149)
+ %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 @fn_str_concat(ptr @.str2622, ptr %t153)
- %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str2623)
+ %t154 = call ptr @lp_str_concat(ptr @.str2652, ptr %t153)
+ %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str2653)
%t156 = load ptr, ptr %t145
- %t157 = call ptr @fn_str_concat(ptr %t155, ptr %t156)
+ %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 @fn_str_concat(ptr @.str2624, ptr %t160)
- %t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str2625)
+ %t161 = call ptr @lp_str_concat(ptr @.str2654, ptr %t160)
+ %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str2655)
%t163 = load ptr, ptr %t159
- %t164 = call ptr @fn_str_concat(ptr %t162, ptr %t163)
+ %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
@@ -42139,7 +42697,7 @@ wbody20:
br label %wcond19
wend21:
%t168 = load ptr, ptr %t108
- %t169 = call ptr @fn_val(ptr %t168, ptr @.str2626)
+ %t169 = call ptr @fn_val(ptr %t168, ptr @.str2656)
store ptr %t169, ptr %retval
br label %ret
ret:
@@ -42149,36 +42707,6 @@ ret:
define void @fn_emit_hash_prelude() {
entry:
- call void @fn_emith(ptr @.str2627)
- call void @fn_emith(ptr @.str2628)
- call void @fn_emith(ptr @.str2629)
- call void @fn_emith(ptr @.str2630)
- call void @fn_emith(ptr @.str2631)
- call void @fn_emith(ptr @.str2632)
- call void @fn_emith(ptr @.str2633)
- call void @fn_emith(ptr @.str2634)
- call void @fn_emith(ptr @.str2635)
- call void @fn_emith(ptr @.str2636)
- call void @fn_emith(ptr @.str2637)
- call void @fn_emith(ptr @.str2638)
- call void @fn_emith(ptr @.str2639)
- call void @fn_emith(ptr @.str2640)
- call void @fn_emith(ptr @.str2641)
- call void @fn_emith(ptr @.str2642)
- call void @fn_emith(ptr @.str2643)
- call void @fn_emith(ptr @.str2644)
- call void @fn_emith(ptr @.str2645)
- call void @fn_emith(ptr @.str2646)
- call void @fn_emith(ptr @.str2647)
- call void @fn_emith(ptr @.str2648)
- call void @fn_emith(ptr @.str2649)
- call void @fn_emith(ptr @.str2650)
- call void @fn_emith(ptr @.str2651)
- call void @fn_emith(ptr @.str2652)
- call void @fn_emith(ptr @.str2653)
- call void @fn_emith(ptr @.str2654)
- call void @fn_emith(ptr @.str2655)
- call void @fn_emith(ptr @.str2656)
call void @fn_emith(ptr @.str2657)
call void @fn_emith(ptr @.str2658)
call void @fn_emith(ptr @.str2659)
@@ -42246,6 +42774,36 @@ entry:
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)
br label %ret
ret:
ret void
@@ -42262,14 +42820,14 @@ entry:
%t32 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2724)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str2754)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2725)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str2755)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -42282,7 +42840,7 @@ scend1:
br i1 %t12, label %scend3, label %sc2
sc2:
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str2726)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str2756)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
@@ -42296,14 +42854,14 @@ then4:
br label %ret
ifend6:
%t21 = load ptr, ptr %t0
- %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str2727)
+ %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2757)
%t23 = icmp ne i32 %t22, 0
%t24 = zext i1 %t23 to i32
store i32 %t24, ptr %t20
br i1 %t23, label %scend8, label %sc7
sc7:
%t25 = load ptr, ptr %t0
- %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str2728)
+ %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str2758)
%t27 = icmp ne i32 %t26, 0
%t28 = zext i1 %t27 to i32
store i32 %t28, ptr %t20
@@ -42317,14 +42875,14 @@ then9:
br label %ret
ifend11:
%t33 = load ptr, ptr %t0
- %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2729)
+ %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str2759)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t32
br i1 %t35, label %scend13, label %sc12
sc12:
%t37 = load ptr, ptr %t0
- %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str2730)
+ %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str2760)
%t39 = icmp ne i32 %t38, 0
%t40 = zext i1 %t39 to i32
store i32 %t40, ptr %t32
@@ -42337,7 +42895,7 @@ scend13:
br i1 %t42, label %scend15, label %sc14
sc14:
%t44 = load ptr, ptr %t0
- %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str2731)
+ %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str2761)
%t46 = icmp ne i32 %t45, 0
%t47 = zext i1 %t46 to i32
store i32 %t47, ptr %t31
@@ -42351,7 +42909,7 @@ then16:
br label %ret
ifend18:
%t50 = load ptr, ptr %t0
- %t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str2732)
+ %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str2762)
%t52 = icmp ne i32 %t51, 0
br i1 %t52, label %then19, label %ifend21
then19:
@@ -42388,7 +42946,7 @@ entry:
store ptr %arg_e, ptr %t1
store i32 1, ptr @g_g_uses_cryptort
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2733)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str2763)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -42404,15 +42962,15 @@ then0:
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
- %t17 = call ptr @fn_str_concat(ptr @.str2734, ptr %t16)
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2735)
+ %t17 = call ptr @lp_str_concat(ptr @.str2764, ptr %t16)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str2765)
%t19 = call ptr @fn_emit_bind(ptr %t18)
- %t20 = call ptr @fn_val(ptr %t19, ptr @.str2736)
+ %t20 = call ptr @fn_val(ptr %t19, ptr @.str2766)
store ptr %t20, ptr %retval
br label %ret
ifend2:
%t21 = load ptr, ptr %t0
- %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str2737)
+ %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2767)
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then3, label %ifend5
then3:
@@ -42437,20 +42995,20 @@ then3:
%t42 = load ptr, ptr %t32
%t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0
%t44 = load ptr, ptr %t43
- %t45 = call ptr @fn_str_concat(ptr @.str2738, ptr %t44)
- %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str2739)
+ %t45 = call ptr @lp_str_concat(ptr @.str2768, ptr %t44)
+ %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str2769)
%t47 = load ptr, ptr %t41
%t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0
%t49 = load ptr, ptr %t48
- %t50 = call ptr @fn_str_concat(ptr %t46, ptr %t49)
- %t51 = call ptr @fn_str_concat(ptr %t50, ptr @.str2740)
+ %t50 = call ptr @lp_str_concat(ptr %t46, ptr %t49)
+ %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str2770)
%t52 = call ptr @fn_emit_bind(ptr %t51)
- %t53 = call ptr @fn_val(ptr %t52, ptr @.str2741)
+ %t53 = call ptr @fn_val(ptr %t52, ptr @.str2771)
store ptr %t53, ptr %retval
br label %ret
ifend5:
%t54 = load ptr, ptr %t0
- %t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str2742)
+ %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str2772)
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %then6, label %ifend8
then6:
@@ -42466,15 +43024,15 @@ then6:
%t66 = load ptr, ptr %t65
%t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0
%t68 = load ptr, ptr %t67
- %t69 = call ptr @fn_str_concat(ptr @.str2743, ptr %t68)
- %t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str2744)
+ %t69 = call ptr @lp_str_concat(ptr @.str2773, ptr %t68)
+ %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str2774)
%t71 = call ptr @fn_emit_bind(ptr %t70)
- %t72 = call ptr @fn_val(ptr %t71, ptr @.str2745)
+ %t72 = call ptr @fn_val(ptr %t71, ptr @.str2775)
store ptr %t72, ptr %retval
br label %ret
ifend8:
%t73 = load ptr, ptr %t0
- %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str2746)
+ %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str2776)
%t75 = icmp ne i32 %t74, 0
br i1 %t75, label %then9, label %ifend11
then9:
@@ -42499,27 +43057,27 @@ then9:
%t94 = load ptr, ptr %t84
%t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0
%t96 = load ptr, ptr %t95
- %t97 = call ptr @fn_str_concat(ptr @.str2747, ptr %t96)
- %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str2748)
+ %t97 = call ptr @lp_str_concat(ptr @.str2777, ptr %t96)
+ %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str2778)
%t99 = load ptr, ptr %t93
%t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0
%t101 = load ptr, ptr %t100
- %t102 = call ptr @fn_str_concat(ptr %t98, ptr %t101)
- %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str2749)
+ %t102 = call ptr @lp_str_concat(ptr %t98, ptr %t101)
+ %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str2779)
%t104 = call ptr @fn_emit_bind(ptr %t103)
- %t105 = call ptr @fn_val(ptr %t104, ptr @.str2750)
+ %t105 = call ptr @fn_val(ptr %t104, ptr @.str2780)
store ptr %t105, ptr %retval
br label %ret
ifend11:
%t107 = load ptr, ptr %t0
- %t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str2751)
+ %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str2781)
%t109 = icmp ne i32 %t108, 0
%t110 = zext i1 %t109 to i32
store i32 %t110, ptr %t106
br i1 %t109, label %scend13, label %sc12
sc12:
%t111 = load ptr, ptr %t0
- %t112 = call i32 @fn_str_eq(ptr %t111, ptr @.str2752)
+ %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str2782)
%t113 = icmp ne i32 %t112, 0
%t114 = zext i1 %t113 to i32
store i32 %t114, ptr %t106
@@ -42541,30 +43099,30 @@ then14:
%t126 = load ptr, ptr %t125
%t127 = getelementptr inbounds %Cmp_Val, ptr %t126, i32 0, i32 0
%t128 = load ptr, ptr %t127
- %t129 = call ptr @fn_str_concat(ptr @.str2753, ptr %t128)
- %t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str2754)
+ %t129 = call ptr @lp_str_concat(ptr @.str2783, ptr %t128)
+ %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str2784)
%t131 = call ptr @fn_emit_bind(ptr %t130)
store ptr %t131, ptr %t132
%t133 = load ptr, ptr %t132
- %t134 = call ptr @fn_str_concat(ptr @.str2755, ptr %t133)
- %t135 = call ptr @fn_str_concat(ptr %t134, ptr @.str2756)
+ %t134 = call ptr @lp_str_concat(ptr @.str2785, ptr %t133)
+ %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str2786)
%t136 = call ptr @fn_emit_bind(ptr %t135)
- %t137 = call ptr @fn_val(ptr %t136, ptr @.str2757)
+ %t137 = call ptr @fn_val(ptr %t136, ptr @.str2787)
store ptr %t137, ptr %retval
br label %ret
ifend16:
%t138 = load ptr, ptr %t0
- %t139 = call i32 @fn_str_eq(ptr %t138, ptr @.str2758)
+ %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str2788)
%t140 = icmp ne i32 %t139, 0
br i1 %t140, label %then17, label %ifend19
then17:
- %t141 = call ptr @fn_emit_bind(ptr @.str2759)
- %t142 = call ptr @fn_val(ptr %t141, ptr @.str2760)
+ %t141 = call ptr @fn_emit_bind(ptr @.str2789)
+ %t142 = call ptr @fn_val(ptr %t141, ptr @.str2790)
store ptr %t142, ptr %retval
br label %ret
ifend19:
%t143 = load ptr, ptr %t0
- %t144 = call i32 @fn_str_eq(ptr %t143, ptr @.str2761)
+ %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str2791)
%t145 = icmp ne i32 %t144, 0
br i1 %t145, label %then20, label %ifend22
then20:
@@ -42580,10 +43138,10 @@ then20:
%t155 = load ptr, ptr %t154
%t156 = getelementptr inbounds %Cmp_Val, ptr %t155, i32 0, i32 0
%t157 = load ptr, ptr %t156
- %t158 = call ptr @fn_str_concat(ptr @.str2762, ptr %t157)
- %t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str2763)
+ %t158 = call ptr @lp_str_concat(ptr @.str2792, ptr %t157)
+ %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str2793)
%t160 = call ptr @fn_emit_bind(ptr %t159)
- %t161 = call ptr @fn_val(ptr %t160, ptr @.str2764)
+ %t161 = call ptr @fn_val(ptr %t160, ptr @.str2794)
store ptr %t161, ptr %retval
br label %ret
ifend22:
@@ -42617,25 +43175,25 @@ ifend22:
%t189 = load ptr, ptr %t170
%t190 = getelementptr inbounds %Cmp_Val, ptr %t189, i32 0, i32 0
%t191 = load ptr, ptr %t190
- %t192 = call ptr @fn_str_concat(ptr @.str2765, ptr %t191)
- %t193 = call ptr @fn_str_concat(ptr %t192, ptr @.str2766)
+ %t192 = call ptr @lp_str_concat(ptr @.str2795, ptr %t191)
+ %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str2796)
%t194 = load ptr, ptr %t179
%t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0
%t196 = load ptr, ptr %t195
- %t197 = call ptr @fn_str_concat(ptr %t193, ptr %t196)
- %t198 = call ptr @fn_str_concat(ptr %t197, ptr @.str2767)
+ %t197 = call ptr @lp_str_concat(ptr %t193, ptr %t196)
+ %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str2797)
%t199 = call ptr @fn_emit_bind(ptr %t198)
store ptr %t199, ptr %t200
%t201 = load ptr, ptr %t200
- %t202 = call ptr @fn_str_concat(ptr @.str2768, ptr %t201)
- %t203 = call ptr @fn_str_concat(ptr %t202, ptr @.str2769)
+ %t202 = call ptr @lp_str_concat(ptr @.str2798, ptr %t201)
+ %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str2799)
%t204 = load ptr, ptr %t188
%t205 = getelementptr inbounds %Cmp_Val, ptr %t204, i32 0, i32 0
%t206 = load ptr, ptr %t205
- %t207 = call ptr @fn_str_concat(ptr %t203, ptr %t206)
- %t208 = call ptr @fn_str_concat(ptr %t207, ptr @.str2770)
+ %t207 = call ptr @lp_str_concat(ptr %t203, ptr %t206)
+ %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str2800)
%t209 = call ptr @fn_emit_bind(ptr %t208)
- %t210 = call ptr @fn_val(ptr %t209, ptr @.str2771)
+ %t210 = call ptr @fn_val(ptr %t209, ptr @.str2801)
store ptr %t210, ptr %retval
br label %ret
ret:
@@ -42645,36 +43203,6 @@ ret:
define void @fn_emit_crypto_prelude() {
entry:
- call void @fn_emith(ptr @.str2772)
- call void @fn_emith(ptr @.str2773)
- call void @fn_emith(ptr @.str2774)
- call void @fn_emith(ptr @.str2775)
- call void @fn_emith(ptr @.str2776)
- call void @fn_emith(ptr @.str2777)
- call void @fn_emith(ptr @.str2778)
- call void @fn_emith(ptr @.str2779)
- call void @fn_emith(ptr @.str2780)
- call void @fn_emith(ptr @.str2781)
- call void @fn_emith(ptr @.str2782)
- call void @fn_emith(ptr @.str2783)
- call void @fn_emith(ptr @.str2784)
- call void @fn_emith(ptr @.str2785)
- call void @fn_emith(ptr @.str2786)
- call void @fn_emith(ptr @.str2787)
- call void @fn_emith(ptr @.str2788)
- call void @fn_emith(ptr @.str2789)
- call void @fn_emith(ptr @.str2790)
- call void @fn_emith(ptr @.str2791)
- call void @fn_emith(ptr @.str2792)
- call void @fn_emith(ptr @.str2793)
- call void @fn_emith(ptr @.str2794)
- call void @fn_emith(ptr @.str2795)
- call void @fn_emith(ptr @.str2796)
- call void @fn_emith(ptr @.str2797)
- call void @fn_emith(ptr @.str2798)
- call void @fn_emith(ptr @.str2799)
- call void @fn_emith(ptr @.str2800)
- call void @fn_emith(ptr @.str2801)
call void @fn_emith(ptr @.str2802)
call void @fn_emith(ptr @.str2803)
call void @fn_emith(ptr @.str2804)
@@ -42797,14 +43325,6 @@ entry:
call void @fn_emith(ptr @.str2921)
call void @fn_emith(ptr @.str2922)
call void @fn_emith(ptr @.str2923)
- 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 @.str2924)
call void @fn_emith(ptr @.str2925)
call void @fn_emith(ptr @.str2926)
@@ -42835,6 +43355,14 @@ entry:
call void @fn_emith(ptr @.str2951)
call void @fn_emith(ptr @.str2952)
call void @fn_emith(ptr @.str2953)
+ 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 @.str2954)
call void @fn_emith(ptr @.str2955)
call void @fn_emith(ptr @.str2956)
@@ -42853,6 +43381,36 @@ entry:
call void @fn_emith(ptr @.str2969)
call void @fn_emith(ptr @.str2970)
call void @fn_emith(ptr @.str2971)
+ call void @fn_emith(ptr @.str2972)
+ call void @fn_emith(ptr @.str2973)
+ call void @fn_emith(ptr @.str2974)
+ call void @fn_emith(ptr @.str2975)
+ call void @fn_emith(ptr @.str2976)
+ call void @fn_emith(ptr @.str2977)
+ call void @fn_emith(ptr @.str2978)
+ call void @fn_emith(ptr @.str2979)
+ call void @fn_emith(ptr @.str2980)
+ call void @fn_emith(ptr @.str2981)
+ call void @fn_emith(ptr @.str2982)
+ call void @fn_emith(ptr @.str2983)
+ call void @fn_emith(ptr @.str2984)
+ call void @fn_emith(ptr @.str2985)
+ call void @fn_emith(ptr @.str2986)
+ call void @fn_emith(ptr @.str2987)
+ call void @fn_emith(ptr @.str2988)
+ call void @fn_emith(ptr @.str2989)
+ call void @fn_emith(ptr @.str2990)
+ call void @fn_emith(ptr @.str2991)
+ call void @fn_emith(ptr @.str2992)
+ call void @fn_emith(ptr @.str2993)
+ call void @fn_emith(ptr @.str2994)
+ call void @fn_emith(ptr @.str2995)
+ call void @fn_emith(ptr @.str2996)
+ call void @fn_emith(ptr @.str2997)
+ call void @fn_emith(ptr @.str2998)
+ call void @fn_emith(ptr @.str2999)
+ call void @fn_emith(ptr @.str3000)
+ call void @fn_emith(ptr @.str3001)
br label %ret
ret:
ret void
@@ -42870,14 +43428,14 @@ entry:
%t47 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str2972)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str3002)
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t3
br i1 %t6, label %scend1, label %sc0
sc0:
%t8 = load ptr, ptr %t0
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str2973)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str3003)
%t10 = icmp ne i32 %t9, 0
%t11 = zext i1 %t10 to i32
store i32 %t11, ptr %t3
@@ -42890,7 +43448,7 @@ scend1:
br i1 %t13, label %scend3, label %sc2
sc2:
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str2974)
+ %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str3004)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t2
@@ -42903,7 +43461,7 @@ scend3:
br i1 %t20, label %scend5, label %sc4
sc4:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str2975)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str3005)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
@@ -42917,14 +43475,14 @@ then6:
br label %ret
ifend8:
%t30 = load ptr, ptr %t0
- %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str2976)
+ %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3006)
%t32 = icmp ne i32 %t31, 0
%t33 = zext i1 %t32 to i32
store i32 %t33, ptr %t29
br i1 %t32, label %scend10, label %sc9
sc9:
%t34 = load ptr, ptr %t0
- %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str2977)
+ %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str3007)
%t36 = icmp ne i32 %t35, 0
%t37 = zext i1 %t36 to i32
store i32 %t37, ptr %t29
@@ -42937,7 +43495,7 @@ scend10:
br i1 %t39, label %scend12, label %sc11
sc11:
%t41 = load ptr, ptr %t0
- %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str2978)
+ %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str3008)
%t43 = icmp ne i32 %t42, 0
%t44 = zext i1 %t43 to i32
store i32 %t44, ptr %t28
@@ -42951,14 +43509,14 @@ then13:
br label %ret
ifend15:
%t48 = load ptr, ptr %t0
- %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str2979)
+ %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str3009)
%t50 = icmp ne i32 %t49, 0
%t51 = zext i1 %t50 to i32
store i32 %t51, ptr %t47
br i1 %t50, label %scend17, label %sc16
sc16:
%t52 = load ptr, ptr %t0
- %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str2980)
+ %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str3010)
%t54 = icmp ne i32 %t53, 0
%t55 = zext i1 %t54 to i32
store i32 %t55, ptr %t47
@@ -42995,14 +43553,14 @@ entry:
store i32 1, ptr @g_g_uses_cryptort
store i32 1, ptr @g_g_uses_uuidrt
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2981)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3011)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2982)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3012)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -43012,20 +43570,20 @@ scend1:
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then2, label %ifend4
then2:
- %t13 = call ptr @fn_emit_bind(ptr @.str2983)
- %t14 = call ptr @fn_val(ptr %t13, ptr @.str2984)
+ %t13 = call ptr @fn_emit_bind(ptr @.str3013)
+ %t14 = call ptr @fn_val(ptr %t13, ptr @.str3014)
store ptr %t14, ptr %retval
br label %ret
ifend4:
%t16 = load ptr, ptr %t0
- %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str2985)
+ %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str3015)
%t18 = icmp ne i32 %t17, 0
%t19 = zext i1 %t18 to i32
store i32 %t19, ptr %t15
br i1 %t18, label %scend6, label %sc5
sc5:
%t20 = load ptr, ptr %t0
- %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str2986)
+ %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str3016)
%t22 = icmp ne i32 %t21, 0
%t23 = zext i1 %t22 to i32
store i32 %t23, ptr %t15
@@ -43035,23 +43593,23 @@ scend6:
%t25 = icmp ne i32 %t24, 0
br i1 %t25, label %then7, label %ifend9
then7:
- %t26 = call ptr @fn_emit_bind(ptr @.str2987)
- %t27 = call ptr @fn_val(ptr %t26, ptr @.str2988)
+ %t26 = call ptr @fn_emit_bind(ptr @.str3017)
+ %t27 = call ptr @fn_val(ptr %t26, ptr @.str3018)
store ptr %t27, ptr %retval
br label %ret
ifend9:
%t28 = load ptr, ptr %t0
- %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str2989)
+ %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str3019)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then10, label %ifend12
then10:
- %t31 = call ptr @fn_emit_bind(ptr @.str2990)
- %t32 = call ptr @fn_val(ptr %t31, ptr @.str2991)
+ %t31 = call ptr @fn_emit_bind(ptr @.str3020)
+ %t32 = call ptr @fn_val(ptr %t31, ptr @.str3021)
store ptr %t32, ptr %retval
br label %ret
ifend12:
%t33 = load ptr, ptr %t0
- %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2992)
+ %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3022)
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then13, label %ifend15
then13:
@@ -43067,15 +43625,15 @@ then13:
%t45 = load ptr, ptr %t44
%t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0
%t47 = load ptr, ptr %t46
- %t48 = call ptr @fn_str_concat(ptr @.str2993, ptr %t47)
- %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str2994)
+ %t48 = call ptr @lp_str_concat(ptr @.str3023, ptr %t47)
+ %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str3024)
%t50 = call ptr @fn_emit_bind(ptr %t49)
- %t51 = call ptr @fn_val(ptr %t50, ptr @.str2995)
+ %t51 = call ptr @fn_val(ptr %t50, ptr @.str3025)
store ptr %t51, ptr %retval
br label %ret
ifend15:
%t52 = load ptr, ptr %t0
- %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str2996)
+ %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str3026)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then16, label %ifend18
then16:
@@ -43091,12 +43649,12 @@ then16:
%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 @.str2997)
+ %t67 = call ptr @fn_val(ptr %t66, ptr @.str3027)
store ptr %t67, ptr %retval
br label %ret
ifend18:
%t68 = load ptr, ptr %t0
- %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str2998)
+ %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str3028)
%t70 = icmp ne i32 %t69, 0
br i1 %t70, label %then19, label %ifend21
then19:
@@ -43121,15 +43679,15 @@ then19:
%t89 = load ptr, ptr %t79
%t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0
%t91 = load ptr, ptr %t90
- %t92 = call ptr @fn_str_concat(ptr @.str2999, ptr %t91)
- %t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str3000)
+ %t92 = call ptr @lp_str_concat(ptr @.str3029, ptr %t91)
+ %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str3030)
%t94 = load ptr, ptr %t88
%t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0
%t96 = load ptr, ptr %t95
- %t97 = call ptr @fn_str_concat(ptr %t93, ptr %t96)
- %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str3001)
+ %t97 = call ptr @lp_str_concat(ptr %t93, ptr %t96)
+ %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str3031)
%t99 = call ptr @fn_emit_bind(ptr %t98)
- %t100 = call ptr @fn_val(ptr %t99, ptr @.str3002)
+ %t100 = call ptr @fn_val(ptr %t99, ptr @.str3032)
store ptr %t100, ptr %retval
br label %ret
ifend21:
@@ -43145,10 +43703,10 @@ ifend21:
%t110 = load ptr, ptr %t109
%t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0
%t112 = load ptr, ptr %t111
- %t113 = call ptr @fn_str_concat(ptr @.str3003, ptr %t112)
- %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str3004)
+ %t113 = call ptr @lp_str_concat(ptr @.str3033, ptr %t112)
+ %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str3034)
%t115 = call ptr @fn_emit_bind(ptr %t114)
- %t116 = call ptr @fn_val(ptr %t115, ptr @.str3005)
+ %t116 = call ptr @fn_val(ptr %t115, ptr @.str3035)
store ptr %t116, ptr %retval
br label %ret
ret:
@@ -43158,36 +43716,6 @@ ret:
define void @fn_emit_uuid_prelude() {
entry:
- call void @fn_emith(ptr @.str3006)
- call void @fn_emith(ptr @.str3007)
- call void @fn_emith(ptr @.str3008)
- call void @fn_emith(ptr @.str3009)
- call void @fn_emith(ptr @.str3010)
- call void @fn_emith(ptr @.str3011)
- call void @fn_emith(ptr @.str3012)
- call void @fn_emith(ptr @.str3013)
- call void @fn_emith(ptr @.str3014)
- call void @fn_emith(ptr @.str3015)
- call void @fn_emith(ptr @.str3016)
- call void @fn_emith(ptr @.str3017)
- call void @fn_emith(ptr @.str3018)
- call void @fn_emith(ptr @.str3019)
- call void @fn_emith(ptr @.str3020)
- call void @fn_emith(ptr @.str3021)
- call void @fn_emith(ptr @.str3022)
- call void @fn_emith(ptr @.str3023)
- call void @fn_emith(ptr @.str3024)
- call void @fn_emith(ptr @.str3025)
- call void @fn_emith(ptr @.str3026)
- call void @fn_emith(ptr @.str3027)
- call void @fn_emith(ptr @.str3028)
- call void @fn_emith(ptr @.str3029)
- call void @fn_emith(ptr @.str3030)
- call void @fn_emith(ptr @.str3031)
- call void @fn_emith(ptr @.str3032)
- call void @fn_emith(ptr @.str3033)
- call void @fn_emith(ptr @.str3034)
- call void @fn_emith(ptr @.str3035)
call void @fn_emith(ptr @.str3036)
call void @fn_emith(ptr @.str3037)
call void @fn_emith(ptr @.str3038)
@@ -43232,6 +43760,36 @@ entry:
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)
br label %ret
ret:
ret void
@@ -43247,14 +43805,14 @@ entry:
%t21 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3080)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3110)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3081)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3111)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -43267,7 +43825,7 @@ scend1:
br i1 %t12, label %scend3, label %sc2
sc2:
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3082)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3112)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
@@ -43281,14 +43839,14 @@ then4:
br label %ret
ifend6:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3083)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str3113)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t21
br i1 %t24, label %scend8, label %sc7
sc7:
%t26 = load ptr, ptr %t0
- %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3084)
+ %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3114)
%t28 = icmp ne i32 %t27, 0
%t29 = zext i1 %t28 to i32
store i32 %t29, ptr %t21
@@ -43301,7 +43859,7 @@ scend8:
br i1 %t31, label %scend10, label %sc9
sc9:
%t33 = load ptr, ptr %t0
- %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3085)
+ %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3115)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t20
@@ -43315,7 +43873,7 @@ then11:
br label %ret
ifend13:
%t39 = load ptr, ptr %t0
- %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str3086)
+ %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str3116)
%t41 = icmp ne i32 %t40, 0
br i1 %t41, label %then14, label %ifend16
then14:
@@ -43358,7 +43916,7 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3087)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str3117)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -43374,21 +43932,21 @@ then0:
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
- %t17 = call ptr @fn_str_concat(ptr @.str3088, ptr %t16)
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3089)
+ %t17 = call ptr @lp_str_concat(ptr @.str3118, ptr %t16)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3119)
%t19 = call ptr @fn_emit_bind(ptr %t18)
store ptr %t19, ptr %t20
%t21 = load ptr, ptr %t20
- %t22 = call ptr @fn_str_concat(ptr @.str3090, ptr %t21)
- %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str3091)
+ %t22 = call ptr @lp_str_concat(ptr @.str3120, ptr %t21)
+ %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3121)
%t24 = call ptr @fn_emit_bind(ptr %t23)
- %t25 = call ptr @fn_val(ptr %t24, ptr @.str3092)
+ %t25 = call ptr @fn_val(ptr %t24, ptr @.str3122)
store ptr %t25, ptr %retval
br label %ret
ifend2:
store i32 1, ptr @g_g_uses_noisert
%t26 = load ptr, ptr %t0
- %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3093)
+ %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3123)
%t28 = icmp ne i32 %t27, 0
br i1 %t28, label %then3, label %ifend5
then3:
@@ -43422,25 +43980,25 @@ then3:
%t56 = load ptr, ptr %t37
%t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 0
%t58 = load ptr, ptr %t57
- %t59 = call ptr @fn_str_concat(ptr @.str3094, ptr %t58)
- %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str3095)
+ %t59 = call ptr @lp_str_concat(ptr @.str3124, ptr %t58)
+ %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str3125)
%t61 = load ptr, ptr %t46
%t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0
%t63 = load ptr, ptr %t62
- %t64 = call ptr @fn_str_concat(ptr %t60, ptr %t63)
- %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str3096)
+ %t64 = call ptr @lp_str_concat(ptr %t60, ptr %t63)
+ %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str3126)
%t66 = load ptr, ptr %t55
%t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0
%t68 = load ptr, ptr %t67
- %t69 = call ptr @fn_str_concat(ptr %t65, ptr %t68)
- %t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str3097)
+ %t69 = call ptr @lp_str_concat(ptr %t65, ptr %t68)
+ %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str3127)
%t71 = call ptr @fn_emit_bind(ptr %t70)
- %t72 = call ptr @fn_val(ptr %t71, ptr @.str3098)
+ %t72 = call ptr @fn_val(ptr %t71, ptr @.str3128)
store ptr %t72, ptr %retval
br label %ret
ifend5:
%t73 = load ptr, ptr %t0
- %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str3099)
+ %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str3129)
%t75 = icmp ne i32 %t74, 0
br i1 %t75, label %then6, label %ifend8
then6:
@@ -43474,25 +44032,25 @@ then6:
%t103 = load ptr, ptr %t84
%t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0
%t105 = load ptr, ptr %t104
- %t106 = call ptr @fn_str_concat(ptr @.str3100, ptr %t105)
- %t107 = call ptr @fn_str_concat(ptr %t106, ptr @.str3101)
+ %t106 = call ptr @lp_str_concat(ptr @.str3130, ptr %t105)
+ %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str3131)
%t108 = load ptr, ptr %t93
%t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0
%t110 = load ptr, ptr %t109
- %t111 = call ptr @fn_str_concat(ptr %t107, ptr %t110)
- %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str3102)
+ %t111 = call ptr @lp_str_concat(ptr %t107, ptr %t110)
+ %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str3132)
%t113 = load ptr, ptr %t102
%t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0
%t115 = load ptr, ptr %t114
- %t116 = call ptr @fn_str_concat(ptr %t112, ptr %t115)
- %t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str3103)
+ %t116 = call ptr @lp_str_concat(ptr %t112, ptr %t115)
+ %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str3133)
%t118 = call ptr @fn_emit_bind(ptr %t117)
- %t119 = call ptr @fn_val(ptr %t118, ptr @.str3104)
+ %t119 = call ptr @fn_val(ptr %t118, ptr @.str3134)
store ptr %t119, ptr %retval
br label %ret
ifend8:
%t120 = load ptr, ptr %t0
- %t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str3105)
+ %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str3135)
%t122 = icmp ne i32 %t121, 0
br i1 %t122, label %then9, label %ifend11
then9:
@@ -43526,25 +44084,25 @@ then9:
%t150 = load ptr, ptr %t131
%t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0
%t152 = load ptr, ptr %t151
- %t153 = call ptr @fn_str_concat(ptr @.str3106, ptr %t152)
- %t154 = call ptr @fn_str_concat(ptr %t153, ptr @.str3107)
+ %t153 = call ptr @lp_str_concat(ptr @.str3136, ptr %t152)
+ %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str3137)
%t155 = load ptr, ptr %t140
%t156 = getelementptr inbounds %Cmp_Val, ptr %t155, i32 0, i32 0
%t157 = load ptr, ptr %t156
- %t158 = call ptr @fn_str_concat(ptr %t154, ptr %t157)
- %t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str3108)
+ %t158 = call ptr @lp_str_concat(ptr %t154, ptr %t157)
+ %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str3138)
%t160 = load ptr, ptr %t149
%t161 = getelementptr inbounds %Cmp_Val, ptr %t160, i32 0, i32 0
%t162 = load ptr, ptr %t161
- %t163 = call ptr @fn_str_concat(ptr %t159, ptr %t162)
- %t164 = call ptr @fn_str_concat(ptr %t163, ptr @.str3109)
+ %t163 = call ptr @lp_str_concat(ptr %t159, ptr %t162)
+ %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str3139)
%t165 = call ptr @fn_emit_bind(ptr %t164)
- %t166 = call ptr @fn_val(ptr %t165, ptr @.str3110)
+ %t166 = call ptr @fn_val(ptr %t165, ptr @.str3140)
store ptr %t166, ptr %retval
br label %ret
ifend11:
%t167 = load ptr, ptr %t0
- %t168 = call i32 @fn_str_eq(ptr %t167, ptr @.str3111)
+ %t168 = call i32 @lp_str_eq(ptr %t167, ptr @.str3141)
%t169 = icmp ne i32 %t168, 0
br i1 %t169, label %then12, label %ifend14
then12:
@@ -43588,30 +44146,30 @@ then12:
%t206 = load ptr, ptr %t178
%t207 = getelementptr inbounds %Cmp_Val, ptr %t206, i32 0, i32 0
%t208 = load ptr, ptr %t207
- %t209 = call ptr @fn_str_concat(ptr @.str3112, ptr %t208)
- %t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str3113)
+ %t209 = call ptr @lp_str_concat(ptr @.str3142, ptr %t208)
+ %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str3143)
%t211 = load ptr, ptr %t187
%t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0
%t213 = load ptr, ptr %t212
- %t214 = call ptr @fn_str_concat(ptr %t210, ptr %t213)
- %t215 = call ptr @fn_str_concat(ptr %t214, ptr @.str3114)
+ %t214 = call ptr @lp_str_concat(ptr %t210, ptr %t213)
+ %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str3144)
%t216 = load ptr, ptr %t196
%t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0
%t218 = load ptr, ptr %t217
- %t219 = call ptr @fn_str_concat(ptr %t215, ptr %t218)
- %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str3115)
+ %t219 = call ptr @lp_str_concat(ptr %t215, ptr %t218)
+ %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str3145)
%t221 = load ptr, ptr %t205
%t222 = getelementptr inbounds %Cmp_Val, ptr %t221, i32 0, i32 0
%t223 = load ptr, ptr %t222
- %t224 = call ptr @fn_str_concat(ptr %t220, ptr %t223)
- %t225 = call ptr @fn_str_concat(ptr %t224, ptr @.str3116)
+ %t224 = call ptr @lp_str_concat(ptr %t220, ptr %t223)
+ %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str3146)
%t226 = call ptr @fn_emit_bind(ptr %t225)
- %t227 = call ptr @fn_val(ptr %t226, ptr @.str3117)
+ %t227 = call ptr @fn_val(ptr %t226, ptr @.str3147)
store ptr %t227, ptr %retval
br label %ret
ifend14:
%t228 = load ptr, ptr %t0
- %t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str3118)
+ %t229 = call i32 @lp_str_eq(ptr %t228, ptr @.str3148)
%t230 = icmp ne i32 %t229, 0
br i1 %t230, label %then15, label %ifend17
then15:
@@ -43646,20 +44204,20 @@ then15:
%t258 = load ptr, ptr %t239
%t259 = getelementptr inbounds %Cmp_Val, ptr %t258, i32 0, i32 0
%t260 = load ptr, ptr %t259
- %t261 = call ptr @fn_str_concat(ptr @.str3119, ptr %t260)
- %t262 = call ptr @fn_str_concat(ptr %t261, ptr @.str3120)
+ %t261 = call ptr @lp_str_concat(ptr @.str3149, ptr %t260)
+ %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str3150)
%t263 = load ptr, ptr %t248
%t264 = getelementptr inbounds %Cmp_Val, ptr %t263, i32 0, i32 0
%t265 = load ptr, ptr %t264
- %t266 = call ptr @fn_str_concat(ptr %t262, ptr %t265)
- %t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str3121)
+ %t266 = call ptr @lp_str_concat(ptr %t262, ptr %t265)
+ %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str3151)
%t268 = load ptr, ptr %t257
%t269 = getelementptr inbounds %Cmp_Val, ptr %t268, i32 0, i32 0
%t270 = load ptr, ptr %t269
- %t271 = call ptr @fn_str_concat(ptr %t267, ptr %t270)
- %t272 = call ptr @fn_str_concat(ptr %t271, ptr @.str3122)
+ %t271 = call ptr @lp_str_concat(ptr %t267, ptr %t270)
+ %t272 = call ptr @lp_str_concat(ptr %t271, ptr @.str3152)
%t273 = call ptr @fn_emit_bind(ptr %t272)
- %t274 = call ptr @fn_val(ptr %t273, ptr @.str3123)
+ %t274 = call ptr @fn_val(ptr %t273, ptr @.str3153)
store ptr %t274, ptr %retval
br label %ret
ifend17:
@@ -43693,20 +44251,20 @@ ifend17:
%t302 = load ptr, ptr %t283
%t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0
%t304 = load ptr, ptr %t303
- %t305 = call ptr @fn_str_concat(ptr @.str3124, ptr %t304)
- %t306 = call ptr @fn_str_concat(ptr %t305, ptr @.str3125)
+ %t305 = call ptr @lp_str_concat(ptr @.str3154, ptr %t304)
+ %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str3155)
%t307 = load ptr, ptr %t292
%t308 = getelementptr inbounds %Cmp_Val, ptr %t307, i32 0, i32 0
%t309 = load ptr, ptr %t308
- %t310 = call ptr @fn_str_concat(ptr %t306, ptr %t309)
- %t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str3126)
+ %t310 = call ptr @lp_str_concat(ptr %t306, ptr %t309)
+ %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str3156)
%t312 = load ptr, ptr %t301
%t313 = getelementptr inbounds %Cmp_Val, ptr %t312, i32 0, i32 0
%t314 = load ptr, ptr %t313
- %t315 = call ptr @fn_str_concat(ptr %t311, ptr %t314)
- %t316 = call ptr @fn_str_concat(ptr %t315, ptr @.str3127)
+ %t315 = call ptr @lp_str_concat(ptr %t311, ptr %t314)
+ %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str3157)
%t317 = call ptr @fn_emit_bind(ptr %t316)
- %t318 = call ptr @fn_val(ptr %t317, ptr @.str3128)
+ %t318 = call ptr @fn_val(ptr %t317, ptr @.str3158)
store ptr %t318, ptr %retval
br label %ret
ret:
@@ -43716,36 +44274,6 @@ ret:
define void @fn_emit_noise_prelude() {
entry:
- call void @fn_emith(ptr @.str3129)
- call void @fn_emith(ptr @.str3130)
- call void @fn_emith(ptr @.str3131)
- call void @fn_emith(ptr @.str3132)
- call void @fn_emith(ptr @.str3133)
- call void @fn_emith(ptr @.str3134)
- call void @fn_emith(ptr @.str3135)
- call void @fn_emith(ptr @.str3136)
- call void @fn_emith(ptr @.str3137)
- call void @fn_emith(ptr @.str3138)
- call void @fn_emith(ptr @.str3139)
- call void @fn_emith(ptr @.str3140)
- call void @fn_emith(ptr @.str3141)
- call void @fn_emith(ptr @.str3142)
- call void @fn_emith(ptr @.str3143)
- call void @fn_emith(ptr @.str3144)
- call void @fn_emith(ptr @.str3145)
- call void @fn_emith(ptr @.str3146)
- call void @fn_emith(ptr @.str3147)
- call void @fn_emith(ptr @.str3148)
- call void @fn_emith(ptr @.str3149)
- call void @fn_emith(ptr @.str3150)
- call void @fn_emith(ptr @.str3151)
- call void @fn_emith(ptr @.str3152)
- call void @fn_emith(ptr @.str3153)
- call void @fn_emith(ptr @.str3154)
- call void @fn_emith(ptr @.str3155)
- call void @fn_emith(ptr @.str3156)
- call void @fn_emith(ptr @.str3157)
- call void @fn_emith(ptr @.str3158)
call void @fn_emith(ptr @.str3159)
call void @fn_emith(ptr @.str3160)
call void @fn_emith(ptr @.str3161)
@@ -43800,14 +44328,6 @@ entry:
call void @fn_emith(ptr @.str3210)
call void @fn_emith(ptr @.str3211)
call void @fn_emith(ptr @.str3212)
- call void @fn_emit_noise_cellular()
- br label %ret
-ret:
- ret void
-}
-
-define void @fn_emit_noise_cellular() {
-entry:
call void @fn_emith(ptr @.str3213)
call void @fn_emith(ptr @.str3214)
call void @fn_emith(ptr @.str3215)
@@ -43832,6 +44352,44 @@ entry:
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_emit_noise_cellular()
+ br label %ret
+ret:
+ ret void
+}
+
+define void @fn_emit_noise_cellular() {
+entry:
+ 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)
br label %ret
ret:
ret void
@@ -43847,14 +44405,14 @@ entry:
%t31 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3237)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3267)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3238)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3268)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -43867,7 +44425,7 @@ scend1:
br i1 %t12, label %scend3, label %sc2
sc2:
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3239)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3269)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
@@ -43881,14 +44439,14 @@ then4:
br label %ret
ifend6:
%t21 = load ptr, ptr %t0
- %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3240)
+ %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3270)
%t23 = icmp ne i32 %t22, 0
%t24 = zext i1 %t23 to i32
store i32 %t24, ptr %t20
br i1 %t23, label %scend8, label %sc7
sc7:
%t25 = load ptr, ptr %t0
- %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str3241)
+ %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str3271)
%t27 = icmp ne i32 %t26, 0
%t28 = zext i1 %t27 to i32
store i32 %t28, ptr %t20
@@ -43902,14 +44460,14 @@ then9:
br label %ret
ifend11:
%t32 = load ptr, ptr %t0
- %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str3242)
+ %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str3272)
%t34 = icmp ne i32 %t33, 0
%t35 = zext i1 %t34 to i32
store i32 %t35, ptr %t31
br i1 %t34, label %scend13, label %sc12
sc12:
%t36 = load ptr, ptr %t0
- %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str3243)
+ %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str3273)
%t38 = icmp ne i32 %t37, 0
%t39 = zext i1 %t38 to i32
store i32 %t39, ptr %t31
@@ -43938,7 +44496,7 @@ entry:
%t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_llty(ptr %t3)
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str3244)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str3274)
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then0, label %ifend2
then0:
@@ -43952,7 +44510,7 @@ ifend2:
%t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 1
%t12 = load ptr, ptr %t11
%t13 = call ptr @fn_llty(ptr %t12)
- %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str3245)
+ %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str3275)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then3, label %ifend5
then3:
@@ -43960,8 +44518,8 @@ then3:
%t16 = load ptr, ptr %t0
%t17 = getelementptr inbounds %Cmp_Val, ptr %t16, i32 0, i32 0
%t18 = load ptr, ptr %t17
- %t19 = call ptr @fn_str_concat(ptr @.str3246, ptr %t18)
- %t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str3247)
+ %t19 = call ptr @lp_str_concat(ptr @.str3276, ptr %t18)
+ %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3277)
%t21 = call ptr @fn_emit_bind(ptr %t20)
store ptr %t21, ptr %retval
br label %ret
@@ -43970,8 +44528,8 @@ ifend5:
%t22 = load ptr, ptr %t0
%t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0
%t24 = load ptr, ptr %t23
- %t25 = call ptr @fn_str_concat(ptr @.str3248, ptr %t24)
- %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str3249)
+ %t25 = call ptr @lp_str_concat(ptr @.str3278, ptr %t24)
+ %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str3279)
%t27 = call ptr @fn_emit_bind(ptr %t26)
store ptr %t27, ptr %retval
br label %ret
@@ -43997,7 +44555,7 @@ entry:
store ptr %arg_e, ptr %t1
store i32 1, ptr @g_g_uses_logrt
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3250)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str3280)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -44013,65 +44571,65 @@ then0:
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
- %t17 = call ptr @fn_str_concat(ptr @.str3251, ptr %t16)
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3252)
+ %t17 = call ptr @lp_str_concat(ptr @.str3281, ptr %t16)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3282)
call void @fn_emit(ptr %t18)
- %t19 = call ptr @fn_val(ptr @.str3253, ptr @.str3254)
+ %t19 = call ptr @fn_val(ptr @.str3283, ptr @.str3284)
store ptr %t19, ptr %retval
br label %ret
ifend2:
%t20 = load ptr, ptr %t0
- %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str3255)
+ %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str3285)
%t22 = icmp ne i32 %t21, 0
br i1 %t22, label %then3, label %ifend5
then3:
- %t23 = call ptr @fn_emit_bind(ptr @.str3256)
- %t24 = call ptr @fn_val(ptr %t23, ptr @.str3257)
+ %t23 = call ptr @fn_emit_bind(ptr @.str3286)
+ %t24 = call ptr @fn_val(ptr %t23, ptr @.str3287)
store ptr %t24, ptr %retval
br label %ret
ifend5:
- store ptr @.str3258, ptr %t25
- store ptr @.str3259, ptr %t26
+ store ptr @.str3288, ptr %t25
+ store ptr @.str3289, ptr %t26
%t27 = load ptr, ptr %t0
- %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str3260)
+ %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str3290)
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then6, label %ifend8
then6:
- store ptr @.str3261, ptr %t25
- store ptr @.str3262, ptr %t26
+ store ptr @.str3291, ptr %t25
+ store ptr @.str3292, ptr %t26
br label %ifend8
ifend8:
%t30 = load ptr, ptr %t0
- %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str3263)
+ %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3293)
%t32 = icmp ne i32 %t31, 0
br i1 %t32, label %then9, label %ifend11
then9:
- store ptr @.str3264, ptr %t25
- store ptr @.str3265, ptr %t26
+ store ptr @.str3294, ptr %t25
+ store ptr @.str3295, ptr %t26
br label %ifend11
ifend11:
%t33 = load ptr, ptr %t0
- %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3266)
+ %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3296)
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then12, label %ifend14
then12:
- store ptr @.str3267, ptr %t25
- store ptr @.str3268, ptr %t26
+ store ptr @.str3297, ptr %t25
+ store ptr @.str3298, ptr %t26
br label %ifend14
ifend14:
%t36 = load ptr, ptr %t0
- %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str3269)
+ %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str3299)
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then15, label %ifend17
then15:
- store ptr @.str3270, ptr %t25
- store ptr @.str3271, ptr %t26
+ store ptr @.str3300, ptr %t25
+ store ptr @.str3301, 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 @.str3272)
+ %t41 = call ptr @fn_val(ptr %t40, ptr @.str3302)
store ptr %t41, ptr %t42
%t43 = load ptr, ptr %t1
%t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 7
@@ -44085,8 +44643,8 @@ ifend17:
%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 @.str3274)
- %t56 = call ptr @fn_emit_str_op(ptr @.str3273, ptr %t52, ptr %t55)
+ %t55 = call ptr @fn_val(ptr %t54, ptr @.str3304)
+ %t56 = call ptr @fn_emit_str_op(ptr @.str3303, ptr %t52, ptr %t55)
store ptr %t56, ptr %t42
store i32 1, ptr %t57
br label %wcond18
@@ -44125,26 +44683,26 @@ wbody19:
%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 @.str3276)
- %t91 = call ptr @fn_val(ptr %t90, ptr @.str3277)
- %t92 = call ptr @fn_emit_str_op(ptr @.str3275, ptr %t89, ptr %t91)
+ %t90 = call ptr @fn_emit_str_const(ptr @.str3306)
+ %t91 = call ptr @fn_val(ptr %t90, ptr @.str3307)
+ %t92 = call ptr @fn_emit_str_op(ptr @.str3305, 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 @.str3279)
- %t97 = call ptr @fn_emit_str_op(ptr @.str3278, ptr %t93, ptr %t96)
+ %t96 = call ptr @fn_val(ptr %t95, ptr @.str3309)
+ %t97 = call ptr @fn_emit_str_op(ptr @.str3308, ptr %t93, ptr %t96)
store ptr %t97, ptr %t42
%t98 = load ptr, ptr %t42
- %t99 = call ptr @fn_emit_str_const(ptr @.str3281)
- %t100 = call ptr @fn_val(ptr %t99, ptr @.str3282)
- %t101 = call ptr @fn_emit_str_op(ptr @.str3280, ptr %t98, ptr %t100)
+ %t99 = call ptr @fn_emit_str_const(ptr @.str3311)
+ %t100 = call ptr @fn_val(ptr %t99, ptr @.str3312)
+ %t101 = call ptr @fn_emit_str_op(ptr @.str3310, 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 @.str3284)
- %t106 = call ptr @fn_emit_str_op(ptr @.str3283, ptr %t102, ptr %t105)
+ %t105 = call ptr @fn_val(ptr %t104, ptr @.str3314)
+ %t106 = call ptr @fn_emit_str_op(ptr @.str3313, ptr %t102, ptr %t105)
store ptr %t106, ptr %t42
%t107 = load i32, ptr %t57
%t108 = add i32 %t107, 2
@@ -44152,15 +44710,15 @@ wbody19:
br label %wcond18
wend20:
%t109 = load ptr, ptr %t25
- %t110 = call ptr @fn_str_concat(ptr @.str3285, ptr %t109)
- %t111 = call ptr @fn_str_concat(ptr %t110, ptr @.str3286)
+ %t110 = call ptr @lp_str_concat(ptr @.str3315, ptr %t109)
+ %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str3316)
%t112 = load ptr, ptr %t42
%t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0
%t114 = load ptr, ptr %t113
- %t115 = call ptr @fn_str_concat(ptr %t111, ptr %t114)
- %t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str3287)
+ %t115 = call ptr @lp_str_concat(ptr %t111, ptr %t114)
+ %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str3317)
call void @fn_emit(ptr %t116)
- %t117 = call ptr @fn_val(ptr @.str3288, ptr @.str3289)
+ %t117 = call ptr @fn_val(ptr @.str3318, ptr @.str3319)
store ptr %t117, ptr %retval
br label %ret
ret:
@@ -44170,13 +44728,13 @@ ret:
define void @fn_emit_log_prelude() {
entry:
- call void @fn_emith(ptr @.str3290)
- call void @fn_emith(ptr @.str3291)
- call void @fn_emith(ptr @.str3292)
- call void @fn_emith(ptr @.str3293)
- call void @fn_emith(ptr @.str3294)
- call void @fn_emith(ptr @.str3295)
- call void @fn_emith(ptr @.str3296)
+ call void @fn_emith(ptr @.str3320)
+ call void @fn_emith(ptr @.str3321)
+ call void @fn_emith(ptr @.str3322)
+ call void @fn_emith(ptr @.str3323)
+ call void @fn_emith(ptr @.str3324)
+ call void @fn_emith(ptr @.str3325)
+ call void @fn_emith(ptr @.str3326)
br label %ret
ret:
ret void
@@ -44193,20 +44751,21 @@ entry:
%t39 = alloca i32
%t50 = alloca i32
%t51 = alloca i32
- %t69 = alloca i32
- %t80 = alloca i32
- %t81 = alloca i32
- %t82 = 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 @fn_str_eq(ptr %t3, ptr @.str3297)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3327)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3298)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3328)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -44219,7 +44778,7 @@ scend1:
br i1 %t12, label %scend3, label %sc2
sc2:
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3299)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3329)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
@@ -44233,14 +44792,14 @@ then4:
br label %ret
ifend6:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3300)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str3330)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t21
br i1 %t24, label %scend8, label %sc7
sc7:
%t26 = load ptr, ptr %t0
- %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3301)
+ %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3331)
%t28 = icmp ne i32 %t27, 0
%t29 = zext i1 %t28 to i32
store i32 %t29, ptr %t21
@@ -44253,7 +44812,7 @@ scend8:
br i1 %t31, label %scend10, label %sc9
sc9:
%t33 = load ptr, ptr %t0
- %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3302)
+ %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3332)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t20
@@ -44267,14 +44826,14 @@ then11:
br label %ret
ifend13:
%t40 = load ptr, ptr %t0
- %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str3303)
+ %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str3333)
%t42 = icmp ne i32 %t41, 0
%t43 = zext i1 %t42 to i32
store i32 %t43, ptr %t39
br i1 %t42, label %scend15, label %sc14
sc14:
%t44 = load ptr, ptr %t0
- %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str3304)
+ %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str3334)
%t46 = icmp ne i32 %t45, 0
%t47 = zext i1 %t46 to i32
store i32 %t47, ptr %t39
@@ -44287,113 +44846,126 @@ then16:
store i32 1, ptr %retval
br label %ret
ifend18:
- %t52 = load ptr, ptr %t0
- %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str3305)
- %t54 = icmp ne i32 %t53, 0
- %t55 = zext i1 %t54 to i32
- store i32 %t55, ptr %t51
- br i1 %t54, label %scend20, label %sc19
+ %t53 = load ptr, ptr %t0
+ %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str3335)
+ %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:
- %t56 = load ptr, ptr %t0
- %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str3306)
- %t58 = icmp ne i32 %t57, 0
- %t59 = zext i1 %t58 to i32
- store i32 %t59, ptr %t51
+ %t57 = load ptr, ptr %t0
+ %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str3336)
+ %t59 = icmp ne i32 %t58, 0
+ %t60 = zext i1 %t59 to i32
+ store i32 %t60, ptr %t52
br label %scend20
scend20:
- %t60 = load i32, ptr %t51
- %t61 = icmp ne i32 %t60, 0
- %t62 = zext i1 %t61 to i32
- store i32 %t62, ptr %t50
- br i1 %t61, label %scend22, label %sc21
+ %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:
- %t63 = load ptr, ptr %t0
- %t64 = call i32 @fn_str_eq(ptr %t63, ptr @.str3307)
- %t65 = icmp ne i32 %t64, 0
- %t66 = zext i1 %t65 to i32
- store i32 %t66, ptr %t50
+ %t64 = load ptr, ptr %t0
+ %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str3337)
+ %t66 = icmp ne i32 %t65, 0
+ %t67 = zext i1 %t66 to i32
+ store i32 %t67, ptr %t51
br label %scend22
scend22:
- %t67 = load i32, ptr %t50
- %t68 = icmp ne i32 %t67, 0
- br i1 %t68, label %then23, label %ifend25
-then23:
- store i32 1, ptr %retval
- br label %ret
-ifend25:
- %t70 = load ptr, ptr %t0
- %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str3308)
- %t72 = icmp ne i32 %t71, 0
- %t73 = zext i1 %t72 to i32
- store i32 %t73, ptr %t69
- br i1 %t72, label %scend27, label %sc26
-sc26:
- %t74 = load ptr, ptr %t0
- %t75 = call i32 @fn_str_eq(ptr %t74, ptr @.str3309)
+ %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 @.str3338)
+ %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
- %t77 = zext i1 %t76 to i32
- store i32 %t77, ptr %t69
- br label %scend27
-scend27:
- %t78 = load i32, ptr %t69
- %t79 = icmp ne i32 %t78, 0
- br i1 %t79, label %then28, label %ifend30
-then28:
+ br i1 %t76, label %then25, label %ifend27
+then25:
store i32 1, ptr %retval
br label %ret
-ifend30:
- %t83 = load ptr, ptr %t0
- %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str3310)
- %t85 = icmp ne i32 %t84, 0
- %t86 = zext i1 %t85 to i32
- store i32 %t86, ptr %t82
- br i1 %t85, label %scend32, label %sc31
-sc31:
- %t87 = load ptr, ptr %t0
- %t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str3311)
- %t89 = icmp ne i32 %t88, 0
- %t90 = zext i1 %t89 to i32
- store i32 %t90, ptr %t82
- br label %scend32
-scend32:
- %t91 = load i32, ptr %t82
- %t92 = icmp ne i32 %t91, 0
- %t93 = zext i1 %t92 to i32
- store i32 %t93, ptr %t81
- br i1 %t92, label %scend34, label %sc33
+ifend27:
+ %t78 = load ptr, ptr %t0
+ %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str3339)
+ %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 @.str3340)
+ %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 @.str3341)
+ %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:
- %t94 = load ptr, ptr %t0
- %t95 = call i32 @fn_str_eq(ptr %t94, ptr @.str3312)
- %t96 = icmp ne i32 %t95, 0
- %t97 = zext i1 %t96 to i32
- store i32 %t97, ptr %t81
+ %t95 = load ptr, ptr %t0
+ %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str3342)
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = zext i1 %t97 to i32
+ store i32 %t98, ptr %t90
br label %scend34
scend34:
- %t98 = load i32, ptr %t81
- %t99 = icmp ne i32 %t98, 0
- %t100 = zext i1 %t99 to i32
- store i32 %t100, ptr %t80
- br i1 %t99, label %scend36, label %sc35
+ %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:
- %t101 = load ptr, ptr %t0
- %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str3313)
- %t103 = icmp ne i32 %t102, 0
- %t104 = zext i1 %t103 to i32
- store i32 %t104, ptr %t80
+ %t102 = load ptr, ptr %t0
+ %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str3343)
+ %t104 = icmp ne i32 %t103, 0
+ %t105 = zext i1 %t104 to i32
+ store i32 %t105, ptr %t89
br label %scend36
scend36:
- %t105 = load i32, ptr %t80
- %t106 = icmp ne i32 %t105, 0
- br i1 %t106, label %then37, label %ifend39
-then37:
+ %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 @.str3344)
+ %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
-ifend39:
+ifend41:
store i32 0, ptr %retval
br label %ret
ret:
- %t107 = load i32, ptr %retval
- ret i32 %t107
+ %t115 = load i32, ptr %retval
+ ret i32 %t115
}
define ptr @fn_emit_os_ns(ptr %arg_meth, ptr %arg_e) {
@@ -44404,42 +44976,42 @@ entry:
%t18 = alloca ptr
%t20 = alloca ptr
%t29 = alloca ptr
- %t45 = alloca ptr
- %t63 = alloca ptr
- %t82 = alloca ptr
- %t89 = alloca ptr
+ %t50 = alloca ptr
+ %t68 = alloca ptr
+ %t87 = alloca ptr
%t94 = alloca ptr
- %t100 = alloca i32
- %t111 = alloca ptr
- %t123 = alloca ptr
- %t127 = alloca ptr
- %t134 = alloca ptr
- %t163 = alloca ptr
- %t172 = alloca ptr
- %t196 = alloca ptr
- %t205 = alloca ptr
- %t217 = alloca ptr
+ %t99 = alloca ptr
+ %t105 = alloca i32
+ %t116 = alloca ptr
+ %t128 = alloca ptr
+ %t132 = alloca ptr
+ %t139 = alloca ptr
+ %t168 = alloca ptr
+ %t177 = alloca ptr
+ %t201 = alloca ptr
+ %t210 = alloca ptr
%t222 = alloca ptr
- %t239 = alloca ptr
- %t246 = alloca ptr
+ %t227 = alloca ptr
+ %t244 = alloca ptr
%t251 = alloca ptr
- %t278 = alloca ptr
- %t297 = alloca ptr
- %t316 = 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 @fn_str_eq(ptr %t2, ptr @.str3314)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str3345)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
- %t5 = call ptr @fn_emit_bind(ptr @.str3315)
- %t6 = call ptr @fn_val(ptr %t5, ptr @.str3316)
+ %t5 = call ptr @fn_emit_bind(ptr @.str3346)
+ %t6 = call ptr @fn_val(ptr %t5, ptr @.str3347)
store ptr %t6, ptr %retval
br label %ret
ifend2:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3317)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3348)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
@@ -44452,401 +45024,412 @@ then3:
%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 @.str3318)
+ %t19 = call ptr @fn_emit_bind(ptr @.str3349)
store ptr %t19, ptr %t20
%t21 = load ptr, ptr %t20
- %t22 = call ptr @fn_str_concat(ptr @.str3319, ptr %t21)
- %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str3320)
+ %t22 = call ptr @lp_str_concat(ptr @.str3350, ptr %t21)
+ %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3351)
%t24 = load ptr, ptr %t18
%t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0
%t26 = load ptr, ptr %t25
- %t27 = call ptr @fn_str_concat(ptr %t23, ptr %t26)
+ %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 @fn_str_concat(ptr @.str3321, ptr %t30)
+ %t31 = call ptr @lp_str_concat(ptr @.str3352, ptr %t30)
%t32 = call ptr @fn_emit_bind(ptr %t31)
- %t33 = call ptr @fn_val(ptr %t32, ptr @.str3322)
+ %t33 = call ptr @fn_val(ptr %t32, ptr @.str3353)
store ptr %t33, ptr %retval
br label %ret
ifend5:
%t34 = load ptr, ptr %t0
- %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str3323)
+ %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str3354)
%t36 = icmp ne i32 %t35, 0
br i1 %t36, label %then6, label %ifend8
then6:
- %t37 = load ptr, ptr %t1
- %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 7
- %t39 = load ptr, ptr %t38
- %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0
- %t41 = load ptr, ptr %t40
- %t42 = getelementptr inbounds ptr, ptr %t41, i32 0
- %t43 = load ptr, ptr %t42
- %t44 = call ptr @fn_emit_expr(ptr %t43)
- store ptr %t44, ptr %t45
- %t46 = load ptr, ptr %t45
- %t47 = getelementptr inbounds %Cmp_Val, ptr %t46, i32 0, i32 0
- %t48 = load ptr, ptr %t47
- %t49 = call ptr @fn_str_concat(ptr @.str3324, ptr %t48)
- %t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str3325)
- call void @fn_emit(ptr %t50)
- call void @fn_emit(ptr @.str3326)
- store i32 1, ptr @g_g_term
- %t51 = call ptr @fn_val(ptr @.str3327, ptr @.str3328)
- store ptr %t51, ptr %retval
+ store i32 1, ptr @g_g_uses_pid
+ %t37 = call ptr @fn_emit_bind(ptr @.str3355)
+ %t38 = call ptr @fn_val(ptr %t37, ptr @.str3356)
+ store ptr %t38, ptr %retval
br label %ret
ifend8:
- %t52 = load ptr, ptr %t0
- %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str3329)
- %t54 = icmp ne i32 %t53, 0
- br i1 %t54, label %then9, label %ifend11
+ %t39 = load ptr, ptr %t0
+ %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str3357)
+ %t41 = icmp ne i32 %t40, 0
+ br i1 %t41, label %then9, label %ifend11
then9:
- %t55 = load ptr, ptr %t1
- %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
- %t57 = load ptr, ptr %t56
- %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0
- %t59 = load ptr, ptr %t58
- %t60 = getelementptr inbounds ptr, ptr %t59, i32 0
- %t61 = load ptr, ptr %t60
- %t62 = call ptr @fn_emit_expr(ptr %t61)
- store ptr %t62, ptr %t63
- %t64 = load ptr, ptr %t63
- %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0
- %t66 = load ptr, ptr %t65
- %t67 = call ptr @fn_str_concat(ptr @.str3330, ptr %t66)
- %t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str3331)
- %t69 = call ptr @fn_emit_bind(ptr %t68)
- %t70 = call ptr @fn_val(ptr %t69, ptr @.str3332)
- store ptr %t70, ptr %retval
+ %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 @.str3358, ptr %t53)
+ %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str3359)
+ call void @fn_emit(ptr %t55)
+ call void @fn_emit(ptr @.str3360)
+ store i32 1, ptr @g_g_term
+ %t56 = call ptr @fn_val(ptr @.str3361, ptr @.str3362)
+ store ptr %t56, ptr %retval
br label %ret
ifend11:
- %t71 = load ptr, ptr %t0
- %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str3333)
- %t73 = icmp ne i32 %t72, 0
- br i1 %t73, label %then12, label %ifend14
+ %t57 = load ptr, ptr %t0
+ %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str3363)
+ %t59 = icmp ne i32 %t58, 0
+ br i1 %t59, label %then12, label %ifend14
then12:
- %t74 = load ptr, ptr %t1
- %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 7
- %t76 = load ptr, ptr %t75
- %t77 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0
- %t78 = load ptr, ptr %t77
- %t79 = getelementptr inbounds ptr, ptr %t78, i32 0
- %t80 = load ptr, ptr %t79
- %t81 = call ptr @fn_emit_expr(ptr %t80)
- store ptr %t81, ptr %t82
+ %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 @.str3364, ptr %t71)
+ %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str3365)
+ %t74 = call ptr @fn_emit_bind(ptr %t73)
+ %t75 = call ptr @fn_val(ptr %t74, ptr @.str3366)
+ store ptr %t75, ptr %retval
+ br label %ret
+ifend14:
+ %t76 = load ptr, ptr %t0
+ %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str3367)
+ %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 %Cmp_Val, ptr %t83, i32 0, i32 0
+ %t84 = getelementptr inbounds ptr, ptr %t83, i32 0
%t85 = load ptr, ptr %t84
- %t86 = call ptr @fn_str_concat(ptr @.str3334, ptr %t85)
- %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str3335)
- %t88 = call ptr @fn_emit_bind(ptr %t87)
- store ptr %t88, ptr %t89
+ %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 @fn_str_concat(ptr @.str3336, ptr %t90)
- %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str3337)
+ %t91 = call ptr @lp_str_concat(ptr @.str3368, ptr %t90)
+ %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str3369)
%t93 = call ptr @fn_emit_bind(ptr %t92)
store ptr %t93, ptr %t94
%t95 = load ptr, ptr %t94
- %t96 = call ptr @fn_str_concat(ptr @.str3338, ptr %t95)
- %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str3339)
+ %t96 = call ptr @lp_str_concat(ptr @.str3370, ptr %t95)
+ %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str3371)
%t98 = call ptr @fn_emit_bind(ptr %t97)
- %t99 = call ptr @fn_val(ptr %t98, ptr @.str3340)
- store ptr %t99, ptr %retval
+ store ptr %t98, ptr %t99
+ %t100 = load ptr, ptr %t99
+ %t101 = call ptr @lp_str_concat(ptr @.str3372, ptr %t100)
+ %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str3373)
+ %t103 = call ptr @fn_emit_bind(ptr %t102)
+ %t104 = call ptr @fn_val(ptr %t103, ptr @.str3374)
+ store ptr %t104, ptr %retval
br label %ret
-ifend14:
- %t101 = load ptr, ptr %t0
- %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str3341)
- %t103 = icmp ne i32 %t102, 0
- %t104 = zext i1 %t103 to i32
- store i32 %t104, ptr %t100
- br i1 %t103, label %scend16, label %sc15
-sc15:
- %t105 = load ptr, ptr %t0
- %t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str3342)
- %t107 = icmp ne i32 %t106, 0
- %t108 = zext i1 %t107 to i32
- store i32 %t108, ptr %t100
- br label %scend16
-scend16:
- %t109 = load i32, ptr %t100
- %t110 = icmp ne i32 %t109, 0
- br i1 %t110, label %then17, label %ifend19
-then17:
- store ptr @.str3343, ptr %t111
- %t112 = load ptr, ptr %t0
- %t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str3344)
- %t114 = icmp ne i32 %t113, 0
- br i1 %t114, label %then20, label %ifend22
+ifend17:
+ %t106 = load ptr, ptr %t0
+ %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str3375)
+ %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 @.str3376)
+ %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 ptr @.str3345, ptr %t111
- br label %ifend22
-ifend22:
- %t115 = load ptr, ptr %t1
- %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 7
- %t117 = load ptr, ptr %t116
- %t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0
- %t119 = load ptr, ptr %t118
- %t120 = getelementptr inbounds ptr, ptr %t119, i32 0
- %t121 = load ptr, ptr %t120
- %t122 = call ptr @fn_emit_expr(ptr %t121)
- store ptr %t122, ptr %t123
- %t124 = load ptr, ptr %t111
- %t125 = call ptr @fn_str_concat(ptr @.str3346, ptr %t124)
- %t126 = call ptr @fn_emit_bind(ptr %t125)
- store ptr %t126, ptr %t127
- %t128 = load ptr, ptr %t123
- %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0
- %t130 = load ptr, ptr %t129
- %t131 = call ptr @fn_str_concat(ptr @.str3347, ptr %t130)
- %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str3348)
- %t133 = call ptr @fn_emit_bind(ptr %t132)
- store ptr %t133, ptr %t134
- %t135 = load ptr, ptr %t123
- %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0
- %t137 = load ptr, ptr %t136
- %t138 = call ptr @fn_str_concat(ptr @.str3349, ptr %t137)
- %t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str3350)
- %t140 = load ptr, ptr %t134
- %t141 = call ptr @fn_str_concat(ptr %t139, ptr %t140)
- %t142 = call ptr @fn_str_concat(ptr %t141, ptr @.str3351)
- %t143 = load ptr, ptr %t127
- %t144 = call ptr @fn_str_concat(ptr %t142, ptr %t143)
- %t145 = call ptr @fn_str_concat(ptr %t144, ptr @.str3352)
- call void @fn_emit(ptr %t145)
- %t146 = call ptr @fn_val(ptr @.str3353, ptr @.str3354)
- store ptr %t146, ptr %retval
- br label %ret
-ifend19:
- store i32 1, ptr @g_g_uses_osrt
- %t147 = load ptr, ptr %t0
- %t148 = call i32 @fn_str_eq(ptr %t147, ptr @.str3355)
- %t149 = icmp ne i32 %t148, 0
- br i1 %t149, label %then23, label %ifend25
+ store ptr @.str3377, ptr %t116
+ %t117 = load ptr, ptr %t0
+ %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str3378)
+ %t119 = icmp ne i32 %t118, 0
+ br i1 %t119, label %then23, label %ifend25
then23:
- %t150 = call ptr @fn_emit_bind(ptr @.str3356)
- %t151 = call ptr @fn_val(ptr %t150, ptr @.str3357)
+ store ptr @.str3379, 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 ptr, ptr %t116
+ %t130 = call ptr @lp_str_concat(ptr @.str3380, ptr %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 @.str3381, ptr %t135)
+ %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str3382)
+ %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 @.str3383, ptr %t142)
+ %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str3384)
+ %t145 = load ptr, ptr %t139
+ %t146 = call ptr @lp_str_concat(ptr %t144, ptr %t145)
+ %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str3385)
+ %t148 = load ptr, ptr %t132
+ %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148)
+ %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str3386)
+ call void @fn_emit(ptr %t150)
+ %t151 = call ptr @fn_val(ptr @.str3387, ptr @.str3388)
store ptr %t151, ptr %retval
br label %ret
-ifend25:
+ifend22:
+ store i32 1, ptr @g_g_uses_osrt
%t152 = load ptr, ptr %t0
- %t153 = call i32 @fn_str_eq(ptr %t152, ptr @.str3358)
+ %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str3389)
%t154 = icmp ne i32 %t153, 0
br i1 %t154, label %then26, label %ifend28
then26:
- %t155 = load ptr, ptr %t1
- %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 7
- %t157 = load ptr, ptr %t156
- %t158 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0
- %t159 = load ptr, ptr %t158
- %t160 = getelementptr inbounds ptr, ptr %t159, i32 0
- %t161 = load ptr, ptr %t160
- %t162 = call ptr @fn_emit_expr(ptr %t161)
- store ptr %t162, ptr %t163
- %t164 = load ptr, ptr %t1
- %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 7
- %t166 = load ptr, ptr %t165
- %t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0
- %t168 = load ptr, ptr %t167
- %t169 = getelementptr inbounds ptr, ptr %t168, i32 1
- %t170 = load ptr, ptr %t169
- %t171 = call ptr @fn_emit_expr(ptr %t170)
- store ptr %t171, ptr %t172
- %t173 = load ptr, ptr %t163
- %t174 = getelementptr inbounds %Cmp_Val, ptr %t173, i32 0, i32 0
- %t175 = load ptr, ptr %t174
- %t176 = call ptr @fn_str_concat(ptr @.str3359, ptr %t175)
- %t177 = call ptr @fn_str_concat(ptr %t176, ptr @.str3360)
- %t178 = load ptr, ptr %t172
- %t179 = getelementptr inbounds %Cmp_Val, ptr %t178, i32 0, i32 0
- %t180 = load ptr, ptr %t179
- %t181 = call ptr @fn_str_concat(ptr %t177, ptr %t180)
- %t182 = call ptr @fn_str_concat(ptr %t181, ptr @.str3361)
- %t183 = call ptr @fn_emit_bind(ptr %t182)
- %t184 = call ptr @fn_val(ptr %t183, ptr @.str3362)
- store ptr %t184, ptr %retval
+ %t155 = call ptr @fn_emit_bind(ptr @.str3390)
+ %t156 = call ptr @fn_val(ptr %t155, ptr @.str3391)
+ store ptr %t156, ptr %retval
br label %ret
ifend28:
- %t185 = load ptr, ptr %t0
- %t186 = call i32 @fn_str_eq(ptr %t185, ptr @.str3363)
- %t187 = icmp ne i32 %t186, 0
- br i1 %t187, label %then29, label %ifend31
+ %t157 = load ptr, ptr %t0
+ %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str3392)
+ %t159 = icmp ne i32 %t158, 0
+ br i1 %t159, label %then29, label %ifend31
then29:
- %t188 = load ptr, ptr %t1
- %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 7
- %t190 = load ptr, ptr %t189
- %t191 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0
- %t192 = load ptr, ptr %t191
- %t193 = getelementptr inbounds ptr, ptr %t192, i32 0
- %t194 = load ptr, ptr %t193
- %t195 = call ptr @fn_emit_expr(ptr %t194)
- store ptr %t195, ptr %t196
- %t197 = load ptr, ptr %t1
- %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 7
+ %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 @.str3393, ptr %t180)
+ %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str3394)
+ %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 @.str3395)
+ %t188 = call ptr @fn_emit_bind(ptr %t187)
+ %t189 = call ptr @fn_val(ptr %t188, ptr @.str3396)
+ store ptr %t189, ptr %retval
+ br label %ret
+ifend31:
+ %t190 = load ptr, ptr %t0
+ %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str3397)
+ %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 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0
- %t201 = load ptr, ptr %t200
- %t202 = getelementptr inbounds ptr, ptr %t201, i32 1
- %t203 = load ptr, ptr %t202
- %t204 = call ptr @fn_emit_expr(ptr %t203)
- store ptr %t204, ptr %t205
- %t206 = load ptr, ptr %t196
- %t207 = getelementptr inbounds %Cmp_Val, ptr %t206, i32 0, i32 0
+ %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_str_concat(ptr @.str3364, ptr %t208)
- %t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str3365)
- %t211 = load ptr, ptr %t205
+ %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 @fn_str_concat(ptr %t210, ptr %t213)
- %t215 = call ptr @fn_str_concat(ptr %t214, ptr @.str3366)
- %t216 = call ptr @fn_emit_bind(ptr %t215)
- store ptr %t216, ptr %t217
+ %t214 = call ptr @lp_str_concat(ptr @.str3398, ptr %t213)
+ %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str3399)
+ %t216 = load ptr, ptr %t210
+ %t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0
%t218 = load ptr, ptr %t217
- %t219 = call ptr @fn_str_concat(ptr @.str3367, ptr %t218)
- %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str3368)
+ %t219 = call ptr @lp_str_concat(ptr %t215, ptr %t218)
+ %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str3400)
%t221 = call ptr @fn_emit_bind(ptr %t220)
store ptr %t221, ptr %t222
%t223 = load ptr, ptr %t222
- %t224 = call ptr @fn_str_concat(ptr @.str3369, ptr %t223)
- %t225 = call ptr @fn_str_concat(ptr %t224, ptr @.str3370)
+ %t224 = call ptr @lp_str_concat(ptr @.str3401, ptr %t223)
+ %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str3402)
%t226 = call ptr @fn_emit_bind(ptr %t225)
- %t227 = call ptr @fn_val(ptr %t226, ptr @.str3371)
- store ptr %t227, ptr %retval
+ store ptr %t226, ptr %t227
+ %t228 = load ptr, ptr %t227
+ %t229 = call ptr @lp_str_concat(ptr @.str3403, ptr %t228)
+ %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str3404)
+ %t231 = call ptr @fn_emit_bind(ptr %t230)
+ %t232 = call ptr @fn_val(ptr %t231, ptr @.str3405)
+ store ptr %t232, ptr %retval
br label %ret
-ifend31:
- %t228 = load ptr, ptr %t0
- %t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str3372)
- %t230 = icmp ne i32 %t229, 0
- br i1 %t230, label %then32, label %ifend34
-then32:
- %t231 = load ptr, ptr %t1
- %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 7
- %t233 = load ptr, ptr %t232
- %t234 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 0
- %t235 = load ptr, ptr %t234
- %t236 = getelementptr inbounds ptr, ptr %t235, i32 0
- %t237 = load ptr, ptr %t236
- %t238 = call ptr @fn_emit_expr(ptr %t237)
- store ptr %t238, ptr %t239
+ifend34:
+ %t233 = load ptr, ptr %t0
+ %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str3406)
+ %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 %Cmp_Val, ptr %t240, i32 0, i32 0
+ %t241 = getelementptr inbounds ptr, ptr %t240, i32 0
%t242 = load ptr, ptr %t241
- %t243 = call ptr @fn_str_concat(ptr @.str3373, ptr %t242)
- %t244 = call ptr @fn_str_concat(ptr %t243, ptr @.str3374)
- %t245 = call ptr @fn_emit_bind(ptr %t244)
- store ptr %t245, ptr %t246
+ %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 @fn_str_concat(ptr @.str3375, ptr %t247)
- %t249 = call ptr @fn_str_concat(ptr %t248, ptr @.str3376)
+ %t248 = call ptr @lp_str_concat(ptr @.str3407, ptr %t247)
+ %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str3408)
%t250 = call ptr @fn_emit_bind(ptr %t249)
store ptr %t250, ptr %t251
%t252 = load ptr, ptr %t251
- %t253 = call ptr @fn_str_concat(ptr @.str3377, ptr %t252)
- %t254 = call ptr @fn_str_concat(ptr %t253, ptr @.str3378)
+ %t253 = call ptr @lp_str_concat(ptr @.str3409, ptr %t252)
+ %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str3410)
%t255 = call ptr @fn_emit_bind(ptr %t254)
- %t256 = call ptr @fn_val(ptr %t255, ptr @.str3379)
- store ptr %t256, ptr %retval
- br label %ret
-ifend34:
- %t257 = load ptr, ptr %t0
- %t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str3380)
- %t259 = icmp ne i32 %t258, 0
- br i1 %t259, label %then35, label %ifend37
-then35:
- %t260 = call ptr @fn_emit_bind(ptr @.str3381)
- %t261 = call ptr @fn_val(ptr %t260, ptr @.str3382)
+ store ptr %t255, ptr %t256
+ %t257 = load ptr, ptr %t256
+ %t258 = call ptr @lp_str_concat(ptr @.str3411, ptr %t257)
+ %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str3412)
+ %t260 = call ptr @fn_emit_bind(ptr %t259)
+ %t261 = call ptr @fn_val(ptr %t260, ptr @.str3413)
store ptr %t261, ptr %retval
br label %ret
ifend37:
%t262 = load ptr, ptr %t0
- %t263 = call i32 @fn_str_eq(ptr %t262, ptr @.str3383)
+ %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str3414)
%t264 = icmp ne i32 %t263, 0
br i1 %t264, label %then38, label %ifend40
then38:
- %t265 = call ptr @fn_emit_bind(ptr @.str3384)
- %t266 = call ptr @fn_val(ptr %t265, ptr @.str3385)
+ %t265 = call ptr @fn_emit_bind(ptr @.str3415)
+ %t266 = call ptr @fn_val(ptr %t265, ptr @.str3416)
store ptr %t266, ptr %retval
br label %ret
ifend40:
%t267 = load ptr, ptr %t0
- %t268 = call i32 @fn_str_eq(ptr %t267, ptr @.str3386)
+ %t268 = call i32 @lp_str_eq(ptr %t267, ptr @.str3417)
%t269 = icmp ne i32 %t268, 0
br i1 %t269, label %then41, label %ifend43
then41:
- %t270 = load ptr, ptr %t1
- %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 7
- %t272 = load ptr, ptr %t271
- %t273 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 0
- %t274 = load ptr, ptr %t273
- %t275 = getelementptr inbounds ptr, ptr %t274, i32 0
- %t276 = load ptr, ptr %t275
- %t277 = call ptr @fn_emit_expr(ptr %t276)
- store ptr %t277, ptr %t278
- %t279 = load ptr, ptr %t278
- %t280 = getelementptr inbounds %Cmp_Val, ptr %t279, i32 0, i32 0
- %t281 = load ptr, ptr %t280
- %t282 = call ptr @fn_str_concat(ptr @.str3387, ptr %t281)
- %t283 = call ptr @fn_str_concat(ptr %t282, ptr @.str3388)
- %t284 = call ptr @fn_emit_bind(ptr %t283)
- %t285 = call ptr @fn_val(ptr %t284, ptr @.str3389)
- store ptr %t285, ptr %retval
+ %t270 = call ptr @fn_emit_bind(ptr @.str3418)
+ %t271 = call ptr @fn_val(ptr %t270, ptr @.str3419)
+ store ptr %t271, ptr %retval
br label %ret
ifend43:
- %t286 = load ptr, ptr %t0
- %t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str3390)
- %t288 = icmp ne i32 %t287, 0
- br i1 %t288, label %then44, label %ifend46
+ %t272 = load ptr, ptr %t0
+ %t273 = call i32 @lp_str_eq(ptr %t272, ptr @.str3420)
+ %t274 = icmp ne i32 %t273, 0
+ br i1 %t274, label %then44, label %ifend46
then44:
- %t289 = load ptr, ptr %t1
- %t290 = getelementptr inbounds %Cmp_Node, ptr %t289, i32 0, i32 7
- %t291 = load ptr, ptr %t290
- %t292 = getelementptr inbounds %LSlice, ptr %t291, i32 0, i32 0
- %t293 = load ptr, ptr %t292
- %t294 = getelementptr inbounds ptr, ptr %t293, i32 0
- %t295 = load ptr, ptr %t294
- %t296 = call ptr @fn_emit_expr(ptr %t295)
- store ptr %t296, ptr %t297
- %t298 = load ptr, ptr %t297
- %t299 = getelementptr inbounds %Cmp_Val, ptr %t298, i32 0, i32 0
- %t300 = load ptr, ptr %t299
- %t301 = call ptr @fn_str_concat(ptr @.str3391, ptr %t300)
- %t302 = call ptr @fn_str_concat(ptr %t301, ptr @.str3392)
- %t303 = call ptr @fn_emit_bind(ptr %t302)
- %t304 = call ptr @fn_val(ptr %t303, ptr @.str3393)
- store ptr %t304, ptr %retval
+ %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 @.str3421, ptr %t286)
+ %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str3422)
+ %t289 = call ptr @fn_emit_bind(ptr %t288)
+ %t290 = call ptr @fn_val(ptr %t289, ptr @.str3423)
+ store ptr %t290, ptr %retval
br label %ret
ifend46:
- %t305 = load ptr, ptr %t0
- %t306 = call i32 @fn_str_eq(ptr %t305, ptr @.str3394)
- %t307 = icmp ne i32 %t306, 0
- br i1 %t307, label %then47, label %ifend49
+ %t291 = load ptr, ptr %t0
+ %t292 = call i32 @lp_str_eq(ptr %t291, ptr @.str3424)
+ %t293 = icmp ne i32 %t292, 0
+ br i1 %t293, label %then47, label %ifend49
then47:
- %t308 = load ptr, ptr %t1
- %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 7
- %t310 = load ptr, ptr %t309
- %t311 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 0
- %t312 = load ptr, ptr %t311
- %t313 = getelementptr inbounds ptr, ptr %t312, i32 0
- %t314 = load ptr, ptr %t313
- %t315 = call ptr @fn_emit_expr(ptr %t314)
- store ptr %t315, ptr %t316
- %t317 = load ptr, ptr %t316
- %t318 = getelementptr inbounds %Cmp_Val, ptr %t317, i32 0, i32 0
- %t319 = load ptr, ptr %t318
- %t320 = call ptr @fn_str_concat(ptr @.str3395, ptr %t319)
- %t321 = call ptr @fn_str_concat(ptr %t320, ptr @.str3396)
- %t322 = call ptr @fn_emit_bind(ptr %t321)
- %t323 = call ptr @fn_val(ptr %t322, ptr @.str3397)
- store ptr %t323, ptr %retval
+ %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 @.str3425, ptr %t305)
+ %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str3426)
+ %t308 = call ptr @fn_emit_bind(ptr %t307)
+ %t309 = call ptr @fn_val(ptr %t308, ptr @.str3427)
+ store ptr %t309, ptr %retval
br label %ret
ifend49:
- %t324 = call ptr @fn_emit_bind(ptr @.str3398)
- %t325 = call ptr @fn_val(ptr %t324, ptr @.str3399)
- store ptr %t325, ptr %retval
+ %t310 = load ptr, ptr %t0
+ %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str3428)
+ %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 @.str3429, ptr %t324)
+ %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str3430)
+ %t327 = call ptr @fn_emit_bind(ptr %t326)
+ %t328 = call ptr @fn_val(ptr %t327, ptr @.str3431)
+ store ptr %t328, ptr %retval
+ br label %ret
+ifend52:
+ %t329 = call ptr @fn_emit_bind(ptr @.str3432)
+ %t330 = call ptr @fn_val(ptr %t329, ptr @.str3433)
+ store ptr %t330, ptr %retval
br label %ret
ret:
- %t326 = load ptr, ptr %retval
- ret ptr %t326
+ %t331 = load ptr, ptr %retval
+ ret ptr %t331
}
define void @fn_emit_os_prelude() {
@@ -44861,96 +45444,96 @@ entry:
%t15 = alloca ptr
%t17 = alloca ptr
%t19 = alloca ptr
- call void @fn_emith(ptr @.str3400)
- call void @fn_emith(ptr @.str3401)
- call void @fn_emith(ptr @.str3402)
- %t0 = call ptr @fn_emit_str_const(ptr @.str3403)
+ call void @fn_emith(ptr @.str3434)
+ call void @fn_emith(ptr @.str3435)
+ call void @fn_emith(ptr @.str3436)
+ %t0 = call ptr @fn_emit_str_const(ptr @.str3437)
store ptr %t0, ptr %t1
- %t2 = call ptr @fn_emit_str_const(ptr @.str3404)
+ %t2 = call ptr @fn_emit_str_const(ptr @.str3438)
store ptr %t2, ptr %t3
- %t4 = call ptr @fn_emit_str_const(ptr @.str3405)
+ %t4 = call ptr @fn_emit_str_const(ptr @.str3439)
store ptr %t4, ptr %t5
- %t6 = call ptr @fn_emit_str_const(ptr @.str3406)
+ %t6 = call ptr @fn_emit_str_const(ptr @.str3440)
store ptr %t6, ptr %t7
- %t8 = call ptr @fn_emit_str_const(ptr @.str3407)
+ %t8 = call ptr @fn_emit_str_const(ptr @.str3441)
store ptr %t8, ptr %t9
- %t10 = call ptr @fn_emit_str_const(ptr @.str3408)
+ %t10 = call ptr @fn_emit_str_const(ptr @.str3442)
store ptr %t10, ptr %t11
- %t12 = call ptr @fn_emit_str_const(ptr @.str3409)
+ %t12 = call ptr @fn_emit_str_const(ptr @.str3443)
store ptr %t12, ptr %t13
- %t14 = call ptr @fn_emit_str_const(ptr @.str3410)
+ %t14 = call ptr @fn_emit_str_const(ptr @.str3444)
store ptr %t14, ptr %t15
- %t16 = call ptr @fn_emit_str_const(ptr @.str3411)
+ %t16 = call ptr @fn_emit_str_const(ptr @.str3445)
store ptr %t16, ptr %t17
- %t18 = call ptr @fn_emit_str_const(ptr @.str3412)
+ %t18 = call ptr @fn_emit_str_const(ptr @.str3446)
store ptr %t18, ptr %t19
- call void @fn_emith(ptr @.str3413)
- call void @fn_emith(ptr @.str3414)
- call void @fn_emith(ptr @.str3415)
- call void @fn_emith(ptr @.str3416)
- call void @fn_emith(ptr @.str3417)
- call void @fn_emith(ptr @.str3418)
- call void @fn_emith(ptr @.str3419)
- call void @fn_emith(ptr @.str3420)
- call void @fn_emith(ptr @.str3421)
- call void @fn_emith(ptr @.str3422)
- call void @fn_emith(ptr @.str3423)
- call void @fn_emith(ptr @.str3424)
- %t20 = load ptr, ptr %t1
- %t21 = call ptr @fn_str_concat(ptr @.str3425, ptr %t20)
- %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str3426)
- %t23 = load ptr, ptr %t3
- %t24 = call ptr @fn_str_concat(ptr %t22, ptr %t23)
- %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str3427)
- call void @fn_emith(ptr %t25)
- %t26 = load ptr, ptr %t5
- %t27 = call ptr @fn_str_concat(ptr @.str3428, ptr %t26)
- %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3429)
- call void @fn_emith(ptr %t28)
- %t29 = load ptr, ptr %t5
- %t30 = call ptr @fn_str_concat(ptr @.str3430, ptr %t29)
- %t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str3431)
- call void @fn_emith(ptr %t31)
- %t32 = load ptr, ptr %t7
- %t33 = call ptr @fn_str_concat(ptr @.str3432, ptr %t32)
- %t34 = call ptr @fn_str_concat(ptr %t33, ptr @.str3433)
- call void @fn_emith(ptr %t34)
- %t35 = load ptr, ptr %t9
- %t36 = call ptr @fn_str_concat(ptr @.str3434, ptr %t35)
- %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str3435)
- %t38 = load ptr, ptr %t11
- %t39 = call ptr @fn_str_concat(ptr %t37, ptr %t38)
- %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str3436)
- call void @fn_emith(ptr %t40)
- call void @fn_emith(ptr @.str3437)
- call void @fn_emith(ptr @.str3438)
- call void @fn_emith(ptr @.str3439)
- call void @fn_emith(ptr @.str3440)
- call void @fn_emith(ptr @.str3441)
- call void @fn_emith(ptr @.str3442)
- call void @fn_emith(ptr @.str3443)
- call void @fn_emith(ptr @.str3444)
- call void @fn_emith(ptr @.str3445)
- %t41 = load ptr, ptr %t13
- %t42 = call ptr @fn_str_concat(ptr @.str3446, ptr %t41)
- %t43 = call ptr @fn_str_concat(ptr %t42, ptr @.str3447)
- call void @fn_emith(ptr %t43)
- %t44 = load ptr, ptr %t15
- %t45 = call ptr @fn_str_concat(ptr @.str3448, ptr %t44)
- %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str3449)
- call void @fn_emith(ptr %t46)
- %t47 = load ptr, ptr %t17
- %t48 = call ptr @fn_str_concat(ptr @.str3450, ptr %t47)
- %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str3451)
- call void @fn_emith(ptr %t49)
- %t50 = load ptr, ptr %t19
- %t51 = call ptr @fn_str_concat(ptr @.str3452, ptr %t50)
- %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str3453)
- call void @fn_emith(ptr %t52)
+ call void @fn_emith(ptr @.str3447)
+ call void @fn_emith(ptr @.str3448)
+ call void @fn_emith(ptr @.str3449)
+ call void @fn_emith(ptr @.str3450)
+ call void @fn_emith(ptr @.str3451)
+ call void @fn_emith(ptr @.str3452)
+ call void @fn_emith(ptr @.str3453)
call void @fn_emith(ptr @.str3454)
call void @fn_emith(ptr @.str3455)
call void @fn_emith(ptr @.str3456)
call void @fn_emith(ptr @.str3457)
+ call void @fn_emith(ptr @.str3458)
+ %t20 = load ptr, ptr %t1
+ %t21 = call ptr @lp_str_concat(ptr @.str3459, ptr %t20)
+ %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str3460)
+ %t23 = load ptr, ptr %t3
+ %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23)
+ %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3461)
+ call void @fn_emith(ptr %t25)
+ %t26 = load ptr, ptr %t5
+ %t27 = call ptr @lp_str_concat(ptr @.str3462, ptr %t26)
+ %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str3463)
+ call void @fn_emith(ptr %t28)
+ %t29 = load ptr, ptr %t5
+ %t30 = call ptr @lp_str_concat(ptr @.str3464, ptr %t29)
+ %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str3465)
+ call void @fn_emith(ptr %t31)
+ %t32 = load ptr, ptr %t7
+ %t33 = call ptr @lp_str_concat(ptr @.str3466, ptr %t32)
+ %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str3467)
+ call void @fn_emith(ptr %t34)
+ %t35 = load ptr, ptr %t9
+ %t36 = call ptr @lp_str_concat(ptr @.str3468, ptr %t35)
+ %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3469)
+ %t38 = load ptr, ptr %t11
+ %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38)
+ %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str3470)
+ call void @fn_emith(ptr %t40)
+ call void @fn_emith(ptr @.str3471)
+ call void @fn_emith(ptr @.str3472)
+ call void @fn_emith(ptr @.str3473)
+ call void @fn_emith(ptr @.str3474)
+ call void @fn_emith(ptr @.str3475)
+ call void @fn_emith(ptr @.str3476)
+ call void @fn_emith(ptr @.str3477)
+ call void @fn_emith(ptr @.str3478)
+ call void @fn_emith(ptr @.str3479)
+ %t41 = load ptr, ptr %t13
+ %t42 = call ptr @lp_str_concat(ptr @.str3480, ptr %t41)
+ %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str3481)
+ call void @fn_emith(ptr %t43)
+ %t44 = load ptr, ptr %t15
+ %t45 = call ptr @lp_str_concat(ptr @.str3482, ptr %t44)
+ %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str3483)
+ call void @fn_emith(ptr %t46)
+ %t47 = load ptr, ptr %t17
+ %t48 = call ptr @lp_str_concat(ptr @.str3484, ptr %t47)
+ %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str3485)
+ call void @fn_emith(ptr %t49)
+ %t50 = load ptr, ptr %t19
+ %t51 = call ptr @lp_str_concat(ptr @.str3486, ptr %t50)
+ %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str3487)
+ call void @fn_emith(ptr %t52)
+ call void @fn_emith(ptr @.str3488)
+ call void @fn_emith(ptr @.str3489)
+ call void @fn_emith(ptr @.str3490)
+ call void @fn_emith(ptr @.str3491)
br label %ret
ret:
ret void
@@ -44967,14 +45550,14 @@ entry:
%t32 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3458)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3492)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3459)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3493)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -44987,7 +45570,7 @@ scend1:
br i1 %t12, label %scend3, label %sc2
sc2:
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3460)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3494)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
@@ -45001,14 +45584,14 @@ then4:
br label %ret
ifend6:
%t21 = load ptr, ptr %t0
- %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3461)
+ %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3495)
%t23 = icmp ne i32 %t22, 0
%t24 = zext i1 %t23 to i32
store i32 %t24, ptr %t20
br i1 %t23, label %scend8, label %sc7
sc7:
%t25 = load ptr, ptr %t0
- %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str3462)
+ %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str3496)
%t27 = icmp ne i32 %t26, 0
%t28 = zext i1 %t27 to i32
store i32 %t28, ptr %t20
@@ -45022,14 +45605,14 @@ then9:
br label %ret
ifend11:
%t33 = load ptr, ptr %t0
- %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3463)
+ %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3497)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t32
br i1 %t35, label %scend13, label %sc12
sc12:
%t37 = load ptr, ptr %t0
- %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str3464)
+ %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str3498)
%t39 = icmp ne i32 %t38, 0
%t40 = zext i1 %t39 to i32
store i32 %t40, ptr %t32
@@ -45042,7 +45625,7 @@ scend13:
br i1 %t42, label %scend15, label %sc14
sc14:
%t44 = load ptr, ptr %t0
- %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str3465)
+ %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str3499)
%t46 = icmp ne i32 %t45, 0
%t47 = zext i1 %t46 to i32
store i32 %t47, ptr %t31
@@ -45056,7 +45639,7 @@ then16:
br label %ret
ifend18:
%t50 = load ptr, ptr %t0
- %t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str3466)
+ %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str3500)
%t52 = icmp ne i32 %t51, 0
br i1 %t52, label %then19, label %ifend21
then19:
@@ -45091,7 +45674,7 @@ entry:
store ptr %arg_e, ptr %t1
store i32 1, ptr @g_g_uses_unicodert
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3467)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str3501)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -45107,20 +45690,20 @@ then0:
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
- %t17 = call ptr @fn_str_concat(ptr @.str3468, ptr %t16)
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3469)
+ %t17 = call ptr @lp_str_concat(ptr @.str3502, ptr %t16)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3503)
%t19 = call ptr @fn_emit_bind(ptr %t18)
store ptr %t19, ptr %t20
%t21 = load ptr, ptr %t20
- %t22 = call ptr @fn_str_concat(ptr @.str3470, ptr %t21)
- %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str3471)
+ %t22 = call ptr @lp_str_concat(ptr @.str3504, ptr %t21)
+ %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3505)
%t24 = call ptr @fn_emit_bind(ptr %t23)
- %t25 = call ptr @fn_val(ptr %t24, ptr @.str3472)
+ %t25 = call ptr @fn_val(ptr %t24, ptr @.str3506)
store ptr %t25, ptr %retval
br label %ret
ifend2:
%t26 = load ptr, ptr %t0
- %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3473)
+ %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3507)
%t28 = icmp ne i32 %t27, 0
br i1 %t28, label %then3, label %ifend5
then3:
@@ -45136,15 +45719,15 @@ then3:
%t38 = load ptr, ptr %t37
%t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0
%t40 = load ptr, ptr %t39
- %t41 = call ptr @fn_str_concat(ptr @.str3474, ptr %t40)
- %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str3475)
+ %t41 = call ptr @lp_str_concat(ptr @.str3508, ptr %t40)
+ %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str3509)
%t43 = call ptr @fn_emit_bind(ptr %t42)
- %t44 = call ptr @fn_val(ptr %t43, ptr @.str3476)
+ %t44 = call ptr @fn_val(ptr %t43, ptr @.str3510)
store ptr %t44, ptr %retval
br label %ret
ifend5:
%t45 = load ptr, ptr %t0
- %t46 = call i32 @fn_str_eq(ptr %t45, ptr @.str3477)
+ %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str3511)
%t47 = icmp ne i32 %t46, 0
br i1 %t47, label %then6, label %ifend8
then6:
@@ -45160,15 +45743,15 @@ then6:
%t57 = load ptr, ptr %t56
%t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0
%t59 = load ptr, ptr %t58
- %t60 = call ptr @fn_str_concat(ptr @.str3478, ptr %t59)
- %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str3479)
+ %t60 = call ptr @lp_str_concat(ptr @.str3512, ptr %t59)
+ %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str3513)
%t62 = call ptr @fn_emit_bind(ptr %t61)
- %t63 = call ptr @fn_val(ptr %t62, ptr @.str3480)
+ %t63 = call ptr @fn_val(ptr %t62, ptr @.str3514)
store ptr %t63, ptr %retval
br label %ret
ifend8:
%t64 = load ptr, ptr %t0
- %t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str3481)
+ %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str3515)
%t66 = icmp ne i32 %t65, 0
br i1 %t66, label %then9, label %ifend11
then9:
@@ -45193,20 +45776,20 @@ then9:
%t85 = load ptr, ptr %t75
%t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0
%t87 = load ptr, ptr %t86
- %t88 = call ptr @fn_str_concat(ptr @.str3482, ptr %t87)
- %t89 = call ptr @fn_str_concat(ptr %t88, ptr @.str3483)
+ %t88 = call ptr @lp_str_concat(ptr @.str3516, ptr %t87)
+ %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str3517)
%t90 = load ptr, ptr %t84
%t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0
%t92 = load ptr, ptr %t91
- %t93 = call ptr @fn_str_concat(ptr %t89, ptr %t92)
- %t94 = call ptr @fn_str_concat(ptr %t93, ptr @.str3484)
+ %t93 = call ptr @lp_str_concat(ptr %t89, ptr %t92)
+ %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str3518)
%t95 = call ptr @fn_emit_bind(ptr %t94)
- %t96 = call ptr @fn_val(ptr %t95, ptr @.str3485)
+ %t96 = call ptr @fn_val(ptr %t95, ptr @.str3519)
store ptr %t96, ptr %retval
br label %ret
ifend11:
%t97 = load ptr, ptr %t0
- %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str3486)
+ %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str3520)
%t99 = icmp ne i32 %t98, 0
br i1 %t99, label %then12, label %ifend14
then12:
@@ -45222,15 +45805,15 @@ then12:
%t109 = load ptr, ptr %t108
%t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0
%t111 = load ptr, ptr %t110
- %t112 = call ptr @fn_str_concat(ptr @.str3487, ptr %t111)
- %t113 = call ptr @fn_str_concat(ptr %t112, ptr @.str3488)
+ %t112 = call ptr @lp_str_concat(ptr @.str3521, ptr %t111)
+ %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str3522)
%t114 = call ptr @fn_emit_bind(ptr %t113)
- %t115 = call ptr @fn_val(ptr %t114, ptr @.str3489)
+ %t115 = call ptr @fn_val(ptr %t114, ptr @.str3523)
store ptr %t115, ptr %retval
br label %ret
ifend14:
%t116 = load ptr, ptr %t0
- %t117 = call i32 @fn_str_eq(ptr %t116, ptr @.str3490)
+ %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str3524)
%t118 = icmp ne i32 %t117, 0
br i1 %t118, label %then15, label %ifend17
then15:
@@ -45246,15 +45829,15 @@ then15:
%t128 = load ptr, ptr %t127
%t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0
%t130 = load ptr, ptr %t129
- %t131 = call ptr @fn_str_concat(ptr @.str3491, ptr %t130)
- %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str3492)
+ %t131 = call ptr @lp_str_concat(ptr @.str3525, ptr %t130)
+ %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str3526)
%t133 = call ptr @fn_emit_bind(ptr %t132)
- %t134 = call ptr @fn_val(ptr %t133, ptr @.str3493)
+ %t134 = call ptr @fn_val(ptr %t133, ptr @.str3527)
store ptr %t134, ptr %retval
br label %ret
ifend17:
%t135 = load ptr, ptr %t0
- %t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str3494)
+ %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str3528)
%t137 = icmp ne i32 %t136, 0
br i1 %t137, label %then18, label %ifend20
then18:
@@ -45270,15 +45853,15 @@ then18:
%t147 = load ptr, ptr %t146
%t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0
%t149 = load ptr, ptr %t148
- %t150 = call ptr @fn_str_concat(ptr @.str3495, ptr %t149)
- %t151 = call ptr @fn_str_concat(ptr %t150, ptr @.str3496)
+ %t150 = call ptr @lp_str_concat(ptr @.str3529, ptr %t149)
+ %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str3530)
%t152 = call ptr @fn_emit_bind(ptr %t151)
- %t153 = call ptr @fn_val(ptr %t152, ptr @.str3497)
+ %t153 = call ptr @fn_val(ptr %t152, ptr @.str3531)
store ptr %t153, ptr %retval
br label %ret
ifend20:
%t154 = load ptr, ptr %t0
- %t155 = call i32 @fn_str_eq(ptr %t154, ptr @.str3498)
+ %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str3532)
%t156 = icmp ne i32 %t155, 0
br i1 %t156, label %then21, label %ifend23
then21:
@@ -45303,15 +45886,15 @@ then21:
%t175 = load ptr, ptr %t165
%t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 0
%t177 = load ptr, ptr %t176
- %t178 = call ptr @fn_str_concat(ptr @.str3499, ptr %t177)
- %t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str3500)
+ %t178 = call ptr @lp_str_concat(ptr @.str3533, ptr %t177)
+ %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str3534)
%t180 = load ptr, ptr %t174
%t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0
%t182 = load ptr, ptr %t181
- %t183 = call ptr @fn_str_concat(ptr %t179, ptr %t182)
- %t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str3501)
+ %t183 = call ptr @lp_str_concat(ptr %t179, ptr %t182)
+ %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str3535)
%t185 = call ptr @fn_emit_bind(ptr %t184)
- %t186 = call ptr @fn_val(ptr %t185, ptr @.str3502)
+ %t186 = call ptr @fn_val(ptr %t185, ptr @.str3536)
store ptr %t186, ptr %retval
br label %ret
ifend23:
@@ -45327,10 +45910,10 @@ ifend23:
%t196 = load ptr, ptr %t195
%t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0
%t198 = load ptr, ptr %t197
- %t199 = call ptr @fn_str_concat(ptr @.str3503, ptr %t198)
- %t200 = call ptr @fn_str_concat(ptr %t199, ptr @.str3504)
+ %t199 = call ptr @lp_str_concat(ptr @.str3537, ptr %t198)
+ %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str3538)
%t201 = call ptr @fn_emit_bind(ptr %t200)
- %t202 = call ptr @fn_val(ptr %t201, ptr @.str3505)
+ %t202 = call ptr @fn_val(ptr %t201, ptr @.str3539)
store ptr %t202, ptr %retval
br label %ret
ret:
@@ -45350,40 +45933,6 @@ ret:
define void @fn_emit_uni_core() {
entry:
- call void @fn_emith(ptr @.str3506)
- call void @fn_emith(ptr @.str3507)
- call void @fn_emith(ptr @.str3508)
- call void @fn_emith(ptr @.str3509)
- call void @fn_emith(ptr @.str3510)
- call void @fn_emith(ptr @.str3511)
- call void @fn_emith(ptr @.str3512)
- call void @fn_emith(ptr @.str3513)
- call void @fn_emith(ptr @.str3514)
- call void @fn_emith(ptr @.str3515)
- call void @fn_emith(ptr @.str3516)
- call void @fn_emith(ptr @.str3517)
- call void @fn_emith(ptr @.str3518)
- call void @fn_emith(ptr @.str3519)
- call void @fn_emith(ptr @.str3520)
- call void @fn_emith(ptr @.str3521)
- call void @fn_emith(ptr @.str3522)
- call void @fn_emith(ptr @.str3523)
- 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)
- call void @fn_emith(ptr @.str3533)
- call void @fn_emith(ptr @.str3534)
- call void @fn_emith(ptr @.str3535)
- call void @fn_emith(ptr @.str3536)
- call void @fn_emith(ptr @.str3537)
- call void @fn_emith(ptr @.str3538)
- call void @fn_emith(ptr @.str3539)
call void @fn_emith(ptr @.str3540)
call void @fn_emith(ptr @.str3541)
call void @fn_emith(ptr @.str3542)
@@ -45423,13 +45972,6 @@ entry:
call void @fn_emith(ptr @.str3576)
call void @fn_emith(ptr @.str3577)
call void @fn_emith(ptr @.str3578)
- br label %ret
-ret:
- ret void
-}
-
-define void @fn_emit_uni_case_fns() {
-entry:
call void @fn_emith(ptr @.str3579)
call void @fn_emith(ptr @.str3580)
call void @fn_emith(ptr @.str3581)
@@ -45464,19 +46006,19 @@ entry:
call void @fn_emith(ptr @.str3610)
call void @fn_emith(ptr @.str3611)
call void @fn_emith(ptr @.str3612)
+ br label %ret
+ret:
+ ret void
+}
+
+define void @fn_emit_uni_case_fns() {
+entry:
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)
- br label %ret
-ret:
- ret void
-}
-
-define void @fn_emit_uni_str_fns() {
-entry:
call void @fn_emith(ptr @.str3619)
call void @fn_emith(ptr @.str3620)
call void @fn_emith(ptr @.str3621)
@@ -45511,17 +46053,16 @@ entry:
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_emit_uni_grapheme()
br label %ret
ret:
ret void
}
-define void @fn_emit_uni_grapheme() {
+define void @fn_emit_uni_str_fns() {
entry:
+ 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)
@@ -45541,6 +46082,48 @@ entry:
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_emit_uni_grapheme()
+ br label %ret
+ret:
+ ret void
+}
+
+define void @fn_emit_uni_grapheme() {
+entry:
+ call void @fn_emith(ptr @.str3690)
+ call void @fn_emith(ptr @.str3691)
+ call void @fn_emith(ptr @.str3692)
+ call void @fn_emith(ptr @.str3693)
+ call void @fn_emith(ptr @.str3694)
+ call void @fn_emith(ptr @.str3695)
+ call void @fn_emith(ptr @.str3696)
+ call void @fn_emith(ptr @.str3697)
+ call void @fn_emith(ptr @.str3698)
+ call void @fn_emith(ptr @.str3699)
+ call void @fn_emith(ptr @.str3700)
+ call void @fn_emith(ptr @.str3701)
+ call void @fn_emith(ptr @.str3702)
+ call void @fn_emith(ptr @.str3703)
+ call void @fn_emith(ptr @.str3704)
+ call void @fn_emith(ptr @.str3705)
+ call void @fn_emith(ptr @.str3706)
+ call void @fn_emith(ptr @.str3707)
+ call void @fn_emith(ptr @.str3708)
br label %ret
ret:
ret void
@@ -45559,14 +46142,14 @@ entry:
%t41 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3675)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3709)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3676)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3710)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -45579,7 +46162,7 @@ scend1:
br i1 %t12, label %scend3, label %sc2
sc2:
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3677)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3711)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
@@ -45593,14 +46176,14 @@ then4:
br label %ret
ifend6:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3678)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str3712)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t21
br i1 %t24, label %scend8, label %sc7
sc7:
%t26 = load ptr, ptr %t0
- %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3679)
+ %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3713)
%t28 = icmp ne i32 %t27, 0
%t29 = zext i1 %t28 to i32
store i32 %t29, ptr %t21
@@ -45613,7 +46196,7 @@ scend8:
br i1 %t31, label %scend10, label %sc9
sc9:
%t33 = load ptr, ptr %t0
- %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3680)
+ %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3714)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t20
@@ -45627,14 +46210,14 @@ then11:
br label %ret
ifend13:
%t42 = load ptr, ptr %t0
- %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str3681)
+ %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str3715)
%t44 = icmp ne i32 %t43, 0
%t45 = zext i1 %t44 to i32
store i32 %t45, ptr %t41
br i1 %t44, label %scend15, label %sc14
sc14:
%t46 = load ptr, ptr %t0
- %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str3682)
+ %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str3716)
%t48 = icmp ne i32 %t47, 0
%t49 = zext i1 %t48 to i32
store i32 %t49, ptr %t41
@@ -45647,7 +46230,7 @@ scend15:
br i1 %t51, label %scend17, label %sc16
sc16:
%t53 = load ptr, ptr %t0
- %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str3683)
+ %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str3717)
%t55 = icmp ne i32 %t54, 0
%t56 = zext i1 %t55 to i32
store i32 %t56, ptr %t40
@@ -45660,7 +46243,7 @@ scend17:
br i1 %t58, label %scend19, label %sc18
sc18:
%t60 = load ptr, ptr %t0
- %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str3684)
+ %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str3718)
%t62 = icmp ne i32 %t61, 0
%t63 = zext i1 %t62 to i32
store i32 %t63, ptr %t39
@@ -45690,14 +46273,14 @@ entry:
%t21 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3685)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3719)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3686)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3720)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -45710,7 +46293,7 @@ scend1:
br i1 %t12, label %scend3, label %sc2
sc2:
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3687)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3721)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
@@ -45724,14 +46307,14 @@ then4:
br label %ret
ifend6:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3688)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str3722)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t21
br i1 %t24, label %scend8, label %sc7
sc7:
%t26 = load ptr, ptr %t0
- %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3689)
+ %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3723)
%t28 = icmp ne i32 %t27, 0
%t29 = zext i1 %t28 to i32
store i32 %t29, ptr %t21
@@ -45744,7 +46327,7 @@ scend8:
br i1 %t31, label %scend10, label %sc9
sc9:
%t33 = load ptr, ptr %t0
- %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3690)
+ %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3724)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t20
@@ -45771,14 +46354,14 @@ entry:
%t1 = alloca i32
store ptr %arg_meth, ptr %t0
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3691)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str3725)
%t4 = icmp ne i32 %t3, 0
%t5 = zext i1 %t4 to i32
store i32 %t5, ptr %t1
br i1 %t4, label %scend1, label %sc0
sc0:
%t6 = load ptr, ptr %t0
- %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str3692)
+ %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str3726)
%t8 = icmp ne i32 %t7, 0
%t9 = zext i1 %t8 to i32
store i32 %t9, ptr %t1
@@ -45818,107 +46401,107 @@ entry:
%t9 = call ptr @fn_emit_expr(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t0
- %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3693)
+ %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str3727)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then0, label %ifend2
then0:
%t14 = load ptr, ptr %t10
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
- %t17 = call ptr @fn_str_concat(ptr @.str3694, ptr %t16)
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3695)
+ %t17 = call ptr @lp_str_concat(ptr @.str3728, ptr %t16)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3729)
%t19 = call ptr @fn_emit_bind(ptr %t18)
- %t20 = call ptr @fn_val(ptr %t19, ptr @.str3696)
+ %t20 = call ptr @fn_val(ptr %t19, ptr @.str3730)
store ptr %t20, ptr %retval
br label %ret
ifend2:
%t21 = load ptr, ptr %t0
- %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3697)
+ %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3731)
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then3, label %ifend5
then3:
%t24 = load ptr, ptr %t10
%t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0
%t26 = load ptr, ptr %t25
- %t27 = call ptr @fn_str_concat(ptr @.str3698, ptr %t26)
- %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3699)
+ %t27 = call ptr @lp_str_concat(ptr @.str3732, ptr %t26)
+ %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str3733)
%t29 = call ptr @fn_emit_bind(ptr %t28)
- %t30 = call ptr @fn_val(ptr %t29, ptr @.str3700)
+ %t30 = call ptr @fn_val(ptr %t29, ptr @.str3734)
store ptr %t30, ptr %retval
br label %ret
ifend5:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str3701)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str3735)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then6, label %ifend8
then6:
%t34 = load ptr, ptr %t10
%t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0
%t36 = load ptr, ptr %t35
- %t37 = call ptr @fn_str_concat(ptr @.str3702, ptr %t36)
- %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str3703)
+ %t37 = call ptr @lp_str_concat(ptr @.str3736, ptr %t36)
+ %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str3737)
%t39 = call ptr @fn_emit_bind(ptr %t38)
- %t40 = call ptr @fn_val(ptr %t39, ptr @.str3704)
+ %t40 = call ptr @fn_val(ptr %t39, ptr @.str3738)
store ptr %t40, ptr %retval
br label %ret
ifend8:
%t41 = load ptr, ptr %t0
- %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str3705)
+ %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str3739)
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %then9, label %ifend11
then9:
%t44 = load ptr, ptr %t10
%t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0
%t46 = load ptr, ptr %t45
- %t47 = call ptr @fn_str_concat(ptr @.str3706, ptr %t46)
- %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str3707)
+ %t47 = call ptr @lp_str_concat(ptr @.str3740, ptr %t46)
+ %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str3741)
%t49 = call ptr @fn_emit_bind(ptr %t48)
- %t50 = call ptr @fn_val(ptr %t49, ptr @.str3708)
+ %t50 = call ptr @fn_val(ptr %t49, ptr @.str3742)
store ptr %t50, ptr %retval
br label %ret
ifend11:
%t51 = load ptr, ptr %t0
- %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str3709)
+ %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str3743)
%t53 = icmp ne i32 %t52, 0
br i1 %t53, label %then12, label %ifend14
then12:
%t54 = load ptr, ptr %t10
%t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0
%t56 = load ptr, ptr %t55
- %t57 = call ptr @fn_str_concat(ptr @.str3710, ptr %t56)
- %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str3711)
+ %t57 = call ptr @lp_str_concat(ptr @.str3744, ptr %t56)
+ %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str3745)
%t59 = call ptr @fn_emit_bind(ptr %t58)
- %t60 = call ptr @fn_val(ptr %t59, ptr @.str3712)
+ %t60 = call ptr @fn_val(ptr %t59, ptr @.str3746)
store ptr %t60, ptr %retval
br label %ret
ifend14:
%t61 = load ptr, ptr %t0
- %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str3713)
+ %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str3747)
%t63 = icmp ne i32 %t62, 0
br i1 %t63, label %then15, label %ifend17
then15:
%t64 = load ptr, ptr %t10
%t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0
%t66 = load ptr, ptr %t65
- %t67 = call ptr @fn_str_concat(ptr @.str3714, ptr %t66)
- %t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str3715)
+ %t67 = call ptr @lp_str_concat(ptr @.str3748, ptr %t66)
+ %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str3749)
%t69 = call ptr @fn_emit_bind(ptr %t68)
- %t70 = call ptr @fn_val(ptr %t69, ptr @.str3716)
+ %t70 = call ptr @fn_val(ptr %t69, ptr @.str3750)
store ptr %t70, ptr %retval
br label %ret
ifend17:
%t71 = load ptr, ptr %t0
- %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str3717)
+ %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str3751)
%t73 = icmp ne i32 %t72, 0
br i1 %t73, label %then18, label %ifend20
then18:
%t74 = load ptr, ptr %t10
%t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0
%t76 = load ptr, ptr %t75
- %t77 = call ptr @fn_str_concat(ptr @.str3718, ptr %t76)
- %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str3719)
+ %t77 = call ptr @lp_str_concat(ptr @.str3752, ptr %t76)
+ %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str3753)
%t79 = call ptr @fn_emit_bind(ptr %t78)
- %t80 = call ptr @fn_val(ptr %t79, ptr @.str3720)
+ %t80 = call ptr @fn_val(ptr %t79, ptr @.str3754)
store ptr %t80, ptr %retval
br label %ret
ifend20:
@@ -45932,57 +46515,57 @@ ifend20:
%t88 = call ptr @fn_emit_expr(ptr %t87)
store ptr %t88, ptr %t89
%t90 = load ptr, ptr %t0
- %t91 = call i32 @fn_str_eq(ptr %t90, ptr @.str3721)
+ %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str3755)
%t92 = icmp ne i32 %t91, 0
br i1 %t92, label %then21, label %ifend23
then21:
%t93 = load ptr, ptr %t10
%t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0
%t95 = load ptr, ptr %t94
- %t96 = call ptr @fn_str_concat(ptr @.str3722, ptr %t95)
- %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str3723)
+ %t96 = call ptr @lp_str_concat(ptr @.str3756, ptr %t95)
+ %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str3757)
%t98 = load ptr, ptr %t89
%t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0
%t100 = load ptr, ptr %t99
- %t101 = call ptr @fn_str_concat(ptr %t97, ptr %t100)
- %t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str3724)
+ %t101 = call ptr @lp_str_concat(ptr %t97, ptr %t100)
+ %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str3758)
%t103 = call ptr @fn_emit_bind(ptr %t102)
- %t104 = call ptr @fn_val(ptr %t103, ptr @.str3725)
+ %t104 = call ptr @fn_val(ptr %t103, ptr @.str3759)
store ptr %t104, ptr %retval
br label %ret
ifend23:
%t105 = load ptr, ptr %t0
- %t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str3726)
+ %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str3760)
%t107 = icmp ne i32 %t106, 0
br i1 %t107, label %then24, label %ifend26
then24:
%t108 = load ptr, ptr %t10
%t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0
%t110 = load ptr, ptr %t109
- %t111 = call ptr @fn_str_concat(ptr @.str3727, ptr %t110)
- %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str3728)
+ %t111 = call ptr @lp_str_concat(ptr @.str3761, ptr %t110)
+ %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str3762)
%t113 = load ptr, ptr %t89
%t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0
%t115 = load ptr, ptr %t114
- %t116 = call ptr @fn_str_concat(ptr %t112, ptr %t115)
- %t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str3729)
+ %t116 = call ptr @lp_str_concat(ptr %t112, ptr %t115)
+ %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str3763)
%t118 = call ptr @fn_emit_bind(ptr %t117)
- %t119 = call ptr @fn_val(ptr %t118, ptr @.str3730)
+ %t119 = call ptr @fn_val(ptr %t118, ptr @.str3764)
store ptr %t119, ptr %retval
br label %ret
ifend26:
%t120 = load ptr, ptr %t10
%t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0
%t122 = load ptr, ptr %t121
- %t123 = call ptr @fn_str_concat(ptr @.str3731, ptr %t122)
- %t124 = call ptr @fn_str_concat(ptr %t123, ptr @.str3732)
+ %t123 = call ptr @lp_str_concat(ptr @.str3765, ptr %t122)
+ %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str3766)
%t125 = load ptr, ptr %t89
%t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0
%t127 = load ptr, ptr %t126
- %t128 = call ptr @fn_str_concat(ptr %t124, ptr %t127)
- %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str3733)
+ %t128 = call ptr @lp_str_concat(ptr %t124, ptr %t127)
+ %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str3767)
%t130 = call ptr @fn_emit_bind(ptr %t129)
- %t131 = call ptr @fn_val(ptr %t130, ptr @.str3734)
+ %t131 = call ptr @fn_val(ptr %t130, ptr @.str3768)
store ptr %t131, ptr %retval
br label %ret
ret:
@@ -46010,77 +46593,77 @@ entry:
%t9 = call ptr @fn_emit_expr(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t0
- %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3735)
+ %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str3769)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then0, label %ifend2
then0:
%t14 = load ptr, ptr %t10
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
- %t17 = call ptr @fn_str_concat(ptr @.str3736, ptr %t16)
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3737)
+ %t17 = call ptr @lp_str_concat(ptr @.str3770, ptr %t16)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3771)
%t19 = call ptr @fn_emit_bind(ptr %t18)
- %t20 = call ptr @fn_val(ptr %t19, ptr @.str3738)
+ %t20 = call ptr @fn_val(ptr %t19, ptr @.str3772)
store ptr %t20, ptr %retval
br label %ret
ifend2:
%t21 = load ptr, ptr %t0
- %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3739)
+ %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3773)
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then3, label %ifend5
then3:
%t24 = load ptr, ptr %t10
%t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0
%t26 = load ptr, ptr %t25
- %t27 = call ptr @fn_str_concat(ptr @.str3740, ptr %t26)
- %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3741)
+ %t27 = call ptr @lp_str_concat(ptr @.str3774, ptr %t26)
+ %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str3775)
%t29 = call ptr @fn_emit_bind(ptr %t28)
- %t30 = call ptr @fn_val(ptr %t29, ptr @.str3742)
+ %t30 = call ptr @fn_val(ptr %t29, ptr @.str3776)
store ptr %t30, ptr %retval
br label %ret
ifend5:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str3743)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str3777)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then6, label %ifend8
then6:
%t34 = load ptr, ptr %t10
%t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0
%t36 = load ptr, ptr %t35
- %t37 = call ptr @fn_str_concat(ptr @.str3744, ptr %t36)
- %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str3745)
+ %t37 = call ptr @lp_str_concat(ptr @.str3778, ptr %t36)
+ %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str3779)
%t39 = call ptr @fn_emit_bind(ptr %t38)
- %t40 = call ptr @fn_val(ptr %t39, ptr @.str3746)
+ %t40 = call ptr @fn_val(ptr %t39, ptr @.str3780)
store ptr %t40, ptr %retval
br label %ret
ifend8:
%t41 = load ptr, ptr %t0
- %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str3747)
+ %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str3781)
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %then9, label %ifend11
then9:
%t44 = load ptr, ptr %t10
%t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0
%t46 = load ptr, ptr %t45
- %t47 = call ptr @fn_str_concat(ptr @.str3748, ptr %t46)
- %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str3749)
+ %t47 = call ptr @lp_str_concat(ptr @.str3782, ptr %t46)
+ %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str3783)
%t49 = call ptr @fn_emit_bind(ptr %t48)
- %t50 = call ptr @fn_val(ptr %t49, ptr @.str3750)
+ %t50 = call ptr @fn_val(ptr %t49, ptr @.str3784)
store ptr %t50, ptr %retval
br label %ret
ifend11:
%t51 = load ptr, ptr %t0
- %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str3751)
+ %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str3785)
%t53 = icmp ne i32 %t52, 0
br i1 %t53, label %then12, label %ifend14
then12:
%t54 = load ptr, ptr %t10
%t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0
%t56 = load ptr, ptr %t55
- %t57 = call ptr @fn_str_concat(ptr @.str3752, ptr %t56)
- %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str3753)
+ %t57 = call ptr @lp_str_concat(ptr @.str3786, ptr %t56)
+ %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str3787)
%t59 = call ptr @fn_emit_bind(ptr %t58)
- %t60 = call ptr @fn_val(ptr %t59, ptr @.str3754)
+ %t60 = call ptr @fn_val(ptr %t59, ptr @.str3788)
store ptr %t60, ptr %retval
br label %ret
ifend14:
@@ -46096,15 +46679,15 @@ ifend14:
%t70 = load ptr, ptr %t10
%t71 = getelementptr inbounds %Cmp_Val, ptr %t70, i32 0, i32 0
%t72 = load ptr, ptr %t71
- %t73 = call ptr @fn_str_concat(ptr @.str3755, ptr %t72)
- %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str3756)
+ %t73 = call ptr @lp_str_concat(ptr @.str3789, ptr %t72)
+ %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str3790)
%t75 = load ptr, ptr %t69
%t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0
%t77 = load ptr, ptr %t76
- %t78 = call ptr @fn_str_concat(ptr %t74, ptr %t77)
- %t79 = call ptr @fn_str_concat(ptr %t78, ptr @.str3757)
+ %t78 = call ptr @lp_str_concat(ptr %t74, ptr %t77)
+ %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str3791)
%t80 = call ptr @fn_emit_bind(ptr %t79)
- %t81 = call ptr @fn_val(ptr %t80, ptr @.str3758)
+ %t81 = call ptr @fn_val(ptr %t80, ptr @.str3792)
store ptr %t81, ptr %retval
br label %ret
ret:
@@ -46131,27 +46714,27 @@ entry:
%t9 = call ptr @fn_emit_expr(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t0
- %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3759)
+ %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str3793)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then0, label %ifend2
then0:
%t14 = load ptr, ptr %t10
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
- %t17 = call ptr @fn_str_concat(ptr @.str3760, ptr %t16)
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3761)
+ %t17 = call ptr @lp_str_concat(ptr @.str3794, ptr %t16)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3795)
%t19 = call ptr @fn_emit_bind(ptr %t18)
- %t20 = call ptr @fn_val(ptr %t19, ptr @.str3762)
+ %t20 = call ptr @fn_val(ptr %t19, ptr @.str3796)
store ptr %t20, ptr %retval
br label %ret
ifend2:
%t21 = load ptr, ptr %t10
%t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0
%t23 = load ptr, ptr %t22
- %t24 = call ptr @fn_str_concat(ptr @.str3763, ptr %t23)
- %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str3764)
+ %t24 = call ptr @lp_str_concat(ptr @.str3797, ptr %t23)
+ %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3798)
%t26 = call ptr @fn_emit_bind(ptr %t25)
- %t27 = call ptr @fn_val(ptr %t26, ptr @.str3765)
+ %t27 = call ptr @fn_val(ptr %t26, ptr @.str3799)
store ptr %t27, ptr %retval
br label %ret
ret:
@@ -46161,13 +46744,13 @@ ret:
define void @fn_emit_fs_prelude() {
entry:
- call void @fn_emith(ptr @.str3766)
- call void @fn_emith(ptr @.str3767)
- call void @fn_emith(ptr @.str3768)
- call void @fn_emith(ptr @.str3769)
- call void @fn_emith(ptr @.str3770)
- call void @fn_emith(ptr @.str3771)
- call void @fn_emith(ptr @.str3772)
+ call void @fn_emith(ptr @.str3800)
+ call void @fn_emith(ptr @.str3801)
+ call void @fn_emith(ptr @.str3802)
+ call void @fn_emith(ptr @.str3803)
+ call void @fn_emith(ptr @.str3804)
+ call void @fn_emith(ptr @.str3805)
+ call void @fn_emith(ptr @.str3806)
call void @fn_emit_fs_common()
call void @fn_emit_fs_path()
call void @fn_emit_fs_io()
@@ -46180,47 +46763,6 @@ ret:
define void @fn_emit_fs_common() {
entry:
- call void @fn_emith(ptr @.str3773)
- call void @fn_emith(ptr @.str3774)
- call void @fn_emith(ptr @.str3775)
- call void @fn_emith(ptr @.str3776)
- call void @fn_emith(ptr @.str3777)
- call void @fn_emith(ptr @.str3778)
- call void @fn_emith(ptr @.str3779)
- call void @fn_emith(ptr @.str3780)
- call void @fn_emith(ptr @.str3781)
- call void @fn_emith(ptr @.str3782)
- call void @fn_emith(ptr @.str3783)
- call void @fn_emith(ptr @.str3784)
- call void @fn_emith(ptr @.str3785)
- br label %ret
-ret:
- ret void
-}
-
-define void @fn_emit_fs_path() {
-entry:
- call void @fn_emith(ptr @.str3786)
- call void @fn_emith(ptr @.str3787)
- call void @fn_emith(ptr @.str3788)
- call void @fn_emith(ptr @.str3789)
- call void @fn_emith(ptr @.str3790)
- call void @fn_emith(ptr @.str3791)
- call void @fn_emith(ptr @.str3792)
- call void @fn_emith(ptr @.str3793)
- call void @fn_emith(ptr @.str3794)
- call void @fn_emith(ptr @.str3795)
- call void @fn_emith(ptr @.str3796)
- call void @fn_emith(ptr @.str3797)
- call void @fn_emith(ptr @.str3798)
- call void @fn_emith(ptr @.str3799)
- call void @fn_emith(ptr @.str3800)
- call void @fn_emith(ptr @.str3801)
- call void @fn_emith(ptr @.str3802)
- call void @fn_emith(ptr @.str3803)
- call void @fn_emith(ptr @.str3804)
- call void @fn_emith(ptr @.str3805)
- call void @fn_emith(ptr @.str3806)
call void @fn_emith(ptr @.str3807)
call void @fn_emith(ptr @.str3808)
call void @fn_emith(ptr @.str3809)
@@ -46234,6 +46776,13 @@ entry:
call void @fn_emith(ptr @.str3817)
call void @fn_emith(ptr @.str3818)
call void @fn_emith(ptr @.str3819)
+ br label %ret
+ret:
+ ret void
+}
+
+define void @fn_emit_fs_path() {
+entry:
call void @fn_emith(ptr @.str3820)
call void @fn_emith(ptr @.str3821)
call void @fn_emith(ptr @.str3822)
@@ -46242,14 +46791,6 @@ entry:
call void @fn_emith(ptr @.str3825)
call void @fn_emith(ptr @.str3826)
call void @fn_emith(ptr @.str3827)
- call void @fn_emit_fs_normalize()
- br label %ret
-ret:
- ret void
-}
-
-define void @fn_emit_fs_normalize() {
-entry:
call void @fn_emith(ptr @.str3828)
call void @fn_emith(ptr @.str3829)
call void @fn_emith(ptr @.str3830)
@@ -46284,16 +46825,17 @@ entry:
call void @fn_emith(ptr @.str3859)
call void @fn_emith(ptr @.str3860)
call void @fn_emith(ptr @.str3861)
- call void @fn_emith(ptr @.str3862)
- call void @fn_emith(ptr @.str3863)
- call void @fn_emith(ptr @.str3864)
+ call void @fn_emit_fs_normalize()
br label %ret
ret:
ret void
}
-define void @fn_emit_fs_io() {
+define void @fn_emit_fs_normalize() {
entry:
+ 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)
@@ -46328,6 +46870,13 @@ entry:
call void @fn_emith(ptr @.str3896)
call void @fn_emith(ptr @.str3897)
call void @fn_emith(ptr @.str3898)
+ br label %ret
+ret:
+ ret void
+}
+
+define void @fn_emit_fs_io() {
+entry:
call void @fn_emith(ptr @.str3899)
call void @fn_emith(ptr @.str3900)
call void @fn_emith(ptr @.str3901)
@@ -46338,13 +46887,6 @@ entry:
call void @fn_emith(ptr @.str3906)
call void @fn_emith(ptr @.str3907)
call void @fn_emith(ptr @.str3908)
- br label %ret
-ret:
- ret void
-}
-
-define void @fn_emit_fs_dir() {
-entry:
call void @fn_emith(ptr @.str3909)
call void @fn_emith(ptr @.str3910)
call void @fn_emith(ptr @.str3911)
@@ -46369,6 +46911,47 @@ entry:
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)
+ br label %ret
+ret:
+ ret void
+}
+
+define void @fn_emit_fs_dir() {
+entry:
+ call void @fn_emith(ptr @.str3943)
+ call void @fn_emith(ptr @.str3944)
+ call void @fn_emith(ptr @.str3945)
+ call void @fn_emith(ptr @.str3946)
+ call void @fn_emith(ptr @.str3947)
+ call void @fn_emith(ptr @.str3948)
+ call void @fn_emith(ptr @.str3949)
+ call void @fn_emith(ptr @.str3950)
+ call void @fn_emith(ptr @.str3951)
+ call void @fn_emith(ptr @.str3952)
+ call void @fn_emith(ptr @.str3953)
+ call void @fn_emith(ptr @.str3954)
+ call void @fn_emith(ptr @.str3955)
+ 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)
br label %ret
ret:
ret void
@@ -46427,7 +47010,7 @@ grow0:
put1:
%t30 = load ptr, ptr %t17
%t31 = getelementptr inbounds ptr, ptr %t30, i32 %t18
- store ptr @.str3933, ptr %t31
+ store ptr @.str3967, ptr %t31
%t32 = add i32 %t18, 1
store i32 %t32, ptr %t15
%t33 = load ptr, ptr %t13
@@ -46454,7 +47037,7 @@ grow2:
put3:
%t49 = load ptr, ptr %t36
%t50 = getelementptr inbounds ptr, ptr %t49, i32 %t37
- store ptr @.str3934, ptr %t50
+ store ptr @.str3968, ptr %t50
%t51 = add i32 %t37, 1
store i32 %t51, ptr %t34
%t52 = load ptr, ptr %t6
@@ -46481,7 +47064,7 @@ grow4:
put5:
%t68 = load ptr, ptr %t55
%t69 = getelementptr inbounds ptr, ptr %t68, i32 %t56
- store ptr @.str3935, ptr %t69
+ store ptr @.str3969, ptr %t69
%t70 = add i32 %t56, 1
store i32 %t70, ptr %t53
%t71 = load ptr, ptr %t13
@@ -46508,7 +47091,7 @@ grow6:
put7:
%t87 = load ptr, ptr %t74
%t88 = getelementptr inbounds ptr, ptr %t87, i32 %t75
- store ptr @.str3936, ptr %t88
+ store ptr @.str3970, ptr %t88
%t89 = add i32 %t75, 1
store i32 %t89, ptr %t72
%t90 = load ptr, ptr %t6
@@ -46535,7 +47118,7 @@ grow8:
put9:
%t106 = load ptr, ptr %t93
%t107 = getelementptr inbounds ptr, ptr %t106, i32 %t94
- store ptr @.str3937, ptr %t107
+ store ptr @.str3971, ptr %t107
%t108 = add i32 %t94, 1
store i32 %t108, ptr %t91
%t109 = load ptr, ptr %t13
@@ -46562,7 +47145,7 @@ grow10:
put11:
%t125 = load ptr, ptr %t112
%t126 = getelementptr inbounds ptr, ptr %t125, i32 %t113
- store ptr @.str3938, ptr %t126
+ store ptr @.str3972, ptr %t126
%t127 = add i32 %t113, 1
store i32 %t127, ptr %t110
%t128 = load ptr, ptr %t6
@@ -46589,7 +47172,7 @@ grow12:
put13:
%t144 = load ptr, ptr %t131
%t145 = getelementptr inbounds ptr, ptr %t144, i32 %t132
- store ptr @.str3939, ptr %t145
+ store ptr @.str3973, ptr %t145
%t146 = add i32 %t132, 1
store i32 %t146, ptr %t129
%t147 = load ptr, ptr %t13
@@ -46616,7 +47199,7 @@ grow14:
put15:
%t163 = load ptr, ptr %t150
%t164 = getelementptr inbounds ptr, ptr %t163, i32 %t151
- store ptr @.str3940, ptr %t164
+ store ptr @.str3974, ptr %t164
%t165 = add i32 %t151, 1
store i32 %t165, ptr %t148
%t166 = load ptr, ptr %t6
@@ -46643,7 +47226,7 @@ grow16:
put17:
%t182 = load ptr, ptr %t169
%t183 = getelementptr inbounds ptr, ptr %t182, i32 %t170
- store ptr @.str3941, ptr %t183
+ store ptr @.str3975, ptr %t183
%t184 = add i32 %t170, 1
store i32 %t184, ptr %t167
%t185 = load ptr, ptr %t13
@@ -46670,7 +47253,7 @@ grow18:
put19:
%t201 = load ptr, ptr %t188
%t202 = getelementptr inbounds ptr, ptr %t201, i32 %t189
- store ptr @.str3942, ptr %t202
+ store ptr @.str3976, ptr %t202
%t203 = add i32 %t189, 1
store i32 %t203, ptr %t186
%t204 = load ptr, ptr %t6
@@ -46697,7 +47280,7 @@ grow20:
put21:
%t220 = load ptr, ptr %t207
%t221 = getelementptr inbounds ptr, ptr %t220, i32 %t208
- store ptr @.str3943, ptr %t221
+ store ptr @.str3977, ptr %t221
%t222 = add i32 %t208, 1
store i32 %t222, ptr %t205
%t223 = load ptr, ptr %t13
@@ -46724,7 +47307,7 @@ grow22:
put23:
%t239 = load ptr, ptr %t226
%t240 = getelementptr inbounds ptr, ptr %t239, i32 %t227
- store ptr @.str3944, ptr %t240
+ store ptr @.str3978, ptr %t240
%t241 = add i32 %t227, 1
store i32 %t241, ptr %t224
%t242 = load ptr, ptr %t6
@@ -46751,7 +47334,7 @@ grow24:
put25:
%t258 = load ptr, ptr %t245
%t259 = getelementptr inbounds ptr, ptr %t258, i32 %t246
- store ptr @.str3945, ptr %t259
+ store ptr @.str3979, ptr %t259
%t260 = add i32 %t246, 1
store i32 %t260, ptr %t243
%t261 = load ptr, ptr %t13
@@ -46778,7 +47361,7 @@ grow26:
put27:
%t277 = load ptr, ptr %t264
%t278 = getelementptr inbounds ptr, ptr %t277, i32 %t265
- store ptr @.str3946, ptr %t278
+ store ptr @.str3980, ptr %t278
%t279 = add i32 %t265, 1
store i32 %t279, ptr %t262
%t280 = load ptr, ptr %t6
@@ -46805,7 +47388,7 @@ grow28:
put29:
%t296 = load ptr, ptr %t283
%t297 = getelementptr inbounds ptr, ptr %t296, i32 %t284
- store ptr @.str3947, ptr %t297
+ store ptr @.str3981, ptr %t297
%t298 = add i32 %t284, 1
store i32 %t298, ptr %t281
%t299 = load ptr, ptr %t13
@@ -46832,7 +47415,7 @@ grow30:
put31:
%t315 = load ptr, ptr %t302
%t316 = getelementptr inbounds ptr, ptr %t315, i32 %t303
- store ptr @.str3948, ptr %t316
+ store ptr @.str3982, ptr %t316
%t317 = add i32 %t303, 1
store i32 %t317, ptr %t300
%t318 = load ptr, ptr %t6
@@ -46859,7 +47442,7 @@ grow32:
put33:
%t334 = load ptr, ptr %t321
%t335 = getelementptr inbounds ptr, ptr %t334, i32 %t322
- store ptr @.str3949, ptr %t335
+ store ptr @.str3983, ptr %t335
%t336 = add i32 %t322, 1
store i32 %t336, ptr %t319
%t337 = load ptr, ptr %t13
@@ -46886,7 +47469,7 @@ grow34:
put35:
%t353 = load ptr, ptr %t340
%t354 = getelementptr inbounds ptr, ptr %t353, i32 %t341
- store ptr @.str3950, ptr %t354
+ store ptr @.str3984, ptr %t354
%t355 = add i32 %t341, 1
store i32 %t355, ptr %t338
%t356 = load ptr, ptr %t6
@@ -46913,7 +47496,7 @@ grow36:
put37:
%t372 = load ptr, ptr %t359
%t373 = getelementptr inbounds ptr, ptr %t372, i32 %t360
- store ptr @.str3951, ptr %t373
+ store ptr @.str3985, ptr %t373
%t374 = add i32 %t360, 1
store i32 %t374, ptr %t357
%t375 = load ptr, ptr %t13
@@ -46940,7 +47523,7 @@ grow38:
put39:
%t391 = load ptr, ptr %t378
%t392 = getelementptr inbounds ptr, ptr %t391, i32 %t379
- store ptr @.str3952, ptr %t392
+ store ptr @.str3986, ptr %t392
%t393 = add i32 %t379, 1
store i32 %t393, ptr %t376
%t394 = load ptr, ptr %t6
@@ -46967,7 +47550,7 @@ grow40:
put41:
%t410 = load ptr, ptr %t397
%t411 = getelementptr inbounds ptr, ptr %t410, i32 %t398
- store ptr @.str3953, ptr %t411
+ store ptr @.str3987, ptr %t411
%t412 = add i32 %t398, 1
store i32 %t412, ptr %t395
%t413 = load ptr, ptr %t13
@@ -46994,7 +47577,7 @@ grow42:
put43:
%t429 = load ptr, ptr %t416
%t430 = getelementptr inbounds ptr, ptr %t429, i32 %t417
- store ptr @.str3954, ptr %t430
+ store ptr @.str3988, ptr %t430
%t431 = add i32 %t417, 1
store i32 %t431, ptr %t414
%t432 = load ptr, ptr %t6
@@ -47021,7 +47604,7 @@ grow44:
put45:
%t448 = load ptr, ptr %t435
%t449 = getelementptr inbounds ptr, ptr %t448, i32 %t436
- store ptr @.str3955, ptr %t449
+ store ptr @.str3989, ptr %t449
%t450 = add i32 %t436, 1
store i32 %t450, ptr %t433
%t451 = load ptr, ptr %t13
@@ -47048,7 +47631,7 @@ grow46:
put47:
%t467 = load ptr, ptr %t454
%t468 = getelementptr inbounds ptr, ptr %t467, i32 %t455
- store ptr @.str3956, ptr %t468
+ store ptr @.str3990, ptr %t468
%t469 = add i32 %t455, 1
store i32 %t469, ptr %t452
%t470 = load ptr, ptr %t6
@@ -47075,7 +47658,7 @@ grow48:
put49:
%t486 = load ptr, ptr %t473
%t487 = getelementptr inbounds ptr, ptr %t486, i32 %t474
- store ptr @.str3957, ptr %t487
+ store ptr @.str3991, ptr %t487
%t488 = add i32 %t474, 1
store i32 %t488, ptr %t471
%t489 = load ptr, ptr %t13
@@ -47102,7 +47685,7 @@ grow50:
put51:
%t505 = load ptr, ptr %t492
%t506 = getelementptr inbounds ptr, ptr %t505, i32 %t493
- store ptr @.str3958, ptr %t506
+ store ptr @.str3992, ptr %t506
%t507 = add i32 %t493, 1
store i32 %t507, ptr %t490
%t508 = load ptr, ptr %t6
@@ -47129,7 +47712,7 @@ grow52:
put53:
%t524 = load ptr, ptr %t511
%t525 = getelementptr inbounds ptr, ptr %t524, i32 %t512
- store ptr @.str3959, ptr %t525
+ store ptr @.str3993, ptr %t525
%t526 = add i32 %t512, 1
store i32 %t526, ptr %t509
%t527 = load ptr, ptr %t13
@@ -47156,7 +47739,7 @@ grow54:
put55:
%t543 = load ptr, ptr %t530
%t544 = getelementptr inbounds ptr, ptr %t543, i32 %t531
- store ptr @.str3960, ptr %t544
+ store ptr @.str3994, ptr %t544
%t545 = add i32 %t531, 1
store i32 %t545, ptr %t528
%t546 = load ptr, ptr %t6
@@ -47183,7 +47766,7 @@ grow56:
put57:
%t562 = load ptr, ptr %t549
%t563 = getelementptr inbounds ptr, ptr %t562, i32 %t550
- store ptr @.str3961, ptr %t563
+ store ptr @.str3995, ptr %t563
%t564 = add i32 %t550, 1
store i32 %t564, ptr %t547
%t565 = load ptr, ptr %t13
@@ -47210,7 +47793,7 @@ grow58:
put59:
%t581 = load ptr, ptr %t568
%t582 = getelementptr inbounds ptr, ptr %t581, i32 %t569
- store ptr @.str3962, ptr %t582
+ store ptr @.str3996, ptr %t582
%t583 = add i32 %t569, 1
store i32 %t583, ptr %t566
%t584 = load ptr, ptr %t6
@@ -47237,7 +47820,7 @@ grow60:
put61:
%t600 = load ptr, ptr %t587
%t601 = getelementptr inbounds ptr, ptr %t600, i32 %t588
- store ptr @.str3963, ptr %t601
+ store ptr @.str3997, ptr %t601
%t602 = add i32 %t588, 1
store i32 %t602, ptr %t585
%t603 = load ptr, ptr %t13
@@ -47264,7 +47847,7 @@ grow62:
put63:
%t619 = load ptr, ptr %t606
%t620 = getelementptr inbounds ptr, ptr %t619, i32 %t607
- store ptr @.str3964, ptr %t620
+ store ptr @.str3998, ptr %t620
%t621 = add i32 %t607, 1
store i32 %t621, ptr %t604
%t622 = load ptr, ptr %t6
@@ -47291,7 +47874,7 @@ grow64:
put65:
%t638 = load ptr, ptr %t625
%t639 = getelementptr inbounds ptr, ptr %t638, i32 %t626
- store ptr @.str3965, ptr %t639
+ store ptr @.str3999, ptr %t639
%t640 = add i32 %t626, 1
store i32 %t640, ptr %t623
%t641 = load ptr, ptr %t13
@@ -47318,7 +47901,7 @@ grow66:
put67:
%t657 = load ptr, ptr %t644
%t658 = getelementptr inbounds ptr, ptr %t657, i32 %t645
- store ptr @.str3966, ptr %t658
+ store ptr @.str4000, ptr %t658
%t659 = add i32 %t645, 1
store i32 %t659, ptr %t642
%t660 = load ptr, ptr %t6
@@ -47345,7 +47928,7 @@ grow68:
put69:
%t676 = load ptr, ptr %t663
%t677 = getelementptr inbounds ptr, ptr %t676, i32 %t664
- store ptr @.str3967, ptr %t677
+ store ptr @.str4001, ptr %t677
%t678 = add i32 %t664, 1
store i32 %t678, ptr %t661
%t679 = load ptr, ptr %t13
@@ -47372,7 +47955,7 @@ grow70:
put71:
%t695 = load ptr, ptr %t682
%t696 = getelementptr inbounds ptr, ptr %t695, i32 %t683
- store ptr @.str3968, ptr %t696
+ store ptr @.str4002, ptr %t696
%t697 = add i32 %t683, 1
store i32 %t697, ptr %t680
%t698 = load ptr, ptr %t6
@@ -47399,7 +47982,7 @@ grow72:
put73:
%t714 = load ptr, ptr %t701
%t715 = getelementptr inbounds ptr, ptr %t714, i32 %t702
- store ptr @.str3969, ptr %t715
+ store ptr @.str4003, ptr %t715
%t716 = add i32 %t702, 1
store i32 %t716, ptr %t699
%t717 = load ptr, ptr %t13
@@ -47426,7 +48009,7 @@ grow74:
put75:
%t733 = load ptr, ptr %t720
%t734 = getelementptr inbounds ptr, ptr %t733, i32 %t721
- store ptr @.str3970, ptr %t734
+ store ptr @.str4004, ptr %t734
%t735 = add i32 %t721, 1
store i32 %t735, ptr %t718
%t736 = load ptr, ptr %t6
@@ -47453,7 +48036,7 @@ grow76:
put77:
%t752 = load ptr, ptr %t739
%t753 = getelementptr inbounds ptr, ptr %t752, i32 %t740
- store ptr @.str3971, ptr %t753
+ store ptr @.str4005, ptr %t753
%t754 = add i32 %t740, 1
store i32 %t754, ptr %t737
%t755 = load ptr, ptr %t13
@@ -47480,7 +48063,7 @@ grow78:
put79:
%t771 = load ptr, ptr %t758
%t772 = getelementptr inbounds ptr, ptr %t771, i32 %t759
- store ptr @.str3972, ptr %t772
+ store ptr @.str4006, ptr %t772
%t773 = add i32 %t759, 1
store i32 %t773, ptr %t756
%t774 = load ptr, ptr %t6
@@ -47507,7 +48090,7 @@ grow80:
put81:
%t790 = load ptr, ptr %t777
%t791 = getelementptr inbounds ptr, ptr %t790, i32 %t778
- store ptr @.str3973, ptr %t791
+ store ptr @.str4007, ptr %t791
%t792 = add i32 %t778, 1
store i32 %t792, ptr %t775
%t793 = load ptr, ptr %t13
@@ -47534,7 +48117,7 @@ grow82:
put83:
%t809 = load ptr, ptr %t796
%t810 = getelementptr inbounds ptr, ptr %t809, i32 %t797
- store ptr @.str3974, ptr %t810
+ store ptr @.str4008, ptr %t810
%t811 = add i32 %t797, 1
store i32 %t811, ptr %t794
%t812 = load ptr, ptr %t6
@@ -47561,7 +48144,7 @@ grow84:
put85:
%t828 = load ptr, ptr %t815
%t829 = getelementptr inbounds ptr, ptr %t828, i32 %t816
- store ptr @.str3975, ptr %t829
+ store ptr @.str4009, ptr %t829
%t830 = add i32 %t816, 1
store i32 %t830, ptr %t813
%t831 = load ptr, ptr %t13
@@ -47588,7 +48171,7 @@ grow86:
put87:
%t847 = load ptr, ptr %t834
%t848 = getelementptr inbounds ptr, ptr %t847, i32 %t835
- store ptr @.str3976, ptr %t848
+ store ptr @.str4010, ptr %t848
%t849 = add i32 %t835, 1
store i32 %t849, ptr %t832
%t850 = load ptr, ptr %t6
@@ -47615,7 +48198,7 @@ grow88:
put89:
%t866 = load ptr, ptr %t853
%t867 = getelementptr inbounds ptr, ptr %t866, i32 %t854
- store ptr @.str3977, ptr %t867
+ store ptr @.str4011, ptr %t867
%t868 = add i32 %t854, 1
store i32 %t868, ptr %t851
%t869 = load ptr, ptr %t13
@@ -47642,7 +48225,7 @@ grow90:
put91:
%t885 = load ptr, ptr %t872
%t886 = getelementptr inbounds ptr, ptr %t885, i32 %t873
- store ptr @.str3978, ptr %t886
+ store ptr @.str4012, ptr %t886
%t887 = add i32 %t873, 1
store i32 %t887, ptr %t870
%t888 = load ptr, ptr %t6
@@ -47669,7 +48252,7 @@ grow92:
put93:
%t904 = load ptr, ptr %t891
%t905 = getelementptr inbounds ptr, ptr %t904, i32 %t892
- store ptr @.str3979, ptr %t905
+ store ptr @.str4013, ptr %t905
%t906 = add i32 %t892, 1
store i32 %t906, ptr %t889
%t907 = load ptr, ptr %t13
@@ -47696,7 +48279,7 @@ grow94:
put95:
%t923 = load ptr, ptr %t910
%t924 = getelementptr inbounds ptr, ptr %t923, i32 %t911
- store ptr @.str3980, ptr %t924
+ store ptr @.str4014, ptr %t924
%t925 = add i32 %t911, 1
store i32 %t925, ptr %t908
%t926 = getelementptr %LSlice, ptr null, i32 1
@@ -47732,79 +48315,79 @@ wcond96:
br i1 %t947, label %wbody97, label %wend98
wbody97:
%t948 = load ptr, ptr %t932
- %t949 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 1
- %t950 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 2
- %t951 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 0
- %t952 = load i32, ptr %t949
- %t953 = load i32, ptr %t950
- %t954 = icmp sge i32 %t952, %t953
- br i1 %t954, label %grow99, label %put100
+ %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:
- %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
+ %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:
- %t964 = load ptr, ptr %t6
- %t965 = getelementptr inbounds %LSlice, ptr %t964, i32 0, i32 0
- %t966 = load ptr, ptr %t965
- %t967 = load i32, ptr %t940
- %t968 = getelementptr inbounds ptr, ptr %t966, i32 %t967
- %t969 = load ptr, ptr %t968
- %t970 = call ptr @fn_emit_str_const(ptr %t969)
- %t971 = load ptr, ptr %t951
- %t972 = getelementptr inbounds ptr, ptr %t971, i32 %t952
- store ptr %t970, ptr %t972
- %t973 = add i32 %t952, 1
- store i32 %t973, ptr %t949
+ %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 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 1
- %t976 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 2
- %t977 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 0
- %t978 = load i32, ptr %t975
- %t979 = load i32, ptr %t976
- %t980 = icmp sge i32 %t978, %t979
- br i1 %t980, label %grow101, label %put102
+ %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:
- %t981 = mul i32 %t979, 2
- %t982 = icmp eq i32 %t979, 0
- %t983 = select i1 %t982, i32 8, i32 %t981
- %t984 = getelementptr ptr, ptr null, i32 1
- %t985 = ptrtoint ptr %t984 to i64
- %t986 = zext i32 %t983 to i64
- %t987 = mul i64 %t986, %t985
- %t988 = load ptr, ptr %t977
- %t989 = call ptr @realloc(ptr %t988, i64 %t987)
- store ptr %t989, ptr %t977
- store i32 %t983, ptr %t976
+ %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:
- %t990 = load ptr, ptr %t13
- %t991 = getelementptr inbounds %LSlice, ptr %t990, i32 0, i32 0
- %t992 = load ptr, ptr %t991
- %t993 = load i32, ptr %t940
- %t994 = getelementptr inbounds ptr, ptr %t992, i32 %t993
- %t995 = load ptr, ptr %t994
- %t996 = call ptr @fn_emit_str_const(ptr %t995)
- %t997 = load ptr, ptr %t977
- %t998 = getelementptr inbounds ptr, ptr %t997, i32 %t978
- store ptr %t996, ptr %t998
- %t999 = add i32 %t978, 1
- store i32 %t999, ptr %t975
+ %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 @.str3981)
+ %t1002 = call ptr @fn_emit_str_const(ptr @.str4015)
store ptr %t1002, ptr %t1003
%t1004 = load ptr, ptr %t6
%t1005 = getelementptr inbounds %LSlice, ptr %t1004, i32 0, i32 1
@@ -47812,8 +48395,8 @@ wend98:
store i32 %t1006, ptr %t1007
%t1008 = load i32, ptr %t1007
%t1009 = call ptr @fn_itoa(i32 %t1008)
- %t1010 = call ptr @fn_str_concat(ptr @.str3982, ptr %t1009)
- %t1011 = call ptr @fn_str_concat(ptr %t1010, ptr @.str3983)
+ %t1010 = call ptr @lp_str_concat(ptr @.str4016, ptr %t1009)
+ %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str4017)
call void @fn_emith(ptr %t1011)
store i32 0, ptr %t940
br label %wcond103
@@ -47833,7 +48416,7 @@ wbody104:
%t1022 = icmp ne i32 %t1021, 0
br i1 %t1022, label %then106, label %ifend108
then106:
- call void @fn_emith(ptr @.str3984)
+ call void @fn_emith(ptr @.str4018)
br label %ifend108
ifend108:
%t1023 = load ptr, ptr %t932
@@ -47842,52 +48425,52 @@ ifend108:
%t1026 = load i32, ptr %t940
%t1027 = getelementptr inbounds ptr, ptr %t1025, i32 %t1026
%t1028 = load ptr, ptr %t1027
- %t1029 = call ptr @fn_str_concat(ptr @.str3985, ptr %t1028)
- %t1030 = call ptr @fn_str_concat(ptr %t1029, ptr @.str3986)
+ %t1029 = call ptr @lp_str_concat(ptr @.str4019, ptr %t1028)
+ %t1030 = call ptr @lp_str_concat(ptr %t1029, ptr @.str4020)
%t1031 = load ptr, ptr %t939
%t1032 = getelementptr inbounds %LSlice, ptr %t1031, i32 0, i32 0
%t1033 = load ptr, ptr %t1032
%t1034 = load i32, ptr %t940
%t1035 = getelementptr inbounds ptr, ptr %t1033, i32 %t1034
%t1036 = load ptr, ptr %t1035
- %t1037 = call ptr @fn_str_concat(ptr %t1030, ptr %t1036)
- %t1038 = call ptr @fn_str_concat(ptr %t1037, ptr @.str3987)
+ %t1037 = call ptr @lp_str_concat(ptr %t1030, ptr %t1036)
+ %t1038 = call ptr @lp_str_concat(ptr %t1037, ptr @.str4021)
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 @.str3988)
- call void @fn_emith(ptr @.str3989)
- call void @fn_emith(ptr @.str3990)
+ call void @fn_emith(ptr @.str4022)
+ call void @fn_emith(ptr @.str4023)
+ call void @fn_emith(ptr @.str4024)
%t1041 = load i32, ptr %t1007
%t1042 = call ptr @fn_itoa(i32 %t1041)
- %t1043 = call ptr @fn_str_concat(ptr @.str3991, ptr %t1042)
- %t1044 = call ptr @fn_str_concat(ptr %t1043, ptr @.str3992)
+ %t1043 = call ptr @lp_str_concat(ptr @.str4025, ptr %t1042)
+ %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str4026)
call void @fn_emith(ptr %t1044)
%t1045 = load i32, ptr %t1007
%t1046 = call ptr @fn_itoa(i32 %t1045)
- %t1047 = call ptr @fn_str_concat(ptr @.str3993, ptr %t1046)
- %t1048 = call ptr @fn_str_concat(ptr %t1047, ptr @.str3994)
+ %t1047 = call ptr @lp_str_concat(ptr @.str4027, ptr %t1046)
+ %t1048 = call ptr @lp_str_concat(ptr %t1047, ptr @.str4028)
call void @fn_emith(ptr %t1048)
%t1049 = load i32, ptr %t1007
%t1050 = call ptr @fn_itoa(i32 %t1049)
- %t1051 = call ptr @fn_str_concat(ptr @.str3995, ptr %t1050)
- %t1052 = call ptr @fn_str_concat(ptr %t1051, ptr @.str3996)
+ %t1051 = call ptr @lp_str_concat(ptr @.str4029, ptr %t1050)
+ %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str4030)
call void @fn_emith(ptr %t1052)
- call void @fn_emith(ptr @.str3997)
+ call void @fn_emith(ptr @.str4031)
%t1053 = load ptr, ptr %t1003
- %t1054 = call ptr @fn_str_concat(ptr @.str3998, ptr %t1053)
- %t1055 = call ptr @fn_str_concat(ptr %t1054, ptr @.str3999)
+ %t1054 = call ptr @lp_str_concat(ptr @.str4032, ptr %t1053)
+ %t1055 = call ptr @lp_str_concat(ptr %t1054, ptr @.str4033)
call void @fn_emith(ptr %t1055)
- 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 @.str4034)
+ call void @fn_emith(ptr @.str4035)
+ call void @fn_emith(ptr @.str4036)
+ call void @fn_emith(ptr @.str4037)
+ call void @fn_emith(ptr @.str4038)
+ call void @fn_emith(ptr @.str4039)
+ call void @fn_emith(ptr @.str4040)
call void @fn_emit_fs_sniff()
br label %ret
ret:
@@ -47896,30 +48479,30 @@ ret:
define void @fn_emit_fs_sniff() {
entry:
- call void @fn_emith(ptr @.str4007)
- call void @fn_emith(ptr @.str4008)
- call void @fn_emith(ptr @.str4009)
- call void @fn_emith(ptr @.str4010)
- call void @fn_emith(ptr @.str4011)
- call void @fn_emith(ptr @.str4012)
- call void @fn_emith(ptr @.str4013)
- call void @fn_emith(ptr @.str4014)
- call void @fn_emith(ptr @.str4015)
- call void @fn_emith(ptr @.str4016)
- call void @fn_emith(ptr @.str4017)
- call void @fn_emith(ptr @.str4018)
- call void @fn_emith(ptr @.str4019)
- call void @fn_emith(ptr @.str4020)
- call void @fn_emith(ptr @.str4021)
- call void @fn_emith(ptr @.str4022)
- call void @fn_emith(ptr @.str4023)
- call void @fn_emith(ptr @.str4024)
- call void @fn_emith(ptr @.str4025)
- call void @fn_emith(ptr @.str4026)
- call void @fn_emith(ptr @.str4027)
- call void @fn_emith(ptr @.str4028)
- call void @fn_emith(ptr @.str4029)
- call void @fn_emith(ptr @.str4030)
+ call void @fn_emith(ptr @.str4041)
+ call void @fn_emith(ptr @.str4042)
+ call void @fn_emith(ptr @.str4043)
+ call void @fn_emith(ptr @.str4044)
+ call void @fn_emith(ptr @.str4045)
+ call void @fn_emith(ptr @.str4046)
+ call void @fn_emith(ptr @.str4047)
+ call void @fn_emith(ptr @.str4048)
+ call void @fn_emith(ptr @.str4049)
+ call void @fn_emith(ptr @.str4050)
+ call void @fn_emith(ptr @.str4051)
+ call void @fn_emith(ptr @.str4052)
+ call void @fn_emith(ptr @.str4053)
+ call void @fn_emith(ptr @.str4054)
+ call void @fn_emith(ptr @.str4055)
+ call void @fn_emith(ptr @.str4056)
+ call void @fn_emith(ptr @.str4057)
+ call void @fn_emith(ptr @.str4058)
+ call void @fn_emith(ptr @.str4059)
+ call void @fn_emith(ptr @.str4060)
+ call void @fn_emith(ptr @.str4061)
+ call void @fn_emith(ptr @.str4062)
+ call void @fn_emith(ptr @.str4063)
+ call void @fn_emith(ptr @.str4064)
br label %ret
ret:
ret void
@@ -47940,17 +48523,17 @@ entry:
%t4 = call ptr @fn_slice_field(ptr %t3, i32 0)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
- %t7 = call ptr @fn_str_concat(ptr @.str4031, ptr %t6)
+ %t7 = call ptr @lp_str_concat(ptr @.str4065, ptr %t6)
%t8 = call ptr @fn_emit_bind(ptr %t7)
store ptr %t8, ptr %t9
%t10 = load ptr, ptr %t1
- %t11 = call ptr @fn_str_concat(ptr @.str4032, ptr %t10)
- %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str4033)
+ %t11 = call ptr @lp_str_concat(ptr @.str4066, ptr %t10)
+ %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4067)
%t13 = load ptr, ptr %t9
- %t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
- %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str4034)
+ %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13)
+ %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4068)
%t16 = load ptr, ptr %t2
- %t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16)
+ %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
@@ -47978,14 +48561,14 @@ entry:
%t102 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4035)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str4069)
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t3
br i1 %t6, label %scend1, label %sc0
sc0:
%t8 = load ptr, ptr %t0
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str4036)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str4070)
%t10 = icmp ne i32 %t9, 0
%t11 = zext i1 %t10 to i32
store i32 %t11, ptr %t3
@@ -47998,7 +48581,7 @@ scend1:
br i1 %t13, label %scend3, label %sc2
sc2:
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str4037)
+ %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str4071)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t2
@@ -48011,7 +48594,7 @@ scend3:
br i1 %t20, label %scend5, label %sc4
sc4:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str4038)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str4072)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
@@ -48025,14 +48608,14 @@ then6:
br label %ret
ifend8:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str4039)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str4073)
%t33 = icmp ne i32 %t32, 0
%t34 = zext i1 %t33 to i32
store i32 %t34, ptr %t30
br i1 %t33, label %scend10, label %sc9
sc9:
%t35 = load ptr, ptr %t0
- %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str4040)
+ %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str4074)
%t37 = icmp ne i32 %t36, 0
%t38 = zext i1 %t37 to i32
store i32 %t38, ptr %t30
@@ -48045,7 +48628,7 @@ scend10:
br i1 %t40, label %scend12, label %sc11
sc11:
%t42 = load ptr, ptr %t0
- %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str4041)
+ %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str4075)
%t44 = icmp ne i32 %t43, 0
%t45 = zext i1 %t44 to i32
store i32 %t45, ptr %t29
@@ -48058,7 +48641,7 @@ scend12:
br i1 %t47, label %scend14, label %sc13
sc13:
%t49 = load ptr, ptr %t0
- %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str4042)
+ %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str4076)
%t51 = icmp ne i32 %t50, 0
%t52 = zext i1 %t51 to i32
store i32 %t52, ptr %t28
@@ -48072,14 +48655,14 @@ then15:
br label %ret
ifend17:
%t57 = load ptr, ptr %t0
- %t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str4043)
+ %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str4077)
%t59 = icmp ne i32 %t58, 0
%t60 = zext i1 %t59 to i32
store i32 %t60, ptr %t56
br i1 %t59, label %scend19, label %sc18
sc18:
%t61 = load ptr, ptr %t0
- %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str4044)
+ %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str4078)
%t63 = icmp ne i32 %t62, 0
%t64 = zext i1 %t63 to i32
store i32 %t64, ptr %t56
@@ -48092,7 +48675,7 @@ scend19:
br i1 %t66, label %scend21, label %sc20
sc20:
%t68 = load ptr, ptr %t0
- %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str4045)
+ %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str4079)
%t70 = icmp ne i32 %t69, 0
%t71 = zext i1 %t70 to i32
store i32 %t71, ptr %t55
@@ -48106,14 +48689,14 @@ then22:
br label %ret
ifend24:
%t77 = load ptr, ptr %t0
- %t78 = call i32 @fn_str_eq(ptr %t77, ptr @.str4046)
+ %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str4080)
%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 @fn_str_eq(ptr %t81, ptr @.str4047)
+ %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str4081)
%t83 = icmp ne i32 %t82, 0
%t84 = zext i1 %t83 to i32
store i32 %t84, ptr %t76
@@ -48126,7 +48709,7 @@ scend26:
br i1 %t86, label %scend28, label %sc27
sc27:
%t88 = load ptr, ptr %t0
- %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str4048)
+ %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str4082)
%t90 = icmp ne i32 %t89, 0
%t91 = zext i1 %t90 to i32
store i32 %t91, ptr %t75
@@ -48139,7 +48722,7 @@ scend28:
br i1 %t93, label %scend30, label %sc29
sc29:
%t95 = load ptr, ptr %t0
- %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str4049)
+ %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str4083)
%t97 = icmp ne i32 %t96, 0
%t98 = zext i1 %t97 to i32
store i32 %t98, ptr %t74
@@ -48153,14 +48736,14 @@ then31:
br label %ret
ifend33:
%t103 = load ptr, ptr %t0
- %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str4050)
+ %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str4084)
%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 @fn_str_eq(ptr %t107, ptr @.str4051)
+ %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str4085)
%t109 = icmp ne i32 %t108, 0
%t110 = zext i1 %t109 to i32
store i32 %t110, ptr %t102
@@ -48173,7 +48756,7 @@ scend35:
br i1 %t112, label %scend37, label %sc36
sc36:
%t114 = load ptr, ptr %t0
- %t115 = call i32 @fn_str_eq(ptr %t114, ptr @.str4052)
+ %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str4086)
%t116 = icmp ne i32 %t115, 0
%t117 = zext i1 %t116 to i32
store i32 %t117, ptr %t101
@@ -48225,102 +48808,102 @@ entry:
%t9 = call ptr @fn_slice_field(ptr %t8, i32 0)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t4
- %t12 = call ptr @fn_str_concat(ptr @.str4053, ptr %t11)
+ %t12 = call ptr @lp_str_concat(ptr @.str4087, ptr %t11)
%t13 = call ptr @fn_emit_bind(ptr %t12)
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t7
- %t16 = call ptr @fn_str_concat(ptr @.str4054, ptr %t15)
+ %t16 = call ptr @lp_str_concat(ptr @.str4088, ptr %t15)
%t17 = call ptr @fn_emit_bind(ptr %t16)
store ptr %t17, ptr %t18
%t19 = load ptr, ptr %t14
- %t20 = call ptr @fn_str_concat(ptr @.str4055, ptr %t19)
- %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str4056)
+ %t20 = call ptr @lp_str_concat(ptr @.str4089, ptr %t19)
+ %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4090)
%t22 = load ptr, ptr %t18
- %t23 = call ptr @fn_str_concat(ptr %t21, ptr %t22)
+ %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 @.str4057)
+ %t26 = call ptr @fn_lbl(ptr @.str4091)
store ptr %t26, ptr %t27
- %t28 = call ptr @fn_lbl(ptr @.str4058)
+ %t28 = call ptr @fn_lbl(ptr @.str4092)
store ptr %t28, ptr %t29
- call void @fn_emit(ptr @.str4059)
+ call void @fn_emit(ptr @.str4093)
%t30 = load ptr, ptr %t25
call void @fn_emit(ptr %t30)
- call void @fn_emit(ptr @.str4060)
+ call void @fn_emit(ptr @.str4094)
%t31 = load ptr, ptr %t27
call void @fn_emit(ptr %t31)
- call void @fn_emit(ptr @.str4061)
+ call void @fn_emit(ptr @.str4095)
%t32 = load ptr, ptr %t29
call void @fn_emit(ptr %t32)
- call void @fn_emit(ptr @.str4062)
+ call void @fn_emit(ptr @.str4096)
%t33 = load ptr, ptr %t27
call void @fn_emit(ptr %t33)
- call void @fn_emit(ptr @.str4063)
+ call void @fn_emit(ptr @.str4097)
%t34 = load ptr, ptr %t18
- %t35 = call ptr @fn_str_concat(ptr @.str4064, ptr %t34)
- %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str4065)
+ %t35 = call ptr @lp_str_concat(ptr @.str4098, ptr %t34)
+ %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4099)
%t37 = call ptr @fn_emit_bind(ptr %t36)
store ptr %t37, ptr %t38
%t39 = load ptr, ptr %t18
- %t40 = call ptr @fn_str_concat(ptr @.str4066, ptr %t39)
- %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str4067)
+ %t40 = call ptr @lp_str_concat(ptr @.str4100, ptr %t39)
+ %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4101)
%t42 = call ptr @fn_emit_bind(ptr %t41)
store ptr %t42, ptr %t43
%t44 = load ptr, ptr %t43
- %t45 = call ptr @fn_str_concat(ptr @.str4068, ptr %t44)
- %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str4069)
+ %t45 = call ptr @lp_str_concat(ptr @.str4102, ptr %t44)
+ %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4103)
%t47 = load ptr, ptr %t38
- %t48 = call ptr @fn_str_concat(ptr %t46, ptr %t47)
+ %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 @fn_str_concat(ptr @.str4070, ptr %t54)
- %t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str4071)
+ %t55 = call ptr @lp_str_concat(ptr @.str4104, ptr %t54)
+ %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4105)
%t57 = call ptr @fn_emit_bind(ptr %t56)
store ptr %t57, ptr %t58
%t59 = load ptr, ptr %t58
- %t60 = call ptr @fn_str_concat(ptr @.str4072, ptr %t59)
- %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str4073)
+ %t60 = call ptr @lp_str_concat(ptr @.str4106, ptr %t59)
+ %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str4107)
%t62 = load ptr, ptr %t53
- %t63 = call ptr @fn_str_concat(ptr %t61, ptr %t62)
+ %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 @fn_str_concat(ptr @.str4074, ptr %t66)
+ %t67 = call ptr @lp_str_concat(ptr @.str4108, ptr %t66)
%t68 = call ptr @fn_emit_bind(ptr %t67)
store ptr %t68, ptr %t69
%t70 = load ptr, ptr %t69
- %t71 = call ptr @fn_str_concat(ptr @.str4075, ptr %t70)
- %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str4076)
+ %t71 = call ptr @lp_str_concat(ptr @.str4109, ptr %t70)
+ %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str4110)
%t73 = load ptr, ptr %t65
- %t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
- %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str4077)
+ %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73)
+ %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str4111)
%t76 = call ptr @fn_emit_bind(ptr %t75)
store ptr %t76, ptr %t77
- call void @fn_emit(ptr @.str4078)
+ call void @fn_emit(ptr @.str4112)
%t78 = load ptr, ptr %t77
call void @fn_emit(ptr %t78)
- call void @fn_emit(ptr @.str4079)
+ call void @fn_emit(ptr @.str4113)
%t79 = load ptr, ptr %t10
call void @fn_emit(ptr %t79)
- call void @fn_emit(ptr @.str4080)
- call void @fn_emit(ptr @.str4081)
+ call void @fn_emit(ptr @.str4114)
+ call void @fn_emit(ptr @.str4115)
%t80 = load ptr, ptr %t50
call void @fn_emit(ptr %t80)
- call void @fn_emit(ptr @.str4082)
+ call void @fn_emit(ptr @.str4116)
%t81 = load ptr, ptr %t7
call void @fn_emit(ptr %t81)
- call void @fn_emit(ptr @.str4083)
- call void @fn_emit(ptr @.str4084)
+ call void @fn_emit(ptr @.str4117)
+ call void @fn_emit(ptr @.str4118)
%t82 = load ptr, ptr %t29
call void @fn_emit(ptr %t82)
- call void @fn_emit(ptr @.str4085)
+ call void @fn_emit(ptr @.str4119)
%t83 = load ptr, ptr %t29
call void @fn_emit(ptr %t83)
- call void @fn_emit(ptr @.str4086)
+ call void @fn_emit(ptr @.str4120)
br label %ret
ret:
ret void
@@ -48336,13 +48919,13 @@ entry:
store ptr %arg_elt, ptr %t1
store ptr %arg_idx, ptr %t2
%t3 = load ptr, ptr %t1
- %t4 = call ptr @fn_str_concat(ptr @.str4087, ptr %t3)
- %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str4088)
+ %t4 = call ptr @lp_str_concat(ptr @.str4121, ptr %t3)
+ %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str4122)
%t6 = load ptr, ptr %t0
- %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
- %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4089)
+ %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6)
+ %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4123)
%t9 = load ptr, ptr %t2
- %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
+ %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
@@ -48376,13 +48959,13 @@ entry:
br i1 %t9, label %then0, label %ifend2
then0:
%t10 = load ptr, ptr %t0
- %t11 = call ptr @fn_str_concat(ptr @.str4090, ptr %t10)
- %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str4091)
+ %t11 = call ptr @lp_str_concat(ptr @.str4124, ptr %t10)
+ %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4125)
%t13 = load ptr, ptr %t5
- %t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
- %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str4092)
+ %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13)
+ %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4126)
%t16 = load ptr, ptr %t4
- %t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16)
+ %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
@@ -48394,55 +48977,55 @@ ifend2:
br i1 %t22, label %then3, label %ifend5
then3:
%t23 = load ptr, ptr %t2
- %t24 = call ptr @fn_str_concat(ptr @.str4093, ptr %t23)
- %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str4094)
+ %t24 = call ptr @lp_str_concat(ptr @.str4127, ptr %t23)
+ %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str4128)
%t26 = load ptr, ptr %t0
- %t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26)
- %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str4095)
+ %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26)
+ %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4129)
%t29 = load ptr, ptr %t4
- %t30 = call ptr @fn_str_concat(ptr %t28, ptr %t29)
- %t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str4096)
+ %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29)
+ %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str4130)
%t32 = load ptr, ptr %t0
- %t33 = call ptr @fn_str_concat(ptr %t31, ptr %t32)
- %t34 = call ptr @fn_str_concat(ptr %t33, ptr @.str4097)
+ %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32)
+ %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str4131)
%t35 = load ptr, ptr %t5
- %t36 = call ptr @fn_str_concat(ptr %t34, ptr %t35)
- %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str4098)
+ %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35)
+ %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4132)
%t38 = call ptr @fn_emit_bind(ptr %t37)
store ptr %t38, ptr %t39
%t40 = load ptr, ptr %t39
- %t41 = call ptr @fn_str_concat(ptr @.str4099, ptr %t40)
- %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str4100)
+ %t41 = call ptr @lp_str_concat(ptr @.str4133, ptr %t40)
+ %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4134)
%t43 = call ptr @fn_emit_bind(ptr %t42)
store ptr %t43, ptr %retval
br label %ret
ifend5:
%t44 = load ptr, ptr %t3
- %t45 = call ptr @fn_str_concat(ptr @.str4101, ptr %t44)
- %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str4102)
+ %t45 = call ptr @lp_str_concat(ptr @.str4135, ptr %t44)
+ %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4136)
%t47 = load ptr, ptr %t2
- %t48 = call ptr @fn_str_concat(ptr %t46, ptr %t47)
- %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str4103)
+ %t48 = call ptr @lp_str_concat(ptr %t46, ptr %t47)
+ %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str4137)
%t50 = load ptr, ptr %t0
- %t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
- %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str4104)
+ %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50)
+ %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str4138)
%t53 = load ptr, ptr %t4
- %t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53)
- %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str4105)
+ %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53)
+ %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str4139)
%t56 = call ptr @fn_emit_bind(ptr %t55)
store ptr %t56, ptr %t57
%t58 = load ptr, ptr %t3
- %t59 = call ptr @fn_str_concat(ptr @.str4106, ptr %t58)
- %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str4107)
+ %t59 = call ptr @lp_str_concat(ptr @.str4140, ptr %t58)
+ %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str4141)
%t61 = load ptr, ptr %t2
- %t62 = call ptr @fn_str_concat(ptr %t60, ptr %t61)
- %t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str4108)
+ %t62 = call ptr @lp_str_concat(ptr %t60, ptr %t61)
+ %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str4142)
%t64 = load ptr, ptr %t0
- %t65 = call ptr @fn_str_concat(ptr %t63, ptr %t64)
- %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str4109)
+ %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64)
+ %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str4143)
%t67 = load ptr, ptr %t5
- %t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67)
- %t69 = call ptr @fn_str_concat(ptr %t68, ptr @.str4110)
+ %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67)
+ %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str4144)
%t70 = call ptr @fn_emit_bind(ptr %t69)
store ptr %t70, ptr %t71
%t72 = load i32, ptr %t1
@@ -48452,25 +49035,25 @@ ifend5:
br i1 %t75, label %then6, label %ifend8
then6:
%t76 = load ptr, ptr %t3
- %t77 = call ptr @fn_str_concat(ptr @.str4111, ptr %t76)
- %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str4112)
+ %t77 = call ptr @lp_str_concat(ptr @.str4145, ptr %t76)
+ %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str4146)
%t79 = load ptr, ptr %t57
- %t80 = call ptr @fn_str_concat(ptr %t78, ptr %t79)
- %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str4113)
+ %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79)
+ %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str4147)
%t82 = load ptr, ptr %t71
- %t83 = call ptr @fn_str_concat(ptr %t81, ptr %t82)
+ %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 @fn_str_concat(ptr @.str4114, ptr %t85)
- %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str4115)
+ %t86 = call ptr @lp_str_concat(ptr @.str4148, ptr %t85)
+ %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4149)
%t88 = load ptr, ptr %t57
- %t89 = call ptr @fn_str_concat(ptr %t87, ptr %t88)
- %t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str4116)
+ %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88)
+ %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str4150)
%t91 = load ptr, ptr %t71
- %t92 = call ptr @fn_str_concat(ptr %t90, ptr %t91)
+ %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
@@ -48579,251 +49162,251 @@ entry:
%t6 = call ptr @fn_slice_field(ptr %t5, i32 0)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t7
- %t9 = call ptr @fn_str_concat(ptr @.str4117, ptr %t8)
+ %t9 = call ptr @lp_str_concat(ptr @.str4151, ptr %t8)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t0
%t13 = call ptr @fn_slice_field(ptr %t12, i32 1)
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t14
- %t16 = call ptr @fn_str_concat(ptr @.str4118, ptr %t15)
+ %t16 = call ptr @lp_str_concat(ptr @.str4152, ptr %t15)
%t17 = call ptr @fn_emit_bind(ptr %t16)
store ptr %t17, ptr %t18
%t19 = load ptr, ptr %t1
%t20 = call ptr @fn_emit_sizeof(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t18
- %t23 = call ptr @fn_str_concat(ptr @.str4119, ptr %t22)
- %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str4120)
+ %t23 = call ptr @lp_str_concat(ptr @.str4153, ptr %t22)
+ %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str4154)
%t25 = call ptr @fn_emit_bind(ptr %t24)
store ptr %t25, ptr %t26
%t27 = load ptr, ptr %t26
- %t28 = call ptr @fn_str_concat(ptr @.str4121, ptr %t27)
- %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str4122)
+ %t28 = call ptr @lp_str_concat(ptr @.str4155, ptr %t27)
+ %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str4156)
%t30 = load ptr, ptr %t21
- %t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30)
+ %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 @fn_str_concat(ptr @.str4123, ptr %t34)
- %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str4124)
+ %t35 = call ptr @lp_str_concat(ptr @.str4157, ptr %t34)
+ %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4158)
%t37 = call ptr @fn_emit_bind(ptr %t36)
store ptr %t37, ptr %t38
- %t39 = call ptr @fn_emit_alloca(ptr @.str4125)
+ %t39 = call ptr @fn_emit_alloca(ptr @.str4159)
store ptr %t39, ptr %t40
%t41 = load ptr, ptr %t40
- call void @fn_store_at(ptr @.str4126, ptr @.str4127, ptr %t41)
- %t42 = call ptr @fn_lbl(ptr @.str4128)
+ call void @fn_store_at(ptr @.str4160, ptr @.str4161, ptr %t41)
+ %t42 = call ptr @fn_lbl(ptr @.str4162)
store ptr %t42, ptr %t43
- %t44 = call ptr @fn_lbl(ptr @.str4129)
+ %t44 = call ptr @fn_lbl(ptr @.str4163)
store ptr %t44, ptr %t45
- %t46 = call ptr @fn_lbl(ptr @.str4130)
+ %t46 = call ptr @fn_lbl(ptr @.str4164)
store ptr %t46, ptr %t47
- call void @fn_emit(ptr @.str4131)
+ call void @fn_emit(ptr @.str4165)
%t48 = load ptr, ptr %t43
call void @fn_emit(ptr %t48)
- call void @fn_emit(ptr @.str4132)
+ call void @fn_emit(ptr @.str4166)
%t49 = load ptr, ptr %t43
call void @fn_emit(ptr %t49)
- call void @fn_emit(ptr @.str4133)
+ call void @fn_emit(ptr @.str4167)
%t50 = load ptr, ptr %t40
- %t51 = call ptr @fn_str_concat(ptr @.str4134, ptr %t50)
+ %t51 = call ptr @lp_str_concat(ptr @.str4168, ptr %t50)
%t52 = call ptr @fn_emit_bind(ptr %t51)
store ptr %t52, ptr %t53
%t54 = load ptr, ptr %t53
- %t55 = call ptr @fn_str_concat(ptr @.str4135, ptr %t54)
- %t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str4136)
+ %t55 = call ptr @lp_str_concat(ptr @.str4169, ptr %t54)
+ %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4170)
%t57 = load ptr, ptr %t18
- %t58 = call ptr @fn_str_concat(ptr %t56, ptr %t57)
+ %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 @.str4137)
+ call void @fn_emit(ptr @.str4171)
%t61 = load ptr, ptr %t60
call void @fn_emit(ptr %t61)
- call void @fn_emit(ptr @.str4138)
+ call void @fn_emit(ptr @.str4172)
%t62 = load ptr, ptr %t45
call void @fn_emit(ptr %t62)
- call void @fn_emit(ptr @.str4139)
+ call void @fn_emit(ptr @.str4173)
%t63 = load ptr, ptr %t47
call void @fn_emit(ptr %t63)
- call void @fn_emit(ptr @.str4140)
+ call void @fn_emit(ptr @.str4174)
%t64 = load ptr, ptr %t45
call void @fn_emit(ptr %t64)
- call void @fn_emit(ptr @.str4141)
+ call void @fn_emit(ptr @.str4175)
%t65 = load ptr, ptr %t53
- %t66 = call ptr @fn_str_concat(ptr @.str4142, ptr %t65)
- %t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str4143)
+ %t66 = call ptr @lp_str_concat(ptr @.str4176, ptr %t65)
+ %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str4177)
%t68 = call ptr @fn_emit_bind(ptr %t67)
store ptr %t68, ptr %t69
- %t70 = call ptr @fn_emit_alloca(ptr @.str4144)
+ %t70 = call ptr @fn_emit_alloca(ptr @.str4178)
store ptr %t70, ptr %t71
%t72 = load ptr, ptr %t71
- call void @fn_store_at(ptr @.str4145, ptr @.str4146, ptr %t72)
- %t73 = call ptr @fn_lbl(ptr @.str4147)
+ call void @fn_store_at(ptr @.str4179, ptr @.str4180, ptr %t72)
+ %t73 = call ptr @fn_lbl(ptr @.str4181)
store ptr %t73, ptr %t74
- %t75 = call ptr @fn_lbl(ptr @.str4148)
+ %t75 = call ptr @fn_lbl(ptr @.str4182)
store ptr %t75, ptr %t76
- %t77 = call ptr @fn_lbl(ptr @.str4149)
+ %t77 = call ptr @fn_lbl(ptr @.str4183)
store ptr %t77, ptr %t78
- call void @fn_emit(ptr @.str4150)
+ call void @fn_emit(ptr @.str4184)
%t79 = load ptr, ptr %t74
call void @fn_emit(ptr %t79)
- call void @fn_emit(ptr @.str4151)
+ call void @fn_emit(ptr @.str4185)
%t80 = load ptr, ptr %t74
call void @fn_emit(ptr %t80)
- call void @fn_emit(ptr @.str4152)
+ call void @fn_emit(ptr @.str4186)
%t81 = load ptr, ptr %t71
- %t82 = call ptr @fn_str_concat(ptr @.str4153, ptr %t81)
+ %t82 = call ptr @lp_str_concat(ptr @.str4187, ptr %t81)
%t83 = call ptr @fn_emit_bind(ptr %t82)
store ptr %t83, ptr %t84
%t85 = load ptr, ptr %t84
- %t86 = call ptr @fn_str_concat(ptr @.str4154, ptr %t85)
- %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str4155)
+ %t86 = call ptr @lp_str_concat(ptr @.str4188, ptr %t85)
+ %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4189)
%t88 = load ptr, ptr %t18
- %t89 = call ptr @fn_str_concat(ptr %t87, ptr %t88)
+ %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 @.str4156)
+ call void @fn_emit(ptr @.str4190)
%t92 = load ptr, ptr %t91
call void @fn_emit(ptr %t92)
- call void @fn_emit(ptr @.str4157)
+ call void @fn_emit(ptr @.str4191)
%t93 = load ptr, ptr %t76
call void @fn_emit(ptr %t93)
- call void @fn_emit(ptr @.str4158)
+ call void @fn_emit(ptr @.str4192)
%t94 = load ptr, ptr %t78
call void @fn_emit(ptr %t94)
- call void @fn_emit(ptr @.str4159)
+ call void @fn_emit(ptr @.str4193)
%t95 = load ptr, ptr %t76
call void @fn_emit(ptr %t95)
- call void @fn_emit(ptr @.str4160)
+ call void @fn_emit(ptr @.str4194)
%t96 = load ptr, ptr %t84
- %t97 = call ptr @fn_str_concat(ptr @.str4161, ptr %t96)
- %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str4162)
+ %t97 = call ptr @lp_str_concat(ptr @.str4195, ptr %t96)
+ %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str4196)
%t99 = load ptr, ptr %t53
- %t100 = call ptr @fn_str_concat(ptr %t98, ptr %t99)
+ %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 @fn_str_concat(ptr @.str4163, ptr %t103)
- %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str4164)
+ %t104 = call ptr @lp_str_concat(ptr @.str4197, ptr %t103)
+ %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str4198)
%t106 = load ptr, ptr %t18
- %t107 = call ptr @fn_str_concat(ptr %t105, ptr %t106)
+ %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 @fn_str_concat(ptr @.str4165, ptr %t110)
- %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str4166)
+ %t111 = call ptr @lp_str_concat(ptr @.str4199, ptr %t110)
+ %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str4200)
%t113 = load ptr, ptr %t102
- %t114 = call ptr @fn_str_concat(ptr %t112, ptr %t113)
- %t115 = call ptr @fn_str_concat(ptr %t114, ptr @.str4167)
+ %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113)
+ %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str4201)
%t116 = load ptr, ptr %t18
- %t117 = call ptr @fn_str_concat(ptr %t115, ptr %t116)
+ %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 @fn_str_concat(ptr @.str4168, ptr %t120)
- %t122 = call ptr @fn_str_concat(ptr %t121, ptr @.str4169)
+ %t121 = call ptr @lp_str_concat(ptr @.str4202, ptr %t120)
+ %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str4203)
%t123 = load ptr, ptr %t69
- %t124 = call ptr @fn_str_concat(ptr %t122, ptr %t123)
+ %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 @fn_str_concat(ptr @.str4170, ptr %t127)
- %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str4171)
+ %t128 = call ptr @lp_str_concat(ptr @.str4204, ptr %t127)
+ %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str4205)
%t130 = load ptr, ptr %t18
- %t131 = call ptr @fn_str_concat(ptr %t129, ptr %t130)
+ %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 @fn_str_concat(ptr @.str4172, ptr %t134)
- %t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str4173)
+ %t135 = call ptr @lp_str_concat(ptr @.str4206, ptr %t134)
+ %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str4207)
%t137 = load ptr, ptr %t126
- %t138 = call ptr @fn_str_concat(ptr %t136, ptr %t137)
- %t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str4174)
+ %t138 = call ptr @lp_str_concat(ptr %t136, ptr %t137)
+ %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str4208)
%t140 = load ptr, ptr %t18
- %t141 = call ptr @fn_str_concat(ptr %t139, ptr %t140)
+ %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 @.str4175)
+ %t144 = call ptr @fn_emit_alloca(ptr @.str4209)
store ptr %t144, ptr %t145
%t146 = load ptr, ptr %t84
%t147 = load ptr, ptr %t145
- call void @fn_store_at(ptr @.str4176, ptr %t146, ptr %t147)
- %t148 = call ptr @fn_emit_alloca(ptr @.str4177)
+ call void @fn_store_at(ptr @.str4210, ptr %t146, ptr %t147)
+ %t148 = call ptr @fn_emit_alloca(ptr @.str4211)
store ptr %t148, ptr %t149
%t150 = load ptr, ptr %t119
%t151 = load ptr, ptr %t149
- call void @fn_store_at(ptr @.str4178, ptr %t150, ptr %t151)
- %t152 = call ptr @fn_emit_alloca(ptr @.str4179)
+ call void @fn_store_at(ptr @.str4212, ptr %t150, ptr %t151)
+ %t152 = call ptr @fn_emit_alloca(ptr @.str4213)
store ptr %t152, ptr %t153
%t154 = load ptr, ptr %t84
%t155 = load ptr, ptr %t153
- call void @fn_store_at(ptr @.str4180, ptr %t154, ptr %t155)
- %t156 = call ptr @fn_lbl(ptr @.str4181)
+ call void @fn_store_at(ptr @.str4214, ptr %t154, ptr %t155)
+ %t156 = call ptr @fn_lbl(ptr @.str4215)
store ptr %t156, ptr %t157
- %t158 = call ptr @fn_lbl(ptr @.str4182)
+ %t158 = call ptr @fn_lbl(ptr @.str4216)
store ptr %t158, ptr %t159
- %t160 = call ptr @fn_lbl(ptr @.str4183)
+ %t160 = call ptr @fn_lbl(ptr @.str4217)
store ptr %t160, ptr %t161
- call void @fn_emit(ptr @.str4184)
+ call void @fn_emit(ptr @.str4218)
%t162 = load ptr, ptr %t157
call void @fn_emit(ptr %t162)
- call void @fn_emit(ptr @.str4185)
+ call void @fn_emit(ptr @.str4219)
%t163 = load ptr, ptr %t157
call void @fn_emit(ptr %t163)
- call void @fn_emit(ptr @.str4186)
+ call void @fn_emit(ptr @.str4220)
%t164 = load ptr, ptr %t145
- %t165 = call ptr @fn_str_concat(ptr @.str4187, ptr %t164)
+ %t165 = call ptr @lp_str_concat(ptr @.str4221, ptr %t164)
%t166 = call ptr @fn_emit_bind(ptr %t165)
store ptr %t166, ptr %t167
%t168 = load ptr, ptr %t149
- %t169 = call ptr @fn_str_concat(ptr @.str4188, ptr %t168)
+ %t169 = call ptr @lp_str_concat(ptr @.str4222, ptr %t168)
%t170 = call ptr @fn_emit_bind(ptr %t169)
store ptr %t170, ptr %t171
%t172 = load ptr, ptr %t167
- %t173 = call ptr @fn_str_concat(ptr @.str4189, ptr %t172)
- %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str4190)
+ %t173 = call ptr @lp_str_concat(ptr @.str4223, ptr %t172)
+ %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str4224)
%t175 = load ptr, ptr %t119
- %t176 = call ptr @fn_str_concat(ptr %t174, ptr %t175)
+ %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 @fn_str_concat(ptr @.str4191, ptr %t179)
- %t181 = call ptr @fn_str_concat(ptr %t180, ptr @.str4192)
+ %t180 = call ptr @lp_str_concat(ptr @.str4225, ptr %t179)
+ %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str4226)
%t182 = load ptr, ptr %t143
- %t183 = call ptr @fn_str_concat(ptr %t181, ptr %t182)
+ %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 @fn_str_concat(ptr @.str4193, ptr %t186)
- %t188 = call ptr @fn_str_concat(ptr %t187, ptr @.str4194)
+ %t187 = call ptr @lp_str_concat(ptr @.str4227, ptr %t186)
+ %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str4228)
%t189 = load ptr, ptr %t185
- %t190 = call ptr @fn_str_concat(ptr %t188, ptr %t189)
+ %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 @.str4195)
+ call void @fn_emit(ptr @.str4229)
%t193 = load ptr, ptr %t192
call void @fn_emit(ptr %t193)
- call void @fn_emit(ptr @.str4196)
+ call void @fn_emit(ptr @.str4230)
%t194 = load ptr, ptr %t159
call void @fn_emit(ptr %t194)
- call void @fn_emit(ptr @.str4197)
+ call void @fn_emit(ptr @.str4231)
%t195 = load ptr, ptr %t161
call void @fn_emit(ptr %t195)
- call void @fn_emit(ptr @.str4198)
+ call void @fn_emit(ptr @.str4232)
%t196 = load ptr, ptr %t159
call void @fn_emit(ptr %t196)
- call void @fn_emit(ptr @.str4199)
+ call void @fn_emit(ptr @.str4233)
%t197 = load ptr, ptr %t11
%t198 = load ptr, ptr %t1
%t199 = load ptr, ptr %t167
%t200 = call ptr @fn_gep_at(ptr %t197, ptr %t198, ptr %t199)
store ptr %t200, ptr %t201
%t202 = load ptr, ptr %t1
- %t203 = call ptr @fn_str_concat(ptr @.str4200, ptr %t202)
- %t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str4201)
+ %t203 = call ptr @lp_str_concat(ptr @.str4234, ptr %t202)
+ %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str4235)
%t205 = load ptr, ptr %t201
- %t206 = call ptr @fn_str_concat(ptr %t204, ptr %t205)
+ %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
@@ -48832,10 +49415,10 @@ entry:
%t212 = call ptr @fn_gep_at(ptr %t209, ptr %t210, ptr %t211)
store ptr %t212, ptr %t213
%t214 = load ptr, ptr %t1
- %t215 = call ptr @fn_str_concat(ptr @.str4202, ptr %t214)
- %t216 = call ptr @fn_str_concat(ptr %t215, ptr @.str4203)
+ %t215 = call ptr @lp_str_concat(ptr @.str4236, ptr %t214)
+ %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str4237)
%t217 = load ptr, ptr %t213
- %t218 = call ptr @fn_str_concat(ptr %t216, ptr %t217)
+ %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
@@ -48847,7 +49430,7 @@ entry:
%t227 = call ptr @fn_emit_takeright(ptr %t221, i32 %t222, ptr %t223, ptr %t224, ptr %t225, ptr %t226)
store ptr %t227, ptr %t228
%t229 = load ptr, ptr %t153
- %t230 = call ptr @fn_str_concat(ptr @.str4204, ptr %t229)
+ %t230 = call ptr @lp_str_concat(ptr @.str4238, ptr %t229)
%t231 = call ptr @fn_emit_bind(ptr %t230)
store ptr %t231, ptr %t232
%t233 = load ptr, ptr %t38
@@ -48855,141 +49438,141 @@ entry:
%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 @.str4205)
+ %t238 = call ptr @fn_lbl(ptr @.str4239)
store ptr %t238, ptr %t239
- %t240 = call ptr @fn_lbl(ptr @.str4206)
+ %t240 = call ptr @fn_lbl(ptr @.str4240)
store ptr %t240, ptr %t241
- %t242 = call ptr @fn_lbl(ptr @.str4207)
+ %t242 = call ptr @fn_lbl(ptr @.str4241)
store ptr %t242, ptr %t243
- call void @fn_emit(ptr @.str4208)
+ call void @fn_emit(ptr @.str4242)
%t244 = load ptr, ptr %t228
call void @fn_emit(ptr %t244)
- call void @fn_emit(ptr @.str4209)
+ call void @fn_emit(ptr @.str4243)
%t245 = load ptr, ptr %t239
call void @fn_emit(ptr %t245)
- call void @fn_emit(ptr @.str4210)
+ call void @fn_emit(ptr @.str4244)
%t246 = load ptr, ptr %t241
call void @fn_emit(ptr %t246)
- call void @fn_emit(ptr @.str4211)
+ call void @fn_emit(ptr @.str4245)
%t247 = load ptr, ptr %t239
call void @fn_emit(ptr %t247)
- call void @fn_emit(ptr @.str4212)
- call void @fn_emit(ptr @.str4213)
+ call void @fn_emit(ptr @.str4246)
+ call void @fn_emit(ptr @.str4247)
%t248 = load ptr, ptr %t1
call void @fn_emit(ptr %t248)
- call void @fn_emit(ptr @.str4214)
+ call void @fn_emit(ptr @.str4248)
%t249 = load ptr, ptr %t220
call void @fn_emit(ptr %t249)
- call void @fn_emit(ptr @.str4215)
+ call void @fn_emit(ptr @.str4249)
%t250 = load ptr, ptr %t237
call void @fn_emit(ptr %t250)
- call void @fn_emit(ptr @.str4216)
+ call void @fn_emit(ptr @.str4250)
%t251 = load ptr, ptr %t171
- %t252 = call ptr @fn_str_concat(ptr @.str4217, ptr %t251)
- %t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str4218)
+ %t252 = call ptr @lp_str_concat(ptr @.str4251, ptr %t251)
+ %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str4252)
%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 @.str4219, ptr %t256, ptr %t257)
- call void @fn_emit(ptr @.str4220)
+ call void @fn_store_at(ptr @.str4253, ptr %t256, ptr %t257)
+ call void @fn_emit(ptr @.str4254)
%t258 = load ptr, ptr %t243
call void @fn_emit(ptr %t258)
- call void @fn_emit(ptr @.str4221)
+ call void @fn_emit(ptr @.str4255)
%t259 = load ptr, ptr %t241
call void @fn_emit(ptr %t259)
- call void @fn_emit(ptr @.str4222)
- call void @fn_emit(ptr @.str4223)
+ call void @fn_emit(ptr @.str4256)
+ call void @fn_emit(ptr @.str4257)
%t260 = load ptr, ptr %t1
call void @fn_emit(ptr %t260)
- call void @fn_emit(ptr @.str4224)
+ call void @fn_emit(ptr @.str4258)
%t261 = load ptr, ptr %t208
call void @fn_emit(ptr %t261)
- call void @fn_emit(ptr @.str4225)
+ call void @fn_emit(ptr @.str4259)
%t262 = load ptr, ptr %t237
call void @fn_emit(ptr %t262)
- call void @fn_emit(ptr @.str4226)
+ call void @fn_emit(ptr @.str4260)
%t263 = load ptr, ptr %t167
- %t264 = call ptr @fn_str_concat(ptr @.str4227, ptr %t263)
- %t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str4228)
+ %t264 = call ptr @lp_str_concat(ptr @.str4261, ptr %t263)
+ %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str4262)
%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 @.str4229, ptr %t268, ptr %t269)
- call void @fn_emit(ptr @.str4230)
+ call void @fn_store_at(ptr @.str4263, ptr %t268, ptr %t269)
+ call void @fn_emit(ptr @.str4264)
%t270 = load ptr, ptr %t243
call void @fn_emit(ptr %t270)
- call void @fn_emit(ptr @.str4231)
+ call void @fn_emit(ptr @.str4265)
%t271 = load ptr, ptr %t243
call void @fn_emit(ptr %t271)
- call void @fn_emit(ptr @.str4232)
+ call void @fn_emit(ptr @.str4266)
%t272 = load ptr, ptr %t232
- %t273 = call ptr @fn_str_concat(ptr @.str4233, ptr %t272)
- %t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str4234)
+ %t273 = call ptr @lp_str_concat(ptr @.str4267, ptr %t272)
+ %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str4268)
%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 @.str4235, ptr %t277, ptr %t278)
- call void @fn_emit(ptr @.str4236)
+ call void @fn_store_at(ptr @.str4269, ptr %t277, ptr %t278)
+ call void @fn_emit(ptr @.str4270)
%t279 = load ptr, ptr %t157
call void @fn_emit(ptr %t279)
- call void @fn_emit(ptr @.str4237)
+ call void @fn_emit(ptr @.str4271)
%t280 = load ptr, ptr %t161
call void @fn_emit(ptr %t280)
- call void @fn_emit(ptr @.str4238)
- %t281 = call ptr @fn_lbl(ptr @.str4239)
+ call void @fn_emit(ptr @.str4272)
+ %t281 = call ptr @fn_lbl(ptr @.str4273)
store ptr %t281, ptr %t282
- %t283 = call ptr @fn_lbl(ptr @.str4240)
+ %t283 = call ptr @fn_lbl(ptr @.str4274)
store ptr %t283, ptr %t284
- %t285 = call ptr @fn_lbl(ptr @.str4241)
+ %t285 = call ptr @fn_lbl(ptr @.str4275)
store ptr %t285, ptr %t286
- call void @fn_emit(ptr @.str4242)
+ call void @fn_emit(ptr @.str4276)
%t287 = load ptr, ptr %t282
call void @fn_emit(ptr %t287)
- call void @fn_emit(ptr @.str4243)
+ call void @fn_emit(ptr @.str4277)
%t288 = load ptr, ptr %t282
call void @fn_emit(ptr %t288)
- call void @fn_emit(ptr @.str4244)
+ call void @fn_emit(ptr @.str4278)
%t289 = load ptr, ptr %t145
- %t290 = call ptr @fn_str_concat(ptr @.str4245, ptr %t289)
+ %t290 = call ptr @lp_str_concat(ptr @.str4279, ptr %t289)
%t291 = call ptr @fn_emit_bind(ptr %t290)
store ptr %t291, ptr %t292
%t293 = load ptr, ptr %t292
- %t294 = call ptr @fn_str_concat(ptr @.str4246, ptr %t293)
- %t295 = call ptr @fn_str_concat(ptr %t294, ptr @.str4247)
+ %t294 = call ptr @lp_str_concat(ptr @.str4280, ptr %t293)
+ %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str4281)
%t296 = load ptr, ptr %t119
- %t297 = call ptr @fn_str_concat(ptr %t295, ptr %t296)
+ %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 @.str4248)
+ call void @fn_emit(ptr @.str4282)
%t300 = load ptr, ptr %t299
call void @fn_emit(ptr %t300)
- call void @fn_emit(ptr @.str4249)
+ call void @fn_emit(ptr @.str4283)
%t301 = load ptr, ptr %t284
call void @fn_emit(ptr %t301)
- call void @fn_emit(ptr @.str4250)
+ call void @fn_emit(ptr @.str4284)
%t302 = load ptr, ptr %t286
call void @fn_emit(ptr %t302)
- call void @fn_emit(ptr @.str4251)
+ call void @fn_emit(ptr @.str4285)
%t303 = load ptr, ptr %t284
call void @fn_emit(ptr %t303)
- call void @fn_emit(ptr @.str4252)
+ call void @fn_emit(ptr @.str4286)
%t304 = load ptr, ptr %t11
%t305 = load ptr, ptr %t1
%t306 = load ptr, ptr %t292
%t307 = call ptr @fn_gep_at(ptr %t304, ptr %t305, ptr %t306)
store ptr %t307, ptr %t308
%t309 = load ptr, ptr %t1
- %t310 = call ptr @fn_str_concat(ptr @.str4253, ptr %t309)
- %t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str4254)
+ %t310 = call ptr @lp_str_concat(ptr @.str4287, ptr %t309)
+ %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str4288)
%t312 = load ptr, ptr %t308
- %t313 = call ptr @fn_str_concat(ptr %t311, ptr %t312)
+ %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 @fn_str_concat(ptr @.str4255, ptr %t316)
+ %t317 = call ptr @lp_str_concat(ptr @.str4289, ptr %t316)
%t318 = call ptr @fn_emit_bind(ptr %t317)
store ptr %t318, ptr %t319
%t320 = load ptr, ptr %t38
@@ -48997,90 +49580,90 @@ entry:
%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 @.str4256)
+ call void @fn_emit(ptr @.str4290)
%t325 = load ptr, ptr %t1
call void @fn_emit(ptr %t325)
- call void @fn_emit(ptr @.str4257)
+ call void @fn_emit(ptr @.str4291)
%t326 = load ptr, ptr %t315
call void @fn_emit(ptr %t326)
- call void @fn_emit(ptr @.str4258)
+ call void @fn_emit(ptr @.str4292)
%t327 = load ptr, ptr %t324
call void @fn_emit(ptr %t327)
- call void @fn_emit(ptr @.str4259)
+ call void @fn_emit(ptr @.str4293)
%t328 = load ptr, ptr %t292
- %t329 = call ptr @fn_str_concat(ptr @.str4260, ptr %t328)
- %t330 = call ptr @fn_str_concat(ptr %t329, ptr @.str4261)
+ %t329 = call ptr @lp_str_concat(ptr @.str4294, ptr %t328)
+ %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str4295)
%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 @.str4262, ptr %t333, ptr %t334)
+ call void @fn_store_at(ptr @.str4296, ptr %t333, ptr %t334)
%t335 = load ptr, ptr %t319
- %t336 = call ptr @fn_str_concat(ptr @.str4263, ptr %t335)
- %t337 = call ptr @fn_str_concat(ptr %t336, ptr @.str4264)
+ %t336 = call ptr @lp_str_concat(ptr @.str4297, ptr %t335)
+ %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str4298)
%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 @.str4265, ptr %t340, ptr %t341)
- call void @fn_emit(ptr @.str4266)
+ call void @fn_store_at(ptr @.str4299, ptr %t340, ptr %t341)
+ call void @fn_emit(ptr @.str4300)
%t342 = load ptr, ptr %t282
call void @fn_emit(ptr %t342)
- call void @fn_emit(ptr @.str4267)
+ call void @fn_emit(ptr @.str4301)
%t343 = load ptr, ptr %t286
call void @fn_emit(ptr %t343)
- call void @fn_emit(ptr @.str4268)
- %t344 = call ptr @fn_lbl(ptr @.str4269)
+ call void @fn_emit(ptr @.str4302)
+ %t344 = call ptr @fn_lbl(ptr @.str4303)
store ptr %t344, ptr %t345
- %t346 = call ptr @fn_lbl(ptr @.str4270)
+ %t346 = call ptr @fn_lbl(ptr @.str4304)
store ptr %t346, ptr %t347
- %t348 = call ptr @fn_lbl(ptr @.str4271)
+ %t348 = call ptr @fn_lbl(ptr @.str4305)
store ptr %t348, ptr %t349
- call void @fn_emit(ptr @.str4272)
+ call void @fn_emit(ptr @.str4306)
%t350 = load ptr, ptr %t345
call void @fn_emit(ptr %t350)
- call void @fn_emit(ptr @.str4273)
+ call void @fn_emit(ptr @.str4307)
%t351 = load ptr, ptr %t345
call void @fn_emit(ptr %t351)
- call void @fn_emit(ptr @.str4274)
+ call void @fn_emit(ptr @.str4308)
%t352 = load ptr, ptr %t149
- %t353 = call ptr @fn_str_concat(ptr @.str4275, ptr %t352)
+ %t353 = call ptr @lp_str_concat(ptr @.str4309, ptr %t352)
%t354 = call ptr @fn_emit_bind(ptr %t353)
store ptr %t354, ptr %t355
%t356 = load ptr, ptr %t355
- %t357 = call ptr @fn_str_concat(ptr @.str4276, ptr %t356)
- %t358 = call ptr @fn_str_concat(ptr %t357, ptr @.str4277)
+ %t357 = call ptr @lp_str_concat(ptr @.str4310, ptr %t356)
+ %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str4311)
%t359 = load ptr, ptr %t143
- %t360 = call ptr @fn_str_concat(ptr %t358, ptr %t359)
+ %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 @.str4278)
+ call void @fn_emit(ptr @.str4312)
%t363 = load ptr, ptr %t362
call void @fn_emit(ptr %t363)
- call void @fn_emit(ptr @.str4279)
+ call void @fn_emit(ptr @.str4313)
%t364 = load ptr, ptr %t347
call void @fn_emit(ptr %t364)
- call void @fn_emit(ptr @.str4280)
+ call void @fn_emit(ptr @.str4314)
%t365 = load ptr, ptr %t349
call void @fn_emit(ptr %t365)
- call void @fn_emit(ptr @.str4281)
+ call void @fn_emit(ptr @.str4315)
%t366 = load ptr, ptr %t347
call void @fn_emit(ptr %t366)
- call void @fn_emit(ptr @.str4282)
+ call void @fn_emit(ptr @.str4316)
%t367 = load ptr, ptr %t11
%t368 = load ptr, ptr %t1
%t369 = load ptr, ptr %t355
%t370 = call ptr @fn_gep_at(ptr %t367, ptr %t368, ptr %t369)
store ptr %t370, ptr %t371
%t372 = load ptr, ptr %t1
- %t373 = call ptr @fn_str_concat(ptr @.str4283, ptr %t372)
- %t374 = call ptr @fn_str_concat(ptr %t373, ptr @.str4284)
+ %t373 = call ptr @lp_str_concat(ptr @.str4317, ptr %t372)
+ %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str4318)
%t375 = load ptr, ptr %t371
- %t376 = call ptr @fn_str_concat(ptr %t374, ptr %t375)
+ %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 @fn_str_concat(ptr @.str4285, ptr %t379)
+ %t380 = call ptr @lp_str_concat(ptr @.str4319, ptr %t379)
%t381 = call ptr @fn_emit_bind(ptr %t380)
store ptr %t381, ptr %t382
%t383 = load ptr, ptr %t38
@@ -49088,91 +49671,91 @@ entry:
%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 @.str4286)
+ call void @fn_emit(ptr @.str4320)
%t388 = load ptr, ptr %t1
call void @fn_emit(ptr %t388)
- call void @fn_emit(ptr @.str4287)
+ call void @fn_emit(ptr @.str4321)
%t389 = load ptr, ptr %t378
call void @fn_emit(ptr %t389)
- call void @fn_emit(ptr @.str4288)
+ call void @fn_emit(ptr @.str4322)
%t390 = load ptr, ptr %t387
call void @fn_emit(ptr %t390)
- call void @fn_emit(ptr @.str4289)
+ call void @fn_emit(ptr @.str4323)
%t391 = load ptr, ptr %t355
- %t392 = call ptr @fn_str_concat(ptr @.str4290, ptr %t391)
- %t393 = call ptr @fn_str_concat(ptr %t392, ptr @.str4291)
+ %t392 = call ptr @lp_str_concat(ptr @.str4324, ptr %t391)
+ %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str4325)
%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 @.str4292, ptr %t396, ptr %t397)
+ call void @fn_store_at(ptr @.str4326, ptr %t396, ptr %t397)
%t398 = load ptr, ptr %t382
- %t399 = call ptr @fn_str_concat(ptr @.str4293, ptr %t398)
- %t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str4294)
+ %t399 = call ptr @lp_str_concat(ptr @.str4327, ptr %t398)
+ %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str4328)
%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 @.str4295, ptr %t403, ptr %t404)
- call void @fn_emit(ptr @.str4296)
+ call void @fn_store_at(ptr @.str4329, ptr %t403, ptr %t404)
+ call void @fn_emit(ptr @.str4330)
%t405 = load ptr, ptr %t345
call void @fn_emit(ptr %t405)
- call void @fn_emit(ptr @.str4297)
+ call void @fn_emit(ptr @.str4331)
%t406 = load ptr, ptr %t349
call void @fn_emit(ptr %t406)
- call void @fn_emit(ptr @.str4298)
- %t407 = call ptr @fn_emit_alloca(ptr @.str4299)
+ call void @fn_emit(ptr @.str4332)
+ %t407 = call ptr @fn_emit_alloca(ptr @.str4333)
store ptr %t407, ptr %t408
%t409 = load ptr, ptr %t84
%t410 = load ptr, ptr %t408
- call void @fn_store_at(ptr @.str4300, ptr %t409, ptr %t410)
- %t411 = call ptr @fn_lbl(ptr @.str4301)
+ call void @fn_store_at(ptr @.str4334, ptr %t409, ptr %t410)
+ %t411 = call ptr @fn_lbl(ptr @.str4335)
store ptr %t411, ptr %t412
- %t413 = call ptr @fn_lbl(ptr @.str4302)
+ %t413 = call ptr @fn_lbl(ptr @.str4336)
store ptr %t413, ptr %t414
- %t415 = call ptr @fn_lbl(ptr @.str4303)
+ %t415 = call ptr @fn_lbl(ptr @.str4337)
store ptr %t415, ptr %t416
- call void @fn_emit(ptr @.str4304)
+ call void @fn_emit(ptr @.str4338)
%t417 = load ptr, ptr %t412
call void @fn_emit(ptr %t417)
- call void @fn_emit(ptr @.str4305)
+ call void @fn_emit(ptr @.str4339)
%t418 = load ptr, ptr %t412
call void @fn_emit(ptr %t418)
- call void @fn_emit(ptr @.str4306)
+ call void @fn_emit(ptr @.str4340)
%t419 = load ptr, ptr %t408
- %t420 = call ptr @fn_str_concat(ptr @.str4307, ptr %t419)
+ %t420 = call ptr @lp_str_concat(ptr @.str4341, ptr %t419)
%t421 = call ptr @fn_emit_bind(ptr %t420)
store ptr %t421, ptr %t422
%t423 = load ptr, ptr %t422
- %t424 = call ptr @fn_str_concat(ptr @.str4308, ptr %t423)
- %t425 = call ptr @fn_str_concat(ptr %t424, ptr @.str4309)
+ %t424 = call ptr @lp_str_concat(ptr @.str4342, ptr %t423)
+ %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str4343)
%t426 = load ptr, ptr %t143
- %t427 = call ptr @fn_str_concat(ptr %t425, ptr %t426)
+ %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 @.str4310)
+ call void @fn_emit(ptr @.str4344)
%t430 = load ptr, ptr %t429
call void @fn_emit(ptr %t430)
- call void @fn_emit(ptr @.str4311)
+ call void @fn_emit(ptr @.str4345)
%t431 = load ptr, ptr %t414
call void @fn_emit(ptr %t431)
- call void @fn_emit(ptr @.str4312)
+ call void @fn_emit(ptr @.str4346)
%t432 = load ptr, ptr %t416
call void @fn_emit(ptr %t432)
- call void @fn_emit(ptr @.str4313)
+ call void @fn_emit(ptr @.str4347)
%t433 = load ptr, ptr %t414
call void @fn_emit(ptr %t433)
- call void @fn_emit(ptr @.str4314)
+ call void @fn_emit(ptr @.str4348)
%t434 = load ptr, ptr %t38
%t435 = load ptr, ptr %t1
%t436 = load ptr, ptr %t422
%t437 = call ptr @fn_gep_at(ptr %t434, ptr %t435, ptr %t436)
store ptr %t437, ptr %t438
%t439 = load ptr, ptr %t1
- %t440 = call ptr @fn_str_concat(ptr @.str4315, ptr %t439)
- %t441 = call ptr @fn_str_concat(ptr %t440, ptr @.str4316)
+ %t440 = call ptr @lp_str_concat(ptr @.str4349, ptr %t439)
+ %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str4350)
%t442 = load ptr, ptr %t438
- %t443 = call ptr @fn_str_concat(ptr %t441, ptr %t442)
+ %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
@@ -49180,62 +49763,62 @@ entry:
%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 @.str4317)
+ call void @fn_emit(ptr @.str4351)
%t451 = load ptr, ptr %t1
call void @fn_emit(ptr %t451)
- call void @fn_emit(ptr @.str4318)
+ call void @fn_emit(ptr @.str4352)
%t452 = load ptr, ptr %t445
call void @fn_emit(ptr %t452)
- call void @fn_emit(ptr @.str4319)
+ call void @fn_emit(ptr @.str4353)
%t453 = load ptr, ptr %t450
call void @fn_emit(ptr %t453)
- call void @fn_emit(ptr @.str4320)
+ call void @fn_emit(ptr @.str4354)
%t454 = load ptr, ptr %t422
- %t455 = call ptr @fn_str_concat(ptr @.str4321, ptr %t454)
- %t456 = call ptr @fn_str_concat(ptr %t455, ptr @.str4322)
+ %t455 = call ptr @lp_str_concat(ptr @.str4355, ptr %t454)
+ %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str4356)
%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 @.str4323, ptr %t459, ptr %t460)
- call void @fn_emit(ptr @.str4324)
+ call void @fn_store_at(ptr @.str4357, ptr %t459, ptr %t460)
+ call void @fn_emit(ptr @.str4358)
%t461 = load ptr, ptr %t412
call void @fn_emit(ptr %t461)
- call void @fn_emit(ptr @.str4325)
+ call void @fn_emit(ptr @.str4359)
%t462 = load ptr, ptr %t416
call void @fn_emit(ptr %t462)
- call void @fn_emit(ptr @.str4326)
+ call void @fn_emit(ptr @.str4360)
%t463 = load ptr, ptr %t84
- %t464 = call ptr @fn_str_concat(ptr @.str4327, ptr %t463)
- %t465 = call ptr @fn_str_concat(ptr %t464, ptr @.str4328)
+ %t464 = call ptr @lp_str_concat(ptr @.str4361, ptr %t463)
+ %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str4362)
%t466 = load ptr, ptr %t69
- %t467 = call ptr @fn_str_concat(ptr %t465, ptr %t466)
+ %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 @.str4329, ptr %t470, ptr %t471)
- call void @fn_emit(ptr @.str4330)
+ call void @fn_store_at(ptr @.str4363, ptr %t470, ptr %t471)
+ call void @fn_emit(ptr @.str4364)
%t472 = load ptr, ptr %t74
call void @fn_emit(ptr %t472)
- call void @fn_emit(ptr @.str4331)
+ call void @fn_emit(ptr @.str4365)
%t473 = load ptr, ptr %t78
call void @fn_emit(ptr %t473)
- call void @fn_emit(ptr @.str4332)
+ call void @fn_emit(ptr @.str4366)
%t474 = load ptr, ptr %t69
%t475 = load ptr, ptr %t40
- call void @fn_store_at(ptr @.str4333, ptr %t474, ptr %t475)
- call void @fn_emit(ptr @.str4334)
+ call void @fn_store_at(ptr @.str4367, ptr %t474, ptr %t475)
+ call void @fn_emit(ptr @.str4368)
%t476 = load ptr, ptr %t43
call void @fn_emit(ptr %t476)
- call void @fn_emit(ptr @.str4335)
+ call void @fn_emit(ptr @.str4369)
%t477 = load ptr, ptr %t47
call void @fn_emit(ptr %t477)
- call void @fn_emit(ptr @.str4336)
- call void @fn_emit(ptr @.str4337)
+ call void @fn_emit(ptr @.str4370)
+ call void @fn_emit(ptr @.str4371)
%t478 = load ptr, ptr %t38
call void @fn_emit(ptr %t478)
- call void @fn_emit(ptr @.str4338)
+ call void @fn_emit(ptr @.str4372)
br label %ret
ret:
ret void
@@ -49260,8 +49843,8 @@ entry:
br i1 %t9, label %then0, label %ifend2
then0:
%t10 = load ptr, ptr %t0
- %t11 = call ptr @fn_str_concat(ptr @.str4339, ptr %t10)
- %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str4340)
+ %t11 = call ptr @lp_str_concat(ptr @.str4373, ptr %t10)
+ %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4374)
call void @fn_perr(ptr %t12)
br label %ifend2
ifend2:
@@ -49280,8 +49863,8 @@ ifend2:
br i1 %t24, label %then3, label %ifend5
then3:
%t25 = load ptr, ptr %t0
- %t26 = call ptr @fn_str_concat(ptr @.str4341, ptr %t25)
- %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4342)
+ %t26 = call ptr @lp_str_concat(ptr @.str4375, ptr %t25)
+ %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4376)
call void @fn_perr(ptr %t27)
br label %ifend5
ifend5:
@@ -49303,11 +49886,11 @@ ifend5:
br i1 %t42, label %then6, label %ifend8
then6:
%t43 = load ptr, ptr %t0
- %t44 = call ptr @fn_str_concat(ptr @.str4343, ptr %t43)
- %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str4344)
+ %t44 = call ptr @lp_str_concat(ptr @.str4377, ptr %t43)
+ %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4378)
%t46 = load ptr, ptr %t37
- %t47 = call ptr @fn_str_concat(ptr %t45, ptr %t46)
- %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str4345)
+ %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46)
+ %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4379)
call void @fn_perr(ptr %t48)
br label %ifend8
ifend8:
@@ -49482,7 +50065,7 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4346)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str4380)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -49492,7 +50075,7 @@ then0:
br label %ret
ifend2:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4347)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4381)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
@@ -49502,7 +50085,7 @@ then3:
br label %ret
ifend5:
%t12 = load ptr, ptr %t0
- %t13 = call i32 @fn_str_eq(ptr %t12, ptr @.str4348)
+ %t13 = call i32 @lp_str_eq(ptr %t12, ptr @.str4382)
%t14 = icmp ne i32 %t13, 0
br i1 %t14, label %then6, label %ifend8
then6:
@@ -49524,27 +50107,27 @@ then6:
%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 @.str4349)
+ %t33 = call ptr @fn_find_fn(ptr @.str4383)
%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 @.str4350)
+ call void @fn_perr(ptr @.str4384)
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 @fn_str_concat(ptr @.str4351, ptr %t39)
- %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str4352)
+ %t40 = call ptr @lp_str_concat(ptr @.str4385, ptr %t39)
+ %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4386)
%t42 = load ptr, ptr %t32
%t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0
%t44 = load ptr, ptr %t43
- %t45 = call ptr @fn_str_concat(ptr %t41, ptr %t44)
- %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str4353)
+ %t45 = call ptr @lp_str_concat(ptr %t41, ptr %t44)
+ %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4387)
%t47 = call ptr @fn_emit_bind(ptr %t46)
- %t48 = call ptr @fn_val(ptr %t47, ptr @.str4354)
+ %t48 = call ptr @fn_val(ptr %t47, ptr @.str4388)
store ptr %t48, ptr %retval
br label %ret
ifend8:
@@ -49567,8 +50150,8 @@ ifend8:
br i1 %t64, label %then12, label %ifend14
then12:
%t65 = load ptr, ptr %t0
- %t66 = call ptr @fn_str_concat(ptr @.str4355, ptr %t65)
- %t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str4356)
+ %t66 = call ptr @lp_str_concat(ptr @.str4389, ptr %t65)
+ %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str4390)
call void @fn_perr(ptr %t67)
br label %ifend14
ifend14:
@@ -49588,32 +50171,32 @@ ifend14:
%t81 = call ptr @fn_slice_field(ptr %t80, i32 1)
store ptr %t81, ptr %t82
%t83 = load ptr, ptr %t0
- %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str4357)
+ %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str4391)
%t85 = icmp ne i32 %t84, 0
br i1 %t85, label %then15, label %ifend17
then15:
- call void @fn_emit(ptr @.str4358)
+ call void @fn_emit(ptr @.str4392)
%t86 = load ptr, ptr %t82
call void @fn_emit(ptr %t86)
- call void @fn_emit(ptr @.str4359)
- %t87 = call ptr @fn_val(ptr @.str4360, ptr @.str4361)
+ call void @fn_emit(ptr @.str4393)
+ %t87 = call ptr @fn_val(ptr @.str4394, ptr @.str4395)
store ptr %t87, ptr %retval
br label %ret
ifend17:
%t88 = load ptr, ptr %t0
- %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str4362)
+ %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str4396)
%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 @.str4363)
+ %t93 = call ptr @fn_list_elem_addr(ptr %t91, ptr %t92, ptr @.str4397)
store ptr %t93, ptr %t94
%t95 = load ptr, ptr %t75
- %t96 = call ptr @fn_str_concat(ptr @.str4364, ptr %t95)
- %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str4365)
+ %t96 = call ptr @lp_str_concat(ptr @.str4398, ptr %t95)
+ %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str4399)
%t98 = load ptr, ptr %t94
- %t99 = call ptr @fn_str_concat(ptr %t97, ptr %t98)
+ %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)
@@ -49621,17 +50204,17 @@ then18:
br label %ret
ifend20:
%t103 = load ptr, ptr %t0
- %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str4366)
+ %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str4400)
%t105 = icmp ne i32 %t104, 0
br i1 %t105, label %then21, label %ifend23
then21:
%t106 = load ptr, ptr %t82
- %t107 = call ptr @fn_str_concat(ptr @.str4367, ptr %t106)
+ %t107 = call ptr @lp_str_concat(ptr @.str4401, ptr %t106)
%t108 = call ptr @fn_emit_bind(ptr %t107)
store ptr %t108, ptr %t109
%t110 = load ptr, ptr %t109
- %t111 = call ptr @fn_str_concat(ptr @.str4368, ptr %t110)
- %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str4369)
+ %t111 = call ptr @lp_str_concat(ptr @.str4402, ptr %t110)
+ %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str4403)
%t113 = call ptr @fn_emit_bind(ptr %t112)
store ptr %t113, ptr %t114
%t115 = load ptr, ptr %t79
@@ -49640,10 +50223,10 @@ then21:
%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 @fn_str_concat(ptr @.str4370, ptr %t120)
- %t122 = call ptr @fn_str_concat(ptr %t121, ptr @.str4371)
+ %t121 = call ptr @lp_str_concat(ptr @.str4404, ptr %t120)
+ %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str4405)
%t123 = load ptr, ptr %t119
- %t124 = call ptr @fn_str_concat(ptr %t122, ptr %t123)
+ %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)
@@ -49651,17 +50234,17 @@ then21:
br label %ret
ifend23:
%t128 = load ptr, ptr %t0
- %t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str4372)
+ %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str4406)
%t130 = icmp ne i32 %t129, 0
br i1 %t130, label %then24, label %ifend26
then24:
%t131 = load ptr, ptr %t82
- %t132 = call ptr @fn_str_concat(ptr @.str4373, ptr %t131)
+ %t132 = call ptr @lp_str_concat(ptr @.str4407, ptr %t131)
%t133 = call ptr @fn_emit_bind(ptr %t132)
store ptr %t133, ptr %t134
%t135 = load ptr, ptr %t134
- %t136 = call ptr @fn_str_concat(ptr @.str4374, ptr %t135)
- %t137 = call ptr @fn_str_concat(ptr %t136, ptr @.str4375)
+ %t136 = call ptr @lp_str_concat(ptr @.str4408, ptr %t135)
+ %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str4409)
%t138 = call ptr @fn_emit_bind(ptr %t137)
store ptr %t138, ptr %t139
%t140 = load ptr, ptr %t79
@@ -49670,19 +50253,19 @@ then24:
%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 @fn_str_concat(ptr @.str4376, ptr %t145)
- %t147 = call ptr @fn_str_concat(ptr %t146, ptr @.str4377)
+ %t146 = call ptr @lp_str_concat(ptr @.str4410, ptr %t145)
+ %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str4411)
%t148 = load ptr, ptr %t144
- %t149 = call ptr @fn_str_concat(ptr %t147, ptr %t148)
+ %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 @.str4378)
+ call void @fn_emit(ptr @.str4412)
%t152 = load ptr, ptr %t139
call void @fn_emit(ptr %t152)
- call void @fn_emit(ptr @.str4379)
+ call void @fn_emit(ptr @.str4413)
%t153 = load ptr, ptr %t82
call void @fn_emit(ptr %t153)
- call void @fn_emit(ptr @.str4380)
+ call void @fn_emit(ptr @.str4414)
%t154 = load ptr, ptr %t151
%t155 = load ptr, ptr %t72
%t156 = call ptr @fn_val(ptr %t154, ptr %t155)
@@ -49690,7 +50273,7 @@ then24:
br label %ret
ifend26:
%t157 = load ptr, ptr %t0
- %t158 = call i32 @fn_str_eq(ptr %t157, ptr @.str4381)
+ %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str4415)
%t159 = icmp ne i32 %t158, 0
br i1 %t159, label %then27, label %ifend29
then27:
@@ -49727,52 +50310,52 @@ then27:
%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 @fn_str_concat(ptr @.str4382, ptr %t192)
- %t194 = call ptr @fn_str_concat(ptr %t193, ptr @.str4383)
+ %t193 = call ptr @lp_str_concat(ptr @.str4416, ptr %t192)
+ %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str4417)
%t195 = load ptr, ptr %t184
- %t196 = call ptr @fn_str_concat(ptr %t194, ptr %t195)
+ %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 @fn_str_concat(ptr @.str4384, ptr %t199)
- %t201 = call ptr @fn_str_concat(ptr %t200, ptr @.str4385)
+ %t200 = call ptr @lp_str_concat(ptr @.str4418, ptr %t199)
+ %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str4419)
%t202 = load ptr, ptr %t191
- %t203 = call ptr @fn_str_concat(ptr %t201, ptr %t202)
+ %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 @.str4386)
+ call void @fn_emit(ptr @.str4420)
%t206 = load ptr, ptr %t75
call void @fn_emit(ptr %t206)
- call void @fn_emit(ptr @.str4387)
+ call void @fn_emit(ptr @.str4421)
%t207 = load ptr, ptr %t205
call void @fn_emit(ptr %t207)
- call void @fn_emit(ptr @.str4388)
+ call void @fn_emit(ptr @.str4422)
%t208 = load ptr, ptr %t184
call void @fn_emit(ptr %t208)
- call void @fn_emit(ptr @.str4389)
- call void @fn_emit(ptr @.str4390)
+ call void @fn_emit(ptr @.str4423)
+ call void @fn_emit(ptr @.str4424)
%t209 = load ptr, ptr %t75
call void @fn_emit(ptr %t209)
- call void @fn_emit(ptr @.str4391)
+ call void @fn_emit(ptr @.str4425)
%t210 = load ptr, ptr %t198
call void @fn_emit(ptr %t210)
- call void @fn_emit(ptr @.str4392)
+ call void @fn_emit(ptr @.str4426)
%t211 = load ptr, ptr %t191
call void @fn_emit(ptr %t211)
- call void @fn_emit(ptr @.str4393)
- %t212 = call ptr @fn_val(ptr @.str4394, ptr @.str4395)
+ call void @fn_emit(ptr @.str4427)
+ %t212 = call ptr @fn_val(ptr @.str4428, ptr @.str4429)
store ptr %t212, ptr %retval
br label %ret
ifend29:
%t214 = load ptr, ptr %t0
- %t215 = call i32 @fn_str_eq(ptr %t214, ptr @.str4396)
+ %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str4430)
%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 @fn_str_eq(ptr %t218, ptr @.str4397)
+ %t219 = call i32 @lp_str_eq(ptr %t218, ptr @.str4431)
%t220 = icmp ne i32 %t219, 0
%t221 = zext i1 %t220 to i32
store i32 %t221, ptr %t213
@@ -49792,149 +50375,149 @@ then32:
%t231 = call ptr @fn_emit_expr(ptr %t230)
store ptr %t231, ptr %t232
%t233 = load ptr, ptr %t82
- %t234 = call ptr @fn_str_concat(ptr @.str4398, ptr %t233)
+ %t234 = call ptr @lp_str_concat(ptr @.str4432, ptr %t233)
%t235 = call ptr @fn_emit_bind(ptr %t234)
store ptr %t235, ptr %t236
- %t237 = call ptr @fn_emit_alloca(ptr @.str4399)
+ %t237 = call ptr @fn_emit_alloca(ptr @.str4433)
store ptr %t237, ptr %t238
%t239 = load ptr, ptr %t238
- call void @fn_store_at(ptr @.str4400, ptr @.str4401, ptr %t239)
- %t240 = call ptr @fn_emit_alloca(ptr @.str4402)
+ call void @fn_store_at(ptr @.str4434, ptr @.str4435, ptr %t239)
+ %t240 = call ptr @fn_emit_alloca(ptr @.str4436)
store ptr %t240, ptr %t241
%t242 = load ptr, ptr %t241
- call void @fn_store_at(ptr @.str4403, ptr @.str4404, ptr %t242)
- %t243 = call ptr @fn_lbl(ptr @.str4405)
+ call void @fn_store_at(ptr @.str4437, ptr @.str4438, ptr %t242)
+ %t243 = call ptr @fn_lbl(ptr @.str4439)
store ptr %t243, ptr %t244
- %t245 = call ptr @fn_lbl(ptr @.str4406)
+ %t245 = call ptr @fn_lbl(ptr @.str4440)
store ptr %t245, ptr %t246
- %t247 = call ptr @fn_lbl(ptr @.str4407)
+ %t247 = call ptr @fn_lbl(ptr @.str4441)
store ptr %t247, ptr %t248
- %t249 = call ptr @fn_lbl(ptr @.str4408)
+ %t249 = call ptr @fn_lbl(ptr @.str4442)
store ptr %t249, ptr %t250
- %t251 = call ptr @fn_lbl(ptr @.str4409)
+ %t251 = call ptr @fn_lbl(ptr @.str4443)
store ptr %t251, ptr %t252
- call void @fn_emit(ptr @.str4410)
+ call void @fn_emit(ptr @.str4444)
%t253 = load ptr, ptr %t244
call void @fn_emit(ptr %t253)
- call void @fn_emit(ptr @.str4411)
+ call void @fn_emit(ptr @.str4445)
%t254 = load ptr, ptr %t244
call void @fn_emit(ptr %t254)
- call void @fn_emit(ptr @.str4412)
+ call void @fn_emit(ptr @.str4446)
%t255 = load ptr, ptr %t241
- %t256 = call ptr @fn_str_concat(ptr @.str4413, ptr %t255)
+ %t256 = call ptr @lp_str_concat(ptr @.str4447, ptr %t255)
%t257 = call ptr @fn_emit_bind(ptr %t256)
store ptr %t257, ptr %t258
%t259 = load ptr, ptr %t258
- %t260 = call ptr @fn_str_concat(ptr @.str4414, ptr %t259)
- %t261 = call ptr @fn_str_concat(ptr %t260, ptr @.str4415)
+ %t260 = call ptr @lp_str_concat(ptr @.str4448, ptr %t259)
+ %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str4449)
%t262 = load ptr, ptr %t236
- %t263 = call ptr @fn_str_concat(ptr %t261, ptr %t262)
+ %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 @.str4416)
+ call void @fn_emit(ptr @.str4450)
%t266 = load ptr, ptr %t265
call void @fn_emit(ptr %t266)
- call void @fn_emit(ptr @.str4417)
+ call void @fn_emit(ptr @.str4451)
%t267 = load ptr, ptr %t246
call void @fn_emit(ptr %t267)
- call void @fn_emit(ptr @.str4418)
+ call void @fn_emit(ptr @.str4452)
%t268 = load ptr, ptr %t252
call void @fn_emit(ptr %t268)
- call void @fn_emit(ptr @.str4419)
+ call void @fn_emit(ptr @.str4453)
%t269 = load ptr, ptr %t246
call void @fn_emit(ptr %t269)
- call void @fn_emit(ptr @.str4420)
+ call void @fn_emit(ptr @.str4454)
%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 @fn_str_concat(ptr @.str4421, ptr %t275)
- %t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str4422)
+ %t276 = call ptr @lp_str_concat(ptr @.str4455, ptr %t275)
+ %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str4456)
%t278 = load ptr, ptr %t274
- %t279 = call ptr @fn_str_concat(ptr %t277, ptr %t278)
+ %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 @fn_str_concat(ptr @.str4423, ptr %t282)
- %t284 = call ptr @fn_str_concat(ptr %t283, ptr @.str4424)
+ %t283 = call ptr @lp_str_concat(ptr @.str4457, ptr %t282)
+ %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str4458)
%t285 = load ptr, ptr %t281
- %t286 = call ptr @fn_str_concat(ptr %t284, ptr %t285)
- %t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str4425)
+ %t286 = call ptr @lp_str_concat(ptr %t284, ptr %t285)
+ %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str4459)
%t288 = load ptr, ptr %t232
%t289 = getelementptr inbounds %Cmp_Val, ptr %t288, i32 0, i32 0
%t290 = load ptr, ptr %t289
- %t291 = call ptr @fn_str_concat(ptr %t287, ptr %t290)
+ %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 @.str4426)
+ call void @fn_emit(ptr @.str4460)
%t294 = load ptr, ptr %t293
call void @fn_emit(ptr %t294)
- call void @fn_emit(ptr @.str4427)
+ call void @fn_emit(ptr @.str4461)
%t295 = load ptr, ptr %t248
call void @fn_emit(ptr %t295)
- call void @fn_emit(ptr @.str4428)
+ call void @fn_emit(ptr @.str4462)
%t296 = load ptr, ptr %t250
call void @fn_emit(ptr %t296)
- call void @fn_emit(ptr @.str4429)
+ call void @fn_emit(ptr @.str4463)
%t297 = load ptr, ptr %t248
call void @fn_emit(ptr %t297)
- call void @fn_emit(ptr @.str4430)
+ call void @fn_emit(ptr @.str4464)
%t298 = load ptr, ptr %t258
%t299 = load ptr, ptr %t238
- call void @fn_store_at(ptr @.str4431, ptr %t298, ptr %t299)
- call void @fn_emit(ptr @.str4432)
+ call void @fn_store_at(ptr @.str4465, ptr %t298, ptr %t299)
+ call void @fn_emit(ptr @.str4466)
%t300 = load ptr, ptr %t252
call void @fn_emit(ptr %t300)
- call void @fn_emit(ptr @.str4433)
+ call void @fn_emit(ptr @.str4467)
%t301 = load ptr, ptr %t250
call void @fn_emit(ptr %t301)
- call void @fn_emit(ptr @.str4434)
+ call void @fn_emit(ptr @.str4468)
%t302 = load ptr, ptr %t258
- %t303 = call ptr @fn_str_concat(ptr @.str4435, ptr %t302)
- %t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str4436)
+ %t303 = call ptr @lp_str_concat(ptr @.str4469, ptr %t302)
+ %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str4470)
%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 @.str4437, ptr %t307, ptr %t308)
- call void @fn_emit(ptr @.str4438)
+ call void @fn_store_at(ptr @.str4471, ptr %t307, ptr %t308)
+ call void @fn_emit(ptr @.str4472)
%t309 = load ptr, ptr %t244
call void @fn_emit(ptr %t309)
- call void @fn_emit(ptr @.str4439)
+ call void @fn_emit(ptr @.str4473)
%t310 = load ptr, ptr %t252
call void @fn_emit(ptr %t310)
- call void @fn_emit(ptr @.str4440)
+ call void @fn_emit(ptr @.str4474)
%t311 = load ptr, ptr %t238
- %t312 = call ptr @fn_str_concat(ptr @.str4441, ptr %t311)
+ %t312 = call ptr @lp_str_concat(ptr @.str4475, ptr %t311)
%t313 = call ptr @fn_emit_bind(ptr %t312)
store ptr %t313, ptr %t314
%t315 = load ptr, ptr %t0
- %t316 = call i32 @fn_str_eq(ptr %t315, ptr @.str4442)
+ %t316 = call i32 @lp_str_eq(ptr %t315, ptr @.str4476)
%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 @.str4443)
+ %t319 = call ptr @fn_val(ptr %t318, ptr @.str4477)
store ptr %t319, ptr %retval
br label %ret
ifend37:
%t320 = load ptr, ptr %t314
- %t321 = call ptr @fn_str_concat(ptr @.str4444, ptr %t320)
- %t322 = call ptr @fn_str_concat(ptr %t321, ptr @.str4445)
+ %t321 = call ptr @lp_str_concat(ptr @.str4478, ptr %t320)
+ %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str4479)
%t323 = call ptr @fn_emit_bind(ptr %t322)
store ptr %t323, ptr %t324
%t325 = load ptr, ptr %t324
- %t326 = call ptr @fn_str_concat(ptr @.str4446, ptr %t325)
- %t327 = call ptr @fn_str_concat(ptr %t326, ptr @.str4447)
+ %t326 = call ptr @lp_str_concat(ptr @.str4480, ptr %t325)
+ %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str4481)
%t328 = call ptr @fn_emit_bind(ptr %t327)
- %t329 = call ptr @fn_val(ptr %t328, ptr @.str4448)
+ %t329 = call ptr @fn_val(ptr %t328, ptr @.str4482)
store ptr %t329, ptr %retval
br label %ret
ifend34:
%t330 = load ptr, ptr %t0
- %t331 = call i32 @fn_str_eq(ptr %t330, ptr @.str4449)
+ %t331 = call i32 @lp_str_eq(ptr %t330, ptr @.str4483)
%t332 = icmp ne i32 %t331, 0
br i1 %t332, label %then38, label %ifend40
then38:
@@ -49960,56 +50543,56 @@ then38:
%t352 = load ptr, ptr %t75
call void @fn_list_grow_if_full(ptr %t351, ptr %t352)
%t353 = load ptr, ptr %t82
- %t354 = call ptr @fn_str_concat(ptr @.str4450, ptr %t353)
+ %t354 = call ptr @lp_str_concat(ptr @.str4484, ptr %t353)
%t355 = call ptr @fn_emit_bind(ptr %t354)
store ptr %t355, ptr %t356
- %t357 = call ptr @fn_emit_alloca(ptr @.str4451)
+ %t357 = call ptr @fn_emit_alloca(ptr @.str4485)
store ptr %t357, ptr %t358
%t359 = load ptr, ptr %t356
%t360 = load ptr, ptr %t358
- call void @fn_store_at(ptr @.str4452, ptr %t359, ptr %t360)
- %t361 = call ptr @fn_lbl(ptr @.str4453)
+ call void @fn_store_at(ptr @.str4486, ptr %t359, ptr %t360)
+ %t361 = call ptr @fn_lbl(ptr @.str4487)
store ptr %t361, ptr %t362
- %t363 = call ptr @fn_lbl(ptr @.str4454)
+ %t363 = call ptr @fn_lbl(ptr @.str4488)
store ptr %t363, ptr %t364
- %t365 = call ptr @fn_lbl(ptr @.str4455)
+ %t365 = call ptr @fn_lbl(ptr @.str4489)
store ptr %t365, ptr %t366
- call void @fn_emit(ptr @.str4456)
+ call void @fn_emit(ptr @.str4490)
%t367 = load ptr, ptr %t362
call void @fn_emit(ptr %t367)
- call void @fn_emit(ptr @.str4457)
+ call void @fn_emit(ptr @.str4491)
%t368 = load ptr, ptr %t362
call void @fn_emit(ptr %t368)
- call void @fn_emit(ptr @.str4458)
+ call void @fn_emit(ptr @.str4492)
%t369 = load ptr, ptr %t358
- %t370 = call ptr @fn_str_concat(ptr @.str4459, ptr %t369)
+ %t370 = call ptr @lp_str_concat(ptr @.str4493, ptr %t369)
%t371 = call ptr @fn_emit_bind(ptr %t370)
store ptr %t371, ptr %t372
%t373 = load ptr, ptr %t372
- %t374 = call ptr @fn_str_concat(ptr @.str4460, ptr %t373)
- %t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str4461)
+ %t374 = call ptr @lp_str_concat(ptr @.str4494, ptr %t373)
+ %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str4495)
%t376 = load ptr, ptr %t341
%t377 = getelementptr inbounds %Cmp_Val, ptr %t376, i32 0, i32 0
%t378 = load ptr, ptr %t377
- %t379 = call ptr @fn_str_concat(ptr %t375, ptr %t378)
+ %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 @.str4462)
+ call void @fn_emit(ptr @.str4496)
%t382 = load ptr, ptr %t381
call void @fn_emit(ptr %t382)
- call void @fn_emit(ptr @.str4463)
+ call void @fn_emit(ptr @.str4497)
%t383 = load ptr, ptr %t364
call void @fn_emit(ptr %t383)
- call void @fn_emit(ptr @.str4464)
+ call void @fn_emit(ptr @.str4498)
%t384 = load ptr, ptr %t366
call void @fn_emit(ptr %t384)
- call void @fn_emit(ptr @.str4465)
+ call void @fn_emit(ptr @.str4499)
%t385 = load ptr, ptr %t364
call void @fn_emit(ptr %t385)
- call void @fn_emit(ptr @.str4466)
+ call void @fn_emit(ptr @.str4500)
%t386 = load ptr, ptr %t372
- %t387 = call ptr @fn_str_concat(ptr @.str4467, ptr %t386)
- %t388 = call ptr @fn_str_concat(ptr %t387, ptr @.str4468)
+ %t387 = call ptr @lp_str_concat(ptr @.str4501, ptr %t386)
+ %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str4502)
%t389 = call ptr @fn_emit_bind(ptr %t388)
store ptr %t389, ptr %t390
%t391 = load ptr, ptr %t79
@@ -50018,10 +50601,10 @@ then38:
%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 @fn_str_concat(ptr @.str4469, ptr %t396)
- %t398 = call ptr @fn_str_concat(ptr %t397, ptr @.str4470)
+ %t397 = call ptr @lp_str_concat(ptr @.str4503, ptr %t396)
+ %t398 = call ptr @lp_str_concat(ptr %t397, ptr @.str4504)
%t399 = load ptr, ptr %t395
- %t400 = call ptr @fn_str_concat(ptr %t398, ptr %t399)
+ %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
@@ -50029,26 +50612,26 @@ then38:
%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 @.str4471)
+ call void @fn_emit(ptr @.str4505)
%t408 = load ptr, ptr %t75
call void @fn_emit(ptr %t408)
- call void @fn_emit(ptr @.str4472)
+ call void @fn_emit(ptr @.str4506)
%t409 = load ptr, ptr %t402
call void @fn_emit(ptr %t409)
- call void @fn_emit(ptr @.str4473)
+ call void @fn_emit(ptr @.str4507)
%t410 = load ptr, ptr %t407
call void @fn_emit(ptr %t410)
- call void @fn_emit(ptr @.str4474)
+ call void @fn_emit(ptr @.str4508)
%t411 = load ptr, ptr %t390
%t412 = load ptr, ptr %t358
- call void @fn_store_at(ptr @.str4475, ptr %t411, ptr %t412)
- call void @fn_emit(ptr @.str4476)
+ call void @fn_store_at(ptr @.str4509, ptr %t411, ptr %t412)
+ call void @fn_emit(ptr @.str4510)
%t413 = load ptr, ptr %t362
call void @fn_emit(ptr %t413)
- call void @fn_emit(ptr @.str4477)
+ call void @fn_emit(ptr @.str4511)
%t414 = load ptr, ptr %t366
call void @fn_emit(ptr %t414)
- call void @fn_emit(ptr @.str4478)
+ call void @fn_emit(ptr @.str4512)
%t415 = load ptr, ptr %t79
%t416 = load ptr, ptr %t75
%t417 = load ptr, ptr %t341
@@ -50056,36 +50639,36 @@ then38:
%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 @.str4479)
+ call void @fn_emit(ptr @.str4513)
%t422 = load ptr, ptr %t75
call void @fn_emit(ptr %t422)
- call void @fn_emit(ptr @.str4480)
+ call void @fn_emit(ptr @.str4514)
%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 @.str4481)
+ call void @fn_emit(ptr @.str4515)
%t426 = load ptr, ptr %t421
call void @fn_emit(ptr %t426)
- call void @fn_emit(ptr @.str4482)
+ call void @fn_emit(ptr @.str4516)
%t427 = load ptr, ptr %t356
- %t428 = call ptr @fn_str_concat(ptr @.str4483, ptr %t427)
- %t429 = call ptr @fn_str_concat(ptr %t428, ptr @.str4484)
+ %t428 = call ptr @lp_str_concat(ptr @.str4517, ptr %t427)
+ %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str4518)
%t430 = call ptr @fn_emit_bind(ptr %t429)
store ptr %t430, ptr %t431
- call void @fn_emit(ptr @.str4485)
+ call void @fn_emit(ptr @.str4519)
%t432 = load ptr, ptr %t431
call void @fn_emit(ptr %t432)
- call void @fn_emit(ptr @.str4486)
+ call void @fn_emit(ptr @.str4520)
%t433 = load ptr, ptr %t82
call void @fn_emit(ptr %t433)
- call void @fn_emit(ptr @.str4487)
- %t434 = call ptr @fn_val(ptr @.str4488, ptr @.str4489)
+ call void @fn_emit(ptr @.str4521)
+ %t434 = call ptr @fn_val(ptr @.str4522, ptr @.str4523)
store ptr %t434, ptr %retval
br label %ret
ifend40:
%t435 = load ptr, ptr %t0
- %t436 = call i32 @fn_str_eq(ptr %t435, ptr @.str4490)
+ %t436 = call i32 @lp_str_eq(ptr %t435, ptr @.str4524)
%t437 = icmp ne i32 %t436, 0
br i1 %t437, label %then41, label %ifend43
then41:
@@ -50099,61 +50682,61 @@ then41:
%t445 = call ptr @fn_emit_expr(ptr %t444)
store ptr %t445, ptr %t446
%t447 = load ptr, ptr %t82
- %t448 = call ptr @fn_str_concat(ptr @.str4491, ptr %t447)
+ %t448 = call ptr @lp_str_concat(ptr @.str4525, ptr %t447)
%t449 = call ptr @fn_emit_bind(ptr %t448)
store ptr %t449, ptr %t450
%t451 = load ptr, ptr %t450
- %t452 = call ptr @fn_str_concat(ptr @.str4492, ptr %t451)
- %t453 = call ptr @fn_str_concat(ptr %t452, ptr @.str4493)
+ %t452 = call ptr @lp_str_concat(ptr @.str4526, ptr %t451)
+ %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str4527)
%t454 = call ptr @fn_emit_bind(ptr %t453)
store ptr %t454, ptr %t455
- %t456 = call ptr @fn_emit_alloca(ptr @.str4494)
+ %t456 = call ptr @fn_emit_alloca(ptr @.str4528)
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 @.str4495, ptr %t460, ptr %t461)
- %t462 = call ptr @fn_lbl(ptr @.str4496)
+ call void @fn_store_at(ptr @.str4529, ptr %t460, ptr %t461)
+ %t462 = call ptr @fn_lbl(ptr @.str4530)
store ptr %t462, ptr %t463
- %t464 = call ptr @fn_lbl(ptr @.str4497)
+ %t464 = call ptr @fn_lbl(ptr @.str4531)
store ptr %t464, ptr %t465
- %t466 = call ptr @fn_lbl(ptr @.str4498)
+ %t466 = call ptr @fn_lbl(ptr @.str4532)
store ptr %t466, ptr %t467
- call void @fn_emit(ptr @.str4499)
+ call void @fn_emit(ptr @.str4533)
%t468 = load ptr, ptr %t463
call void @fn_emit(ptr %t468)
- call void @fn_emit(ptr @.str4500)
+ call void @fn_emit(ptr @.str4534)
%t469 = load ptr, ptr %t463
call void @fn_emit(ptr %t469)
- call void @fn_emit(ptr @.str4501)
+ call void @fn_emit(ptr @.str4535)
%t470 = load ptr, ptr %t457
- %t471 = call ptr @fn_str_concat(ptr @.str4502, ptr %t470)
+ %t471 = call ptr @lp_str_concat(ptr @.str4536, ptr %t470)
%t472 = call ptr @fn_emit_bind(ptr %t471)
store ptr %t472, ptr %t473
%t474 = load ptr, ptr %t473
- %t475 = call ptr @fn_str_concat(ptr @.str4503, ptr %t474)
- %t476 = call ptr @fn_str_concat(ptr %t475, ptr @.str4504)
+ %t475 = call ptr @lp_str_concat(ptr @.str4537, ptr %t474)
+ %t476 = call ptr @lp_str_concat(ptr %t475, ptr @.str4538)
%t477 = load ptr, ptr %t455
- %t478 = call ptr @fn_str_concat(ptr %t476, ptr %t477)
+ %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 @.str4505)
+ call void @fn_emit(ptr @.str4539)
%t481 = load ptr, ptr %t480
call void @fn_emit(ptr %t481)
- call void @fn_emit(ptr @.str4506)
+ call void @fn_emit(ptr @.str4540)
%t482 = load ptr, ptr %t465
call void @fn_emit(ptr %t482)
- call void @fn_emit(ptr @.str4507)
+ call void @fn_emit(ptr @.str4541)
%t483 = load ptr, ptr %t467
call void @fn_emit(ptr %t483)
- call void @fn_emit(ptr @.str4508)
+ call void @fn_emit(ptr @.str4542)
%t484 = load ptr, ptr %t465
call void @fn_emit(ptr %t484)
- call void @fn_emit(ptr @.str4509)
+ call void @fn_emit(ptr @.str4543)
%t485 = load ptr, ptr %t473
- %t486 = call ptr @fn_str_concat(ptr @.str4510, ptr %t485)
- %t487 = call ptr @fn_str_concat(ptr %t486, ptr @.str4511)
+ %t486 = call ptr @lp_str_concat(ptr @.str4544, ptr %t485)
+ %t487 = call ptr @lp_str_concat(ptr %t486, ptr @.str4545)
%t488 = call ptr @fn_emit_bind(ptr %t487)
store ptr %t488, ptr %t489
%t490 = load ptr, ptr %t79
@@ -50162,10 +50745,10 @@ then41:
%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 @fn_str_concat(ptr @.str4512, ptr %t495)
- %t497 = call ptr @fn_str_concat(ptr %t496, ptr @.str4513)
+ %t496 = call ptr @lp_str_concat(ptr @.str4546, ptr %t495)
+ %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str4547)
%t498 = load ptr, ptr %t494
- %t499 = call ptr @fn_str_concat(ptr %t497, ptr %t498)
+ %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
@@ -50173,39 +50756,39 @@ then41:
%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 @.str4514)
+ call void @fn_emit(ptr @.str4548)
%t507 = load ptr, ptr %t75
call void @fn_emit(ptr %t507)
- call void @fn_emit(ptr @.str4515)
+ call void @fn_emit(ptr @.str4549)
%t508 = load ptr, ptr %t501
call void @fn_emit(ptr %t508)
- call void @fn_emit(ptr @.str4516)
+ call void @fn_emit(ptr @.str4550)
%t509 = load ptr, ptr %t506
call void @fn_emit(ptr %t509)
- call void @fn_emit(ptr @.str4517)
+ call void @fn_emit(ptr @.str4551)
%t510 = load ptr, ptr %t489
%t511 = load ptr, ptr %t457
- call void @fn_store_at(ptr @.str4518, ptr %t510, ptr %t511)
- call void @fn_emit(ptr @.str4519)
+ call void @fn_store_at(ptr @.str4552, ptr %t510, ptr %t511)
+ call void @fn_emit(ptr @.str4553)
%t512 = load ptr, ptr %t463
call void @fn_emit(ptr %t512)
- call void @fn_emit(ptr @.str4520)
+ call void @fn_emit(ptr @.str4554)
%t513 = load ptr, ptr %t467
call void @fn_emit(ptr %t513)
- call void @fn_emit(ptr @.str4521)
- call void @fn_emit(ptr @.str4522)
+ call void @fn_emit(ptr @.str4555)
+ call void @fn_emit(ptr @.str4556)
%t514 = load ptr, ptr %t455
call void @fn_emit(ptr %t514)
- call void @fn_emit(ptr @.str4523)
+ call void @fn_emit(ptr @.str4557)
%t515 = load ptr, ptr %t82
call void @fn_emit(ptr %t515)
- call void @fn_emit(ptr @.str4524)
- %t516 = call ptr @fn_val(ptr @.str4525, ptr @.str4526)
+ call void @fn_emit(ptr @.str4558)
+ %t516 = call ptr @fn_val(ptr @.str4559, ptr @.str4560)
store ptr %t516, ptr %retval
br label %ret
ifend43:
%t517 = load ptr, ptr %t0
- %t518 = call i32 @fn_str_eq(ptr %t517, ptr @.str4527)
+ %t518 = call i32 @lp_str_eq(ptr %t517, ptr @.str4561)
%t519 = icmp ne i32 %t518, 0
br i1 %t519, label %then44, label %ifend46
then44:
@@ -50219,212 +50802,212 @@ then44:
%t527 = call ptr @fn_emit_expr(ptr %t526)
store ptr %t527, ptr %t528
%t529 = load ptr, ptr %t82
- %t530 = call ptr @fn_str_concat(ptr @.str4528, ptr %t529)
+ %t530 = call ptr @lp_str_concat(ptr @.str4562, ptr %t529)
%t531 = call ptr @fn_emit_bind(ptr %t530)
store ptr %t531, ptr %t532
- %t533 = call ptr @fn_emit_alloca(ptr @.str4529)
+ %t533 = call ptr @fn_emit_alloca(ptr @.str4563)
store ptr %t533, ptr %t534
%t535 = load ptr, ptr %t534
- call void @fn_store_at(ptr @.str4530, ptr @.str4531, ptr %t535)
- %t536 = call ptr @fn_emit_alloca(ptr @.str4532)
+ call void @fn_store_at(ptr @.str4564, ptr @.str4565, ptr %t535)
+ %t536 = call ptr @fn_emit_alloca(ptr @.str4566)
store ptr %t536, ptr %t537
%t538 = load ptr, ptr %t537
- call void @fn_store_at(ptr @.str4533, ptr @.str4534, ptr %t538)
- %t539 = call ptr @fn_lbl(ptr @.str4535)
+ call void @fn_store_at(ptr @.str4567, ptr @.str4568, ptr %t538)
+ %t539 = call ptr @fn_lbl(ptr @.str4569)
store ptr %t539, ptr %t540
- %t541 = call ptr @fn_lbl(ptr @.str4536)
+ %t541 = call ptr @fn_lbl(ptr @.str4570)
store ptr %t541, ptr %t542
- %t543 = call ptr @fn_lbl(ptr @.str4537)
+ %t543 = call ptr @fn_lbl(ptr @.str4571)
store ptr %t543, ptr %t544
- %t545 = call ptr @fn_lbl(ptr @.str4538)
+ %t545 = call ptr @fn_lbl(ptr @.str4572)
store ptr %t545, ptr %t546
- %t547 = call ptr @fn_lbl(ptr @.str4539)
+ %t547 = call ptr @fn_lbl(ptr @.str4573)
store ptr %t547, ptr %t548
- call void @fn_emit(ptr @.str4540)
+ call void @fn_emit(ptr @.str4574)
%t549 = load ptr, ptr %t540
call void @fn_emit(ptr %t549)
- call void @fn_emit(ptr @.str4541)
+ call void @fn_emit(ptr @.str4575)
%t550 = load ptr, ptr %t540
call void @fn_emit(ptr %t550)
- call void @fn_emit(ptr @.str4542)
+ call void @fn_emit(ptr @.str4576)
%t551 = load ptr, ptr %t537
- %t552 = call ptr @fn_str_concat(ptr @.str4543, ptr %t551)
+ %t552 = call ptr @lp_str_concat(ptr @.str4577, ptr %t551)
%t553 = call ptr @fn_emit_bind(ptr %t552)
store ptr %t553, ptr %t554
%t555 = load ptr, ptr %t554
- %t556 = call ptr @fn_str_concat(ptr @.str4544, ptr %t555)
- %t557 = call ptr @fn_str_concat(ptr %t556, ptr @.str4545)
+ %t556 = call ptr @lp_str_concat(ptr @.str4578, ptr %t555)
+ %t557 = call ptr @lp_str_concat(ptr %t556, ptr @.str4579)
%t558 = load ptr, ptr %t532
- %t559 = call ptr @fn_str_concat(ptr %t557, ptr %t558)
+ %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 @fn_str_concat(ptr @.str4546, ptr %t562)
+ %t563 = call ptr @lp_str_concat(ptr @.str4580, ptr %t562)
%t564 = call ptr @fn_emit_bind(ptr %t563)
store ptr %t564, ptr %t565
%t566 = load ptr, ptr %t565
- %t567 = call ptr @fn_str_concat(ptr @.str4547, ptr %t566)
- %t568 = call ptr @fn_str_concat(ptr %t567, ptr @.str4548)
+ %t567 = call ptr @lp_str_concat(ptr @.str4581, ptr %t566)
+ %t568 = call ptr @lp_str_concat(ptr %t567, ptr @.str4582)
%t569 = call ptr @fn_emit_bind(ptr %t568)
store ptr %t569, ptr %t570
%t571 = load ptr, ptr %t561
- %t572 = call ptr @fn_str_concat(ptr @.str4549, ptr %t571)
- %t573 = call ptr @fn_str_concat(ptr %t572, ptr @.str4550)
+ %t572 = call ptr @lp_str_concat(ptr @.str4583, ptr %t571)
+ %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str4584)
%t574 = load ptr, ptr %t570
- %t575 = call ptr @fn_str_concat(ptr %t573, ptr %t574)
+ %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 @.str4551)
+ call void @fn_emit(ptr @.str4585)
%t578 = load ptr, ptr %t577
call void @fn_emit(ptr %t578)
- call void @fn_emit(ptr @.str4552)
+ call void @fn_emit(ptr @.str4586)
%t579 = load ptr, ptr %t542
call void @fn_emit(ptr %t579)
- call void @fn_emit(ptr @.str4553)
+ call void @fn_emit(ptr @.str4587)
%t580 = load ptr, ptr %t548
call void @fn_emit(ptr %t580)
- call void @fn_emit(ptr @.str4554)
+ call void @fn_emit(ptr @.str4588)
%t581 = load ptr, ptr %t542
call void @fn_emit(ptr %t581)
- call void @fn_emit(ptr @.str4555)
+ call void @fn_emit(ptr @.str4589)
%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 @fn_str_concat(ptr @.str4556, ptr %t587)
- %t589 = call ptr @fn_str_concat(ptr %t588, ptr @.str4557)
+ %t588 = call ptr @lp_str_concat(ptr @.str4590, ptr %t587)
+ %t589 = call ptr @lp_str_concat(ptr %t588, ptr @.str4591)
%t590 = load ptr, ptr %t586
- %t591 = call ptr @fn_str_concat(ptr %t589, ptr %t590)
+ %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 @fn_str_concat(ptr @.str4558, ptr %t594)
- %t596 = call ptr @fn_str_concat(ptr %t595, ptr @.str4559)
+ %t595 = call ptr @lp_str_concat(ptr @.str4592, ptr %t594)
+ %t596 = call ptr @lp_str_concat(ptr %t595, ptr @.str4593)
%t597 = load ptr, ptr %t593
- %t598 = call ptr @fn_str_concat(ptr %t596, ptr %t597)
- %t599 = call ptr @fn_str_concat(ptr %t598, ptr @.str4560)
+ %t598 = call ptr @lp_str_concat(ptr %t596, ptr %t597)
+ %t599 = call ptr @lp_str_concat(ptr %t598, ptr @.str4594)
%t600 = load ptr, ptr %t528
%t601 = getelementptr inbounds %Cmp_Val, ptr %t600, i32 0, i32 0
%t602 = load ptr, ptr %t601
- %t603 = call ptr @fn_str_concat(ptr %t599, ptr %t602)
+ %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 @.str4561)
+ call void @fn_emit(ptr @.str4595)
%t606 = load ptr, ptr %t605
call void @fn_emit(ptr %t606)
- call void @fn_emit(ptr @.str4562)
+ call void @fn_emit(ptr @.str4596)
%t607 = load ptr, ptr %t544
call void @fn_emit(ptr %t607)
- call void @fn_emit(ptr @.str4563)
+ call void @fn_emit(ptr @.str4597)
%t608 = load ptr, ptr %t546
call void @fn_emit(ptr %t608)
- call void @fn_emit(ptr @.str4564)
+ call void @fn_emit(ptr @.str4598)
%t609 = load ptr, ptr %t544
call void @fn_emit(ptr %t609)
- call void @fn_emit(ptr @.str4565)
+ call void @fn_emit(ptr @.str4599)
%t610 = load ptr, ptr %t554
%t611 = load ptr, ptr %t534
- call void @fn_store_at(ptr @.str4566, ptr %t610, ptr %t611)
- call void @fn_emit(ptr @.str4567)
+ call void @fn_store_at(ptr @.str4600, ptr %t610, ptr %t611)
+ call void @fn_emit(ptr @.str4601)
%t612 = load ptr, ptr %t540
call void @fn_emit(ptr %t612)
- call void @fn_emit(ptr @.str4568)
+ call void @fn_emit(ptr @.str4602)
%t613 = load ptr, ptr %t546
call void @fn_emit(ptr %t613)
- call void @fn_emit(ptr @.str4569)
+ call void @fn_emit(ptr @.str4603)
%t614 = load ptr, ptr %t554
- %t615 = call ptr @fn_str_concat(ptr @.str4570, ptr %t614)
- %t616 = call ptr @fn_str_concat(ptr %t615, ptr @.str4571)
+ %t615 = call ptr @lp_str_concat(ptr @.str4604, ptr %t614)
+ %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str4605)
%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 @.str4572, ptr %t619, ptr %t620)
- call void @fn_emit(ptr @.str4573)
+ call void @fn_store_at(ptr @.str4606, ptr %t619, ptr %t620)
+ call void @fn_emit(ptr @.str4607)
%t621 = load ptr, ptr %t540
call void @fn_emit(ptr %t621)
- call void @fn_emit(ptr @.str4574)
+ call void @fn_emit(ptr @.str4608)
%t622 = load ptr, ptr %t548
call void @fn_emit(ptr %t622)
- call void @fn_emit(ptr @.str4575)
+ call void @fn_emit(ptr @.str4609)
%t623 = load ptr, ptr %t534
- %t624 = call ptr @fn_str_concat(ptr @.str4576, ptr %t623)
+ %t624 = call ptr @lp_str_concat(ptr @.str4610, ptr %t623)
%t625 = call ptr @fn_emit_bind(ptr %t624)
store ptr %t625, ptr %t626
%t627 = load ptr, ptr %t626
- %t628 = call ptr @fn_str_concat(ptr @.str4577, ptr %t627)
- %t629 = call ptr @fn_str_concat(ptr %t628, ptr @.str4578)
+ %t628 = call ptr @lp_str_concat(ptr @.str4611, ptr %t627)
+ %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str4612)
%t630 = call ptr @fn_emit_bind(ptr %t629)
store ptr %t630, ptr %t631
- %t632 = call ptr @fn_lbl(ptr @.str4579)
+ %t632 = call ptr @fn_lbl(ptr @.str4613)
store ptr %t632, ptr %t633
- %t634 = call ptr @fn_lbl(ptr @.str4580)
+ %t634 = call ptr @fn_lbl(ptr @.str4614)
store ptr %t634, ptr %t635
- call void @fn_emit(ptr @.str4581)
+ call void @fn_emit(ptr @.str4615)
%t636 = load ptr, ptr %t631
call void @fn_emit(ptr %t636)
- call void @fn_emit(ptr @.str4582)
+ call void @fn_emit(ptr @.str4616)
%t637 = load ptr, ptr %t633
call void @fn_emit(ptr %t637)
- call void @fn_emit(ptr @.str4583)
+ call void @fn_emit(ptr @.str4617)
%t638 = load ptr, ptr %t635
call void @fn_emit(ptr %t638)
- call void @fn_emit(ptr @.str4584)
+ call void @fn_emit(ptr @.str4618)
%t639 = load ptr, ptr %t633
call void @fn_emit(ptr %t639)
- call void @fn_emit(ptr @.str4585)
+ call void @fn_emit(ptr @.str4619)
%t640 = load ptr, ptr %t532
- %t641 = call ptr @fn_str_concat(ptr @.str4586, ptr %t640)
- %t642 = call ptr @fn_str_concat(ptr %t641, ptr @.str4587)
+ %t641 = call ptr @lp_str_concat(ptr @.str4620, ptr %t640)
+ %t642 = call ptr @lp_str_concat(ptr %t641, ptr @.str4621)
%t643 = call ptr @fn_emit_bind(ptr %t642)
store ptr %t643, ptr %t644
- %t645 = call ptr @fn_emit_alloca(ptr @.str4588)
+ %t645 = call ptr @fn_emit_alloca(ptr @.str4622)
store ptr %t645, ptr %t646
%t647 = load ptr, ptr %t626
%t648 = load ptr, ptr %t646
- call void @fn_store_at(ptr @.str4589, ptr %t647, ptr %t648)
- %t649 = call ptr @fn_lbl(ptr @.str4590)
+ call void @fn_store_at(ptr @.str4623, ptr %t647, ptr %t648)
+ %t649 = call ptr @fn_lbl(ptr @.str4624)
store ptr %t649, ptr %t650
- %t651 = call ptr @fn_lbl(ptr @.str4591)
+ %t651 = call ptr @fn_lbl(ptr @.str4625)
store ptr %t651, ptr %t652
- %t653 = call ptr @fn_lbl(ptr @.str4592)
+ %t653 = call ptr @fn_lbl(ptr @.str4626)
store ptr %t653, ptr %t654
- call void @fn_emit(ptr @.str4593)
+ call void @fn_emit(ptr @.str4627)
%t655 = load ptr, ptr %t650
call void @fn_emit(ptr %t655)
- call void @fn_emit(ptr @.str4594)
+ call void @fn_emit(ptr @.str4628)
%t656 = load ptr, ptr %t650
call void @fn_emit(ptr %t656)
- call void @fn_emit(ptr @.str4595)
+ call void @fn_emit(ptr @.str4629)
%t657 = load ptr, ptr %t646
- %t658 = call ptr @fn_str_concat(ptr @.str4596, ptr %t657)
+ %t658 = call ptr @lp_str_concat(ptr @.str4630, ptr %t657)
%t659 = call ptr @fn_emit_bind(ptr %t658)
store ptr %t659, ptr %t660
%t661 = load ptr, ptr %t660
- %t662 = call ptr @fn_str_concat(ptr @.str4597, ptr %t661)
- %t663 = call ptr @fn_str_concat(ptr %t662, ptr @.str4598)
+ %t662 = call ptr @lp_str_concat(ptr @.str4631, ptr %t661)
+ %t663 = call ptr @lp_str_concat(ptr %t662, ptr @.str4632)
%t664 = load ptr, ptr %t644
- %t665 = call ptr @fn_str_concat(ptr %t663, ptr %t664)
+ %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 @.str4599)
+ call void @fn_emit(ptr @.str4633)
%t668 = load ptr, ptr %t667
call void @fn_emit(ptr %t668)
- call void @fn_emit(ptr @.str4600)
+ call void @fn_emit(ptr @.str4634)
%t669 = load ptr, ptr %t652
call void @fn_emit(ptr %t669)
- call void @fn_emit(ptr @.str4601)
+ call void @fn_emit(ptr @.str4635)
%t670 = load ptr, ptr %t654
call void @fn_emit(ptr %t670)
- call void @fn_emit(ptr @.str4602)
+ call void @fn_emit(ptr @.str4636)
%t671 = load ptr, ptr %t652
call void @fn_emit(ptr %t671)
- call void @fn_emit(ptr @.str4603)
+ call void @fn_emit(ptr @.str4637)
%t672 = load ptr, ptr %t660
- %t673 = call ptr @fn_str_concat(ptr @.str4604, ptr %t672)
- %t674 = call ptr @fn_str_concat(ptr %t673, ptr @.str4605)
+ %t673 = call ptr @lp_str_concat(ptr @.str4638, ptr %t672)
+ %t674 = call ptr @lp_str_concat(ptr %t673, ptr @.str4639)
%t675 = call ptr @fn_emit_bind(ptr %t674)
store ptr %t675, ptr %t676
%t677 = load ptr, ptr %t79
@@ -50433,10 +51016,10 @@ then44:
%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 @fn_str_concat(ptr @.str4606, ptr %t682)
- %t684 = call ptr @fn_str_concat(ptr %t683, ptr @.str4607)
+ %t683 = call ptr @lp_str_concat(ptr @.str4640, ptr %t682)
+ %t684 = call ptr @lp_str_concat(ptr %t683, ptr @.str4641)
%t685 = load ptr, ptr %t681
- %t686 = call ptr @fn_str_concat(ptr %t684, ptr %t685)
+ %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
@@ -50444,164 +51027,164 @@ then44:
%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 @.str4608)
+ call void @fn_emit(ptr @.str4642)
%t694 = load ptr, ptr %t75
call void @fn_emit(ptr %t694)
- call void @fn_emit(ptr @.str4609)
+ call void @fn_emit(ptr @.str4643)
%t695 = load ptr, ptr %t688
call void @fn_emit(ptr %t695)
- call void @fn_emit(ptr @.str4610)
+ call void @fn_emit(ptr @.str4644)
%t696 = load ptr, ptr %t693
call void @fn_emit(ptr %t696)
- call void @fn_emit(ptr @.str4611)
+ call void @fn_emit(ptr @.str4645)
%t697 = load ptr, ptr %t676
%t698 = load ptr, ptr %t646
- call void @fn_store_at(ptr @.str4612, ptr %t697, ptr %t698)
- call void @fn_emit(ptr @.str4613)
+ call void @fn_store_at(ptr @.str4646, ptr %t697, ptr %t698)
+ call void @fn_emit(ptr @.str4647)
%t699 = load ptr, ptr %t650
call void @fn_emit(ptr %t699)
- call void @fn_emit(ptr @.str4614)
+ call void @fn_emit(ptr @.str4648)
%t700 = load ptr, ptr %t654
call void @fn_emit(ptr %t700)
- call void @fn_emit(ptr @.str4615)
- call void @fn_emit(ptr @.str4616)
+ call void @fn_emit(ptr @.str4649)
+ call void @fn_emit(ptr @.str4650)
%t701 = load ptr, ptr %t644
call void @fn_emit(ptr %t701)
- call void @fn_emit(ptr @.str4617)
+ call void @fn_emit(ptr @.str4651)
%t702 = load ptr, ptr %t82
call void @fn_emit(ptr %t702)
- call void @fn_emit(ptr @.str4618)
- call void @fn_emit(ptr @.str4619)
+ call void @fn_emit(ptr @.str4652)
+ call void @fn_emit(ptr @.str4653)
%t703 = load ptr, ptr %t635
call void @fn_emit(ptr %t703)
- call void @fn_emit(ptr @.str4620)
+ call void @fn_emit(ptr @.str4654)
%t704 = load ptr, ptr %t635
call void @fn_emit(ptr %t704)
- call void @fn_emit(ptr @.str4621)
- %t705 = call ptr @fn_val(ptr @.str4622, ptr @.str4623)
+ call void @fn_emit(ptr @.str4655)
+ %t705 = call ptr @fn_val(ptr @.str4656, ptr @.str4657)
store ptr %t705, ptr %retval
br label %ret
ifend46:
%t706 = load ptr, ptr %t0
- %t707 = call i32 @fn_str_eq(ptr %t706, ptr @.str4624)
+ %t707 = call i32 @lp_str_eq(ptr %t706, ptr @.str4658)
%t708 = icmp ne i32 %t707, 0
br i1 %t708, label %then47, label %ifend49
then47:
%t709 = load ptr, ptr %t82
- %t710 = call ptr @fn_str_concat(ptr @.str4625, ptr %t709)
+ %t710 = call ptr @lp_str_concat(ptr @.str4659, ptr %t709)
%t711 = call ptr @fn_emit_bind(ptr %t710)
store ptr %t711, ptr %t712
%t713 = load ptr, ptr %t712
- %t714 = call ptr @fn_str_concat(ptr @.str4626, ptr %t713)
- %t715 = call ptr @fn_str_concat(ptr %t714, ptr @.str4627)
+ %t714 = call ptr @lp_str_concat(ptr @.str4660, ptr %t713)
+ %t715 = call ptr @lp_str_concat(ptr %t714, ptr @.str4661)
%t716 = call ptr @fn_emit_bind(ptr %t715)
store ptr %t716, ptr %t717
- %t718 = call ptr @fn_lbl(ptr @.str4628)
+ %t718 = call ptr @fn_lbl(ptr @.str4662)
store ptr %t718, ptr %t719
- %t720 = call ptr @fn_lbl(ptr @.str4629)
+ %t720 = call ptr @fn_lbl(ptr @.str4663)
store ptr %t720, ptr %t721
- %t722 = call ptr @fn_lbl(ptr @.str4630)
+ %t722 = call ptr @fn_lbl(ptr @.str4664)
store ptr %t722, ptr %t723
- call void @fn_emit(ptr @.str4631)
+ call void @fn_emit(ptr @.str4665)
%t724 = load ptr, ptr %t717
call void @fn_emit(ptr %t724)
- call void @fn_emit(ptr @.str4632)
+ call void @fn_emit(ptr @.str4666)
%t725 = load ptr, ptr %t719
call void @fn_emit(ptr %t725)
- call void @fn_emit(ptr @.str4633)
+ call void @fn_emit(ptr @.str4667)
%t726 = load ptr, ptr %t721
call void @fn_emit(ptr %t726)
- call void @fn_emit(ptr @.str4634)
+ call void @fn_emit(ptr @.str4668)
%t727 = load ptr, ptr %t719
call void @fn_emit(ptr %t727)
- call void @fn_emit(ptr @.str4635)
+ call void @fn_emit(ptr @.str4669)
%t728 = load ptr, ptr %t82
- %t729 = call ptr @fn_str_concat(ptr @.str4636, ptr %t728)
+ %t729 = call ptr @lp_str_concat(ptr @.str4670, ptr %t728)
%t730 = call ptr @fn_emit_bind(ptr %t729)
store ptr %t730, ptr %t731
- %t732 = call ptr @fn_emit_alloca(ptr @.str4637)
+ %t732 = call ptr @fn_emit_alloca(ptr @.str4671)
store ptr %t732, ptr %t733
%t734 = load ptr, ptr %t733
- call void @fn_store_at(ptr @.str4638, ptr @.str4639, ptr %t734)
- %t735 = call ptr @fn_lbl(ptr @.str4640)
+ call void @fn_store_at(ptr @.str4672, ptr @.str4673, ptr %t734)
+ %t735 = call ptr @fn_lbl(ptr @.str4674)
store ptr %t735, ptr %t736
- %t737 = call ptr @fn_lbl(ptr @.str4641)
+ %t737 = call ptr @fn_lbl(ptr @.str4675)
store ptr %t737, ptr %t738
- %t739 = call ptr @fn_lbl(ptr @.str4642)
+ %t739 = call ptr @fn_lbl(ptr @.str4676)
store ptr %t739, ptr %t740
- call void @fn_emit(ptr @.str4643)
+ call void @fn_emit(ptr @.str4677)
%t741 = load ptr, ptr %t736
call void @fn_emit(ptr %t741)
- call void @fn_emit(ptr @.str4644)
+ call void @fn_emit(ptr @.str4678)
%t742 = load ptr, ptr %t736
call void @fn_emit(ptr %t742)
- call void @fn_emit(ptr @.str4645)
+ call void @fn_emit(ptr @.str4679)
%t743 = load ptr, ptr %t733
- %t744 = call ptr @fn_str_concat(ptr @.str4646, ptr %t743)
+ %t744 = call ptr @lp_str_concat(ptr @.str4680, ptr %t743)
%t745 = call ptr @fn_emit_bind(ptr %t744)
store ptr %t745, ptr %t746
%t747 = load ptr, ptr %t746
- %t748 = call ptr @fn_str_concat(ptr @.str4647, ptr %t747)
- %t749 = call ptr @fn_str_concat(ptr %t748, ptr @.str4648)
+ %t748 = call ptr @lp_str_concat(ptr @.str4681, ptr %t747)
+ %t749 = call ptr @lp_str_concat(ptr %t748, ptr @.str4682)
%t750 = load ptr, ptr %t731
- %t751 = call ptr @fn_str_concat(ptr %t749, ptr %t750)
+ %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 @.str4649)
+ call void @fn_emit(ptr @.str4683)
%t754 = load ptr, ptr %t753
call void @fn_emit(ptr %t754)
- call void @fn_emit(ptr @.str4650)
+ call void @fn_emit(ptr @.str4684)
%t755 = load ptr, ptr %t738
call void @fn_emit(ptr %t755)
- call void @fn_emit(ptr @.str4651)
+ call void @fn_emit(ptr @.str4685)
%t756 = load ptr, ptr %t740
call void @fn_emit(ptr %t756)
- call void @fn_emit(ptr @.str4652)
+ call void @fn_emit(ptr @.str4686)
%t757 = load ptr, ptr %t738
call void @fn_emit(ptr %t757)
- call void @fn_emit(ptr @.str4653)
+ call void @fn_emit(ptr @.str4687)
%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 @fn_str_concat(ptr @.str4654, ptr %t763)
- %t765 = call ptr @fn_str_concat(ptr %t764, ptr @.str4655)
+ %t764 = call ptr @lp_str_concat(ptr @.str4688, ptr %t763)
+ %t765 = call ptr @lp_str_concat(ptr %t764, ptr @.str4689)
%t766 = load ptr, ptr %t762
- %t767 = call ptr @fn_str_concat(ptr %t765, ptr %t766)
+ %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 @.str4656)
+ %t770 = call ptr @fn_emit_alloca(ptr @.str4690)
store ptr %t770, ptr %t771
%t772 = load ptr, ptr %t746
- %t773 = call ptr @fn_str_concat(ptr @.str4657, ptr %t772)
- %t774 = call ptr @fn_str_concat(ptr %t773, ptr @.str4658)
+ %t773 = call ptr @lp_str_concat(ptr @.str4691, ptr %t772)
+ %t774 = call ptr @lp_str_concat(ptr %t773, ptr @.str4692)
%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 @.str4659, ptr %t777, ptr %t778)
- %t779 = call ptr @fn_lbl(ptr @.str4660)
+ call void @fn_store_at(ptr @.str4693, ptr %t777, ptr %t778)
+ %t779 = call ptr @fn_lbl(ptr @.str4694)
store ptr %t779, ptr %t780
- %t781 = call ptr @fn_lbl(ptr @.str4661)
+ %t781 = call ptr @fn_lbl(ptr @.str4695)
store ptr %t781, ptr %t782
- %t783 = call ptr @fn_lbl(ptr @.str4662)
+ %t783 = call ptr @fn_lbl(ptr @.str4696)
store ptr %t783, ptr %t784
- call void @fn_emit(ptr @.str4663)
+ call void @fn_emit(ptr @.str4697)
%t785 = load ptr, ptr %t780
call void @fn_emit(ptr %t785)
- call void @fn_emit(ptr @.str4664)
+ call void @fn_emit(ptr @.str4698)
%t786 = load ptr, ptr %t780
call void @fn_emit(ptr %t786)
- call void @fn_emit(ptr @.str4665)
+ call void @fn_emit(ptr @.str4699)
%t787 = load ptr, ptr %t771
- %t788 = call ptr @fn_str_concat(ptr @.str4666, ptr %t787)
+ %t788 = call ptr @lp_str_concat(ptr @.str4700, ptr %t787)
%t789 = call ptr @fn_emit_bind(ptr %t788)
store ptr %t789, ptr %t790
%t791 = load ptr, ptr %t790
- %t792 = call ptr @fn_str_concat(ptr @.str4667, ptr %t791)
- %t793 = call ptr @fn_str_concat(ptr %t792, ptr @.str4668)
+ %t792 = call ptr @lp_str_concat(ptr @.str4701, ptr %t791)
+ %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str4702)
%t794 = call ptr @fn_emit_bind(ptr %t793)
store ptr %t794, ptr %t795
%t796 = load ptr, ptr %t79
@@ -50610,45 +51193,45 @@ then47:
%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 @fn_str_concat(ptr @.str4669, ptr %t801)
- %t803 = call ptr @fn_str_concat(ptr %t802, ptr @.str4670)
+ %t802 = call ptr @lp_str_concat(ptr @.str4703, ptr %t801)
+ %t803 = call ptr @lp_str_concat(ptr %t802, ptr @.str4704)
%t804 = load ptr, ptr %t800
- %t805 = call ptr @fn_str_concat(ptr %t803, ptr %t804)
+ %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 @fn_str_concat(ptr @.str4671, ptr %t808)
- %t810 = call ptr @fn_str_concat(ptr %t809, ptr @.str4672)
+ %t809 = call ptr @lp_str_concat(ptr @.str4705, ptr %t808)
+ %t810 = call ptr @lp_str_concat(ptr %t809, ptr @.str4706)
%t811 = load ptr, ptr %t807
- %t812 = call ptr @fn_str_concat(ptr %t810, ptr %t811)
- %t813 = call ptr @fn_str_concat(ptr %t812, ptr @.str4673)
+ %t812 = call ptr @lp_str_concat(ptr %t810, ptr %t811)
+ %t813 = call ptr @lp_str_concat(ptr %t812, ptr @.str4707)
%t814 = load ptr, ptr %t769
- %t815 = call ptr @fn_str_concat(ptr %t813, ptr %t814)
+ %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 @fn_str_concat(ptr @.str4674, ptr %t818)
- %t820 = call ptr @fn_str_concat(ptr %t819, ptr @.str4675)
+ %t819 = call ptr @lp_str_concat(ptr @.str4708, ptr %t818)
+ %t820 = call ptr @lp_str_concat(ptr %t819, ptr @.str4709)
%t821 = load ptr, ptr %t817
- %t822 = call ptr @fn_str_concat(ptr %t820, ptr %t821)
+ %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 @.str4676)
+ call void @fn_emit(ptr @.str4710)
%t825 = load ptr, ptr %t824
call void @fn_emit(ptr %t825)
- call void @fn_emit(ptr @.str4677)
+ call void @fn_emit(ptr @.str4711)
%t826 = load ptr, ptr %t782
call void @fn_emit(ptr %t826)
- call void @fn_emit(ptr @.str4678)
+ call void @fn_emit(ptr @.str4712)
%t827 = load ptr, ptr %t784
call void @fn_emit(ptr %t827)
- call void @fn_emit(ptr @.str4679)
+ call void @fn_emit(ptr @.str4713)
%t828 = load ptr, ptr %t782
call void @fn_emit(ptr %t828)
- call void @fn_emit(ptr @.str4680)
+ call void @fn_emit(ptr @.str4714)
%t829 = load ptr, ptr %t790
- %t830 = call ptr @fn_str_concat(ptr @.str4681, ptr %t829)
- %t831 = call ptr @fn_str_concat(ptr %t830, ptr @.str4682)
+ %t830 = call ptr @lp_str_concat(ptr @.str4715, ptr %t829)
+ %t831 = call ptr @lp_str_concat(ptr %t830, ptr @.str4716)
%t832 = call ptr @fn_emit_bind(ptr %t831)
store ptr %t832, ptr %t833
%t834 = load ptr, ptr %t79
@@ -50656,38 +51239,38 @@ then47:
%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 @.str4683)
+ call void @fn_emit(ptr @.str4717)
%t839 = load ptr, ptr %t75
call void @fn_emit(ptr %t839)
- call void @fn_emit(ptr @.str4684)
+ call void @fn_emit(ptr @.str4718)
%t840 = load ptr, ptr %t807
call void @fn_emit(ptr %t840)
- call void @fn_emit(ptr @.str4685)
+ call void @fn_emit(ptr @.str4719)
%t841 = load ptr, ptr %t838
call void @fn_emit(ptr %t841)
- call void @fn_emit(ptr @.str4686)
+ call void @fn_emit(ptr @.str4720)
%t842 = load ptr, ptr %t790
- %t843 = call ptr @fn_str_concat(ptr @.str4687, ptr %t842)
- %t844 = call ptr @fn_str_concat(ptr %t843, ptr @.str4688)
+ %t843 = call ptr @lp_str_concat(ptr @.str4721, ptr %t842)
+ %t844 = call ptr @lp_str_concat(ptr %t843, ptr @.str4722)
%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 @.str4689, ptr %t847, ptr %t848)
- call void @fn_emit(ptr @.str4690)
+ call void @fn_store_at(ptr @.str4723, ptr %t847, ptr %t848)
+ call void @fn_emit(ptr @.str4724)
%t849 = load ptr, ptr %t780
call void @fn_emit(ptr %t849)
- call void @fn_emit(ptr @.str4691)
+ call void @fn_emit(ptr @.str4725)
%t850 = load ptr, ptr %t784
call void @fn_emit(ptr %t850)
- call void @fn_emit(ptr @.str4692)
+ call void @fn_emit(ptr @.str4726)
%t851 = load ptr, ptr %t771
- %t852 = call ptr @fn_str_concat(ptr @.str4693, ptr %t851)
+ %t852 = call ptr @lp_str_concat(ptr @.str4727, ptr %t851)
%t853 = call ptr @fn_emit_bind(ptr %t852)
store ptr %t853, ptr %t854
%t855 = load ptr, ptr %t854
- %t856 = call ptr @fn_str_concat(ptr @.str4694, ptr %t855)
- %t857 = call ptr @fn_str_concat(ptr %t856, ptr @.str4695)
+ %t856 = call ptr @lp_str_concat(ptr @.str4728, ptr %t855)
+ %t857 = call ptr @lp_str_concat(ptr %t856, ptr @.str4729)
%t858 = call ptr @fn_emit_bind(ptr %t857)
store ptr %t858, ptr %t859
%t860 = load ptr, ptr %t79
@@ -50695,54 +51278,54 @@ then47:
%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 @.str4696)
+ call void @fn_emit(ptr @.str4730)
%t865 = load ptr, ptr %t75
call void @fn_emit(ptr %t865)
- call void @fn_emit(ptr @.str4697)
+ call void @fn_emit(ptr @.str4731)
%t866 = load ptr, ptr %t769
call void @fn_emit(ptr %t866)
- call void @fn_emit(ptr @.str4698)
+ call void @fn_emit(ptr @.str4732)
%t867 = load ptr, ptr %t864
call void @fn_emit(ptr %t867)
- call void @fn_emit(ptr @.str4699)
+ call void @fn_emit(ptr @.str4733)
%t868 = load ptr, ptr %t746
- %t869 = call ptr @fn_str_concat(ptr @.str4700, ptr %t868)
- %t870 = call ptr @fn_str_concat(ptr %t869, ptr @.str4701)
+ %t869 = call ptr @lp_str_concat(ptr @.str4734, ptr %t868)
+ %t870 = call ptr @lp_str_concat(ptr %t869, ptr @.str4735)
%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 @.str4702, ptr %t873, ptr %t874)
- call void @fn_emit(ptr @.str4703)
+ call void @fn_store_at(ptr @.str4736, ptr %t873, ptr %t874)
+ call void @fn_emit(ptr @.str4737)
%t875 = load ptr, ptr %t736
call void @fn_emit(ptr %t875)
- call void @fn_emit(ptr @.str4704)
+ call void @fn_emit(ptr @.str4738)
%t876 = load ptr, ptr %t740
call void @fn_emit(ptr %t876)
- call void @fn_emit(ptr @.str4705)
- call void @fn_emit(ptr @.str4706)
+ call void @fn_emit(ptr @.str4739)
+ call void @fn_emit(ptr @.str4740)
%t877 = load ptr, ptr %t723
call void @fn_emit(ptr %t877)
- call void @fn_emit(ptr @.str4707)
+ call void @fn_emit(ptr @.str4741)
%t878 = load ptr, ptr %t721
call void @fn_emit(ptr %t878)
- call void @fn_emit(ptr @.str4708)
+ call void @fn_emit(ptr @.str4742)
%t879 = load ptr, ptr %t79
%t880 = load ptr, ptr %t75
- call void @fn_emit_merge_sort(ptr %t879, ptr %t880, i32 3, ptr @.str4709, ptr @.str4710)
- call void @fn_emit(ptr @.str4711)
+ call void @fn_emit_merge_sort(ptr %t879, ptr %t880, i32 3, ptr @.str4743, ptr @.str4744)
+ call void @fn_emit(ptr @.str4745)
%t881 = load ptr, ptr %t723
call void @fn_emit(ptr %t881)
- call void @fn_emit(ptr @.str4712)
+ call void @fn_emit(ptr @.str4746)
%t882 = load ptr, ptr %t723
call void @fn_emit(ptr %t882)
- call void @fn_emit(ptr @.str4713)
- %t883 = call ptr @fn_val(ptr @.str4714, ptr @.str4715)
+ call void @fn_emit(ptr @.str4747)
+ %t883 = call ptr @fn_val(ptr @.str4748, ptr @.str4749)
store ptr %t883, ptr %retval
br label %ret
ifend49:
%t884 = load ptr, ptr %t0
- %t885 = call i32 @fn_str_eq(ptr %t884, ptr @.str4716)
+ %t885 = call i32 @lp_str_eq(ptr %t884, ptr @.str4750)
%t886 = icmp ne i32 %t885, 0
br i1 %t886, label %then50, label %ifend52
then50:
@@ -50761,28 +51344,28 @@ then50:
br i1 %t898, label %then53, label %ifend55
then53:
%t899 = load ptr, ptr %t890
- %t900 = call ptr @fn_str_concat(ptr @.str4717, ptr %t899)
- %t901 = call ptr @fn_str_concat(ptr %t900, ptr @.str4718)
+ %t900 = call ptr @lp_str_concat(ptr @.str4751, ptr %t899)
+ %t901 = call ptr @lp_str_concat(ptr %t900, ptr @.str4752)
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 @.str4719)
- %t905 = call ptr @fn_val(ptr @.str4720, ptr @.str4721)
+ call void @fn_emit_merge_sort(ptr %t902, ptr %t903, i32 0, ptr %t904, ptr @.str4753)
+ %t905 = call ptr @fn_val(ptr @.str4754, ptr @.str4755)
store ptr %t905, ptr %retval
br label %ret
ifend52:
%t907 = load ptr, ptr %t0
- %t908 = call i32 @fn_str_eq(ptr %t907, ptr @.str4722)
+ %t908 = call i32 @lp_str_eq(ptr %t907, ptr @.str4756)
%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 @fn_str_eq(ptr %t911, ptr @.str4723)
+ %t912 = call i32 @lp_str_eq(ptr %t911, ptr @.str4757)
%t913 = icmp ne i32 %t912, 0
%t914 = zext i1 %t913 to i32
store i32 %t914, ptr %t906
@@ -50809,11 +51392,11 @@ then58:
br i1 %t930, label %then61, label %ifend63
then61:
%t931 = load ptr, ptr %t0
- %t932 = call ptr @fn_str_concat(ptr @.str4724, ptr %t931)
- %t933 = call ptr @fn_str_concat(ptr %t932, ptr @.str4725)
+ %t932 = call ptr @lp_str_concat(ptr @.str4758, ptr %t931)
+ %t933 = call ptr @lp_str_concat(ptr %t932, ptr @.str4759)
%t934 = load ptr, ptr %t920
- %t935 = call ptr @fn_str_concat(ptr %t933, ptr %t934)
- %t936 = call ptr @fn_str_concat(ptr %t935, ptr @.str4726)
+ %t935 = call ptr @lp_str_concat(ptr %t933, ptr %t934)
+ %t936 = call ptr @lp_str_concat(ptr %t935, ptr @.str4760)
call void @fn_perr(ptr %t936)
br label %ifend63
ifend63:
@@ -50823,14 +51406,14 @@ ifend63:
%t940 = call ptr @fn_llty(ptr %t939)
store ptr %t940, ptr %t941
%t943 = load ptr, ptr %t941
- %t944 = call i32 @fn_str_eq(ptr %t943, ptr @.str4727)
+ %t944 = call i32 @lp_str_eq(ptr %t943, ptr @.str4761)
%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 @fn_str_eq(ptr %t947, ptr @.str4728)
+ %t948 = call i32 @lp_str_eq(ptr %t947, ptr @.str4762)
%t949 = icmp ne i32 %t948, 0
%t950 = zext i1 %t949 to i32
store i32 %t950, ptr %t942
@@ -50841,17 +51424,17 @@ scend65:
br i1 %t952, label %then66, label %ifend68
then66:
%t953 = load ptr, ptr %t0
- %t954 = call ptr @fn_str_concat(ptr @.str4729, ptr %t953)
- %t955 = call ptr @fn_str_concat(ptr %t954, ptr @.str4730)
+ %t954 = call ptr @lp_str_concat(ptr @.str4763, ptr %t953)
+ %t955 = call ptr @lp_str_concat(ptr %t954, ptr @.str4764)
%t956 = load ptr, ptr %t920
- %t957 = call ptr @fn_str_concat(ptr %t955, ptr %t956)
- %t958 = call ptr @fn_str_concat(ptr %t957, ptr @.str4731)
+ %t957 = call ptr @lp_str_concat(ptr %t955, ptr %t956)
+ %t958 = call ptr @lp_str_concat(ptr %t957, ptr @.str4765)
call void @fn_perr(ptr %t958)
br label %ifend68
ifend68:
store i32 1, ptr %t959
%t960 = load ptr, ptr %t0
- %t961 = call i32 @fn_str_eq(ptr %t960, ptr @.str4732)
+ %t961 = call i32 @lp_str_eq(ptr %t960, ptr @.str4766)
%t962 = icmp ne i32 %t961, 0
br i1 %t962, label %then69, label %ifend71
then69:
@@ -50864,69 +51447,69 @@ ifend71:
%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 @.str4733, ptr @.str4734)
+ %t968 = call ptr @fn_val(ptr @.str4767, ptr @.str4768)
store ptr %t968, ptr %retval
br label %ret
ifend60:
%t969 = load ptr, ptr %t82
- %t970 = call ptr @fn_str_concat(ptr @.str4735, ptr %t969)
+ %t970 = call ptr @lp_str_concat(ptr @.str4769, ptr %t969)
%t971 = call ptr @fn_emit_bind(ptr %t970)
store ptr %t971, ptr %t972
- %t973 = call ptr @fn_emit_alloca(ptr @.str4736)
+ %t973 = call ptr @fn_emit_alloca(ptr @.str4770)
store ptr %t973, ptr %t974
%t975 = load ptr, ptr %t974
- call void @fn_store_at(ptr @.str4737, ptr @.str4738, ptr %t975)
- %t976 = call ptr @fn_emit_alloca(ptr @.str4739)
+ call void @fn_store_at(ptr @.str4771, ptr @.str4772, ptr %t975)
+ %t976 = call ptr @fn_emit_alloca(ptr @.str4773)
store ptr %t976, ptr %t977
%t978 = load ptr, ptr %t972
- %t979 = call ptr @fn_str_concat(ptr @.str4740, ptr %t978)
- %t980 = call ptr @fn_str_concat(ptr %t979, ptr @.str4741)
+ %t979 = call ptr @lp_str_concat(ptr @.str4774, ptr %t978)
+ %t980 = call ptr @lp_str_concat(ptr %t979, ptr @.str4775)
%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 @.str4742, ptr %t983, ptr %t984)
- %t985 = call ptr @fn_lbl(ptr @.str4743)
+ call void @fn_store_at(ptr @.str4776, ptr %t983, ptr %t984)
+ %t985 = call ptr @fn_lbl(ptr @.str4777)
store ptr %t985, ptr %t986
- %t987 = call ptr @fn_lbl(ptr @.str4744)
+ %t987 = call ptr @fn_lbl(ptr @.str4778)
store ptr %t987, ptr %t988
- %t989 = call ptr @fn_lbl(ptr @.str4745)
+ %t989 = call ptr @fn_lbl(ptr @.str4779)
store ptr %t989, ptr %t990
- call void @fn_emit(ptr @.str4746)
+ call void @fn_emit(ptr @.str4780)
%t991 = load ptr, ptr %t986
call void @fn_emit(ptr %t991)
- call void @fn_emit(ptr @.str4747)
+ call void @fn_emit(ptr @.str4781)
%t992 = load ptr, ptr %t986
call void @fn_emit(ptr %t992)
- call void @fn_emit(ptr @.str4748)
+ call void @fn_emit(ptr @.str4782)
%t993 = load ptr, ptr %t974
- %t994 = call ptr @fn_str_concat(ptr @.str4749, ptr %t993)
+ %t994 = call ptr @lp_str_concat(ptr @.str4783, ptr %t993)
%t995 = call ptr @fn_emit_bind(ptr %t994)
store ptr %t995, ptr %t996
%t997 = load ptr, ptr %t977
- %t998 = call ptr @fn_str_concat(ptr @.str4750, ptr %t997)
+ %t998 = call ptr @lp_str_concat(ptr @.str4784, ptr %t997)
%t999 = call ptr @fn_emit_bind(ptr %t998)
store ptr %t999, ptr %t1000
%t1001 = load ptr, ptr %t996
- %t1002 = call ptr @fn_str_concat(ptr @.str4751, ptr %t1001)
- %t1003 = call ptr @fn_str_concat(ptr %t1002, ptr @.str4752)
+ %t1002 = call ptr @lp_str_concat(ptr @.str4785, ptr %t1001)
+ %t1003 = call ptr @lp_str_concat(ptr %t1002, ptr @.str4786)
%t1004 = load ptr, ptr %t1000
- %t1005 = call ptr @fn_str_concat(ptr %t1003, ptr %t1004)
+ %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 @.str4753)
+ call void @fn_emit(ptr @.str4787)
%t1008 = load ptr, ptr %t1007
call void @fn_emit(ptr %t1008)
- call void @fn_emit(ptr @.str4754)
+ call void @fn_emit(ptr @.str4788)
%t1009 = load ptr, ptr %t988
call void @fn_emit(ptr %t1009)
- call void @fn_emit(ptr @.str4755)
+ call void @fn_emit(ptr @.str4789)
%t1010 = load ptr, ptr %t990
call void @fn_emit(ptr %t1010)
- call void @fn_emit(ptr @.str4756)
+ call void @fn_emit(ptr @.str4790)
%t1011 = load ptr, ptr %t988
call void @fn_emit(ptr %t1011)
- call void @fn_emit(ptr @.str4757)
+ call void @fn_emit(ptr @.str4791)
%t1012 = load ptr, ptr %t79
%t1013 = load ptr, ptr %t75
%t1014 = load ptr, ptr %t996
@@ -50938,63 +51521,63 @@ ifend60:
%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 @fn_str_concat(ptr @.str4758, ptr %t1022)
- %t1024 = call ptr @fn_str_concat(ptr %t1023, ptr @.str4759)
+ %t1023 = call ptr @lp_str_concat(ptr @.str4792, ptr %t1022)
+ %t1024 = call ptr @lp_str_concat(ptr %t1023, ptr @.str4793)
%t1025 = load ptr, ptr %t1016
- %t1026 = call ptr @fn_str_concat(ptr %t1024, ptr %t1025)
+ %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 @fn_str_concat(ptr @.str4760, ptr %t1029)
- %t1031 = call ptr @fn_str_concat(ptr %t1030, ptr @.str4761)
+ %t1030 = call ptr @lp_str_concat(ptr @.str4794, ptr %t1029)
+ %t1031 = call ptr @lp_str_concat(ptr %t1030, ptr @.str4795)
%t1032 = load ptr, ptr %t1021
- %t1033 = call ptr @fn_str_concat(ptr %t1031, ptr %t1032)
+ %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 @.str4762)
+ call void @fn_emit(ptr @.str4796)
%t1036 = load ptr, ptr %t75
call void @fn_emit(ptr %t1036)
- call void @fn_emit(ptr @.str4763)
+ call void @fn_emit(ptr @.str4797)
%t1037 = load ptr, ptr %t1035
call void @fn_emit(ptr %t1037)
- call void @fn_emit(ptr @.str4764)
+ call void @fn_emit(ptr @.str4798)
%t1038 = load ptr, ptr %t1016
call void @fn_emit(ptr %t1038)
- call void @fn_emit(ptr @.str4765)
- call void @fn_emit(ptr @.str4766)
+ call void @fn_emit(ptr @.str4799)
+ call void @fn_emit(ptr @.str4800)
%t1039 = load ptr, ptr %t75
call void @fn_emit(ptr %t1039)
- call void @fn_emit(ptr @.str4767)
+ call void @fn_emit(ptr @.str4801)
%t1040 = load ptr, ptr %t1028
call void @fn_emit(ptr %t1040)
- call void @fn_emit(ptr @.str4768)
+ call void @fn_emit(ptr @.str4802)
%t1041 = load ptr, ptr %t1021
call void @fn_emit(ptr %t1041)
- call void @fn_emit(ptr @.str4769)
+ call void @fn_emit(ptr @.str4803)
%t1042 = load ptr, ptr %t996
- %t1043 = call ptr @fn_str_concat(ptr @.str4770, ptr %t1042)
- %t1044 = call ptr @fn_str_concat(ptr %t1043, ptr @.str4771)
+ %t1043 = call ptr @lp_str_concat(ptr @.str4804, ptr %t1042)
+ %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str4805)
%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 @.str4772, ptr %t1047, ptr %t1048)
+ call void @fn_store_at(ptr @.str4806, ptr %t1047, ptr %t1048)
%t1049 = load ptr, ptr %t1000
- %t1050 = call ptr @fn_str_concat(ptr @.str4773, ptr %t1049)
- %t1051 = call ptr @fn_str_concat(ptr %t1050, ptr @.str4774)
+ %t1050 = call ptr @lp_str_concat(ptr @.str4807, ptr %t1049)
+ %t1051 = call ptr @lp_str_concat(ptr %t1050, ptr @.str4808)
%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 @.str4775, ptr %t1054, ptr %t1055)
- call void @fn_emit(ptr @.str4776)
+ call void @fn_store_at(ptr @.str4809, ptr %t1054, ptr %t1055)
+ call void @fn_emit(ptr @.str4810)
%t1056 = load ptr, ptr %t986
call void @fn_emit(ptr %t1056)
- call void @fn_emit(ptr @.str4777)
+ call void @fn_emit(ptr @.str4811)
%t1057 = load ptr, ptr %t990
call void @fn_emit(ptr %t1057)
- call void @fn_emit(ptr @.str4778)
- %t1058 = call ptr @fn_val(ptr @.str4779, ptr @.str4780)
+ call void @fn_emit(ptr @.str4812)
+ %t1058 = call ptr @fn_val(ptr @.str4813, ptr @.str4814)
store ptr %t1058, ptr %retval
br label %ret
ret:
@@ -51012,14 +51595,14 @@ entry:
%t21 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str4781)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str4815)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4782)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4816)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -51032,7 +51615,7 @@ scend1:
br i1 %t12, label %scend3, label %sc2
sc2:
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str4783)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str4817)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
@@ -51046,14 +51629,14 @@ then4:
br label %ret
ifend6:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str4784)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str4818)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t21
br i1 %t24, label %scend8, label %sc7
sc7:
%t26 = load ptr, ptr %t0
- %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str4785)
+ %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str4819)
%t28 = icmp ne i32 %t27, 0
%t29 = zext i1 %t28 to i32
store i32 %t29, ptr %t21
@@ -51066,7 +51649,7 @@ scend8:
br i1 %t31, label %scend10, label %sc9
sc9:
%t33 = load ptr, ptr %t0
- %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str4786)
+ %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str4820)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t20
@@ -51097,7 +51680,7 @@ entry:
%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 @.str4787)
+ %t6 = call ptr @fn_fx_mul_code(ptr %t5, ptr @.str4821)
store ptr %t6, ptr %retval
br label %ret
ret:
@@ -51129,87 +51712,87 @@ entry:
%t2 = call ptr @fn_ease_bounce_seg(ptr %t1)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t0
- %t5 = call ptr @fn_str_concat(ptr @.str4788, ptr %t4)
- %t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str4789)
+ %t5 = call ptr @lp_str_concat(ptr @.str4822, ptr %t4)
+ %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str4823)
%t7 = call ptr @fn_emit_bind(ptr %t6)
store ptr %t7, ptr %t8
%t9 = load ptr, ptr %t8
%t10 = call ptr @fn_ease_bounce_seg(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t11
- %t13 = call ptr @fn_str_concat(ptr @.str4790, ptr %t12)
- %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4791)
+ %t13 = call ptr @lp_str_concat(ptr @.str4824, ptr %t12)
+ %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str4825)
%t15 = call ptr @fn_emit_bind(ptr %t14)
store ptr %t15, ptr %t16
%t17 = load ptr, ptr %t0
- %t18 = call ptr @fn_str_concat(ptr @.str4792, ptr %t17)
- %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str4793)
+ %t18 = call ptr @lp_str_concat(ptr @.str4826, ptr %t17)
+ %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str4827)
%t20 = call ptr @fn_emit_bind(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t21
%t23 = call ptr @fn_ease_bounce_seg(ptr %t22)
store ptr %t23, ptr %t24
%t25 = load ptr, ptr %t24
- %t26 = call ptr @fn_str_concat(ptr @.str4794, ptr %t25)
- %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4795)
+ %t26 = call ptr @lp_str_concat(ptr @.str4828, ptr %t25)
+ %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4829)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t0
- %t31 = call ptr @fn_str_concat(ptr @.str4796, ptr %t30)
- %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4797)
+ %t31 = call ptr @lp_str_concat(ptr @.str4830, ptr %t30)
+ %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str4831)
%t33 = call ptr @fn_emit_bind(ptr %t32)
store ptr %t33, ptr %t34
%t35 = load ptr, ptr %t34
%t36 = call ptr @fn_ease_bounce_seg(ptr %t35)
store ptr %t36, ptr %t37
%t38 = load ptr, ptr %t37
- %t39 = call ptr @fn_str_concat(ptr @.str4798, ptr %t38)
- %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str4799)
+ %t39 = call ptr @lp_str_concat(ptr @.str4832, ptr %t38)
+ %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str4833)
%t41 = call ptr @fn_emit_bind(ptr %t40)
store ptr %t41, ptr %t42
%t43 = load ptr, ptr %t0
- %t44 = call ptr @fn_str_concat(ptr @.str4800, ptr %t43)
- %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str4801)
+ %t44 = call ptr @lp_str_concat(ptr @.str4834, ptr %t43)
+ %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4835)
%t46 = call ptr @fn_emit_bind(ptr %t45)
store ptr %t46, ptr %t47
%t48 = load ptr, ptr %t47
- %t49 = call ptr @fn_str_concat(ptr @.str4802, ptr %t48)
- %t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str4803)
+ %t49 = call ptr @lp_str_concat(ptr @.str4836, ptr %t48)
+ %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str4837)
%t51 = load ptr, ptr %t29
- %t52 = call ptr @fn_str_concat(ptr %t50, ptr %t51)
- %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str4804)
+ %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51)
+ %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str4838)
%t54 = load ptr, ptr %t42
- %t55 = call ptr @fn_str_concat(ptr %t53, ptr %t54)
+ %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 @fn_str_concat(ptr @.str4805, ptr %t58)
- %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str4806)
+ %t59 = call ptr @lp_str_concat(ptr @.str4839, ptr %t58)
+ %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str4840)
%t61 = call ptr @fn_emit_bind(ptr %t60)
store ptr %t61, ptr %t62
%t63 = load ptr, ptr %t62
- %t64 = call ptr @fn_str_concat(ptr @.str4807, ptr %t63)
- %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str4808)
+ %t64 = call ptr @lp_str_concat(ptr @.str4841, ptr %t63)
+ %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str4842)
%t66 = load ptr, ptr %t16
- %t67 = call ptr @fn_str_concat(ptr %t65, ptr %t66)
- %t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str4809)
+ %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66)
+ %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str4843)
%t69 = load ptr, ptr %t57
- %t70 = call ptr @fn_str_concat(ptr %t68, ptr %t69)
+ %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 @fn_str_concat(ptr @.str4810, ptr %t73)
- %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str4811)
+ %t74 = call ptr @lp_str_concat(ptr @.str4844, ptr %t73)
+ %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str4845)
%t76 = call ptr @fn_emit_bind(ptr %t75)
store ptr %t76, ptr %t77
%t78 = load ptr, ptr %t77
- %t79 = call ptr @fn_str_concat(ptr @.str4812, ptr %t78)
- %t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str4813)
+ %t79 = call ptr @lp_str_concat(ptr @.str4846, ptr %t78)
+ %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str4847)
%t81 = load ptr, ptr %t3
- %t82 = call ptr @fn_str_concat(ptr %t80, ptr %t81)
- %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4814)
+ %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81)
+ %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str4848)
%t84 = load ptr, ptr %t72
- %t85 = call ptr @fn_str_concat(ptr %t83, ptr %t84)
+ %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
@@ -51270,7 +51853,7 @@ ifend5:
br i1 %t17, label %then6, label %ifend8
then6:
%t18 = load ptr, ptr %t1
- %t19 = call ptr @fn_str_concat(ptr @.str4815, ptr %t18)
+ %t19 = call ptr @lp_str_concat(ptr @.str4849, ptr %t18)
%t20 = call ptr @fn_emit_bind(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t1
@@ -51294,20 +51877,20 @@ then9:
%t35 = call ptr @fn_fx_mul_code(ptr %t33, ptr %t34)
store ptr %t35, ptr %t36
%t37 = load ptr, ptr %t32
- %t38 = call ptr @fn_str_concat(ptr @.str4816, ptr %t37)
- %t39 = call ptr @fn_str_concat(ptr %t38, ptr @.str4817)
+ %t38 = call ptr @lp_str_concat(ptr @.str4850, ptr %t37)
+ %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str4851)
%t40 = call ptr @fn_emit_bind(ptr %t39)
store ptr %t40, ptr %t41
%t42 = load ptr, ptr %t36
- %t43 = call ptr @fn_str_concat(ptr @.str4818, ptr %t42)
- %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str4819)
+ %t43 = call ptr @lp_str_concat(ptr @.str4852, ptr %t42)
+ %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str4853)
%t45 = call ptr @fn_emit_bind(ptr %t44)
store ptr %t45, ptr %t46
%t47 = load ptr, ptr %t41
- %t48 = call ptr @fn_str_concat(ptr @.str4820, ptr %t47)
- %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str4821)
+ %t48 = call ptr @lp_str_concat(ptr @.str4854, ptr %t47)
+ %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str4855)
%t50 = load ptr, ptr %t46
- %t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
+ %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
@@ -51327,16 +51910,16 @@ then12:
%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 @.str4822)
+ %t66 = call ptr @fn_fx_mul_code(ptr %t65, ptr @.str4856)
store ptr %t66, ptr %t67
%t68 = load ptr, ptr %t60
- %t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str4823)
+ %t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str4857)
store ptr %t69, ptr %t70
%t71 = load ptr, ptr %t67
- %t72 = call ptr @fn_str_concat(ptr @.str4824, ptr %t71)
- %t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str4825)
+ %t72 = call ptr @lp_str_concat(ptr @.str4858, ptr %t71)
+ %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str4859)
%t74 = load ptr, ptr %t70
- %t75 = call ptr @fn_str_concat(ptr %t73, ptr %t74)
+ %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
@@ -51349,30 +51932,30 @@ ifend14:
then15:
store i32 1, ptr @g_g_uses_mathrt
%t81 = load ptr, ptr %t1
- %t82 = call ptr @fn_str_concat(ptr @.str4826, ptr %t81)
- %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4827)
+ %t82 = call ptr @lp_str_concat(ptr @.str4860, ptr %t81)
+ %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str4861)
%t84 = call ptr @fn_emit_bind(ptr %t83)
store ptr %t84, ptr %t85
%t86 = load ptr, ptr %t85
- %t87 = call ptr @fn_str_concat(ptr @.str4828, ptr %t86)
+ %t87 = call ptr @lp_str_concat(ptr @.str4862, ptr %t86)
%t88 = call ptr @fn_emit_bind(ptr %t87)
store ptr %t88, ptr %t89
%t90 = load ptr, ptr %t89
- %t91 = call ptr @fn_str_concat(ptr @.str4829, ptr %t90)
- %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str4830)
+ %t91 = call ptr @lp_str_concat(ptr @.str4863, ptr %t90)
+ %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str4864)
%t93 = call ptr @fn_emit_bind(ptr %t92)
store ptr %t93, ptr %t94
%t95 = load ptr, ptr %t85
- %t96 = call ptr @fn_str_concat(ptr @.str4831, ptr %t95)
- %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str4832)
+ %t96 = call ptr @lp_str_concat(ptr @.str4865, ptr %t95)
+ %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str4866)
%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 @.str4833)
+ %t101 = call ptr @fn_fx_mul_code(ptr %t100, ptr @.str4867)
store ptr %t101, ptr %t102
%t103 = load ptr, ptr %t102
- %t104 = call ptr @fn_str_concat(ptr @.str4834, ptr %t103)
- %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str4835)
+ %t104 = call ptr @lp_str_concat(ptr @.str4868, ptr %t103)
+ %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str4869)
%t106 = call ptr @fn_emit_bind(ptr %t105)
store ptr %t106, ptr %t107
%t108 = load ptr, ptr %t94
@@ -51380,8 +51963,8 @@ then15:
%t110 = call ptr @fn_fx_mul_code(ptr %t108, ptr %t109)
store ptr %t110, ptr %t111
%t112 = load ptr, ptr %t111
- %t113 = call ptr @fn_str_concat(ptr @.str4836, ptr %t112)
- %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str4837)
+ %t113 = call ptr @lp_str_concat(ptr @.str4870, ptr %t112)
+ %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str4871)
%t115 = call ptr @fn_emit_bind(ptr %t114)
store ptr %t115, ptr %retval
br label %ret
@@ -51413,7 +51996,7 @@ entry:
%t9 = call ptr @fn_emit_expr(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t0
- %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str4838)
+ %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str4872)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then0, label %ifend2
then0:
@@ -51421,12 +52004,12 @@ then0:
%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 @.str4839)
+ %t18 = call ptr @fn_val(ptr %t17, ptr @.str4873)
store ptr %t18, ptr %retval
br label %ret
ifend2:
%t19 = load ptr, ptr %t0
- %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str4840)
+ %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str4874)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then3, label %ifend5
then3:
@@ -51434,12 +52017,12 @@ then3:
%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 @.str4841)
+ %t26 = call ptr @fn_val(ptr %t25, ptr @.str4875)
store ptr %t26, ptr %retval
br label %ret
ifend5:
%t27 = load ptr, ptr %t0
- %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str4842)
+ %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str4876)
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then6, label %ifend8
then6:
@@ -51447,12 +52030,12 @@ then6:
%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 @.str4843)
+ %t34 = call ptr @fn_val(ptr %t33, ptr @.str4877)
store ptr %t34, ptr %retval
br label %ret
ifend8:
%t35 = load ptr, ptr %t0
- %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str4844)
+ %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str4878)
%t37 = icmp ne i32 %t36, 0
br i1 %t37, label %then9, label %ifend11
then9:
@@ -51460,12 +52043,12 @@ then9:
%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 @.str4845)
+ %t42 = call ptr @fn_val(ptr %t41, ptr @.str4879)
store ptr %t42, ptr %retval
br label %ret
ifend11:
%t43 = load ptr, ptr %t0
- %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str4846)
+ %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str4880)
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then12, label %ifend14
then12:
@@ -51473,7 +52056,7 @@ then12:
%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 @.str4847)
+ %t50 = call ptr @fn_val(ptr %t49, ptr @.str4881)
store ptr %t50, ptr %retval
br label %ret
ifend14:
@@ -51481,7 +52064,7 @@ ifend14:
%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 @.str4848)
+ %t55 = call ptr @fn_val(ptr %t54, ptr @.str4882)
store ptr %t55, ptr %retval
br label %ret
ret:
@@ -51499,14 +52082,14 @@ entry:
%t31 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str4849)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str4883)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4850)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4884)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -51519,7 +52102,7 @@ scend1:
br i1 %t12, label %scend3, label %sc2
sc2:
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str4851)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str4885)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
@@ -51533,14 +52116,14 @@ then4:
br label %ret
ifend6:
%t21 = load ptr, ptr %t0
- %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str4852)
+ %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str4886)
%t23 = icmp ne i32 %t22, 0
%t24 = zext i1 %t23 to i32
store i32 %t24, ptr %t20
br i1 %t23, label %scend8, label %sc7
sc7:
%t25 = load ptr, ptr %t0
- %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str4853)
+ %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str4887)
%t27 = icmp ne i32 %t26, 0
%t28 = zext i1 %t27 to i32
store i32 %t28, ptr %t20
@@ -51554,14 +52137,14 @@ then9:
br label %ret
ifend11:
%t32 = load ptr, ptr %t0
- %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str4854)
+ %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str4888)
%t34 = icmp ne i32 %t33, 0
%t35 = zext i1 %t34 to i32
store i32 %t35, ptr %t31
br i1 %t34, label %scend13, label %sc12
sc12:
%t36 = load ptr, ptr %t0
- %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str4855)
+ %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str4889)
%t38 = icmp ne i32 %t37, 0
%t39 = zext i1 %t38 to i32
store i32 %t39, ptr %t31
@@ -51593,30 +52176,30 @@ entry:
store ptr %arg_timer, ptr %t0
store ptr %arg_fps, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call ptr @fn_str_concat(ptr @.str4856, ptr %t2)
- %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str4857)
+ %t3 = call ptr @lp_str_concat(ptr @.str4890, ptr %t2)
+ %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str4891)
%t5 = call ptr @fn_emit_bind(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t1
- %t8 = call ptr @fn_str_concat(ptr @.str4858, ptr %t7)
- %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str4859)
+ %t8 = call ptr @lp_str_concat(ptr @.str4892, ptr %t7)
+ %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str4893)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t6
- %t13 = call ptr @fn_str_concat(ptr @.str4860, ptr %t12)
- %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4861)
+ %t13 = call ptr @lp_str_concat(ptr @.str4894, ptr %t12)
+ %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str4895)
%t15 = load ptr, ptr %t11
- %t16 = call ptr @fn_str_concat(ptr %t14, ptr %t15)
+ %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 @fn_str_concat(ptr @.str4862, ptr %t19)
- %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str4863)
+ %t20 = call ptr @lp_str_concat(ptr @.str4896, ptr %t19)
+ %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4897)
%t22 = call ptr @fn_emit_bind(ptr %t21)
store ptr %t22, ptr %t23
%t24 = load ptr, ptr %t23
- %t25 = call ptr @fn_str_concat(ptr @.str4864, ptr %t24)
- %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str4865)
+ %t25 = call ptr @lp_str_concat(ptr @.str4898, ptr %t24)
+ %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str4899)
%t27 = call ptr @fn_emit_bind(ptr %t26)
store ptr %t27, ptr %retval
br label %ret
@@ -51632,15 +52215,15 @@ entry:
%t5 = alloca ptr
store ptr %arg_v, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call ptr @fn_str_concat(ptr @.str4866, ptr %t1)
- %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str4867)
+ %t2 = call ptr @lp_str_concat(ptr @.str4900, ptr %t1)
+ %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str4901)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
- %t7 = call ptr @fn_str_concat(ptr @.str4868, ptr %t6)
- %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4869)
+ %t7 = call ptr @lp_str_concat(ptr @.str4902, ptr %t6)
+ %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4903)
%t9 = load ptr, ptr %t0
- %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
+ %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
@@ -51697,7 +52280,7 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4870)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str4904)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -51742,17 +52325,17 @@ then0:
%t43 = call ptr @fn_anim_atleast1(ptr %t42)
store ptr %t43, ptr %t44
%t45 = load ptr, ptr %t39
- %t46 = call ptr @fn_str_concat(ptr @.str4871, ptr %t45)
- %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str4872)
+ %t46 = call ptr @lp_str_concat(ptr @.str4905, ptr %t45)
+ %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str4906)
%t48 = load ptr, ptr %t44
- %t49 = call ptr @fn_str_concat(ptr %t47, ptr %t48)
+ %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 @.str4873)
+ %t51 = call ptr @fn_val(ptr %t50, ptr @.str4907)
store ptr %t51, ptr %retval
br label %ret
ifend2:
%t52 = load ptr, ptr %t0
- %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str4874)
+ %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str4908)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then3, label %ifend5
then3:
@@ -51794,32 +52377,32 @@ then3:
%t90 = load ptr, ptr %t81
%t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0
%t92 = load ptr, ptr %t91
- %t93 = call ptr @fn_str_concat(ptr @.str4875, ptr %t92)
- %t94 = call ptr @fn_str_concat(ptr %t93, ptr @.str4876)
+ %t93 = call ptr @lp_str_concat(ptr @.str4909, ptr %t92)
+ %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str4910)
%t95 = call ptr @fn_emit_bind(ptr %t94)
store ptr %t95, ptr %t96
%t97 = load ptr, ptr %t89
- %t98 = call ptr @fn_str_concat(ptr @.str4877, ptr %t97)
- %t99 = call ptr @fn_str_concat(ptr %t98, ptr @.str4878)
+ %t98 = call ptr @lp_str_concat(ptr @.str4911, ptr %t97)
+ %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str4912)
%t100 = load ptr, ptr %t96
- %t101 = call ptr @fn_str_concat(ptr %t99, ptr %t100)
+ %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 @fn_str_concat(ptr @.str4879, ptr %t104)
- %t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str4880)
+ %t105 = call ptr @lp_str_concat(ptr @.str4913, ptr %t104)
+ %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str4914)
%t107 = load ptr, ptr %t89
- %t108 = call ptr @fn_str_concat(ptr %t106, ptr %t107)
- %t109 = call ptr @fn_str_concat(ptr %t108, ptr @.str4881)
+ %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107)
+ %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str4915)
%t110 = load ptr, ptr %t96
- %t111 = call ptr @fn_str_concat(ptr %t109, ptr %t110)
+ %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 @.str4882)
+ %t113 = call ptr @fn_val(ptr %t112, ptr @.str4916)
store ptr %t113, ptr %retval
br label %ret
ifend5:
%t114 = load ptr, ptr %t0
- %t115 = call i32 @fn_str_eq(ptr %t114, ptr @.str4883)
+ %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str4917)
%t116 = icmp ne i32 %t115, 0
br i1 %t116, label %then6, label %ifend8
then6:
@@ -51861,56 +52444,56 @@ then6:
%t152 = load ptr, ptr %t143
%t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0
%t154 = load ptr, ptr %t153
- %t155 = call ptr @fn_str_concat(ptr @.str4884, ptr %t154)
- %t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str4885)
+ %t155 = call ptr @lp_str_concat(ptr @.str4918, ptr %t154)
+ %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str4919)
%t157 = call ptr @fn_emit_bind(ptr %t156)
store ptr %t157, ptr %t158
%t159 = load ptr, ptr %t158
- %t160 = call ptr @fn_str_concat(ptr @.str4886, ptr %t159)
- %t161 = call ptr @fn_str_concat(ptr %t160, ptr @.str4887)
+ %t160 = call ptr @lp_str_concat(ptr @.str4920, ptr %t159)
+ %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str4921)
%t162 = call ptr @fn_emit_bind(ptr %t161)
store ptr %t162, ptr %t163
%t164 = load ptr, ptr %t163
%t165 = call ptr @fn_anim_atleast1(ptr %t164)
store ptr %t165, ptr %t166
%t167 = load ptr, ptr %t151
- %t168 = call ptr @fn_str_concat(ptr @.str4888, ptr %t167)
- %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str4889)
+ %t168 = call ptr @lp_str_concat(ptr @.str4922, ptr %t167)
+ %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str4923)
%t170 = load ptr, ptr %t166
- %t171 = call ptr @fn_str_concat(ptr %t169, ptr %t170)
+ %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 @fn_str_concat(ptr @.str4890, ptr %t174)
- %t176 = call ptr @fn_str_concat(ptr %t175, ptr @.str4891)
+ %t175 = call ptr @lp_str_concat(ptr @.str4924, ptr %t174)
+ %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str4925)
%t177 = load ptr, ptr %t173
- %t178 = call ptr @fn_str_concat(ptr %t176, ptr %t177)
+ %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 @fn_str_concat(ptr @.str4892, ptr %t181)
- %t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str4893)
+ %t182 = call ptr @lp_str_concat(ptr @.str4926, ptr %t181)
+ %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str4927)
%t184 = load ptr, ptr %t143
%t185 = getelementptr inbounds %Cmp_Val, ptr %t184, i32 0, i32 0
%t186 = load ptr, ptr %t185
- %t187 = call ptr @fn_str_concat(ptr %t183, ptr %t186)
+ %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 @fn_str_concat(ptr @.str4894, ptr %t190)
- %t192 = call ptr @fn_str_concat(ptr %t191, ptr @.str4895)
+ %t191 = call ptr @lp_str_concat(ptr @.str4928, ptr %t190)
+ %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str4929)
%t193 = load ptr, ptr %t173
- %t194 = call ptr @fn_str_concat(ptr %t192, ptr %t193)
- %t195 = call ptr @fn_str_concat(ptr %t194, ptr @.str4896)
+ %t194 = call ptr @lp_str_concat(ptr %t192, ptr %t193)
+ %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str4930)
%t196 = load ptr, ptr %t180
- %t197 = call ptr @fn_str_concat(ptr %t195, ptr %t196)
+ %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 @.str4897)
+ %t199 = call ptr @fn_val(ptr %t198, ptr @.str4931)
store ptr %t199, ptr %retval
br label %ret
ifend8:
%t200 = load ptr, ptr %t0
- %t201 = call i32 @fn_str_eq(ptr %t200, ptr @.str4898)
+ %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str4932)
%t202 = icmp ne i32 %t201, 0
br i1 %t202, label %then9, label %ifend11
then9:
@@ -51950,24 +52533,24 @@ then9:
%t236 = call ptr @fn_anim_elapsed(ptr %t232, ptr %t235)
store ptr %t236, ptr %t237
%t238 = load ptr, ptr %t237
- %t239 = call ptr @fn_str_concat(ptr @.str4899, ptr %t238)
- %t240 = call ptr @fn_str_concat(ptr %t239, ptr @.str4900)
+ %t239 = call ptr @lp_str_concat(ptr @.str4933, ptr %t238)
+ %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str4934)
%t241 = load ptr, ptr %t229
%t242 = getelementptr inbounds %Cmp_Val, ptr %t241, i32 0, i32 0
%t243 = load ptr, ptr %t242
- %t244 = call ptr @fn_str_concat(ptr %t240, ptr %t243)
+ %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 @fn_str_concat(ptr @.str4901, ptr %t247)
- %t249 = call ptr @fn_str_concat(ptr %t248, ptr @.str4902)
+ %t248 = call ptr @lp_str_concat(ptr @.str4935, ptr %t247)
+ %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str4936)
%t250 = call ptr @fn_emit_bind(ptr %t249)
- %t251 = call ptr @fn_val(ptr %t250, ptr @.str4903)
+ %t251 = call ptr @fn_val(ptr %t250, ptr @.str4937)
store ptr %t251, ptr %retval
br label %ret
ifend11:
%t252 = load ptr, ptr %t0
- %t253 = call i32 @fn_str_eq(ptr %t252, ptr @.str4904)
+ %t253 = call i32 @lp_str_eq(ptr %t252, ptr @.str4938)
%t254 = icmp ne i32 %t253, 0
br i1 %t254, label %then12, label %ifend14
then12:
@@ -51992,8 +52575,8 @@ then12:
%t273 = load ptr, ptr %t272
%t274 = getelementptr inbounds %Cmp_Val, ptr %t273, i32 0, i32 0
%t275 = load ptr, ptr %t274
- %t276 = call ptr @fn_str_concat(ptr @.str4905, ptr %t275)
- %t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str4906)
+ %t276 = call ptr @lp_str_concat(ptr @.str4939, ptr %t275)
+ %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str4940)
%t278 = call ptr @fn_emit_bind(ptr %t277)
store ptr %t278, ptr %t279
%t280 = load ptr, ptr %t263
@@ -52002,17 +52585,17 @@ then12:
%t283 = call ptr @fn_anim_atleast1(ptr %t282)
store ptr %t283, ptr %t284
%t285 = load ptr, ptr %t279
- %t286 = call ptr @fn_str_concat(ptr @.str4907, ptr %t285)
- %t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str4908)
+ %t286 = call ptr @lp_str_concat(ptr @.str4941, ptr %t285)
+ %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str4942)
%t288 = load ptr, ptr %t284
- %t289 = call ptr @fn_str_concat(ptr %t287, ptr %t288)
+ %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 @.str4909)
+ %t291 = call ptr @fn_val(ptr %t290, ptr @.str4943)
store ptr %t291, ptr %retval
br label %ret
ifend14:
%t292 = load ptr, ptr %t0
- %t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str4910)
+ %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str4944)
%t294 = icmp ne i32 %t293, 0
br i1 %t294, label %then15, label %ifend17
then15:
@@ -52051,21 +52634,21 @@ then15:
%t327 = load ptr, ptr %t303
%t328 = getelementptr inbounds %Cmp_Val, ptr %t327, i32 0, i32 0
%t329 = load ptr, ptr %t328
- %t330 = call ptr @fn_str_concat(ptr @.str4911, ptr %t329)
- %t331 = call ptr @fn_str_concat(ptr %t330, ptr @.str4912)
+ %t330 = call ptr @lp_str_concat(ptr @.str4945, ptr %t329)
+ %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str4946)
%t332 = load ptr, ptr %t326
- %t333 = call ptr @fn_str_concat(ptr %t331, ptr %t332)
+ %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 @fn_str_concat(ptr @.str4913, ptr %t336)
- %t338 = call ptr @fn_str_concat(ptr %t337, ptr @.str4914)
+ %t337 = call ptr @lp_str_concat(ptr @.str4947, ptr %t336)
+ %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str4948)
%t339 = load ptr, ptr %t321
%t340 = getelementptr inbounds %Cmp_Val, ptr %t339, i32 0, i32 0
%t341 = load ptr, ptr %t340
- %t342 = call ptr @fn_str_concat(ptr %t338, ptr %t341)
+ %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 @.str4915)
+ %t344 = call ptr @fn_val(ptr %t343, ptr @.str4949)
store ptr %t344, ptr %retval
br label %ret
ifend17:
@@ -52104,21 +52687,21 @@ ifend17:
%t377 = load ptr, ptr %t353
%t378 = getelementptr inbounds %Cmp_Val, ptr %t377, i32 0, i32 0
%t379 = load ptr, ptr %t378
- %t380 = call ptr @fn_str_concat(ptr @.str4916, ptr %t379)
- %t381 = call ptr @fn_str_concat(ptr %t380, ptr @.str4917)
+ %t380 = call ptr @lp_str_concat(ptr @.str4950, ptr %t379)
+ %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str4951)
%t382 = load ptr, ptr %t376
- %t383 = call ptr @fn_str_concat(ptr %t381, ptr %t382)
+ %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 @fn_str_concat(ptr @.str4918, ptr %t386)
- %t388 = call ptr @fn_str_concat(ptr %t387, ptr @.str4919)
+ %t387 = call ptr @lp_str_concat(ptr @.str4952, ptr %t386)
+ %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str4953)
%t389 = load ptr, ptr %t371
%t390 = getelementptr inbounds %Cmp_Val, ptr %t389, i32 0, i32 0
%t391 = load ptr, ptr %t390
- %t392 = call ptr @fn_str_concat(ptr %t388, ptr %t391)
+ %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 @.str4920)
+ %t394 = call ptr @fn_val(ptr %t393, ptr @.str4954)
store ptr %t394, ptr %retval
br label %ret
ret:
@@ -52138,14 +52721,14 @@ entry:
%t47 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4921)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str4955)
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t3
br i1 %t6, label %scend1, label %sc0
sc0:
%t8 = load ptr, ptr %t0
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str4922)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str4956)
%t10 = icmp ne i32 %t9, 0
%t11 = zext i1 %t10 to i32
store i32 %t11, ptr %t3
@@ -52158,7 +52741,7 @@ scend1:
br i1 %t13, label %scend3, label %sc2
sc2:
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str4923)
+ %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str4957)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t2
@@ -52171,7 +52754,7 @@ scend3:
br i1 %t20, label %scend5, label %sc4
sc4:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str4924)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str4958)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
@@ -52185,14 +52768,14 @@ then6:
br label %ret
ifend8:
%t30 = load ptr, ptr %t0
- %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str4925)
+ %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str4959)
%t32 = icmp ne i32 %t31, 0
%t33 = zext i1 %t32 to i32
store i32 %t33, ptr %t29
br i1 %t32, label %scend10, label %sc9
sc9:
%t34 = load ptr, ptr %t0
- %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str4926)
+ %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str4960)
%t36 = icmp ne i32 %t35, 0
%t37 = zext i1 %t36 to i32
store i32 %t37, ptr %t29
@@ -52205,7 +52788,7 @@ scend10:
br i1 %t39, label %scend12, label %sc11
sc11:
%t41 = load ptr, ptr %t0
- %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str4927)
+ %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str4961)
%t43 = icmp ne i32 %t42, 0
%t44 = zext i1 %t43 to i32
store i32 %t44, ptr %t28
@@ -52219,14 +52802,14 @@ then13:
br label %ret
ifend15:
%t48 = load ptr, ptr %t0
- %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str4928)
+ %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str4962)
%t50 = icmp ne i32 %t49, 0
%t51 = zext i1 %t50 to i32
store i32 %t51, ptr %t47
br i1 %t50, label %scend17, label %sc16
sc16:
%t52 = load ptr, ptr %t0
- %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str4929)
+ %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str4963)
%t54 = icmp ne i32 %t53, 0
%t55 = zext i1 %t54 to i32
store i32 %t55, ptr %t47
@@ -52253,16 +52836,16 @@ entry:
%t5 = alloca ptr
store ptr %arg_dur, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call ptr @fn_str_concat(ptr @.str4930, ptr %t1)
- %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str4931)
+ %t2 = call ptr @lp_str_concat(ptr @.str4964, ptr %t1)
+ %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str4965)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
- %t7 = call ptr @fn_str_concat(ptr @.str4932, ptr %t6)
- %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4933)
+ %t7 = call ptr @lp_str_concat(ptr @.str4966, ptr %t6)
+ %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4967)
%t9 = load ptr, ptr %t0
- %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
- %t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str4934)
+ %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9)
+ %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str4968)
%t12 = call ptr @fn_emit_bind(ptr %t11)
store ptr %t12, ptr %retval
br label %ret
@@ -52333,7 +52916,7 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4935)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str4969)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -52358,18 +52941,18 @@ then0:
%t23 = load ptr, ptr %t22
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
%t25 = load ptr, ptr %t24
- %t26 = call ptr @fn_str_concat(ptr @.str4936, ptr %t25)
- %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4937)
+ %t26 = call ptr @lp_str_concat(ptr @.str4970, ptr %t25)
+ %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4971)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t29
- %t31 = call ptr @fn_str_concat(ptr @.str4938, ptr %t30)
- %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4939)
+ %t31 = call ptr @lp_str_concat(ptr @.str4972, ptr %t30)
+ %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str4973)
%t33 = load ptr, ptr %t22
%t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 0
%t35 = load ptr, ptr %t34
- %t36 = call ptr @fn_str_concat(ptr %t32, ptr %t35)
- %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str4940)
+ %t36 = call ptr @lp_str_concat(ptr %t32, ptr %t35)
+ %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4974)
%t38 = call ptr @fn_emit_bind(ptr %t37)
store ptr %t38, ptr %t39
%t40 = load ptr, ptr %t13
@@ -52379,42 +52962,42 @@ then0:
%t44 = call ptr @fn_fx_div_code(ptr %t42, ptr %t43)
store ptr %t44, ptr %t45
%t46 = load ptr, ptr %t45
- %t47 = call ptr @fn_str_concat(ptr @.str4941, ptr %t46)
- %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str4942)
+ %t47 = call ptr @lp_str_concat(ptr @.str4975, ptr %t46)
+ %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4976)
%t49 = call ptr @fn_emit_bind(ptr %t48)
store ptr %t49, ptr %t50
%t51 = load ptr, ptr %t50
- %t52 = call ptr @fn_str_concat(ptr @.str4943, ptr %t51)
- %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str4944)
+ %t52 = call ptr @lp_str_concat(ptr @.str4977, ptr %t51)
+ %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str4978)
%t54 = load ptr, ptr %t45
- %t55 = call ptr @fn_str_concat(ptr %t53, ptr %t54)
+ %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 @fn_str_concat(ptr @.str4945, ptr %t58)
- %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str4946)
+ %t59 = call ptr @lp_str_concat(ptr @.str4979, ptr %t58)
+ %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str4980)
%t61 = call ptr @fn_emit_bind(ptr %t60)
store ptr %t61, ptr %t62
%t63 = load ptr, ptr %t62
- %t64 = call ptr @fn_str_concat(ptr @.str4947, ptr %t63)
- %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str4948)
+ %t64 = call ptr @lp_str_concat(ptr @.str4981, ptr %t63)
+ %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str4982)
%t66 = load ptr, ptr %t57
- %t67 = call ptr @fn_str_concat(ptr %t65, ptr %t66)
+ %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 @fn_str_concat(ptr @.str4949, ptr %t70)
- %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str4950)
+ %t71 = call ptr @lp_str_concat(ptr @.str4983, ptr %t70)
+ %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str4984)
%t73 = load ptr, ptr %t69
- %t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
- %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str4951)
+ %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73)
+ %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str4985)
%t76 = call ptr @fn_emit_bind(ptr %t75)
- %t77 = call ptr @fn_val(ptr %t76, ptr @.str4952)
+ %t77 = call ptr @fn_val(ptr %t76, ptr @.str4986)
store ptr %t77, ptr %retval
br label %ret
ifend2:
%t78 = load ptr, ptr %t0
- %t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str4953)
+ %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str4987)
%t80 = icmp ne i32 %t79, 0
br i1 %t80, label %then3, label %ifend5
then3:
@@ -52448,15 +53031,15 @@ then3:
%t108 = call ptr @fn_fx_div_code(ptr %t106, ptr %t107)
store ptr %t108, ptr %t109
%t110 = load ptr, ptr %t109
- %t111 = call ptr @fn_str_concat(ptr @.str4954, ptr %t110)
- %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str4955)
+ %t111 = call ptr @lp_str_concat(ptr @.str4988, ptr %t110)
+ %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str4989)
%t113 = call ptr @fn_emit_bind(ptr %t112)
- %t114 = call ptr @fn_val(ptr %t113, ptr @.str4956)
+ %t114 = call ptr @fn_val(ptr %t113, ptr @.str4990)
store ptr %t114, ptr %retval
br label %ret
ifend5:
%t115 = load ptr, ptr %t0
- %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str4957)
+ %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str4991)
%t117 = icmp ne i32 %t116, 0
br i1 %t117, label %then6, label %ifend8
then6:
@@ -52490,34 +53073,34 @@ then6:
%t145 = call ptr @fn_fx_div_code(ptr %t143, ptr %t144)
store ptr %t145, ptr %t146
%t147 = load ptr, ptr %t146
- %t148 = call ptr @fn_str_concat(ptr @.str4958, ptr %t147)
- %t149 = call ptr @fn_str_concat(ptr %t148, ptr @.str4959)
+ %t148 = call ptr @lp_str_concat(ptr @.str4992, ptr %t147)
+ %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str4993)
%t150 = call ptr @fn_emit_bind(ptr %t149)
store ptr %t150, ptr %t151
%t152 = load ptr, ptr %t151
- %t153 = call ptr @fn_str_concat(ptr @.str4960, ptr %t152)
+ %t153 = call ptr @lp_str_concat(ptr @.str4994, ptr %t152)
%t154 = call ptr @fn_emit_bind(ptr %t153)
store ptr %t154, ptr %t155
%t156 = load ptr, ptr %t151
- %t157 = call ptr @fn_str_concat(ptr @.str4961, ptr %t156)
- %t158 = call ptr @fn_str_concat(ptr %t157, ptr @.str4962)
+ %t157 = call ptr @lp_str_concat(ptr @.str4995, ptr %t156)
+ %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str4996)
%t159 = call ptr @fn_emit_bind(ptr %t158)
store ptr %t159, ptr %t160
%t161 = load ptr, ptr %t160
- %t162 = call ptr @fn_str_concat(ptr @.str4963, ptr %t161)
- %t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str4964)
+ %t162 = call ptr @lp_str_concat(ptr @.str4997, ptr %t161)
+ %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str4998)
%t164 = load ptr, ptr %t151
- %t165 = call ptr @fn_str_concat(ptr %t163, ptr %t164)
- %t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str4965)
+ %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164)
+ %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str4999)
%t167 = load ptr, ptr %t155
- %t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167)
+ %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 @.str4966)
+ %t170 = call ptr @fn_val(ptr %t169, ptr @.str5000)
store ptr %t170, ptr %retval
br label %ret
ifend8:
%t171 = load ptr, ptr %t0
- %t172 = call i32 @fn_str_eq(ptr %t171, ptr @.str4967)
+ %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str5001)
%t173 = icmp ne i32 %t172, 0
br i1 %t173, label %then9, label %ifend11
then9:
@@ -52543,10 +53126,10 @@ then12:
%t191 = load ptr, ptr %t190
%t192 = getelementptr inbounds %Cmp_Val, ptr %t191, i32 0, i32 0
%t193 = load ptr, ptr %t192
- %t194 = call ptr @fn_str_concat(ptr @.str4968, ptr %t193)
- %t195 = call ptr @fn_str_concat(ptr %t194, ptr @.str4969)
+ %t194 = call ptr @lp_str_concat(ptr @.str5002, ptr %t193)
+ %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str5003)
%t196 = call ptr @fn_emit_bind(ptr %t195)
- %t197 = call ptr @fn_val(ptr %t196, ptr @.str4970)
+ %t197 = call ptr @fn_val(ptr %t196, ptr @.str5004)
store ptr %t197, ptr %retval
br label %ret
ifend14:
@@ -52571,24 +53154,24 @@ ifend14:
%t216 = load ptr, ptr %t206
%t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0
%t218 = load ptr, ptr %t217
- %t219 = call ptr @fn_str_concat(ptr @.str4971, ptr %t218)
- %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str4972)
+ %t219 = call ptr @lp_str_concat(ptr @.str5005, ptr %t218)
+ %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str5006)
%t221 = load ptr, ptr %t215
%t222 = getelementptr inbounds %Cmp_Val, ptr %t221, i32 0, i32 0
%t223 = load ptr, ptr %t222
- %t224 = call ptr @fn_str_concat(ptr %t220, ptr %t223)
+ %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 @fn_str_concat(ptr @.str4973, ptr %t227)
- %t229 = call ptr @fn_str_concat(ptr %t228, ptr @.str4974)
+ %t228 = call ptr @lp_str_concat(ptr @.str5007, ptr %t227)
+ %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str5008)
%t230 = call ptr @fn_emit_bind(ptr %t229)
- %t231 = call ptr @fn_val(ptr %t230, ptr @.str4975)
+ %t231 = call ptr @fn_val(ptr %t230, ptr @.str5009)
store ptr %t231, ptr %retval
br label %ret
ifend11:
%t232 = load ptr, ptr %t0
- %t233 = call i32 @fn_str_eq(ptr %t232, ptr @.str4976)
+ %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str5010)
%t234 = icmp ne i32 %t233, 0
br i1 %t234, label %then15, label %ifend17
then15:
@@ -52617,7 +53200,7 @@ then15:
%t257 = icmp ne i32 %t256, 0
br i1 %t257, label %then18, label %ifend20
then18:
- call void @fn_perr(ptr @.str4977)
+ call void @fn_perr(ptr @.str5011)
br label %ifend20
ifend20:
%t258 = load ptr, ptr %t251
@@ -52627,12 +53210,12 @@ ifend20:
%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 @.str4978)
+ %t265 = call ptr @fn_val(ptr %t264, ptr @.str5012)
store ptr %t265, ptr %retval
br label %ret
ifend17:
%t266 = load ptr, ptr %t0
- %t267 = call i32 @fn_str_eq(ptr %t266, ptr @.str4979)
+ %t267 = call i32 @lp_str_eq(ptr %t266, ptr @.str5013)
%t268 = icmp ne i32 %t267, 0
br i1 %t268, label %then21, label %ifend23
then21:
@@ -52673,12 +53256,12 @@ then21:
%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 @.str4980)
+ %t306 = call ptr @fn_val(ptr %t305, ptr @.str5014)
store ptr %t306, ptr %retval
br label %ret
ifend23:
%t307 = load ptr, ptr %t0
- %t308 = call i32 @fn_str_eq(ptr %t307, ptr @.str4981)
+ %t308 = call i32 @lp_str_eq(ptr %t307, ptr @.str5015)
%t309 = icmp ne i32 %t308, 0
br i1 %t309, label %then24, label %ifend26
then24:
@@ -52712,62 +53295,62 @@ then24:
%t337 = load ptr, ptr %t327
%t338 = getelementptr inbounds %Cmp_Val, ptr %t337, i32 0, i32 0
%t339 = load ptr, ptr %t338
- %t340 = call ptr @fn_str_concat(ptr @.str4982, ptr %t339)
- %t341 = call ptr @fn_str_concat(ptr %t340, ptr @.str4983)
+ %t340 = call ptr @lp_str_concat(ptr @.str5016, ptr %t339)
+ %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str5017)
%t342 = load ptr, ptr %t318
%t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0
%t344 = load ptr, ptr %t343
- %t345 = call ptr @fn_str_concat(ptr %t341, ptr %t344)
+ %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 @fn_str_concat(ptr @.str4984, ptr %t348)
- %t350 = call ptr @fn_str_concat(ptr %t349, ptr @.str4985)
+ %t349 = call ptr @lp_str_concat(ptr @.str5018, ptr %t348)
+ %t350 = call ptr @lp_str_concat(ptr %t349, ptr @.str5019)
%t351 = call ptr @fn_emit_bind(ptr %t350)
store ptr %t351, ptr %t352
%t353 = load ptr, ptr %t336
%t354 = getelementptr inbounds %Cmp_Val, ptr %t353, i32 0, i32 0
%t355 = load ptr, ptr %t354
- %t356 = call ptr @fn_str_concat(ptr @.str4986, ptr %t355)
- %t357 = call ptr @fn_str_concat(ptr %t356, ptr @.str4987)
+ %t356 = call ptr @lp_str_concat(ptr @.str5020, ptr %t355)
+ %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str5021)
%t358 = call ptr @fn_emit_bind(ptr %t357)
store ptr %t358, ptr %t359
%t360 = load ptr, ptr %t352
- %t361 = call ptr @fn_str_concat(ptr @.str4988, ptr %t360)
- %t362 = call ptr @fn_str_concat(ptr %t361, ptr @.str4989)
+ %t361 = call ptr @lp_str_concat(ptr @.str5022, ptr %t360)
+ %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str5023)
%t363 = load ptr, ptr %t359
- %t364 = call ptr @fn_str_concat(ptr %t362, ptr %t363)
+ %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 @fn_str_concat(ptr @.str4990, ptr %t367)
- %t369 = call ptr @fn_str_concat(ptr %t368, ptr @.str4991)
+ %t368 = call ptr @lp_str_concat(ptr @.str5024, ptr %t367)
+ %t369 = call ptr @lp_str_concat(ptr %t368, ptr @.str5025)
%t370 = call ptr @fn_emit_bind(ptr %t369)
store ptr %t370, ptr %t371
%t372 = load ptr, ptr %t371
- %t373 = call ptr @fn_str_concat(ptr @.str4992, ptr %t372)
- %t374 = call ptr @fn_str_concat(ptr %t373, ptr @.str4993)
+ %t373 = call ptr @lp_str_concat(ptr @.str5026, ptr %t372)
+ %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str5027)
%t375 = call ptr @fn_emit_bind(ptr %t374)
store ptr %t375, ptr %t376
%t377 = load ptr, ptr %t376
- %t378 = call ptr @fn_str_concat(ptr @.str4994, ptr %t377)
- %t379 = call ptr @fn_str_concat(ptr %t378, ptr @.str4995)
+ %t378 = call ptr @lp_str_concat(ptr @.str5028, ptr %t377)
+ %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str5029)
%t380 = call ptr @fn_emit_bind(ptr %t379)
store ptr %t380, ptr %t381
%t382 = load ptr, ptr %t318
%t383 = getelementptr inbounds %Cmp_Val, ptr %t382, i32 0, i32 0
%t384 = load ptr, ptr %t383
- %t385 = call ptr @fn_str_concat(ptr @.str4996, ptr %t384)
- %t386 = call ptr @fn_str_concat(ptr %t385, ptr @.str4997)
+ %t385 = call ptr @lp_str_concat(ptr @.str5030, ptr %t384)
+ %t386 = call ptr @lp_str_concat(ptr %t385, ptr @.str5031)
%t387 = load ptr, ptr %t381
- %t388 = call ptr @fn_str_concat(ptr %t386, ptr %t387)
+ %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 @.str4998)
+ %t390 = call ptr @fn_val(ptr %t389, ptr @.str5032)
store ptr %t390, ptr %retval
br label %ret
ifend26:
%t391 = load ptr, ptr %t0
- %t392 = call i32 @fn_str_eq(ptr %t391, ptr @.str4999)
+ %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str5033)
%t393 = icmp ne i32 %t392, 0
br i1 %t393, label %then27, label %ifend29
then27:
@@ -52835,7 +53418,7 @@ then27:
%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 @.str5000)
+ %t458 = call ptr @fn_val(ptr %t457, ptr @.str5034)
store ptr %t458, ptr %retval
br label %ret
ifend29:
@@ -52869,11 +53452,11 @@ ifend29:
%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 @.str5001)
+ %t489 = call ptr @fn_color_ch(ptr %t488, ptr @.str5035)
%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 @.str5002)
+ %t493 = call ptr @fn_color_ch(ptr %t492, ptr @.str5036)
%t494 = load ptr, ptr %t485
%t495 = getelementptr inbounds %Cmp_Val, ptr %t494, i32 0, i32 0
%t496 = load ptr, ptr %t495
@@ -52882,11 +53465,11 @@ ifend29:
%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 @.str5003)
+ %t502 = call ptr @fn_color_ch(ptr %t501, ptr @.str5037)
%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 @.str5004)
+ %t506 = call ptr @fn_color_ch(ptr %t505, ptr @.str5038)
%t507 = load ptr, ptr %t485
%t508 = getelementptr inbounds %Cmp_Val, ptr %t507, i32 0, i32 0
%t509 = load ptr, ptr %t508
@@ -52895,11 +53478,11 @@ ifend29:
%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 @.str5005)
+ %t515 = call ptr @fn_color_ch(ptr %t514, ptr @.str5039)
%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 @.str5006)
+ %t519 = call ptr @fn_color_ch(ptr %t518, ptr @.str5040)
%t520 = load ptr, ptr %t485
%t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0
%t522 = load ptr, ptr %t521
@@ -52909,7 +53492,7 @@ ifend29:
%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 @.str5007)
+ %t529 = call ptr @fn_val(ptr %t528, ptr @.str5041)
store ptr %t529, ptr %retval
br label %ret
ret:
@@ -52925,14 +53508,14 @@ entry:
%t12 = alloca i32
store ptr %arg_meth, ptr %t0
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5008)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5042)
%t4 = icmp ne i32 %t3, 0
%t5 = zext i1 %t4 to i32
store i32 %t5, ptr %t1
br i1 %t4, label %scend1, label %sc0
sc0:
%t6 = load ptr, ptr %t0
- %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str5009)
+ %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str5043)
%t8 = icmp ne i32 %t7, 0
%t9 = zext i1 %t8 to i32
store i32 %t9, ptr %t1
@@ -52946,14 +53529,14 @@ then2:
br label %ret
ifend4:
%t13 = load ptr, ptr %t0
- %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str5010)
+ %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str5044)
%t15 = icmp ne i32 %t14, 0
%t16 = zext i1 %t15 to i32
store i32 %t16, ptr %t12
br i1 %t15, label %scend6, label %sc5
sc5:
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str5011)
+ %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str5045)
%t19 = icmp ne i32 %t18, 0
%t20 = zext i1 %t19 to i32
store i32 %t20, ptr %t12
@@ -52985,34 +53568,34 @@ entry:
store ptr %arg_dx, ptr %t0
store ptr %arg_dy, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call ptr @fn_str_concat(ptr @.str5012, ptr %t2)
- %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str5013)
+ %t3 = call ptr @lp_str_concat(ptr @.str5046, ptr %t2)
+ %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5047)
%t5 = call ptr @fn_emit_bind(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t1
- %t8 = call ptr @fn_str_concat(ptr @.str5014, ptr %t7)
- %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str5015)
+ %t8 = call ptr @lp_str_concat(ptr @.str5048, ptr %t7)
+ %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5049)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t6
- %t13 = call ptr @fn_str_concat(ptr @.str5016, ptr %t12)
- %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str5017)
+ %t13 = call ptr @lp_str_concat(ptr @.str5050, ptr %t12)
+ %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5051)
%t15 = load ptr, ptr %t6
- %t16 = call ptr @fn_str_concat(ptr %t14, ptr %t15)
+ %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 @fn_str_concat(ptr @.str5018, ptr %t19)
- %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str5019)
+ %t20 = call ptr @lp_str_concat(ptr @.str5052, ptr %t19)
+ %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5053)
%t22 = load ptr, ptr %t11
- %t23 = call ptr @fn_str_concat(ptr %t21, ptr %t22)
+ %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 @fn_str_concat(ptr @.str5020, ptr %t26)
- %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str5021)
+ %t27 = call ptr @lp_str_concat(ptr @.str5054, ptr %t26)
+ %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str5055)
%t29 = load ptr, ptr %t25
- %t30 = call ptr @fn_str_concat(ptr %t28, ptr %t29)
+ %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
@@ -53034,37 +53617,37 @@ entry:
store ptr %arg_lo, ptr %t1
store ptr %arg_hi, ptr %t2
%t3 = load ptr, ptr %t0
- %t4 = call ptr @fn_str_concat(ptr @.str5022, ptr %t3)
- %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5023)
+ %t4 = call ptr @lp_str_concat(ptr @.str5056, ptr %t3)
+ %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5057)
%t6 = load ptr, ptr %t2
- %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
+ %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 @fn_str_concat(ptr @.str5024, ptr %t10)
- %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str5025)
+ %t11 = call ptr @lp_str_concat(ptr @.str5058, ptr %t10)
+ %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5059)
%t13 = load ptr, ptr %t0
- %t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
- %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str5026)
+ %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13)
+ %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5060)
%t16 = load ptr, ptr %t2
- %t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16)
+ %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 @fn_str_concat(ptr @.str5027, ptr %t20)
- %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str5028)
+ %t21 = call ptr @lp_str_concat(ptr @.str5061, ptr %t20)
+ %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str5062)
%t23 = load ptr, ptr %t19
- %t24 = call ptr @fn_str_concat(ptr %t22, ptr %t23)
+ %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 @fn_str_concat(ptr @.str5029, ptr %t27)
- %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str5030)
+ %t28 = call ptr @lp_str_concat(ptr @.str5063, ptr %t27)
+ %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str5064)
%t30 = load ptr, ptr %t1
- %t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30)
- %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str5031)
+ %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30)
+ %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5065)
%t33 = load ptr, ptr %t19
- %t34 = call ptr @fn_str_concat(ptr %t32, ptr %t33)
+ %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
@@ -53145,7 +53728,7 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5032)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5066)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -53224,114 +53807,114 @@ then0:
%t77 = load ptr, ptr %t13
%t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0
%t79 = load ptr, ptr %t78
- %t80 = call ptr @fn_str_concat(ptr @.str5033, ptr %t79)
- %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str5034)
+ %t80 = call ptr @lp_str_concat(ptr @.str5067, ptr %t79)
+ %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str5068)
%t82 = load ptr, ptr %t31
%t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0
%t84 = load ptr, ptr %t83
- %t85 = call ptr @fn_str_concat(ptr %t81, ptr %t84)
+ %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 @fn_str_concat(ptr @.str5035, ptr %t90)
- %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str5036)
+ %t91 = call ptr @lp_str_concat(ptr @.str5069, ptr %t90)
+ %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str5070)
%t93 = load ptr, ptr %t67
%t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0
%t95 = load ptr, ptr %t94
- %t96 = call ptr @fn_str_concat(ptr %t92, ptr %t95)
+ %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 @fn_str_concat(ptr @.str5037, ptr %t101)
- %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str5038)
+ %t102 = call ptr @lp_str_concat(ptr @.str5071, ptr %t101)
+ %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str5072)
%t104 = load ptr, ptr %t40
%t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0
%t106 = load ptr, ptr %t105
- %t107 = call ptr @fn_str_concat(ptr %t103, ptr %t106)
+ %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 @fn_str_concat(ptr @.str5039, ptr %t112)
- %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str5040)
+ %t113 = call ptr @lp_str_concat(ptr @.str5073, ptr %t112)
+ %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5074)
%t115 = load ptr, ptr %t76
%t116 = getelementptr inbounds %Cmp_Val, ptr %t115, i32 0, i32 0
%t117 = load ptr, ptr %t116
- %t118 = call ptr @fn_str_concat(ptr %t114, ptr %t117)
+ %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 @fn_str_concat(ptr @.str5041, ptr %t123)
- %t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str5042)
+ %t124 = call ptr @lp_str_concat(ptr @.str5075, ptr %t123)
+ %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str5076)
%t126 = load ptr, ptr %t98
- %t127 = call ptr @fn_str_concat(ptr %t125, ptr %t126)
+ %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 @fn_str_concat(ptr @.str5043, ptr %t132)
- %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str5044)
+ %t133 = call ptr @lp_str_concat(ptr @.str5077, ptr %t132)
+ %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str5078)
%t135 = load ptr, ptr %t87
- %t136 = call ptr @fn_str_concat(ptr %t134, ptr %t135)
+ %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 @fn_str_concat(ptr @.str5045, ptr %t141)
- %t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str5046)
+ %t142 = call ptr @lp_str_concat(ptr @.str5079, ptr %t141)
+ %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str5080)
%t144 = load ptr, ptr %t120
- %t145 = call ptr @fn_str_concat(ptr %t143, ptr %t144)
+ %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 @fn_str_concat(ptr @.str5047, ptr %t150)
- %t152 = call ptr @fn_str_concat(ptr %t151, ptr @.str5048)
+ %t151 = call ptr @lp_str_concat(ptr @.str5081, ptr %t150)
+ %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str5082)
%t153 = load ptr, ptr %t109
- %t154 = call ptr @fn_str_concat(ptr %t152, ptr %t153)
+ %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 @fn_str_concat(ptr @.str5049, ptr %t157)
- %t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str5050)
+ %t158 = call ptr @lp_str_concat(ptr @.str5083, ptr %t157)
+ %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str5084)
%t160 = load ptr, ptr %t138
- %t161 = call ptr @fn_str_concat(ptr %t159, ptr %t160)
+ %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 @fn_str_concat(ptr @.str5051, ptr %t164)
- %t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str5052)
+ %t165 = call ptr @lp_str_concat(ptr @.str5085, ptr %t164)
+ %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5086)
%t167 = load ptr, ptr %t156
- %t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167)
+ %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 @fn_str_concat(ptr @.str5053, ptr %t171)
- %t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str5054)
+ %t172 = call ptr @lp_str_concat(ptr @.str5087, ptr %t171)
+ %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str5088)
%t174 = load ptr, ptr %t170
- %t175 = call ptr @fn_str_concat(ptr %t173, ptr %t174)
+ %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 @fn_str_concat(ptr @.str5055, ptr %t178)
- %t180 = call ptr @fn_str_concat(ptr %t179, ptr @.str5056)
+ %t179 = call ptr @lp_str_concat(ptr @.str5089, ptr %t178)
+ %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str5090)
%t181 = call ptr @fn_emit_bind(ptr %t180)
- %t182 = call ptr @fn_val(ptr %t181, ptr @.str5057)
+ %t182 = call ptr @fn_val(ptr %t181, ptr @.str5091)
store ptr %t182, ptr %retval
br label %ret
ifend2:
%t183 = load ptr, ptr %t0
- %t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str5058)
+ %t184 = call i32 @lp_str_eq(ptr %t183, ptr @.str5092)
%t185 = icmp ne i32 %t184, 0
br i1 %t185, label %then3, label %ifend5
then3:
@@ -53392,96 +53975,96 @@ then3:
%t240 = load ptr, ptr %t212
%t241 = getelementptr inbounds %Cmp_Val, ptr %t240, i32 0, i32 0
%t242 = load ptr, ptr %t241
- %t243 = call ptr @fn_str_concat(ptr @.str5059, ptr %t242)
- %t244 = call ptr @fn_str_concat(ptr %t243, ptr @.str5060)
+ %t243 = call ptr @lp_str_concat(ptr @.str5093, ptr %t242)
+ %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str5094)
%t245 = load ptr, ptr %t230
%t246 = getelementptr inbounds %Cmp_Val, ptr %t245, i32 0, i32 0
%t247 = load ptr, ptr %t246
- %t248 = call ptr @fn_str_concat(ptr %t244, ptr %t247)
+ %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 @fn_str_concat(ptr @.str5061, ptr %t253)
- %t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str5062)
+ %t254 = call ptr @lp_str_concat(ptr @.str5095, ptr %t253)
+ %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str5096)
%t256 = load ptr, ptr %t239
%t257 = getelementptr inbounds %Cmp_Val, ptr %t256, i32 0, i32 0
%t258 = load ptr, ptr %t257
- %t259 = call ptr @fn_str_concat(ptr %t255, ptr %t258)
+ %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 @fn_str_concat(ptr @.str5063, ptr %t264)
- %t266 = call ptr @fn_str_concat(ptr %t265, ptr @.str5064)
+ %t265 = call ptr @lp_str_concat(ptr @.str5097, ptr %t264)
+ %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str5098)
%t267 = load ptr, ptr %t212
%t268 = getelementptr inbounds %Cmp_Val, ptr %t267, i32 0, i32 0
%t269 = load ptr, ptr %t268
- %t270 = call ptr @fn_str_concat(ptr %t266, ptr %t269)
+ %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 @fn_str_concat(ptr @.str5065, ptr %t275)
- %t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str5066)
+ %t276 = call ptr @lp_str_concat(ptr @.str5099, ptr %t275)
+ %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5100)
%t278 = load ptr, ptr %t250
- %t279 = call ptr @fn_str_concat(ptr %t277, ptr %t278)
+ %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 @fn_str_concat(ptr @.str5067, ptr %t284)
- %t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str5068)
+ %t285 = call ptr @lp_str_concat(ptr @.str5101, ptr %t284)
+ %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str5102)
%t287 = load ptr, ptr %t221
%t288 = getelementptr inbounds %Cmp_Val, ptr %t287, i32 0, i32 0
%t289 = load ptr, ptr %t288
- %t290 = call ptr @fn_str_concat(ptr %t286, ptr %t289)
+ %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 @fn_str_concat(ptr @.str5069, ptr %t295)
- %t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str5070)
+ %t296 = call ptr @lp_str_concat(ptr @.str5103, ptr %t295)
+ %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str5104)
%t298 = load ptr, ptr %t261
- %t299 = call ptr @fn_str_concat(ptr %t297, ptr %t298)
+ %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 @fn_str_concat(ptr @.str5071, ptr %t302)
- %t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str5072)
+ %t303 = call ptr @lp_str_concat(ptr @.str5105, ptr %t302)
+ %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str5106)
%t305 = load ptr, ptr %t281
- %t306 = call ptr @fn_str_concat(ptr %t304, ptr %t305)
+ %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 @fn_str_concat(ptr @.str5073, ptr %t309)
- %t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str5074)
+ %t310 = call ptr @lp_str_concat(ptr @.str5107, ptr %t309)
+ %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str5108)
%t312 = load ptr, ptr %t301
- %t313 = call ptr @fn_str_concat(ptr %t311, ptr %t312)
+ %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 @fn_str_concat(ptr @.str5075, ptr %t316)
- %t318 = call ptr @fn_str_concat(ptr %t317, ptr @.str5076)
+ %t317 = call ptr @lp_str_concat(ptr @.str5109, ptr %t316)
+ %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str5110)
%t319 = load ptr, ptr %t315
- %t320 = call ptr @fn_str_concat(ptr %t318, ptr %t319)
+ %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 @fn_str_concat(ptr @.str5077, ptr %t323)
- %t325 = call ptr @fn_str_concat(ptr %t324, ptr @.str5078)
+ %t324 = call ptr @lp_str_concat(ptr @.str5111, ptr %t323)
+ %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str5112)
%t326 = call ptr @fn_emit_bind(ptr %t325)
- %t327 = call ptr @fn_val(ptr %t326, ptr @.str5079)
+ %t327 = call ptr @fn_val(ptr %t326, ptr @.str5113)
store ptr %t327, ptr %retval
br label %ret
ifend5:
%t328 = load ptr, ptr %t0
- %t329 = call i32 @fn_str_eq(ptr %t328, ptr @.str5080)
+ %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str5114)
%t330 = icmp ne i32 %t329, 0
br i1 %t330, label %then6, label %ifend8
then6:
@@ -53542,23 +54125,23 @@ then6:
%t385 = load ptr, ptr %t339
%t386 = getelementptr inbounds %Cmp_Val, ptr %t385, i32 0, i32 0
%t387 = load ptr, ptr %t386
- %t388 = call ptr @fn_str_concat(ptr @.str5081, ptr %t387)
- %t389 = call ptr @fn_str_concat(ptr %t388, ptr @.str5082)
+ %t388 = call ptr @lp_str_concat(ptr @.str5115, ptr %t387)
+ %t389 = call ptr @lp_str_concat(ptr %t388, ptr @.str5116)
%t390 = load ptr, ptr %t366
%t391 = getelementptr inbounds %Cmp_Val, ptr %t390, i32 0, i32 0
%t392 = load ptr, ptr %t391
- %t393 = call ptr @fn_str_concat(ptr %t389, ptr %t392)
+ %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 @fn_str_concat(ptr @.str5083, ptr %t398)
- %t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str5084)
+ %t399 = call ptr @lp_str_concat(ptr @.str5117, ptr %t398)
+ %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str5118)
%t401 = load ptr, ptr %t375
%t402 = getelementptr inbounds %Cmp_Val, ptr %t401, i32 0, i32 0
%t403 = load ptr, ptr %t402
- %t404 = call ptr @fn_str_concat(ptr %t400, ptr %t403)
+ %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
@@ -53568,38 +54151,38 @@ then6:
%t411 = load ptr, ptr %t357
%t412 = getelementptr inbounds %Cmp_Val, ptr %t411, i32 0, i32 0
%t413 = load ptr, ptr %t412
- %t414 = call ptr @fn_str_concat(ptr @.str5085, ptr %t413)
- %t415 = call ptr @fn_str_concat(ptr %t414, ptr @.str5086)
+ %t414 = call ptr @lp_str_concat(ptr @.str5119, ptr %t413)
+ %t415 = call ptr @lp_str_concat(ptr %t414, ptr @.str5120)
%t416 = load ptr, ptr %t384
%t417 = getelementptr inbounds %Cmp_Val, ptr %t416, i32 0, i32 0
%t418 = load ptr, ptr %t417
- %t419 = call ptr @fn_str_concat(ptr %t415, ptr %t418)
+ %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 @fn_str_concat(ptr @.str5087, ptr %t422)
- %t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str5088)
+ %t423 = call ptr @lp_str_concat(ptr @.str5121, ptr %t422)
+ %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str5122)
%t425 = call ptr @fn_emit_bind(ptr %t424)
store ptr %t425, ptr %t426
%t427 = load ptr, ptr %t426
- %t428 = call ptr @fn_str_concat(ptr @.str5089, ptr %t427)
- %t429 = call ptr @fn_str_concat(ptr %t428, ptr @.str5090)
+ %t428 = call ptr @lp_str_concat(ptr @.str5123, ptr %t427)
+ %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str5124)
%t430 = load ptr, ptr %t426
- %t431 = call ptr @fn_str_concat(ptr %t429, ptr %t430)
+ %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 @fn_str_concat(ptr @.str5091, ptr %t434)
- %t436 = call ptr @fn_str_concat(ptr %t435, ptr @.str5092)
+ %t435 = call ptr @lp_str_concat(ptr @.str5125, ptr %t434)
+ %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str5126)
%t437 = load ptr, ptr %t433
- %t438 = call ptr @fn_str_concat(ptr %t436, ptr %t437)
+ %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 @fn_str_concat(ptr @.str5093, ptr %t441)
- %t443 = call ptr @fn_str_concat(ptr %t442, ptr @.str5094)
+ %t442 = call ptr @lp_str_concat(ptr @.str5127, ptr %t441)
+ %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str5128)
%t444 = call ptr @fn_emit_bind(ptr %t443)
- %t445 = call ptr @fn_val(ptr %t444, ptr @.str5095)
+ %t445 = call ptr @fn_val(ptr %t444, ptr @.str5129)
store ptr %t445, ptr %retval
br label %ret
ifend8:
@@ -53669,23 +54252,23 @@ ifend8:
%t509 = load ptr, ptr %t454
%t510 = getelementptr inbounds %Cmp_Val, ptr %t509, i32 0, i32 0
%t511 = load ptr, ptr %t510
- %t512 = call ptr @fn_str_concat(ptr @.str5096, ptr %t511)
- %t513 = call ptr @fn_str_concat(ptr %t512, ptr @.str5097)
+ %t512 = call ptr @lp_str_concat(ptr @.str5130, ptr %t511)
+ %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str5131)
%t514 = load ptr, ptr %t472
%t515 = getelementptr inbounds %Cmp_Val, ptr %t514, i32 0, i32 0
%t516 = load ptr, ptr %t515
- %t517 = call ptr @fn_str_concat(ptr %t513, ptr %t516)
+ %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 @fn_str_concat(ptr @.str5098, ptr %t522)
- %t524 = call ptr @fn_str_concat(ptr %t523, ptr @.str5099)
+ %t523 = call ptr @lp_str_concat(ptr @.str5132, ptr %t522)
+ %t524 = call ptr @lp_str_concat(ptr %t523, ptr @.str5133)
%t525 = load ptr, ptr %t481
%t526 = getelementptr inbounds %Cmp_Val, ptr %t525, i32 0, i32 0
%t527 = load ptr, ptr %t526
- %t528 = call ptr @fn_str_concat(ptr %t524, ptr %t527)
+ %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
@@ -53709,19 +54292,19 @@ ifend8:
%t549 = load ptr, ptr %t490
%t550 = getelementptr inbounds %Cmp_Val, ptr %t549, i32 0, i32 0
%t551 = load ptr, ptr %t550
- %t552 = call ptr @fn_str_concat(ptr @.str5100, ptr %t551)
- %t553 = call ptr @fn_str_concat(ptr %t552, ptr @.str5101)
+ %t552 = call ptr @lp_str_concat(ptr @.str5134, ptr %t551)
+ %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str5135)
%t554 = load ptr, ptr %t539
- %t555 = call ptr @fn_str_concat(ptr %t553, ptr %t554)
+ %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 @fn_str_concat(ptr @.str5102, ptr %t560)
- %t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str5103)
+ %t561 = call ptr @lp_str_concat(ptr @.str5136, ptr %t560)
+ %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str5137)
%t563 = load ptr, ptr %t548
- %t564 = call ptr @fn_str_concat(ptr %t562, ptr %t563)
+ %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
@@ -53731,29 +54314,29 @@ ifend8:
%t571 = load ptr, ptr %t508
%t572 = getelementptr inbounds %Cmp_Val, ptr %t571, i32 0, i32 0
%t573 = load ptr, ptr %t572
- %t574 = call ptr @fn_str_concat(ptr @.str5104, ptr %t573)
- %t575 = call ptr @fn_str_concat(ptr %t574, ptr @.str5105)
+ %t574 = call ptr @lp_str_concat(ptr @.str5138, ptr %t573)
+ %t575 = call ptr @lp_str_concat(ptr %t574, ptr @.str5139)
%t576 = call ptr @fn_emit_bind(ptr %t575)
store ptr %t576, ptr %t577
%t578 = load ptr, ptr %t577
- %t579 = call ptr @fn_str_concat(ptr @.str5106, ptr %t578)
- %t580 = call ptr @fn_str_concat(ptr %t579, ptr @.str5107)
+ %t579 = call ptr @lp_str_concat(ptr @.str5140, ptr %t578)
+ %t580 = call ptr @lp_str_concat(ptr %t579, ptr @.str5141)
%t581 = load ptr, ptr %t577
- %t582 = call ptr @fn_str_concat(ptr %t580, ptr %t581)
+ %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 @fn_str_concat(ptr @.str5108, ptr %t585)
- %t587 = call ptr @fn_str_concat(ptr %t586, ptr @.str5109)
+ %t586 = call ptr @lp_str_concat(ptr @.str5142, ptr %t585)
+ %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str5143)
%t588 = load ptr, ptr %t584
- %t589 = call ptr @fn_str_concat(ptr %t587, ptr %t588)
+ %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 @fn_str_concat(ptr @.str5110, ptr %t592)
- %t594 = call ptr @fn_str_concat(ptr %t593, ptr @.str5111)
+ %t593 = call ptr @lp_str_concat(ptr @.str5144, ptr %t592)
+ %t594 = call ptr @lp_str_concat(ptr %t593, ptr @.str5145)
%t595 = call ptr @fn_emit_bind(ptr %t594)
- %t596 = call ptr @fn_val(ptr %t595, ptr @.str5112)
+ %t596 = call ptr @fn_val(ptr %t595, ptr @.str5146)
store ptr %t596, ptr %retval
br label %ret
ret:
@@ -53771,14 +54354,14 @@ entry:
%t14 = alloca i32
store ptr %arg_meth, ptr %t0
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5113)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5147)
%t4 = icmp ne i32 %t3, 0
%t5 = zext i1 %t4 to i32
store i32 %t5, ptr %t1
br i1 %t4, label %scend1, label %sc0
sc0:
%t6 = load ptr, ptr %t0
- %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str5114)
+ %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str5148)
%t8 = icmp ne i32 %t7, 0
%t9 = zext i1 %t8 to i32
store i32 %t9, ptr %t1
@@ -53792,14 +54375,14 @@ then2:
br label %ret
ifend4:
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str5115)
+ %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str5149)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t14
br i1 %t17, label %scend6, label %sc5
sc5:
%t19 = load ptr, ptr %t0
- %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str5116)
+ %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str5150)
%t21 = icmp ne i32 %t20, 0
%t22 = zext i1 %t21 to i32
store i32 %t22, ptr %t14
@@ -53812,7 +54395,7 @@ scend6:
br i1 %t24, label %scend8, label %sc7
sc7:
%t26 = load ptr, ptr %t0
- %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str5117)
+ %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str5151)
%t28 = icmp ne i32 %t27, 0
%t29 = zext i1 %t28 to i32
store i32 %t29, ptr %t13
@@ -53825,7 +54408,7 @@ scend8:
br i1 %t31, label %scend10, label %sc9
sc9:
%t33 = load ptr, ptr %t0
- %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str5118)
+ %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str5152)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t12
@@ -53875,7 +54458,7 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5119)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5153)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -53891,20 +54474,20 @@ then0:
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
- %t17 = call ptr @fn_str_concat(ptr @.str5120, ptr %t16)
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str5121)
+ %t17 = call ptr @lp_str_concat(ptr @.str5154, ptr %t16)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5155)
%t19 = call ptr @fn_emit_bind(ptr %t18)
store ptr %t19, ptr %t20
%t21 = load ptr, ptr %t20
- %t22 = call ptr @fn_str_concat(ptr @.str5122, ptr %t21)
- %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str5123)
+ %t22 = call ptr @lp_str_concat(ptr @.str5156, ptr %t21)
+ %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str5157)
%t24 = call ptr @fn_emit_bind(ptr %t23)
- %t25 = call ptr @fn_val(ptr %t24, ptr @.str5124)
+ %t25 = call ptr @fn_val(ptr %t24, ptr @.str5158)
store ptr %t25, ptr %retval
br label %ret
ifend2:
%t26 = load ptr, ptr %t0
- %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str5125)
+ %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str5159)
%t28 = icmp ne i32 %t27, 0
br i1 %t28, label %then3, label %ifend5
then3:
@@ -53920,25 +54503,25 @@ then3:
%t38 = load ptr, ptr %t37
%t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0
%t40 = load ptr, ptr %t39
- %t41 = call ptr @fn_str_concat(ptr @.str5126, ptr %t40)
- %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str5127)
+ %t41 = call ptr @lp_str_concat(ptr @.str5160, ptr %t40)
+ %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5161)
%t43 = call ptr @fn_emit_bind(ptr %t42)
store ptr %t43, ptr %t44
%t45 = load ptr, ptr %t44
- %t46 = call ptr @fn_str_concat(ptr @.str5128, ptr %t45)
- %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str5129)
+ %t46 = call ptr @lp_str_concat(ptr @.str5162, ptr %t45)
+ %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5163)
%t48 = call ptr @fn_emit_bind(ptr %t47)
store ptr %t48, ptr %t49
%t50 = load ptr, ptr %t49
- %t51 = call ptr @fn_str_concat(ptr @.str5130, ptr %t50)
- %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str5131)
+ %t51 = call ptr @lp_str_concat(ptr @.str5164, ptr %t50)
+ %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str5165)
%t53 = call ptr @fn_emit_bind(ptr %t52)
- %t54 = call ptr @fn_val(ptr %t53, ptr @.str5132)
+ %t54 = call ptr @fn_val(ptr %t53, ptr @.str5166)
store ptr %t54, ptr %retval
br label %ret
ifend5:
%t55 = load ptr, ptr %t0
- %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str5133)
+ %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str5167)
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then6, label %ifend8
then6:
@@ -53972,30 +54555,30 @@ then6:
%t85 = load ptr, ptr %t84
%t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0
%t87 = load ptr, ptr %t86
- %t88 = call ptr @fn_str_concat(ptr @.str5134, ptr %t87)
- %t89 = call ptr @fn_str_concat(ptr %t88, ptr @.str5135)
+ %t88 = call ptr @lp_str_concat(ptr @.str5168, ptr %t87)
+ %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str5169)
%t90 = call ptr @fn_emit_bind(ptr %t89)
store ptr %t90, ptr %t91
- call void @fn_emit(ptr @.str5136)
+ call void @fn_emit(ptr @.str5170)
%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 @.str5137)
+ call void @fn_emit(ptr @.str5171)
%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 @.str5138)
+ call void @fn_emit(ptr @.str5172)
%t98 = load ptr, ptr %t91
call void @fn_emit(ptr %t98)
- call void @fn_emit(ptr @.str5139)
- %t99 = call ptr @fn_val(ptr @.str5140, ptr @.str5141)
+ call void @fn_emit(ptr @.str5173)
+ %t99 = call ptr @fn_val(ptr @.str5174, ptr @.str5175)
store ptr %t99, ptr %retval
br label %ret
ifend8:
%t100 = load ptr, ptr %t0
- %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str5142)
+ %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str5176)
%t102 = icmp ne i32 %t101, 0
br i1 %t102, label %then9, label %ifend11
then9:
@@ -54029,30 +54612,30 @@ then9:
%t130 = load ptr, ptr %t129
%t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0
%t132 = load ptr, ptr %t131
- %t133 = call ptr @fn_str_concat(ptr @.str5143, ptr %t132)
- %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str5144)
+ %t133 = call ptr @lp_str_concat(ptr @.str5177, ptr %t132)
+ %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str5178)
%t135 = call ptr @fn_emit_bind(ptr %t134)
store ptr %t135, ptr %t136
- call void @fn_emit(ptr @.str5145)
+ call void @fn_emit(ptr @.str5179)
%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 @.str5146)
+ call void @fn_emit(ptr @.str5180)
%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 @.str5147)
+ call void @fn_emit(ptr @.str5181)
%t143 = load ptr, ptr %t136
call void @fn_emit(ptr %t143)
- call void @fn_emit(ptr @.str5148)
- %t144 = call ptr @fn_val(ptr @.str5149, ptr @.str5150)
+ call void @fn_emit(ptr @.str5182)
+ %t144 = call ptr @fn_val(ptr @.str5183, ptr @.str5184)
store ptr %t144, ptr %retval
br label %ret
ifend11:
%t145 = load ptr, ptr %t0
- %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str5151)
+ %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str5185)
%t147 = icmp ne i32 %t146, 0
br i1 %t147, label %then12, label %ifend14
then12:
@@ -54077,23 +54660,23 @@ then12:
%t166 = load ptr, ptr %t156
%t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0
%t168 = load ptr, ptr %t167
- %t169 = call ptr @fn_str_concat(ptr @.str5152, ptr %t168)
- %t170 = call ptr @fn_str_concat(ptr %t169, ptr @.str5153)
+ %t169 = call ptr @lp_str_concat(ptr @.str5186, ptr %t168)
+ %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str5187)
%t171 = load ptr, ptr %t165
%t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0
%t173 = load ptr, ptr %t172
- %t174 = call ptr @fn_str_concat(ptr %t170, ptr %t173)
+ %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 @fn_str_concat(ptr @.str5154, ptr %t177)
+ %t178 = call ptr @lp_str_concat(ptr @.str5188, ptr %t177)
%t179 = call ptr @fn_emit_bind(ptr %t178)
store ptr %t179, ptr %t180
%t181 = load ptr, ptr %t180
- %t182 = call ptr @fn_str_concat(ptr @.str5155, ptr %t181)
- %t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str5156)
+ %t182 = call ptr @lp_str_concat(ptr @.str5189, ptr %t181)
+ %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5190)
%t184 = call ptr @fn_emit_bind(ptr %t183)
- %t185 = call ptr @fn_val(ptr %t184, ptr @.str5157)
+ %t185 = call ptr @fn_val(ptr %t184, ptr @.str5191)
store ptr %t185, ptr %retval
br label %ret
ifend14:
@@ -54127,29 +54710,29 @@ ifend14:
%t213 = load ptr, ptr %t194
%t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0
%t215 = load ptr, ptr %t214
- %t216 = call ptr @fn_str_concat(ptr @.str5158, ptr %t215)
- %t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str5159)
+ %t216 = call ptr @lp_str_concat(ptr @.str5192, ptr %t215)
+ %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str5193)
%t218 = load ptr, ptr %t203
%t219 = getelementptr inbounds %Cmp_Val, ptr %t218, i32 0, i32 0
%t220 = load ptr, ptr %t219
- %t221 = call ptr @fn_str_concat(ptr %t217, ptr %t220)
+ %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 @fn_str_concat(ptr @.str5160, ptr %t226)
- %t228 = call ptr @fn_str_concat(ptr %t227, ptr @.str5161)
+ %t227 = call ptr @lp_str_concat(ptr @.str5194, ptr %t226)
+ %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str5195)
%t229 = call ptr @fn_emit_bind(ptr %t228)
store ptr %t229, ptr %t230
- call void @fn_emit(ptr @.str5162)
+ call void @fn_emit(ptr @.str5196)
%t231 = load ptr, ptr %t230
call void @fn_emit(ptr %t231)
- call void @fn_emit(ptr @.str5163)
+ call void @fn_emit(ptr @.str5197)
%t232 = load ptr, ptr %t223
call void @fn_emit(ptr %t232)
- call void @fn_emit(ptr @.str5164)
- %t233 = call ptr @fn_val(ptr @.str5165, ptr @.str5166)
+ call void @fn_emit(ptr @.str5198)
+ %t233 = call ptr @fn_val(ptr @.str5199, ptr @.str5200)
store ptr %t233, ptr %retval
br label %ret
ret:
@@ -54166,14 +54749,14 @@ entry:
%t3 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5167)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str5201)
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t3
br i1 %t6, label %scend1, label %sc0
sc0:
%t8 = load ptr, ptr %t0
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str5168)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str5202)
%t10 = icmp ne i32 %t9, 0
%t11 = zext i1 %t10 to i32
store i32 %t11, ptr %t3
@@ -54186,7 +54769,7 @@ scend1:
br i1 %t13, label %scend3, label %sc2
sc2:
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str5169)
+ %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str5203)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t2
@@ -54199,7 +54782,7 @@ scend3:
br i1 %t20, label %scend5, label %sc4
sc4:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5170)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5204)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
@@ -54213,7 +54796,7 @@ then6:
br label %ret
ifend8:
%t28 = load ptr, ptr %t0
- %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str5171)
+ %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str5205)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then9, label %ifend11
then9:
@@ -54240,41 +54823,41 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5172)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5206)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
- %t5 = call ptr @fn_emit_bind(ptr @.str5173)
- %t6 = call ptr @fn_val(ptr %t5, ptr @.str5174)
+ %t5 = call ptr @fn_emit_bind(ptr @.str5207)
+ %t6 = call ptr @fn_val(ptr %t5, ptr @.str5208)
store ptr %t6, ptr %retval
br label %ret
ifend2:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5175)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5209)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
- %t10 = call ptr @fn_val(ptr @.str5176, ptr @.str5177)
+ %t10 = call ptr @fn_val(ptr @.str5210, ptr @.str5211)
store ptr %t10, ptr %retval
br label %ret
ifend5:
%t11 = load ptr, ptr %t0
- %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str5178)
+ %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str5212)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then6, label %ifend8
then6:
- %t14 = call ptr @fn_emit_bind(ptr @.str5179)
+ %t14 = call ptr @fn_emit_bind(ptr @.str5213)
store ptr %t14, ptr %t15
%t16 = load ptr, ptr %t15
- %t17 = call ptr @fn_str_concat(ptr @.str5180, ptr %t16)
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str5181)
+ %t17 = call ptr @lp_str_concat(ptr @.str5214, ptr %t16)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5215)
%t19 = call ptr @fn_emit_bind(ptr %t18)
- %t20 = call ptr @fn_val(ptr %t19, ptr @.str5182)
+ %t20 = call ptr @fn_val(ptr %t19, ptr @.str5216)
store ptr %t20, ptr %retval
br label %ret
ifend8:
%t21 = load ptr, ptr %t0
- %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str5183)
+ %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str5217)
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then9, label %ifend11
then9:
@@ -54287,32 +54870,32 @@ then9:
%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 @.str5184)
+ %t33 = call ptr @fn_emit_bind(ptr @.str5218)
store ptr %t33, ptr %t34
%t35 = load ptr, ptr %t34
- %t36 = call ptr @fn_str_concat(ptr @.str5185, ptr %t35)
- %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str5186)
+ %t36 = call ptr @lp_str_concat(ptr @.str5219, ptr %t35)
+ %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str5220)
%t38 = call ptr @fn_emit_bind(ptr %t37)
store ptr %t38, ptr %t39
%t40 = load ptr, ptr %t39
- %t41 = call ptr @fn_str_concat(ptr @.str5187, ptr %t40)
- %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str5188)
+ %t41 = call ptr @lp_str_concat(ptr @.str5221, ptr %t40)
+ %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5222)
%t43 = load ptr, ptr %t32
%t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0
%t45 = load ptr, ptr %t44
- %t46 = call ptr @fn_str_concat(ptr %t42, ptr %t45)
+ %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 @.str5189)
+ %t48 = call ptr @fn_val(ptr %t47, ptr @.str5223)
store ptr %t48, ptr %retval
br label %ret
ifend11:
- %t49 = call ptr @fn_emit_bind(ptr @.str5190)
+ %t49 = call ptr @fn_emit_bind(ptr @.str5224)
store ptr %t49, ptr %t50
%t51 = load ptr, ptr %t50
- %t52 = call ptr @fn_str_concat(ptr @.str5191, ptr %t51)
- %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str5192)
+ %t52 = call ptr @lp_str_concat(ptr @.str5225, ptr %t51)
+ %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5226)
%t54 = call ptr @fn_emit_bind(ptr %t53)
- %t55 = call ptr @fn_val(ptr %t54, ptr @.str5193)
+ %t55 = call ptr @fn_val(ptr %t54, ptr @.str5227)
store ptr %t55, ptr %retval
br label %ret
ret:
@@ -54332,14 +54915,14 @@ entry:
%t30 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5194)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str5228)
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t3
br i1 %t6, label %scend1, label %sc0
sc0:
%t8 = load ptr, ptr %t0
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str5195)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str5229)
%t10 = icmp ne i32 %t9, 0
%t11 = zext i1 %t10 to i32
store i32 %t11, ptr %t3
@@ -54352,7 +54935,7 @@ scend1:
br i1 %t13, label %scend3, label %sc2
sc2:
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str5196)
+ %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str5230)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t2
@@ -54365,7 +54948,7 @@ scend3:
br i1 %t20, label %scend5, label %sc4
sc4:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5197)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5231)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
@@ -54379,14 +54962,14 @@ then6:
br label %ret
ifend8:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str5198)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str5232)
%t33 = icmp ne i32 %t32, 0
%t34 = zext i1 %t33 to i32
store i32 %t34, ptr %t30
br i1 %t33, label %scend10, label %sc9
sc9:
%t35 = load ptr, ptr %t0
- %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str5199)
+ %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str5233)
%t37 = icmp ne i32 %t36, 0
%t38 = zext i1 %t37 to i32
store i32 %t38, ptr %t30
@@ -54399,7 +54982,7 @@ scend10:
br i1 %t40, label %scend12, label %sc11
sc11:
%t42 = load ptr, ptr %t0
- %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str5200)
+ %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str5234)
%t44 = icmp ne i32 %t43, 0
%t45 = zext i1 %t44 to i32
store i32 %t45, ptr %t29
@@ -54412,7 +54995,7 @@ scend12:
br i1 %t47, label %scend14, label %sc13
sc13:
%t49 = load ptr, ptr %t0
- %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5201)
+ %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str5235)
%t51 = icmp ne i32 %t50, 0
%t52 = zext i1 %t51 to i32
store i32 %t52, ptr %t28
@@ -54450,111 +55033,111 @@ entry:
%t9 = call ptr @fn_emit_expr(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t0
- %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str5202)
+ %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str5236)
%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 @.str5203)
+ %t17 = call ptr @fn_val(ptr %t16, ptr @.str5237)
store ptr %t17, ptr %retval
br label %ret
ifend2:
%t18 = load ptr, ptr %t0
- %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str5204)
+ %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str5238)
%t20 = icmp ne i32 %t19, 0
br i1 %t20, label %then3, label %ifend5
then3:
%t21 = load ptr, ptr %t10
%t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0
%t23 = load ptr, ptr %t22
- %t24 = call ptr @fn_str_concat(ptr @.str5205, ptr %t23)
- %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str5206)
+ %t24 = call ptr @lp_str_concat(ptr @.str5239, ptr %t23)
+ %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str5240)
%t26 = call ptr @fn_emit_bind(ptr %t25)
- %t27 = call ptr @fn_val(ptr %t26, ptr @.str5207)
+ %t27 = call ptr @fn_val(ptr %t26, ptr @.str5241)
store ptr %t27, ptr %retval
br label %ret
ifend5:
%t28 = load ptr, ptr %t0
- %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str5208)
+ %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str5242)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then6, label %ifend8
then6:
%t31 = load ptr, ptr %t10
%t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 0
%t33 = load ptr, ptr %t32
- %t34 = call ptr @fn_str_concat(ptr @.str5209, ptr %t33)
- %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str5210)
+ %t34 = call ptr @lp_str_concat(ptr @.str5243, ptr %t33)
+ %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str5244)
%t36 = call ptr @fn_emit_bind(ptr %t35)
- %t37 = call ptr @fn_val(ptr %t36, ptr @.str5211)
+ %t37 = call ptr @fn_val(ptr %t36, ptr @.str5245)
store ptr %t37, ptr %retval
br label %ret
ifend8:
%t38 = load ptr, ptr %t0
- %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str5212)
+ %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str5246)
%t40 = icmp ne i32 %t39, 0
br i1 %t40, label %then9, label %ifend11
then9:
%t41 = load ptr, ptr %t10
%t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 0
%t43 = load ptr, ptr %t42
- %t44 = call ptr @fn_str_concat(ptr @.str5213, ptr %t43)
- %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str5214)
+ %t44 = call ptr @lp_str_concat(ptr @.str5247, ptr %t43)
+ %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5248)
%t46 = call ptr @fn_emit_bind(ptr %t45)
- %t47 = call ptr @fn_val(ptr %t46, ptr @.str5215)
+ %t47 = call ptr @fn_val(ptr %t46, ptr @.str5249)
store ptr %t47, ptr %retval
br label %ret
ifend11:
%t48 = load ptr, ptr %t0
- %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str5216)
+ %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str5250)
%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 @.str5217)
+ %t54 = call ptr @fn_val(ptr %t53, ptr @.str5251)
store ptr %t54, ptr %retval
br label %ret
ifend14:
%t55 = load ptr, ptr %t0
- %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str5218)
+ %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str5252)
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then15, label %ifend17
then15:
%t58 = load ptr, ptr %t10
%t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 0
%t60 = load ptr, ptr %t59
- %t61 = call ptr @fn_str_concat(ptr @.str5219, ptr %t60)
- %t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str5220)
+ %t61 = call ptr @lp_str_concat(ptr @.str5253, ptr %t60)
+ %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str5254)
%t63 = call ptr @fn_emit_bind(ptr %t62)
- %t64 = call ptr @fn_val(ptr %t63, ptr @.str5221)
+ %t64 = call ptr @fn_val(ptr %t63, ptr @.str5255)
store ptr %t64, ptr %retval
br label %ret
ifend17:
%t65 = load ptr, ptr %t0
- %t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str5222)
+ %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str5256)
%t67 = icmp ne i32 %t66, 0
br i1 %t67, label %then18, label %ifend20
then18:
%t68 = load ptr, ptr %t10
%t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 0
%t70 = load ptr, ptr %t69
- %t71 = call ptr @fn_str_concat(ptr @.str5223, ptr %t70)
- %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str5224)
+ %t71 = call ptr @lp_str_concat(ptr @.str5257, ptr %t70)
+ %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str5258)
%t73 = call ptr @fn_emit_bind(ptr %t72)
- %t74 = call ptr @fn_val(ptr %t73, ptr @.str5225)
+ %t74 = call ptr @fn_val(ptr %t73, ptr @.str5259)
store ptr %t74, ptr %retval
br label %ret
ifend20:
%t75 = load ptr, ptr %t10
%t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0
%t77 = load ptr, ptr %t76
- %t78 = call ptr @fn_str_concat(ptr @.str5226, ptr %t77)
- %t79 = call ptr @fn_str_concat(ptr %t78, ptr @.str5227)
+ %t78 = call ptr @lp_str_concat(ptr @.str5260, ptr %t77)
+ %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str5261)
%t80 = call ptr @fn_emit_bind(ptr %t79)
- %t81 = call ptr @fn_val(ptr %t80, ptr @.str5228)
+ %t81 = call ptr @fn_val(ptr %t80, ptr @.str5262)
store ptr %t81, ptr %retval
br label %ret
ret:
@@ -54574,24 +55157,24 @@ entry:
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 @.str5229)
+ %t2 = call ptr @fn_emit_alloca(ptr @.str5263)
store ptr %t2, ptr %t3
- %t4 = call ptr @fn_emit_alloca(ptr @.str5230)
+ %t4 = call ptr @fn_emit_alloca(ptr @.str5264)
store ptr %t4, ptr %t5
- %t6 = call ptr @fn_emit_alloca(ptr @.str5231)
+ %t6 = call ptr @fn_emit_alloca(ptr @.str5265)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t0
- %t9 = call ptr @fn_str_concat(ptr @.str5232, ptr %t8)
- %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str5233)
+ %t9 = call ptr @lp_str_concat(ptr @.str5266, ptr %t8)
+ %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str5267)
%t11 = load ptr, ptr %t3
- %t12 = call ptr @fn_str_concat(ptr %t10, ptr %t11)
- %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5234)
+ %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11)
+ %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str5268)
%t14 = load ptr, ptr %t5
- %t15 = call ptr @fn_str_concat(ptr %t13, ptr %t14)
- %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str5235)
+ %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14)
+ %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str5269)
%t17 = load ptr, ptr %t7
- %t18 = call ptr @fn_str_concat(ptr %t16, ptr %t17)
- %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str5236)
+ %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17)
+ %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str5270)
call void @fn_emit(ptr %t19)
%t20 = load ptr, ptr %t3
store ptr %t20, ptr %t21
@@ -54616,7 +55199,7 @@ then3:
br label %ifend5
ifend5:
%t32 = load ptr, ptr %t21
- %t33 = call ptr @fn_str_concat(ptr @.str5237, ptr %t32)
+ %t33 = call ptr @lp_str_concat(ptr @.str5271, ptr %t32)
%t34 = call ptr @fn_emit_bind(ptr %t33)
store ptr %t34, ptr %retval
br label %ret
@@ -54638,14 +55221,14 @@ entry:
%t48 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5238)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str5272)
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t3
br i1 %t6, label %scend1, label %sc0
sc0:
%t8 = load ptr, ptr %t0
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str5239)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str5273)
%t10 = icmp ne i32 %t9, 0
%t11 = zext i1 %t10 to i32
store i32 %t11, ptr %t3
@@ -54658,7 +55241,7 @@ scend1:
br i1 %t13, label %scend3, label %sc2
sc2:
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str5240)
+ %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str5274)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t2
@@ -54671,7 +55254,7 @@ scend3:
br i1 %t20, label %scend5, label %sc4
sc4:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5241)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5275)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
@@ -54685,14 +55268,14 @@ then6:
br label %ret
ifend8:
%t30 = load ptr, ptr %t0
- %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str5242)
+ %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str5276)
%t32 = icmp ne i32 %t31, 0
%t33 = zext i1 %t32 to i32
store i32 %t33, ptr %t29
br i1 %t32, label %scend10, label %sc9
sc9:
%t34 = load ptr, ptr %t0
- %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str5243)
+ %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str5277)
%t36 = icmp ne i32 %t35, 0
%t37 = zext i1 %t36 to i32
store i32 %t37, ptr %t29
@@ -54705,7 +55288,7 @@ scend10:
br i1 %t39, label %scend12, label %sc11
sc11:
%t41 = load ptr, ptr %t0
- %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str5244)
+ %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str5278)
%t43 = icmp ne i32 %t42, 0
%t44 = zext i1 %t43 to i32
store i32 %t44, ptr %t28
@@ -54719,14 +55302,14 @@ then13:
br label %ret
ifend15:
%t49 = load ptr, ptr %t0
- %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5245)
+ %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str5279)
%t51 = icmp ne i32 %t50, 0
%t52 = zext i1 %t51 to i32
store i32 %t52, ptr %t48
br i1 %t51, label %scend17, label %sc16
sc16:
%t53 = load ptr, ptr %t0
- %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str5246)
+ %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str5280)
%t55 = icmp ne i32 %t54, 0
%t56 = zext i1 %t55 to i32
store i32 %t56, ptr %t48
@@ -54739,7 +55322,7 @@ scend17:
br i1 %t58, label %scend19, label %sc18
sc18:
%t60 = load ptr, ptr %t0
- %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str5247)
+ %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str5281)
%t62 = icmp ne i32 %t61, 0
%t63 = zext i1 %t62 to i32
store i32 %t63, ptr %t47
@@ -54800,7 +55383,7 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5248)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5282)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -54835,25 +55418,25 @@ then0:
%t32 = load ptr, ptr %t13
%t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t33
- %t35 = call ptr @fn_str_concat(ptr @.str5249, ptr %t34)
- %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str5250)
+ %t35 = call ptr @lp_str_concat(ptr @.str5283, ptr %t34)
+ %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str5284)
%t37 = load ptr, ptr %t22
%t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 0
%t39 = load ptr, ptr %t38
- %t40 = call ptr @fn_str_concat(ptr %t36, ptr %t39)
- %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str5251)
+ %t40 = call ptr @lp_str_concat(ptr %t36, ptr %t39)
+ %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str5285)
%t42 = load ptr, ptr %t31
%t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0
%t44 = load ptr, ptr %t43
- %t45 = call ptr @fn_str_concat(ptr %t41, ptr %t44)
- %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str5252)
+ %t45 = call ptr @lp_str_concat(ptr %t41, ptr %t44)
+ %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str5286)
%t47 = call ptr @fn_emit_bind(ptr %t46)
- %t48 = call ptr @fn_val(ptr %t47, ptr @.str5253)
+ %t48 = call ptr @fn_val(ptr %t47, ptr @.str5287)
store ptr %t48, ptr %retval
br label %ret
ifend2:
%t49 = load ptr, ptr %t0
- %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5254)
+ %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str5288)
%t51 = icmp ne i32 %t50, 0
br i1 %t51, label %then3, label %ifend5
then3:
@@ -54870,12 +55453,12 @@ then3:
%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 @.str5255)
+ %t65 = call ptr @fn_val(ptr %t64, ptr @.str5289)
store ptr %t65, ptr %retval
br label %ret
ifend5:
%t66 = load ptr, ptr %t0
- %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str5256)
+ %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str5290)
%t68 = icmp ne i32 %t67, 0
br i1 %t68, label %then6, label %ifend8
then6:
@@ -54892,12 +55475,12 @@ then6:
%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 @.str5257)
+ %t82 = call ptr @fn_val(ptr %t81, ptr @.str5291)
store ptr %t82, ptr %retval
br label %ret
ifend8:
%t83 = load ptr, ptr %t0
- %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str5258)
+ %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str5292)
%t85 = icmp ne i32 %t84, 0
br i1 %t85, label %then9, label %ifend11
then9:
@@ -54914,12 +55497,12 @@ then9:
%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 @.str5259)
+ %t99 = call ptr @fn_val(ptr %t98, ptr @.str5293)
store ptr %t99, ptr %retval
br label %ret
ifend11:
%t100 = load ptr, ptr %t0
- %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str5260)
+ %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str5294)
%t102 = icmp ne i32 %t101, 0
br i1 %t102, label %then12, label %ifend14
then12:
@@ -54935,30 +55518,30 @@ then12:
%t112 = load ptr, ptr %t111
%t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0
%t114 = load ptr, ptr %t113
- %t115 = call ptr @fn_str_concat(ptr @.str5261, ptr %t114)
- %t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str5262)
+ %t115 = call ptr @lp_str_concat(ptr @.str5295, ptr %t114)
+ %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str5296)
%t117 = call ptr @fn_emit_bind(ptr %t116)
store ptr %t117, ptr %t118
%t119 = load ptr, ptr %t118
- %t120 = call ptr @fn_str_concat(ptr @.str5263, ptr %t119)
- %t121 = call ptr @fn_str_concat(ptr %t120, ptr @.str5264)
+ %t120 = call ptr @lp_str_concat(ptr @.str5297, ptr %t119)
+ %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str5298)
%t122 = call ptr @fn_emit_bind(ptr %t121)
store ptr %t122, ptr %t123
%t124 = load ptr, ptr %t123
- %t125 = call ptr @fn_str_concat(ptr @.str5265, ptr %t124)
- %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str5266)
+ %t125 = call ptr @lp_str_concat(ptr @.str5299, ptr %t124)
+ %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str5300)
%t127 = call ptr @fn_emit_bind(ptr %t126)
store ptr %t127, ptr %t128
%t129 = load ptr, ptr %t128
- %t130 = call ptr @fn_str_concat(ptr @.str5267, ptr %t129)
- %t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str5268)
+ %t130 = call ptr @lp_str_concat(ptr @.str5301, ptr %t129)
+ %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str5302)
%t132 = call ptr @fn_emit_bind(ptr %t131)
- %t133 = call ptr @fn_val(ptr %t132, ptr @.str5269)
+ %t133 = call ptr @fn_val(ptr %t132, ptr @.str5303)
store ptr %t133, ptr %retval
br label %ret
ifend14:
%t134 = load ptr, ptr %t0
- %t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str5270)
+ %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str5304)
%t136 = icmp ne i32 %t135, 0
br i1 %t136, label %then15, label %ifend17
then15:
@@ -54974,63 +55557,63 @@ then15:
%t146 = load ptr, ptr %t145
%t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0
%t148 = load ptr, ptr %t147
- %t149 = call ptr @fn_str_concat(ptr @.str5271, ptr %t148)
- %t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str5272)
+ %t149 = call ptr @lp_str_concat(ptr @.str5305, ptr %t148)
+ %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str5306)
%t151 = call ptr @fn_emit_bind(ptr %t150)
store ptr %t151, ptr %t152
%t153 = load ptr, ptr %t152
- %t154 = call ptr @fn_str_concat(ptr @.str5273, ptr %t153)
- %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str5274)
+ %t154 = call ptr @lp_str_concat(ptr @.str5307, ptr %t153)
+ %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str5308)
%t156 = call ptr @fn_emit_bind(ptr %t155)
store ptr %t156, ptr %t157
%t158 = load ptr, ptr %t145
%t159 = getelementptr inbounds %Cmp_Val, ptr %t158, i32 0, i32 0
%t160 = load ptr, ptr %t159
- %t161 = call ptr @fn_str_concat(ptr @.str5275, ptr %t160)
- %t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str5276)
+ %t161 = call ptr @lp_str_concat(ptr @.str5309, ptr %t160)
+ %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str5310)
%t163 = call ptr @fn_emit_bind(ptr %t162)
store ptr %t163, ptr %t164
%t165 = load ptr, ptr %t164
- %t166 = call ptr @fn_str_concat(ptr @.str5277, ptr %t165)
- %t167 = call ptr @fn_str_concat(ptr %t166, ptr @.str5278)
+ %t166 = call ptr @lp_str_concat(ptr @.str5311, ptr %t165)
+ %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str5312)
%t168 = call ptr @fn_emit_bind(ptr %t167)
store ptr %t168, ptr %t169
%t170 = load ptr, ptr %t145
%t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0
%t172 = load ptr, ptr %t171
- %t173 = call ptr @fn_str_concat(ptr @.str5279, ptr %t172)
- %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str5280)
+ %t173 = call ptr @lp_str_concat(ptr @.str5313, ptr %t172)
+ %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str5314)
%t175 = call ptr @fn_emit_bind(ptr %t174)
store ptr %t175, ptr %t176
%t177 = load ptr, ptr %t176
- %t178 = call ptr @fn_str_concat(ptr @.str5281, ptr %t177)
- %t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str5282)
+ %t178 = call ptr @lp_str_concat(ptr @.str5315, ptr %t177)
+ %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str5316)
%t180 = call ptr @fn_emit_bind(ptr %t179)
store ptr %t180, ptr %t181
%t182 = load ptr, ptr %t157
- %t183 = call ptr @fn_str_concat(ptr @.str5283, ptr %t182)
- %t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str5284)
+ %t183 = call ptr @lp_str_concat(ptr @.str5317, ptr %t182)
+ %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str5318)
%t185 = load ptr, ptr %t169
- %t186 = call ptr @fn_str_concat(ptr %t184, ptr %t185)
+ %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 @fn_str_concat(ptr @.str5285, ptr %t189)
- %t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str5286)
+ %t190 = call ptr @lp_str_concat(ptr @.str5319, ptr %t189)
+ %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str5320)
%t192 = load ptr, ptr %t181
- %t193 = call ptr @fn_str_concat(ptr %t191, ptr %t192)
+ %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 @fn_str_concat(ptr @.str5287, ptr %t196)
- %t198 = call ptr @fn_str_concat(ptr %t197, ptr @.str5288)
+ %t197 = call ptr @lp_str_concat(ptr @.str5321, ptr %t196)
+ %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str5322)
%t199 = call ptr @fn_emit_bind(ptr %t198)
- %t200 = call ptr @fn_val(ptr %t199, ptr @.str5289)
+ %t200 = call ptr @fn_val(ptr %t199, ptr @.str5323)
store ptr %t200, ptr %retval
br label %ret
ifend17:
%t201 = load ptr, ptr %t0
- %t202 = call i32 @fn_str_eq(ptr %t201, ptr @.str5290)
+ %t202 = call i32 @lp_str_eq(ptr %t201, ptr @.str5324)
%t203 = icmp ne i32 %t202, 0
br i1 %t203, label %then18, label %ifend20
then18:
@@ -55056,75 +55639,75 @@ then18:
%t222 = load ptr, ptr %t212
%t223 = getelementptr inbounds %Cmp_Val, ptr %t222, i32 0, i32 0
%t224 = load ptr, ptr %t223
- %t225 = call ptr @fn_str_concat(ptr @.str5291, ptr %t224)
- %t226 = call ptr @fn_str_concat(ptr %t225, ptr @.str5292)
+ %t225 = call ptr @lp_str_concat(ptr @.str5325, ptr %t224)
+ %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str5326)
%t227 = load ptr, ptr %t221
%t228 = getelementptr inbounds %Cmp_Val, ptr %t227, i32 0, i32 0
%t229 = load ptr, ptr %t228
- %t230 = call ptr @fn_str_concat(ptr %t226, ptr %t229)
- %t231 = call ptr @fn_str_concat(ptr %t230, ptr @.str5293)
+ %t230 = call ptr @lp_str_concat(ptr %t226, ptr %t229)
+ %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str5327)
%t232 = call ptr @fn_emit_bind(ptr %t231)
store ptr %t232, ptr %t233
%t234 = load ptr, ptr %t221
%t235 = getelementptr inbounds %Cmp_Val, ptr %t234, i32 0, i32 0
%t236 = load ptr, ptr %t235
- %t237 = call ptr @fn_str_concat(ptr @.str5294, ptr %t236)
- %t238 = call ptr @fn_str_concat(ptr %t237, ptr @.str5295)
+ %t237 = call ptr @lp_str_concat(ptr @.str5328, ptr %t236)
+ %t238 = call ptr @lp_str_concat(ptr %t237, ptr @.str5329)
%t239 = call ptr @fn_emit_bind(ptr %t238)
store ptr %t239, ptr %t240
%t241 = load ptr, ptr %t212
%t242 = getelementptr inbounds %Cmp_Val, ptr %t241, i32 0, i32 0
%t243 = load ptr, ptr %t242
- %t244 = call ptr @fn_str_concat(ptr @.str5296, ptr %t243)
- %t245 = call ptr @fn_str_concat(ptr %t244, ptr @.str5297)
+ %t244 = call ptr @lp_str_concat(ptr @.str5330, ptr %t243)
+ %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str5331)
%t246 = call ptr @fn_emit_bind(ptr %t245)
store ptr %t246, ptr %t247
%t248 = load ptr, ptr %t240
- %t249 = call ptr @fn_str_concat(ptr @.str5298, ptr %t248)
- %t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str5299)
+ %t249 = call ptr @lp_str_concat(ptr @.str5332, ptr %t248)
+ %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str5333)
%t251 = load ptr, ptr %t247
- %t252 = call ptr @fn_str_concat(ptr %t250, ptr %t251)
- %t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str5300)
+ %t252 = call ptr @lp_str_concat(ptr %t250, ptr %t251)
+ %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str5334)
%t254 = load ptr, ptr %t212
%t255 = getelementptr inbounds %Cmp_Val, ptr %t254, i32 0, i32 0
%t256 = load ptr, ptr %t255
- %t257 = call ptr @fn_str_concat(ptr %t253, ptr %t256)
+ %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 @fn_str_concat(ptr @.str5301, ptr %t262)
- %t264 = call ptr @fn_str_concat(ptr %t263, ptr @.str5302)
+ %t263 = call ptr @lp_str_concat(ptr @.str5335, ptr %t262)
+ %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str5336)
%t265 = call ptr @fn_emit_bind(ptr %t264)
store ptr %t265, ptr %t266
%t267 = load ptr, ptr %t240
- %t268 = call ptr @fn_str_concat(ptr @.str5303, ptr %t267)
- %t269 = call ptr @fn_str_concat(ptr %t268, ptr @.str5304)
+ %t268 = call ptr @lp_str_concat(ptr @.str5337, ptr %t267)
+ %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str5338)
%t270 = load ptr, ptr %t266
- %t271 = call ptr @fn_str_concat(ptr %t269, ptr %t270)
+ %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 @fn_str_concat(ptr @.str5305, ptr %t274)
- %t276 = call ptr @fn_str_concat(ptr %t275, ptr @.str5306)
+ %t275 = call ptr @lp_str_concat(ptr @.str5339, ptr %t274)
+ %t276 = call ptr @lp_str_concat(ptr %t275, ptr @.str5340)
%t277 = load ptr, ptr %t273
- %t278 = call ptr @fn_str_concat(ptr %t276, ptr %t277)
- %t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str5307)
+ %t278 = call ptr @lp_str_concat(ptr %t276, ptr %t277)
+ %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str5341)
%t280 = call ptr @fn_emit_bind(ptr %t279)
store ptr %t280, ptr %t281
%t282 = load ptr, ptr %t281
- %t283 = call ptr @fn_str_concat(ptr @.str5308, ptr %t282)
- %t284 = call ptr @fn_str_concat(ptr %t283, ptr @.str5309)
+ %t283 = call ptr @lp_str_concat(ptr @.str5342, ptr %t282)
+ %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str5343)
%t285 = load ptr, ptr %t233
- %t286 = call ptr @fn_str_concat(ptr %t284, ptr %t285)
+ %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 @.str5310)
+ %t288 = call ptr @fn_val(ptr %t287, ptr @.str5344)
store ptr %t288, ptr %retval
br label %ret
ifend20:
%t289 = load ptr, ptr %t0
- %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str5311)
+ %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str5345)
%t291 = icmp ne i32 %t290, 0
br i1 %t291, label %then21, label %ifend23
then21:
@@ -55140,15 +55723,15 @@ then21:
%t301 = load ptr, ptr %t300
%t302 = getelementptr inbounds %Cmp_Val, ptr %t301, i32 0, i32 0
%t303 = load ptr, ptr %t302
- %t304 = call ptr @fn_str_concat(ptr @.str5312, ptr %t303)
- %t305 = call ptr @fn_str_concat(ptr %t304, ptr @.str5313)
+ %t304 = call ptr @lp_str_concat(ptr @.str5346, ptr %t303)
+ %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str5347)
%t306 = call ptr @fn_emit_bind(ptr %t305)
- %t307 = call ptr @fn_val(ptr %t306, ptr @.str5314)
+ %t307 = call ptr @fn_val(ptr %t306, ptr @.str5348)
store ptr %t307, ptr %retval
br label %ret
ifend23:
%t308 = load ptr, ptr %t0
- %t309 = call i32 @fn_str_eq(ptr %t308, ptr @.str5315)
+ %t309 = call i32 @lp_str_eq(ptr %t308, ptr @.str5349)
%t310 = icmp ne i32 %t309, 0
br i1 %t310, label %then24, label %ifend26
then24:
@@ -55173,14 +55756,14 @@ then24:
%t329 = load ptr, ptr %t319
%t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0
%t331 = load ptr, ptr %t330
- %t332 = call ptr @fn_str_concat(ptr @.str5316, ptr %t331)
- %t333 = call ptr @fn_str_concat(ptr %t332, ptr @.str5317)
+ %t332 = call ptr @lp_str_concat(ptr @.str5350, ptr %t331)
+ %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str5351)
%t334 = load ptr, ptr %t328
%t335 = getelementptr inbounds %Cmp_Val, ptr %t334, i32 0, i32 0
%t336 = load ptr, ptr %t335
- %t337 = call ptr @fn_str_concat(ptr %t333, ptr %t336)
+ %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 @.str5318)
+ %t339 = call ptr @fn_val(ptr %t338, ptr @.str5352)
store ptr %t339, ptr %retval
br label %ret
ifend26:
@@ -55205,14 +55788,14 @@ ifend26:
%t358 = load ptr, ptr %t348
%t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0
%t360 = load ptr, ptr %t359
- %t361 = call ptr @fn_str_concat(ptr @.str5319, ptr %t360)
- %t362 = call ptr @fn_str_concat(ptr %t361, ptr @.str5320)
+ %t361 = call ptr @lp_str_concat(ptr @.str5353, ptr %t360)
+ %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str5354)
%t363 = load ptr, ptr %t357
%t364 = getelementptr inbounds %Cmp_Val, ptr %t363, i32 0, i32 0
%t365 = load ptr, ptr %t364
- %t366 = call ptr @fn_str_concat(ptr %t362, ptr %t365)
+ %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 @.str5321)
+ %t368 = call ptr @fn_val(ptr %t367, ptr @.str5355)
store ptr %t368, ptr %retval
br label %ret
ret:
@@ -55228,18 +55811,18 @@ entry:
%t10 = alloca ptr
store ptr %arg_t, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call ptr @fn_str_concat(ptr @.str5322, ptr %t1)
- %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str5323)
+ %t2 = call ptr @lp_str_concat(ptr @.str5356, ptr %t1)
+ %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5357)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
- %t7 = call ptr @fn_str_concat(ptr @.str5324, ptr %t6)
- %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str5325)
+ %t7 = call ptr @lp_str_concat(ptr @.str5358, ptr %t6)
+ %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5359)
%t9 = call ptr @fn_emit_bind(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t10
- %t12 = call ptr @fn_str_concat(ptr @.str5326, ptr %t11)
- %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5327)
+ %t12 = call ptr @lp_str_concat(ptr @.str5360, ptr %t11)
+ %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str5361)
%t14 = call ptr @fn_emit_bind(ptr %t13)
store ptr %t14, ptr %retval
br label %ret
@@ -55259,15 +55842,15 @@ entry:
%t2 = call ptr @fn_dt_secofday(ptr %t1)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t0
- %t5 = call ptr @fn_str_concat(ptr @.str5328, ptr %t4)
- %t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str5329)
+ %t5 = call ptr @lp_str_concat(ptr @.str5362, ptr %t4)
+ %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str5363)
%t7 = load ptr, ptr %t3
- %t8 = call ptr @fn_str_concat(ptr %t6, ptr %t7)
+ %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 @fn_str_concat(ptr @.str5330, ptr %t11)
- %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5331)
+ %t12 = call ptr @lp_str_concat(ptr @.str5364, ptr %t11)
+ %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str5365)
%t14 = call ptr @fn_emit_bind(ptr %t13)
store ptr %t14, ptr %retval
br label %ret
@@ -55290,14 +55873,14 @@ entry:
%t66 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str5332)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str5366)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5333)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5367)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -55310,7 +55893,7 @@ scend1:
br i1 %t12, label %scend3, label %sc2
sc2:
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str5334)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str5368)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
@@ -55324,14 +55907,14 @@ then4:
br label %ret
ifend6:
%t23 = load ptr, ptr %t0
- %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str5335)
+ %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str5369)
%t25 = icmp ne i32 %t24, 0
%t26 = zext i1 %t25 to i32
store i32 %t26, ptr %t22
br i1 %t25, label %scend8, label %sc7
sc7:
%t27 = load ptr, ptr %t0
- %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str5336)
+ %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str5370)
%t29 = icmp ne i32 %t28, 0
%t30 = zext i1 %t29 to i32
store i32 %t30, ptr %t22
@@ -55344,7 +55927,7 @@ scend8:
br i1 %t32, label %scend10, label %sc9
sc9:
%t34 = load ptr, ptr %t0
- %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str5337)
+ %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str5371)
%t36 = icmp ne i32 %t35, 0
%t37 = zext i1 %t36 to i32
store i32 %t37, ptr %t21
@@ -55357,7 +55940,7 @@ scend10:
br i1 %t39, label %scend12, label %sc11
sc11:
%t41 = load ptr, ptr %t0
- %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str5338)
+ %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str5372)
%t43 = icmp ne i32 %t42, 0
%t44 = zext i1 %t43 to i32
store i32 %t44, ptr %t20
@@ -55371,14 +55954,14 @@ then13:
br label %ret
ifend15:
%t49 = load ptr, ptr %t0
- %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5339)
+ %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str5373)
%t51 = icmp ne i32 %t50, 0
%t52 = zext i1 %t51 to i32
store i32 %t52, ptr %t48
br i1 %t51, label %scend17, label %sc16
sc16:
%t53 = load ptr, ptr %t0
- %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str5340)
+ %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str5374)
%t55 = icmp ne i32 %t54, 0
%t56 = zext i1 %t55 to i32
store i32 %t56, ptr %t48
@@ -55391,7 +55974,7 @@ scend17:
br i1 %t58, label %scend19, label %sc18
sc18:
%t60 = load ptr, ptr %t0
- %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str5341)
+ %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str5375)
%t62 = icmp ne i32 %t61, 0
%t63 = zext i1 %t62 to i32
store i32 %t63, ptr %t47
@@ -55405,14 +55988,14 @@ then20:
br label %ret
ifend22:
%t67 = load ptr, ptr %t0
- %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str5342)
+ %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str5376)
%t69 = icmp ne i32 %t68, 0
%t70 = zext i1 %t69 to i32
store i32 %t70, ptr %t66
br i1 %t69, label %scend24, label %sc23
sc23:
%t71 = load ptr, ptr %t0
- %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str5343)
+ %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str5377)
%t73 = icmp ne i32 %t72, 0
%t74 = zext i1 %t73 to i32
store i32 %t74, ptr %t66
@@ -55440,11 +56023,11 @@ entry:
store ptr %arg_a, ptr %t0
store ptr %arg_b, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call ptr @fn_str_concat(ptr @.str5344, ptr %t2)
- %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str5345)
+ %t3 = call ptr @lp_str_concat(ptr @.str5378, ptr %t2)
+ %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5379)
%t5 = load ptr, ptr %t1
- %t6 = call ptr @fn_str_concat(ptr %t4, ptr %t5)
- %t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str5346)
+ %t6 = call ptr @lp_str_concat(ptr %t4, ptr %t5)
+ %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str5380)
%t8 = call ptr @fn_emit_bind(ptr %t7)
store ptr %t8, ptr %retval
br label %ret
@@ -55567,7 +56150,7 @@ entry:
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then0, label %ifend2
then0:
- call void @fn_perr(ptr @.str5347)
+ call void @fn_perr(ptr @.str5381)
br label %ifend2
ifend2:
%t13 = load ptr, ptr %t0
@@ -55598,35 +56181,35 @@ ifend2:
%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 @.str5348)
+ %t41 = call ptr @fn_emit_alloca(ptr @.str5382)
store ptr %t41, ptr %t42
- %t43 = call ptr @fn_emit_alloca(ptr @.str5349)
+ %t43 = call ptr @fn_emit_alloca(ptr @.str5383)
store ptr %t43, ptr %t44
- %t45 = call ptr @fn_emit_alloca(ptr @.str5350)
+ %t45 = call ptr @fn_emit_alloca(ptr @.str5384)
store ptr %t45, ptr %t46
%t47 = load ptr, ptr %t40
- %t48 = call ptr @fn_str_concat(ptr @.str5351, ptr %t47)
- %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str5352)
+ %t48 = call ptr @lp_str_concat(ptr @.str5385, ptr %t47)
+ %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str5386)
%t50 = load ptr, ptr %t42
- %t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
- %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str5353)
+ %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50)
+ %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str5387)
%t53 = load ptr, ptr %t44
- %t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53)
- %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str5354)
+ %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53)
+ %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str5388)
%t56 = load ptr, ptr %t46
- %t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56)
- %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str5355)
+ %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56)
+ %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str5389)
call void @fn_emit(ptr %t58)
%t59 = load ptr, ptr %t42
- %t60 = call ptr @fn_str_concat(ptr @.str5356, ptr %t59)
+ %t60 = call ptr @lp_str_concat(ptr @.str5390, ptr %t59)
%t61 = call ptr @fn_emit_bind(ptr %t60)
store ptr %t61, ptr %t62
%t63 = load ptr, ptr %t44
- %t64 = call ptr @fn_str_concat(ptr @.str5357, ptr %t63)
+ %t64 = call ptr @lp_str_concat(ptr @.str5391, ptr %t63)
%t65 = call ptr @fn_emit_bind(ptr %t64)
store ptr %t65, ptr %t66
%t67 = load ptr, ptr %t46
- %t68 = call ptr @fn_str_concat(ptr @.str5358, ptr %t67)
+ %t68 = call ptr @lp_str_concat(ptr @.str5392, ptr %t67)
%t69 = call ptr @fn_emit_bind(ptr %t68)
store ptr %t69, ptr %t70
%t71 = load ptr, ptr %t21
@@ -55635,31 +56218,31 @@ ifend2:
%t74 = call ptr @fn_dt_secofday(ptr %t73)
store ptr %t74, ptr %t75
%t76 = load ptr, ptr %t75
- %t77 = call ptr @fn_str_concat(ptr @.str5359, ptr %t76)
- %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str5360)
+ %t77 = call ptr @lp_str_concat(ptr @.str5393, ptr %t76)
+ %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str5394)
%t79 = call ptr @fn_emit_bind(ptr %t78)
store ptr %t79, ptr %t80
%t81 = load ptr, ptr %t75
- %t82 = call ptr @fn_str_concat(ptr @.str5361, ptr %t81)
- %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str5362)
+ %t82 = call ptr @lp_str_concat(ptr @.str5395, ptr %t81)
+ %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5396)
%t84 = call ptr @fn_emit_bind(ptr %t83)
store ptr %t84, ptr %t85
%t86 = load ptr, ptr %t85
- %t87 = call ptr @fn_str_concat(ptr @.str5363, ptr %t86)
- %t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str5364)
+ %t87 = call ptr @lp_str_concat(ptr @.str5397, ptr %t86)
+ %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str5398)
%t89 = call ptr @fn_emit_bind(ptr %t88)
store ptr %t89, ptr %t90
%t91 = load ptr, ptr %t75
- %t92 = call ptr @fn_str_concat(ptr @.str5365, ptr %t91)
- %t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str5366)
+ %t92 = call ptr @lp_str_concat(ptr @.str5399, ptr %t91)
+ %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str5400)
%t94 = call ptr @fn_emit_bind(ptr %t93)
store ptr %t94, ptr %t95
%t96 = load ptr, ptr %t62
- %t97 = call ptr @fn_str_concat(ptr @.str5367, ptr %t96)
- %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str5368)
+ %t97 = call ptr @lp_str_concat(ptr @.str5401, ptr %t96)
+ %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str5402)
%t99 = call ptr @fn_emit_bind(ptr %t98)
store ptr %t99, ptr %t100
- %t101 = call ptr @fn_emit_str_const(ptr @.str5369)
+ %t101 = call ptr @fn_emit_str_const(ptr @.str5403)
store ptr %t101, ptr %t102
%t103 = call ptr @fn_buf_new()
store ptr %t103, ptr %t104
@@ -55679,7 +56262,7 @@ wbody4:
%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 @.str5370, i32 4)
+ %t117 = call i32 @fn_dt_tok_at(ptr %t114, i32 %t115, i32 %t116, ptr @.str5404, i32 4)
%t118 = icmp ne i32 %t117, 0
br i1 %t118, label %then6, label %else7
then6:
@@ -55692,7 +56275,7 @@ 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 @.str5371, i32 2)
+ %t123 = call i32 @fn_dt_tok_at(ptr %t120, i32 %t121, i32 %t122, ptr @.str5405, i32 2)
%t124 = icmp ne i32 %t123, 0
br i1 %t124, label %then9, label %else10
then9:
@@ -55705,7 +56288,7 @@ 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 @.str5372, i32 2)
+ %t129 = call i32 @fn_dt_tok_at(ptr %t126, i32 %t127, i32 %t128, ptr @.str5406, i32 2)
%t130 = icmp ne i32 %t129, 0
br i1 %t130, label %then12, label %else13
then12:
@@ -55718,7 +56301,7 @@ 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 @.str5373, i32 2)
+ %t135 = call i32 @fn_dt_tok_at(ptr %t132, i32 %t133, i32 %t134, ptr @.str5407, i32 2)
%t136 = icmp ne i32 %t135, 0
br i1 %t136, label %then15, label %else16
then15:
@@ -55731,7 +56314,7 @@ 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 @.str5374, i32 2)
+ %t141 = call i32 @fn_dt_tok_at(ptr %t138, i32 %t139, i32 %t140, ptr @.str5408, i32 2)
%t142 = icmp ne i32 %t141, 0
br i1 %t142, label %then18, label %else19
then18:
@@ -55744,7 +56327,7 @@ 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 @.str5375, i32 2)
+ %t147 = call i32 @fn_dt_tok_at(ptr %t144, i32 %t145, i32 %t146, ptr @.str5409, i32 2)
%t148 = icmp ne i32 %t147, 0
br i1 %t148, label %then21, label %else22
then21:
@@ -55757,7 +56340,7 @@ 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 @.str5376, i32 2)
+ %t153 = call i32 @fn_dt_tok_at(ptr %t150, i32 %t151, i32 %t152, ptr @.str5410, i32 2)
%t154 = icmp ne i32 %t153, 0
br i1 %t154, label %then24, label %ifend26
then24:
@@ -55816,12 +56399,12 @@ then30:
br label %ifend32
ifend32:
%t181 = load ptr, ptr %t111
- %t182 = call ptr @fn_str_concat(ptr @.str5377, ptr %t181)
- %t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str5378)
+ %t182 = call ptr @lp_str_concat(ptr @.str5411, ptr %t181)
+ %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5412)
%t184 = load i32, ptr %t112
- %t185 = call ptr @fn_int_str(i32 %t184)
- %t186 = call ptr @fn_str_concat(ptr %t183, ptr %t185)
- %t187 = call ptr @fn_str_concat(ptr %t186, ptr @.str5379)
+ %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 @.str5413)
%t188 = call ptr @fn_emit_bind(ptr %t187)
store ptr %t188, ptr %t189
%t190 = load ptr, ptr %t102
@@ -55831,9 +56414,9 @@ ifend32:
%t193 = load ptr, ptr %t104
%t194 = getelementptr inbounds %Cmp_Buf, ptr %t193, i32 0, i32 1
store i32 0, ptr %t194
- %t195 = load i32, ptr %t105
- %t196 = load i32, ptr %t113
- %t197 = add i32 %t195, %t196
+ %t195 = load i32, ptr %t113
+ %t196 = load i32, ptr %t105
+ %t197 = add i32 %t196, %t195
store i32 %t197, ptr %t105
br label %ifend29
ifend29:
@@ -55858,7 +56441,7 @@ then33:
br label %ifend35
ifend35:
%t211 = load ptr, ptr %t102
- %t212 = call ptr @fn_val(ptr %t211, ptr @.str5380)
+ %t212 = call ptr @fn_val(ptr %t211, ptr @.str5414)
store ptr %t212, ptr %retval
br label %ret
ret:
@@ -55917,7 +56500,7 @@ entry:
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then0, label %ifend2
then0:
- call void @fn_perr(ptr @.str5381)
+ call void @fn_perr(ptr @.str5415)
br label %ifend2
ifend2:
%t13 = load ptr, ptr %t0
@@ -55943,34 +56526,34 @@ ifend2:
%t33 = call i64 @strlen(ptr %t32)
%t34 = trunc i64 %t33 to i32
store i32 %t34, ptr %t35
- %t36 = call ptr @fn_emit_alloca(ptr @.str5382)
+ %t36 = call ptr @fn_emit_alloca(ptr @.str5416)
store ptr %t36, ptr %t37
%t38 = load ptr, ptr %t37
- call void @fn_store_at(ptr @.str5383, ptr @.str5384, ptr %t38)
- %t39 = call ptr @fn_emit_alloca(ptr @.str5385)
+ call void @fn_store_at(ptr @.str5417, ptr @.str5418, ptr %t38)
+ %t39 = call ptr @fn_emit_alloca(ptr @.str5419)
store ptr %t39, ptr %t40
%t41 = load ptr, ptr %t40
- call void @fn_store_at(ptr @.str5386, ptr @.str5387, ptr %t41)
- %t42 = call ptr @fn_emit_alloca(ptr @.str5388)
+ call void @fn_store_at(ptr @.str5420, ptr @.str5421, ptr %t41)
+ %t42 = call ptr @fn_emit_alloca(ptr @.str5422)
store ptr %t42, ptr %t43
%t44 = load ptr, ptr %t43
- call void @fn_store_at(ptr @.str5389, ptr @.str5390, ptr %t44)
- %t45 = call ptr @fn_emit_alloca(ptr @.str5391)
+ call void @fn_store_at(ptr @.str5423, ptr @.str5424, ptr %t44)
+ %t45 = call ptr @fn_emit_alloca(ptr @.str5425)
store ptr %t45, ptr %t46
%t47 = load ptr, ptr %t46
- call void @fn_store_at(ptr @.str5392, ptr @.str5393, ptr %t47)
- %t48 = call ptr @fn_emit_alloca(ptr @.str5394)
+ call void @fn_store_at(ptr @.str5426, ptr @.str5427, ptr %t47)
+ %t48 = call ptr @fn_emit_alloca(ptr @.str5428)
store ptr %t48, ptr %t49
%t50 = load ptr, ptr %t49
- call void @fn_store_at(ptr @.str5395, ptr @.str5396, ptr %t50)
- %t51 = call ptr @fn_emit_alloca(ptr @.str5397)
+ call void @fn_store_at(ptr @.str5429, ptr @.str5430, ptr %t50)
+ %t51 = call ptr @fn_emit_alloca(ptr @.str5431)
store ptr %t51, ptr %t52
%t53 = load ptr, ptr %t52
- call void @fn_store_at(ptr @.str5398, ptr @.str5399, ptr %t53)
- %t54 = call ptr @fn_emit_alloca(ptr @.str5400)
+ call void @fn_store_at(ptr @.str5432, ptr @.str5433, ptr %t53)
+ %t54 = call ptr @fn_emit_alloca(ptr @.str5434)
store ptr %t54, ptr %t55
%t56 = load ptr, ptr %t55
- call void @fn_store_at(ptr @.str5401, ptr @.str5402, ptr %t56)
+ call void @fn_store_at(ptr @.str5435, ptr @.str5436, ptr %t56)
store i32 0, ptr %t57
store i32 0, ptr %t58
br label %wcond3
@@ -55988,7 +56571,7 @@ wbody4:
%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 @.str5403, i32 4)
+ %t70 = call i32 @fn_dt_tok_at(ptr %t67, i32 %t68, i32 %t69, ptr @.str5437, i32 4)
%t71 = icmp ne i32 %t70, 0
br i1 %t71, label %then6, label %else7
then6:
@@ -56001,7 +56584,7 @@ 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 @.str5404, i32 2)
+ %t76 = call i32 @fn_dt_tok_at(ptr %t73, i32 %t74, i32 %t75, ptr @.str5438, i32 2)
%t77 = icmp ne i32 %t76, 0
br i1 %t77, label %then9, label %else10
then9:
@@ -56014,7 +56597,7 @@ 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 @.str5405, i32 2)
+ %t82 = call i32 @fn_dt_tok_at(ptr %t79, i32 %t80, i32 %t81, ptr @.str5439, i32 2)
%t83 = icmp ne i32 %t82, 0
br i1 %t83, label %then12, label %else13
then12:
@@ -56027,7 +56610,7 @@ 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 @.str5406, i32 2)
+ %t88 = call i32 @fn_dt_tok_at(ptr %t85, i32 %t86, i32 %t87, ptr @.str5440, i32 2)
%t89 = icmp ne i32 %t88, 0
br i1 %t89, label %then15, label %else16
then15:
@@ -56040,7 +56623,7 @@ 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 @.str5407, i32 2)
+ %t94 = call i32 @fn_dt_tok_at(ptr %t91, i32 %t92, i32 %t93, ptr @.str5441, i32 2)
%t95 = icmp ne i32 %t94, 0
br i1 %t95, label %then18, label %else19
then18:
@@ -56053,7 +56636,7 @@ 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 @.str5408, i32 2)
+ %t100 = call i32 @fn_dt_tok_at(ptr %t97, i32 %t98, i32 %t99, ptr @.str5442, i32 2)
%t101 = icmp ne i32 %t100, 0
br i1 %t101, label %then21, label %ifend23
then21:
@@ -56090,123 +56673,123 @@ else25:
%t111 = load ptr, ptr %t21
%t112 = getelementptr inbounds %Cmp_Val, ptr %t111, i32 0, i32 0
%t113 = load ptr, ptr %t112
- %t114 = call ptr @fn_str_concat(ptr @.str5409, ptr %t113)
- %t115 = call ptr @fn_str_concat(ptr %t114, ptr @.str5410)
+ %t114 = call ptr @lp_str_concat(ptr @.str5443, ptr %t113)
+ %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str5444)
%t116 = load i32, ptr %t57
%t117 = call ptr @fn_itoa(i32 %t116)
- %t118 = call ptr @fn_str_concat(ptr %t115, ptr %t117)
- %t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str5411)
+ %t118 = call ptr @lp_str_concat(ptr %t115, ptr %t117)
+ %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str5445)
%t120 = load i32, ptr %t65
- %t121 = call ptr @fn_int_str(i32 %t120)
- %t122 = call ptr @fn_str_concat(ptr %t119, ptr %t121)
- %t123 = call ptr @fn_str_concat(ptr %t122, ptr @.str5412)
+ %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 @.str5446)
%t124 = load ptr, ptr %t37
- %t125 = call ptr @fn_str_concat(ptr %t123, ptr %t124)
- %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str5413)
+ %t125 = call ptr @lp_str_concat(ptr %t123, ptr %t124)
+ %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str5447)
%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 @.str5414, ptr %t129, ptr %t130)
- %t131 = load i32, ptr %t57
- %t132 = load i32, ptr %t65
- %t133 = add i32 %t131, %t132
+ call void @fn_store_at(ptr @.str5448, 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 %t58
- %t135 = load i32, ptr %t66
- %t136 = add i32 %t134, %t135
+ %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 @fn_str_concat(ptr @.str5415, ptr %t137)
+ %t138 = call ptr @lp_str_concat(ptr @.str5449, ptr %t137)
%t139 = call ptr @fn_emit_bind(ptr %t138)
store ptr %t139, ptr %t140
%t141 = load ptr, ptr %t43
- %t142 = call ptr @fn_str_concat(ptr @.str5416, ptr %t141)
+ %t142 = call ptr @lp_str_concat(ptr @.str5450, ptr %t141)
%t143 = call ptr @fn_emit_bind(ptr %t142)
store ptr %t143, ptr %t144
%t145 = load ptr, ptr %t46
- %t146 = call ptr @fn_str_concat(ptr @.str5417, ptr %t145)
+ %t146 = call ptr @lp_str_concat(ptr @.str5451, ptr %t145)
%t147 = call ptr @fn_emit_bind(ptr %t146)
store ptr %t147, ptr %t148
%t149 = load ptr, ptr %t49
- %t150 = call ptr @fn_str_concat(ptr @.str5418, ptr %t149)
+ %t150 = call ptr @lp_str_concat(ptr @.str5452, ptr %t149)
%t151 = call ptr @fn_emit_bind(ptr %t150)
store ptr %t151, ptr %t152
%t153 = load ptr, ptr %t52
- %t154 = call ptr @fn_str_concat(ptr @.str5419, ptr %t153)
+ %t154 = call ptr @lp_str_concat(ptr @.str5453, ptr %t153)
%t155 = call ptr @fn_emit_bind(ptr %t154)
store ptr %t155, ptr %t156
%t157 = load ptr, ptr %t55
- %t158 = call ptr @fn_str_concat(ptr @.str5420, ptr %t157)
+ %t158 = call ptr @lp_str_concat(ptr @.str5454, ptr %t157)
%t159 = call ptr @fn_emit_bind(ptr %t158)
store ptr %t159, ptr %t160
%t161 = load ptr, ptr %t140
- %t162 = call ptr @fn_str_concat(ptr @.str5421, ptr %t161)
- %t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str5422)
+ %t162 = call ptr @lp_str_concat(ptr @.str5455, ptr %t161)
+ %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str5456)
%t164 = load ptr, ptr %t144
- %t165 = call ptr @fn_str_concat(ptr %t163, ptr %t164)
- %t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str5423)
+ %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164)
+ %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5457)
%t167 = load ptr, ptr %t148
- %t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167)
- %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str5424)
+ %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167)
+ %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str5458)
%t170 = call ptr @fn_emit_bind(ptr %t169)
store ptr %t170, ptr %t171
%t172 = load ptr, ptr %t171
- %t173 = call ptr @fn_str_concat(ptr @.str5425, ptr %t172)
- %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str5426)
+ %t173 = call ptr @lp_str_concat(ptr @.str5459, ptr %t172)
+ %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str5460)
%t175 = call ptr @fn_emit_bind(ptr %t174)
store ptr %t175, ptr %t176
%t177 = load ptr, ptr %t152
- %t178 = call ptr @fn_str_concat(ptr @.str5427, ptr %t177)
- %t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str5428)
+ %t178 = call ptr @lp_str_concat(ptr @.str5461, ptr %t177)
+ %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str5462)
%t180 = call ptr @fn_emit_bind(ptr %t179)
store ptr %t180, ptr %t181
%t182 = load ptr, ptr %t156
- %t183 = call ptr @fn_str_concat(ptr @.str5429, ptr %t182)
- %t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str5430)
+ %t183 = call ptr @lp_str_concat(ptr @.str5463, ptr %t182)
+ %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str5464)
%t185 = call ptr @fn_emit_bind(ptr %t184)
store ptr %t185, ptr %t186
%t187 = load ptr, ptr %t176
- %t188 = call ptr @fn_str_concat(ptr @.str5431, ptr %t187)
- %t189 = call ptr @fn_str_concat(ptr %t188, ptr @.str5432)
+ %t188 = call ptr @lp_str_concat(ptr @.str5465, ptr %t187)
+ %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str5466)
%t190 = load ptr, ptr %t181
- %t191 = call ptr @fn_str_concat(ptr %t189, ptr %t190)
+ %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 @fn_str_concat(ptr @.str5433, ptr %t194)
- %t196 = call ptr @fn_str_concat(ptr %t195, ptr @.str5434)
+ %t195 = call ptr @lp_str_concat(ptr @.str5467, ptr %t194)
+ %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str5468)
%t197 = load ptr, ptr %t186
- %t198 = call ptr @fn_str_concat(ptr %t196, ptr %t197)
+ %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 @fn_str_concat(ptr @.str5435, ptr %t201)
- %t203 = call ptr @fn_str_concat(ptr %t202, ptr @.str5436)
+ %t202 = call ptr @lp_str_concat(ptr @.str5469, ptr %t201)
+ %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str5470)
%t204 = load ptr, ptr %t160
- %t205 = call ptr @fn_str_concat(ptr %t203, ptr %t204)
+ %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 @fn_str_concat(ptr @.str5437, ptr %t208)
+ %t209 = call ptr @lp_str_concat(ptr @.str5471, ptr %t208)
%t210 = call ptr @fn_emit_bind(ptr %t209)
store ptr %t210, ptr %t211
%t212 = load ptr, ptr %t211
- %t213 = call ptr @fn_str_concat(ptr @.str5438, ptr %t212)
- %t214 = call ptr @fn_str_concat(ptr %t213, ptr @.str5439)
+ %t213 = call ptr @lp_str_concat(ptr @.str5472, ptr %t212)
+ %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str5473)
%t215 = call ptr @fn_emit_bind(ptr %t214)
store ptr %t215, ptr %t216
%t217 = load ptr, ptr %t216
- %t218 = call ptr @fn_str_concat(ptr @.str5440, ptr %t217)
- %t219 = call ptr @fn_str_concat(ptr %t218, ptr @.str5441)
+ %t218 = call ptr @lp_str_concat(ptr @.str5474, ptr %t217)
+ %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str5475)
%t220 = load ptr, ptr %t207
- %t221 = call ptr @fn_str_concat(ptr %t219, ptr %t220)
+ %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 @.str5442)
+ %t223 = call ptr @fn_val(ptr %t222, ptr @.str5476)
store ptr %t223, ptr %retval
br label %ret
ret:
@@ -56252,7 +56835,7 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5443)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5477)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -56262,7 +56845,7 @@ then0:
br label %ret
ifend2:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5444)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5478)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
@@ -56272,7 +56855,7 @@ then3:
br label %ret
ifend5:
%t12 = load ptr, ptr %t0
- %t13 = call i32 @fn_str_eq(ptr %t12, ptr @.str5445)
+ %t13 = call i32 @lp_str_eq(ptr %t12, ptr @.str5479)
%t14 = icmp ne i32 %t13, 0
br i1 %t14, label %then6, label %ifend8
then6:
@@ -56334,67 +56917,67 @@ then6:
%t69 = load ptr, ptr %t23
%t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0
%t71 = load ptr, ptr %t70
- %t72 = call ptr @fn_str_concat(ptr @.str5446, ptr %t71)
- %t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str5447)
+ %t72 = call ptr @lp_str_concat(ptr @.str5480, ptr %t71)
+ %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str5481)
%t74 = load ptr, ptr %t32
%t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0
%t76 = load ptr, ptr %t75
- %t77 = call ptr @fn_str_concat(ptr %t73, ptr %t76)
- %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str5448)
+ %t77 = call ptr @lp_str_concat(ptr %t73, ptr %t76)
+ %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str5482)
%t79 = load ptr, ptr %t41
%t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 0
%t81 = load ptr, ptr %t80
- %t82 = call ptr @fn_str_concat(ptr %t78, ptr %t81)
- %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str5449)
+ %t82 = call ptr @lp_str_concat(ptr %t78, ptr %t81)
+ %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5483)
%t84 = call ptr @fn_emit_bind(ptr %t83)
store ptr %t84, ptr %t85
%t86 = load ptr, ptr %t85
- %t87 = call ptr @fn_str_concat(ptr @.str5450, ptr %t86)
- %t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str5451)
+ %t87 = call ptr @lp_str_concat(ptr @.str5484, ptr %t86)
+ %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str5485)
%t89 = call ptr @fn_emit_bind(ptr %t88)
store ptr %t89, ptr %t90
%t91 = load ptr, ptr %t50
%t92 = getelementptr inbounds %Cmp_Val, ptr %t91, i32 0, i32 0
%t93 = load ptr, ptr %t92
- %t94 = call ptr @fn_str_concat(ptr @.str5452, ptr %t93)
- %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str5453)
+ %t94 = call ptr @lp_str_concat(ptr @.str5486, ptr %t93)
+ %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str5487)
%t96 = call ptr @fn_emit_bind(ptr %t95)
store ptr %t96, ptr %t97
%t98 = load ptr, ptr %t59
%t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0
%t100 = load ptr, ptr %t99
- %t101 = call ptr @fn_str_concat(ptr @.str5454, ptr %t100)
- %t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str5455)
+ %t101 = call ptr @lp_str_concat(ptr @.str5488, ptr %t100)
+ %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str5489)
%t103 = call ptr @fn_emit_bind(ptr %t102)
store ptr %t103, ptr %t104
%t105 = load ptr, ptr %t90
- %t106 = call ptr @fn_str_concat(ptr @.str5456, ptr %t105)
- %t107 = call ptr @fn_str_concat(ptr %t106, ptr @.str5457)
+ %t106 = call ptr @lp_str_concat(ptr @.str5490, ptr %t105)
+ %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str5491)
%t108 = load ptr, ptr %t97
- %t109 = call ptr @fn_str_concat(ptr %t107, ptr %t108)
+ %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 @fn_str_concat(ptr @.str5458, ptr %t112)
- %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str5459)
+ %t113 = call ptr @lp_str_concat(ptr @.str5492, ptr %t112)
+ %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5493)
%t115 = load ptr, ptr %t104
- %t116 = call ptr @fn_str_concat(ptr %t114, ptr %t115)
+ %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 @fn_str_concat(ptr @.str5460, ptr %t119)
- %t121 = call ptr @fn_str_concat(ptr %t120, ptr @.str5461)
+ %t120 = call ptr @lp_str_concat(ptr @.str5494, ptr %t119)
+ %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str5495)
%t122 = load ptr, ptr %t68
%t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0
%t124 = load ptr, ptr %t123
- %t125 = call ptr @fn_str_concat(ptr %t121, ptr %t124)
+ %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 @.str5462)
+ %t127 = call ptr @fn_val(ptr %t126, ptr @.str5496)
store ptr %t127, ptr %retval
br label %ret
ifend8:
%t128 = load ptr, ptr %t0
- %t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str5463)
+ %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str5497)
%t130 = icmp ne i32 %t129, 0
br i1 %t130, label %then9, label %ifend11
then9:
@@ -56411,12 +56994,12 @@ then9:
%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 @.str5464)
+ %t144 = call ptr @fn_val(ptr %t143, ptr @.str5498)
store ptr %t144, ptr %retval
br label %ret
ifend11:
%t145 = load ptr, ptr %t0
- %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str5465)
+ %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str5499)
%t147 = icmp ne i32 %t146, 0
br i1 %t147, label %then12, label %ifend14
then12:
@@ -56441,19 +57024,19 @@ then12:
%t166 = load ptr, ptr %t156
%t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0
%t168 = load ptr, ptr %t167
- %t169 = call ptr @fn_str_concat(ptr @.str5466, ptr %t168)
- %t170 = call ptr @fn_str_concat(ptr %t169, ptr @.str5467)
+ %t169 = call ptr @lp_str_concat(ptr @.str5500, ptr %t168)
+ %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str5501)
%t171 = load ptr, ptr %t165
%t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0
%t173 = load ptr, ptr %t172
- %t174 = call ptr @fn_str_concat(ptr %t170, ptr %t173)
+ %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 @.str5468)
+ %t176 = call ptr @fn_val(ptr %t175, ptr @.str5502)
store ptr %t176, ptr %retval
br label %ret
ifend14:
%t177 = load ptr, ptr %t0
- %t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str5469)
+ %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str5503)
%t179 = icmp ne i32 %t178, 0
br i1 %t179, label %then15, label %ifend17
then15:
@@ -56471,12 +57054,12 @@ then15:
%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 @.str5470)
+ %t194 = call ptr @fn_val(ptr %t193, ptr @.str5504)
store ptr %t194, ptr %retval
br label %ret
ifend17:
%t195 = load ptr, ptr %t0
- %t196 = call i32 @fn_str_eq(ptr %t195, ptr @.str5471)
+ %t196 = call i32 @lp_str_eq(ptr %t195, ptr @.str5505)
%t197 = icmp ne i32 %t196, 0
br i1 %t197, label %then18, label %ifend20
then18:
@@ -56494,12 +57077,12 @@ then18:
%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 @.str5472)
+ %t212 = call ptr @fn_val(ptr %t211, ptr @.str5506)
store ptr %t212, ptr %retval
br label %ret
ifend20:
%t213 = load ptr, ptr %t0
- %t214 = call i32 @fn_str_eq(ptr %t213, ptr @.str5473)
+ %t214 = call i32 @lp_str_eq(ptr %t213, ptr @.str5507)
%t215 = icmp ne i32 %t214, 0
br i1 %t215, label %then21, label %ifend23
then21:
@@ -56517,12 +57100,12 @@ then21:
%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 @.str5474)
+ %t230 = call ptr @fn_val(ptr %t229, ptr @.str5508)
store ptr %t230, ptr %retval
br label %ret
ifend23:
%t231 = load ptr, ptr %t0
- %t232 = call i32 @fn_str_eq(ptr %t231, ptr @.str5475)
+ %t232 = call i32 @lp_str_eq(ptr %t231, ptr @.str5509)
%t233 = icmp ne i32 %t232, 0
br i1 %t233, label %then24, label %ifend26
then24:
@@ -56541,30 +57124,30 @@ then24:
%t246 = call ptr @fn_dt_epochday(ptr %t245)
store ptr %t246, ptr %t247
%t248 = load ptr, ptr %t247
- %t249 = call ptr @fn_str_concat(ptr @.str5476, ptr %t248)
- %t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str5477)
+ %t249 = call ptr @lp_str_concat(ptr @.str5510, ptr %t248)
+ %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str5511)
%t251 = call ptr @fn_emit_bind(ptr %t250)
store ptr %t251, ptr %t252
%t253 = load ptr, ptr %t252
- %t254 = call ptr @fn_str_concat(ptr @.str5478, ptr %t253)
- %t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str5479)
+ %t254 = call ptr @lp_str_concat(ptr @.str5512, ptr %t253)
+ %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str5513)
%t256 = call ptr @fn_emit_bind(ptr %t255)
store ptr %t256, ptr %t257
%t258 = load ptr, ptr %t257
- %t259 = call ptr @fn_str_concat(ptr @.str5480, ptr %t258)
- %t260 = call ptr @fn_str_concat(ptr %t259, ptr @.str5481)
+ %t259 = call ptr @lp_str_concat(ptr @.str5514, ptr %t258)
+ %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str5515)
%t261 = call ptr @fn_emit_bind(ptr %t260)
store ptr %t261, ptr %t262
%t263 = load ptr, ptr %t262
- %t264 = call ptr @fn_str_concat(ptr @.str5482, ptr %t263)
- %t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str5483)
+ %t264 = call ptr @lp_str_concat(ptr @.str5516, ptr %t263)
+ %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str5517)
%t266 = call ptr @fn_emit_bind(ptr %t265)
- %t267 = call ptr @fn_val(ptr %t266, ptr @.str5484)
+ %t267 = call ptr @fn_val(ptr %t266, ptr @.str5518)
store ptr %t267, ptr %retval
br label %ret
ifend26:
%t268 = load ptr, ptr %t0
- %t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str5485)
+ %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str5519)
%t270 = icmp ne i32 %t269, 0
br i1 %t270, label %then27, label %ifend29
then27:
@@ -56583,15 +57166,15 @@ then27:
%t283 = call ptr @fn_dt_secofday(ptr %t282)
store ptr %t283, ptr %t284
%t285 = load ptr, ptr %t284
- %t286 = call ptr @fn_str_concat(ptr @.str5486, ptr %t285)
- %t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str5487)
+ %t286 = call ptr @lp_str_concat(ptr @.str5520, ptr %t285)
+ %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str5521)
%t288 = call ptr @fn_emit_bind(ptr %t287)
- %t289 = call ptr @fn_val(ptr %t288, ptr @.str5488)
+ %t289 = call ptr @fn_val(ptr %t288, ptr @.str5522)
store ptr %t289, ptr %retval
br label %ret
ifend29:
%t290 = load ptr, ptr %t0
- %t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str5489)
+ %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str5523)
%t292 = icmp ne i32 %t291, 0
br i1 %t292, label %then30, label %ifend32
then30:
@@ -56610,15 +57193,15 @@ then30:
%t305 = call ptr @fn_dt_secofday(ptr %t304)
store ptr %t305, ptr %t306
%t307 = load ptr, ptr %t306
- %t308 = call ptr @fn_str_concat(ptr @.str5490, ptr %t307)
- %t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str5491)
+ %t308 = call ptr @lp_str_concat(ptr @.str5524, ptr %t307)
+ %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str5525)
%t310 = call ptr @fn_emit_bind(ptr %t309)
store ptr %t310, ptr %t311
%t312 = load ptr, ptr %t311
- %t313 = call ptr @fn_str_concat(ptr @.str5492, ptr %t312)
- %t314 = call ptr @fn_str_concat(ptr %t313, ptr @.str5493)
+ %t313 = call ptr @lp_str_concat(ptr @.str5526, ptr %t312)
+ %t314 = call ptr @lp_str_concat(ptr %t313, ptr @.str5527)
%t315 = call ptr @fn_emit_bind(ptr %t314)
- %t316 = call ptr @fn_val(ptr %t315, ptr @.str5494)
+ %t316 = call ptr @fn_val(ptr %t315, ptr @.str5528)
store ptr %t316, ptr %retval
br label %ret
ifend32:
@@ -56637,10 +57220,10 @@ ifend32:
%t329 = call ptr @fn_dt_secofday(ptr %t328)
store ptr %t329, ptr %t330
%t331 = load ptr, ptr %t330
- %t332 = call ptr @fn_str_concat(ptr @.str5495, ptr %t331)
- %t333 = call ptr @fn_str_concat(ptr %t332, ptr @.str5496)
+ %t332 = call ptr @lp_str_concat(ptr @.str5529, ptr %t331)
+ %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str5530)
%t334 = call ptr @fn_emit_bind(ptr %t333)
- %t335 = call ptr @fn_val(ptr %t334, ptr @.str5497)
+ %t335 = call ptr @fn_val(ptr %t334, ptr @.str5531)
store ptr %t335, ptr %retval
br label %ret
ret:
@@ -56650,40 +57233,6 @@ ret:
define void @fn_emit_datetime_prelude() {
entry:
- call void @fn_emith(ptr @.str5498)
- call void @fn_emith(ptr @.str5499)
- call void @fn_emith(ptr @.str5500)
- call void @fn_emith(ptr @.str5501)
- call void @fn_emith(ptr @.str5502)
- call void @fn_emith(ptr @.str5503)
- call void @fn_emith(ptr @.str5504)
- call void @fn_emith(ptr @.str5505)
- call void @fn_emith(ptr @.str5506)
- call void @fn_emith(ptr @.str5507)
- call void @fn_emith(ptr @.str5508)
- call void @fn_emith(ptr @.str5509)
- call void @fn_emith(ptr @.str5510)
- call void @fn_emith(ptr @.str5511)
- call void @fn_emith(ptr @.str5512)
- call void @fn_emith(ptr @.str5513)
- call void @fn_emith(ptr @.str5514)
- call void @fn_emith(ptr @.str5515)
- call void @fn_emith(ptr @.str5516)
- call void @fn_emith(ptr @.str5517)
- call void @fn_emith(ptr @.str5518)
- call void @fn_emith(ptr @.str5519)
- call void @fn_emith(ptr @.str5520)
- call void @fn_emith(ptr @.str5521)
- call void @fn_emith(ptr @.str5522)
- call void @fn_emith(ptr @.str5523)
- call void @fn_emith(ptr @.str5524)
- call void @fn_emith(ptr @.str5525)
- call void @fn_emith(ptr @.str5526)
- call void @fn_emith(ptr @.str5527)
- call void @fn_emith(ptr @.str5528)
- call void @fn_emith(ptr @.str5529)
- call void @fn_emith(ptr @.str5530)
- call void @fn_emith(ptr @.str5531)
call void @fn_emith(ptr @.str5532)
call void @fn_emith(ptr @.str5533)
call void @fn_emith(ptr @.str5534)
@@ -56748,6 +57297,40 @@ entry:
call void @fn_emith(ptr @.str5593)
call void @fn_emith(ptr @.str5594)
call void @fn_emith(ptr @.str5595)
+ call void @fn_emith(ptr @.str5596)
+ call void @fn_emith(ptr @.str5597)
+ call void @fn_emith(ptr @.str5598)
+ call void @fn_emith(ptr @.str5599)
+ call void @fn_emith(ptr @.str5600)
+ call void @fn_emith(ptr @.str5601)
+ call void @fn_emith(ptr @.str5602)
+ call void @fn_emith(ptr @.str5603)
+ call void @fn_emith(ptr @.str5604)
+ call void @fn_emith(ptr @.str5605)
+ call void @fn_emith(ptr @.str5606)
+ call void @fn_emith(ptr @.str5607)
+ call void @fn_emith(ptr @.str5608)
+ call void @fn_emith(ptr @.str5609)
+ call void @fn_emith(ptr @.str5610)
+ call void @fn_emith(ptr @.str5611)
+ call void @fn_emith(ptr @.str5612)
+ call void @fn_emith(ptr @.str5613)
+ call void @fn_emith(ptr @.str5614)
+ call void @fn_emith(ptr @.str5615)
+ call void @fn_emith(ptr @.str5616)
+ call void @fn_emith(ptr @.str5617)
+ call void @fn_emith(ptr @.str5618)
+ call void @fn_emith(ptr @.str5619)
+ call void @fn_emith(ptr @.str5620)
+ call void @fn_emith(ptr @.str5621)
+ call void @fn_emith(ptr @.str5622)
+ call void @fn_emith(ptr @.str5623)
+ call void @fn_emith(ptr @.str5624)
+ call void @fn_emith(ptr @.str5625)
+ call void @fn_emith(ptr @.str5626)
+ call void @fn_emith(ptr @.str5627)
+ call void @fn_emith(ptr @.str5628)
+ call void @fn_emith(ptr @.str5629)
br label %ret
ret:
ret void
@@ -56762,14 +57345,14 @@ entry:
%t3 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5596)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str5630)
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t3
br i1 %t6, label %scend1, label %sc0
sc0:
%t8 = load ptr, ptr %t0
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str5597)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str5631)
%t10 = icmp ne i32 %t9, 0
%t11 = zext i1 %t10 to i32
store i32 %t11, ptr %t3
@@ -56782,7 +57365,7 @@ scend1:
br i1 %t13, label %scend3, label %sc2
sc2:
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str5598)
+ %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str5632)
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t2
@@ -56795,7 +57378,7 @@ scend3:
br i1 %t20, label %scend5, label %sc4
sc4:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5599)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5633)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
@@ -56827,27 +57410,27 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5600)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5634)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
- %t5 = call ptr @fn_emit_bind(ptr @.str5601)
- %t6 = call ptr @fn_val(ptr %t5, ptr @.str5602)
+ %t5 = call ptr @fn_emit_bind(ptr @.str5635)
+ %t6 = call ptr @fn_val(ptr %t5, ptr @.str5636)
store ptr %t6, ptr %retval
br label %ret
ifend2:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5603)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5637)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
- call void @fn_emit(ptr @.str5604)
- %t10 = call ptr @fn_val(ptr @.str5605, ptr @.str5606)
+ call void @fn_emit(ptr @.str5638)
+ %t10 = call ptr @fn_val(ptr @.str5639, ptr @.str5640)
store ptr %t10, ptr %retval
br label %ret
ifend5:
%t11 = load ptr, ptr %t0
- %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str5607)
+ %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str5641)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then6, label %ifend8
then6:
@@ -56863,10 +57446,10 @@ then6:
%t23 = load ptr, ptr %t22
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
%t25 = load ptr, ptr %t24
- %t26 = call ptr @fn_str_concat(ptr @.str5608, ptr %t25)
- %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str5609)
+ %t26 = call ptr @lp_str_concat(ptr @.str5642, ptr %t25)
+ %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5643)
call void @fn_emit(ptr %t27)
- %t28 = call ptr @fn_val(ptr @.str5610, ptr @.str5611)
+ %t28 = call ptr @fn_val(ptr @.str5644, ptr @.str5645)
store ptr %t28, ptr %retval
br label %ret
ifend8:
@@ -56879,22 +57462,22 @@ ifend8:
%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 @.str5612)
+ %t38 = call ptr @fn_emit_bind(ptr @.str5646)
store ptr %t38, ptr %t39
%t40 = load ptr, ptr %t39
- %t41 = call ptr @fn_str_concat(ptr @.str5613, ptr %t40)
- %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str5614)
+ %t41 = call ptr @lp_str_concat(ptr @.str5647, ptr %t40)
+ %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5648)
%t43 = load ptr, ptr %t37
%t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0
%t45 = load ptr, ptr %t44
- %t46 = call ptr @fn_str_concat(ptr %t42, ptr %t45)
+ %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 @fn_str_concat(ptr @.str5615, ptr %t49)
- %t51 = call ptr @fn_str_concat(ptr %t50, ptr @.str5616)
+ %t50 = call ptr @lp_str_concat(ptr @.str5649, ptr %t49)
+ %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str5650)
call void @fn_emit(ptr %t51)
- %t52 = call ptr @fn_val(ptr @.str5617, ptr @.str5618)
+ %t52 = call ptr @fn_val(ptr @.str5651, ptr @.str5652)
store ptr %t52, ptr %retval
br label %ret
ret:
@@ -56912,14 +57495,14 @@ entry:
%t21 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str5619)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str5653)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5620)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5654)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
@@ -56932,7 +57515,7 @@ scend1:
br i1 %t12, label %scend3, label %sc2
sc2:
%t14 = load ptr, ptr %t0
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str5621)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str5655)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
@@ -56946,14 +57529,14 @@ then4:
br label %ret
ifend6:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5622)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5656)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t21
br i1 %t24, label %scend8, label %sc7
sc7:
%t26 = load ptr, ptr %t0
- %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str5623)
+ %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str5657)
%t28 = icmp ne i32 %t27, 0
%t29 = zext i1 %t28 to i32
store i32 %t29, ptr %t21
@@ -56966,7 +57549,7 @@ scend8:
br i1 %t31, label %scend10, label %sc9
sc9:
%t33 = load ptr, ptr %t0
- %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str5624)
+ %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str5658)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t20
@@ -56995,15 +57578,15 @@ entry:
store ptr %arg_c, ptr %t0
store ptr %arg_shift, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call ptr @fn_str_concat(ptr @.str5625, ptr %t2)
- %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str5626)
+ %t3 = call ptr @lp_str_concat(ptr @.str5659, ptr %t2)
+ %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5660)
%t5 = load ptr, ptr %t1
- %t6 = call ptr @fn_str_concat(ptr %t4, ptr %t5)
+ %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 @fn_str_concat(ptr @.str5627, ptr %t9)
- %t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str5628)
+ %t10 = call ptr @lp_str_concat(ptr @.str5661, ptr %t9)
+ %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str5662)
%t12 = call ptr @fn_emit_bind(ptr %t11)
store ptr %t12, ptr %retval
br label %ret
@@ -57025,27 +57608,27 @@ entry:
store ptr %arg_g, ptr %t1
store ptr %arg_b, ptr %t2
%t3 = load ptr, ptr %t0
- %t4 = call ptr @fn_str_concat(ptr @.str5629, ptr %t3)
- %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5630)
+ %t4 = call ptr @lp_str_concat(ptr @.str5663, ptr %t3)
+ %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5664)
%t6 = call ptr @fn_emit_bind(ptr %t5)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t1
- %t9 = call ptr @fn_str_concat(ptr @.str5631, ptr %t8)
- %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str5632)
+ %t9 = call ptr @lp_str_concat(ptr @.str5665, ptr %t8)
+ %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str5666)
%t11 = call ptr @fn_emit_bind(ptr %t10)
store ptr %t11, ptr %t12
%t13 = load ptr, ptr %t7
- %t14 = call ptr @fn_str_concat(ptr @.str5633, ptr %t13)
- %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str5634)
+ %t14 = call ptr @lp_str_concat(ptr @.str5667, ptr %t13)
+ %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5668)
%t16 = load ptr, ptr %t12
- %t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16)
+ %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 @fn_str_concat(ptr @.str5635, ptr %t20)
- %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str5636)
+ %t21 = call ptr @lp_str_concat(ptr @.str5669, ptr %t20)
+ %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str5670)
%t23 = load ptr, ptr %t2
- %t24 = call ptr @fn_str_concat(ptr %t22, ptr %t23)
+ %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
@@ -57067,29 +57650,29 @@ entry:
store ptr %arg_ch1, ptr %t1
store ptr %arg_t, ptr %t2
%t3 = load ptr, ptr %t1
- %t4 = call ptr @fn_str_concat(ptr @.str5637, ptr %t3)
- %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5638)
+ %t4 = call ptr @lp_str_concat(ptr @.str5671, ptr %t3)
+ %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5672)
%t6 = load ptr, ptr %t0
- %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
+ %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 @fn_str_concat(ptr @.str5639, ptr %t10)
- %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str5640)
+ %t11 = call ptr @lp_str_concat(ptr @.str5673, ptr %t10)
+ %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5674)
%t13 = load ptr, ptr %t2
- %t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
+ %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 @fn_str_concat(ptr @.str5641, ptr %t17)
- %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str5642)
+ %t18 = call ptr @lp_str_concat(ptr @.str5675, ptr %t17)
+ %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str5676)
%t20 = call ptr @fn_emit_bind(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t0
- %t23 = call ptr @fn_str_concat(ptr @.str5643, ptr %t22)
- %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str5644)
+ %t23 = call ptr @lp_str_concat(ptr @.str5677, ptr %t22)
+ %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str5678)
%t25 = load ptr, ptr %t21
- %t26 = call ptr @fn_str_concat(ptr %t24, ptr %t25)
+ %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
@@ -57154,7 +57737,7 @@ entry:
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5645)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5679)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -57195,12 +57778,12 @@ then0:
%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 @.str5646)
+ %t42 = call ptr @fn_val(ptr %t41, ptr @.str5680)
store ptr %t42, ptr %retval
br label %ret
ifend2:
%t43 = load ptr, ptr %t0
- %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str5647)
+ %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str5681)
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then3, label %ifend5
then3:
@@ -57254,22 +57837,22 @@ then3:
%t93 = load ptr, ptr %t81
%t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0
%t95 = load ptr, ptr %t94
- %t96 = call ptr @fn_str_concat(ptr @.str5648, ptr %t95)
- %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str5649)
+ %t96 = call ptr @lp_str_concat(ptr @.str5682, ptr %t95)
+ %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str5683)
%t98 = call ptr @fn_emit_bind(ptr %t97)
store ptr %t98, ptr %t99
%t100 = load ptr, ptr %t92
- %t101 = call ptr @fn_str_concat(ptr @.str5650, ptr %t100)
- %t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str5651)
+ %t101 = call ptr @lp_str_concat(ptr @.str5684, ptr %t100)
+ %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str5685)
%t103 = load ptr, ptr %t99
- %t104 = call ptr @fn_str_concat(ptr %t102, ptr %t103)
+ %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 @.str5652)
+ %t106 = call ptr @fn_val(ptr %t105, ptr @.str5686)
store ptr %t106, ptr %retval
br label %ret
ifend5:
%t107 = load ptr, ptr %t0
- %t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str5653)
+ %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str5687)
%t109 = icmp ne i32 %t108, 0
br i1 %t109, label %then6, label %ifend8
then6:
@@ -57294,29 +57877,29 @@ then6:
%t128 = load ptr, ptr %t118
%t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0
%t130 = load ptr, ptr %t129
- %t131 = call ptr @fn_str_concat(ptr @.str5654, ptr %t130)
- %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str5655)
+ %t131 = call ptr @lp_str_concat(ptr @.str5688, ptr %t130)
+ %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str5689)
%t133 = call ptr @fn_emit_bind(ptr %t132)
store ptr %t133, ptr %t134
%t135 = load ptr, ptr %t127
%t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0
%t137 = load ptr, ptr %t136
- %t138 = call ptr @fn_str_concat(ptr @.str5656, ptr %t137)
- %t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str5657)
+ %t138 = call ptr @lp_str_concat(ptr @.str5690, ptr %t137)
+ %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str5691)
%t140 = call ptr @fn_emit_bind(ptr %t139)
store ptr %t140, ptr %t141
%t142 = load ptr, ptr %t134
- %t143 = call ptr @fn_str_concat(ptr @.str5658, ptr %t142)
- %t144 = call ptr @fn_str_concat(ptr %t143, ptr @.str5659)
+ %t143 = call ptr @lp_str_concat(ptr @.str5692, ptr %t142)
+ %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str5693)
%t145 = load ptr, ptr %t141
- %t146 = call ptr @fn_str_concat(ptr %t144, ptr %t145)
+ %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 @.str5660)
+ %t148 = call ptr @fn_val(ptr %t147, ptr @.str5694)
store ptr %t148, ptr %retval
br label %ret
ifend8:
%t149 = load ptr, ptr %t0
- %t150 = call i32 @fn_str_eq(ptr %t149, ptr @.str5661)
+ %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str5695)
%t151 = icmp ne i32 %t150, 0
br i1 %t151, label %then9, label %ifend11
then9:
@@ -57350,11 +57933,11 @@ then9:
%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 @.str5662)
+ %t182 = call ptr @fn_color_ch(ptr %t181, ptr @.str5696)
%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 @.str5663)
+ %t186 = call ptr @fn_color_ch(ptr %t185, ptr @.str5697)
%t187 = load ptr, ptr %t178
%t188 = getelementptr inbounds %Cmp_Val, ptr %t187, i32 0, i32 0
%t189 = load ptr, ptr %t188
@@ -57363,11 +57946,11 @@ then9:
%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 @.str5664)
+ %t195 = call ptr @fn_color_ch(ptr %t194, ptr @.str5698)
%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 @.str5665)
+ %t199 = call ptr @fn_color_ch(ptr %t198, ptr @.str5699)
%t200 = load ptr, ptr %t178
%t201 = getelementptr inbounds %Cmp_Val, ptr %t200, i32 0, i32 0
%t202 = load ptr, ptr %t201
@@ -57376,11 +57959,11 @@ then9:
%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 @.str5666)
+ %t208 = call ptr @fn_color_ch(ptr %t207, ptr @.str5700)
%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 @.str5667)
+ %t212 = call ptr @fn_color_ch(ptr %t211, ptr @.str5701)
%t213 = load ptr, ptr %t178
%t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0
%t215 = load ptr, ptr %t214
@@ -57390,12 +57973,12 @@ then9:
%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 @.str5668)
+ %t222 = call ptr @fn_val(ptr %t221, ptr @.str5702)
store ptr %t222, ptr %retval
br label %ret
ifend11:
%t223 = load ptr, ptr %t0
- %t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str5669)
+ %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str5703)
%t225 = icmp ne i32 %t224, 0
br i1 %t225, label %then12, label %ifend14
then12:
@@ -57420,65 +58003,65 @@ then12:
%t244 = load ptr, ptr %t243
%t245 = getelementptr inbounds %Cmp_Val, ptr %t244, i32 0, i32 0
%t246 = load ptr, ptr %t245
- %t247 = call ptr @fn_str_concat(ptr @.str5670, ptr %t246)
+ %t247 = call ptr @lp_str_concat(ptr @.str5704, 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 @.str5671)
+ %t253 = call ptr @fn_color_ch(ptr %t252, ptr @.str5705)
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 @.str5672)
+ %t258 = call ptr @fn_color_ch(ptr %t257, ptr @.str5706)
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 @.str5673)
+ %t263 = call ptr @fn_color_ch(ptr %t262, ptr @.str5707)
store ptr %t263, ptr %t264
%t265 = load ptr, ptr %t254
- %t266 = call ptr @fn_str_concat(ptr @.str5674, ptr %t265)
- %t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str5675)
+ %t266 = call ptr @lp_str_concat(ptr @.str5708, ptr %t265)
+ %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str5709)
%t268 = load ptr, ptr %t249
- %t269 = call ptr @fn_str_concat(ptr %t267, ptr %t268)
+ %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 @fn_str_concat(ptr @.str5676, ptr %t272)
- %t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str5677)
+ %t273 = call ptr @lp_str_concat(ptr @.str5710, ptr %t272)
+ %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str5711)
%t275 = call ptr @fn_emit_bind(ptr %t274)
store ptr %t275, ptr %t276
%t277 = load ptr, ptr %t259
- %t278 = call ptr @fn_str_concat(ptr @.str5678, ptr %t277)
- %t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str5679)
+ %t278 = call ptr @lp_str_concat(ptr @.str5712, ptr %t277)
+ %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str5713)
%t280 = load ptr, ptr %t249
- %t281 = call ptr @fn_str_concat(ptr %t279, ptr %t280)
+ %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 @fn_str_concat(ptr @.str5680, ptr %t284)
- %t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str5681)
+ %t285 = call ptr @lp_str_concat(ptr @.str5714, ptr %t284)
+ %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str5715)
%t287 = call ptr @fn_emit_bind(ptr %t286)
store ptr %t287, ptr %t288
%t289 = load ptr, ptr %t264
- %t290 = call ptr @fn_str_concat(ptr @.str5682, ptr %t289)
- %t291 = call ptr @fn_str_concat(ptr %t290, ptr @.str5683)
+ %t290 = call ptr @lp_str_concat(ptr @.str5716, ptr %t289)
+ %t291 = call ptr @lp_str_concat(ptr %t290, ptr @.str5717)
%t292 = load ptr, ptr %t249
- %t293 = call ptr @fn_str_concat(ptr %t291, ptr %t292)
+ %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 @fn_str_concat(ptr @.str5684, ptr %t296)
- %t298 = call ptr @fn_str_concat(ptr %t297, ptr @.str5685)
+ %t297 = call ptr @lp_str_concat(ptr @.str5718, ptr %t296)
+ %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str5719)
%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 @.str5686)
+ %t305 = call ptr @fn_val(ptr %t304, ptr @.str5720)
store ptr %t305, ptr %retval
br label %ret
ifend14:
@@ -57503,98 +58086,98 @@ ifend14:
%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 @.str5687)
+ %t327 = call ptr @fn_color_ch(ptr %t326, ptr @.str5721)
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 @.str5688)
+ %t332 = call ptr @fn_color_ch(ptr %t331, ptr @.str5722)
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 @.str5689)
+ %t337 = call ptr @fn_color_ch(ptr %t336, ptr @.str5723)
store ptr %t337, ptr %t338
%t339 = load ptr, ptr %t328
- %t340 = call ptr @fn_str_concat(ptr @.str5690, ptr %t339)
+ %t340 = call ptr @lp_str_concat(ptr @.str5724, ptr %t339)
%t341 = call ptr @fn_emit_bind(ptr %t340)
store ptr %t341, ptr %t342
%t343 = load ptr, ptr %t342
- %t344 = call ptr @fn_str_concat(ptr @.str5691, ptr %t343)
- %t345 = call ptr @fn_str_concat(ptr %t344, ptr @.str5692)
+ %t344 = call ptr @lp_str_concat(ptr @.str5725, ptr %t343)
+ %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str5726)
%t346 = load ptr, ptr %t323
%t347 = getelementptr inbounds %Cmp_Val, ptr %t346, i32 0, i32 0
%t348 = load ptr, ptr %t347
- %t349 = call ptr @fn_str_concat(ptr %t345, ptr %t348)
+ %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 @fn_str_concat(ptr @.str5693, ptr %t352)
- %t354 = call ptr @fn_str_concat(ptr %t353, ptr @.str5694)
+ %t353 = call ptr @lp_str_concat(ptr @.str5727, ptr %t352)
+ %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str5728)
%t355 = call ptr @fn_emit_bind(ptr %t354)
store ptr %t355, ptr %t356
%t357 = load ptr, ptr %t328
- %t358 = call ptr @fn_str_concat(ptr @.str5695, ptr %t357)
- %t359 = call ptr @fn_str_concat(ptr %t358, ptr @.str5696)
+ %t358 = call ptr @lp_str_concat(ptr @.str5729, ptr %t357)
+ %t359 = call ptr @lp_str_concat(ptr %t358, ptr @.str5730)
%t360 = load ptr, ptr %t356
- %t361 = call ptr @fn_str_concat(ptr %t359, ptr %t360)
+ %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 @fn_str_concat(ptr @.str5697, ptr %t364)
+ %t365 = call ptr @lp_str_concat(ptr @.str5731, ptr %t364)
%t366 = call ptr @fn_emit_bind(ptr %t365)
store ptr %t366, ptr %t367
%t368 = load ptr, ptr %t367
- %t369 = call ptr @fn_str_concat(ptr @.str5698, ptr %t368)
- %t370 = call ptr @fn_str_concat(ptr %t369, ptr @.str5699)
+ %t369 = call ptr @lp_str_concat(ptr @.str5732, ptr %t368)
+ %t370 = call ptr @lp_str_concat(ptr %t369, ptr @.str5733)
%t371 = load ptr, ptr %t323
%t372 = getelementptr inbounds %Cmp_Val, ptr %t371, i32 0, i32 0
%t373 = load ptr, ptr %t372
- %t374 = call ptr @fn_str_concat(ptr %t370, ptr %t373)
+ %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 @fn_str_concat(ptr @.str5700, ptr %t377)
- %t379 = call ptr @fn_str_concat(ptr %t378, ptr @.str5701)
+ %t378 = call ptr @lp_str_concat(ptr @.str5734, ptr %t377)
+ %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str5735)
%t380 = call ptr @fn_emit_bind(ptr %t379)
store ptr %t380, ptr %t381
%t382 = load ptr, ptr %t333
- %t383 = call ptr @fn_str_concat(ptr @.str5702, ptr %t382)
- %t384 = call ptr @fn_str_concat(ptr %t383, ptr @.str5703)
+ %t383 = call ptr @lp_str_concat(ptr @.str5736, ptr %t382)
+ %t384 = call ptr @lp_str_concat(ptr %t383, ptr @.str5737)
%t385 = load ptr, ptr %t381
- %t386 = call ptr @fn_str_concat(ptr %t384, ptr %t385)
+ %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 @fn_str_concat(ptr @.str5704, ptr %t389)
+ %t390 = call ptr @lp_str_concat(ptr @.str5738, ptr %t389)
%t391 = call ptr @fn_emit_bind(ptr %t390)
store ptr %t391, ptr %t392
%t393 = load ptr, ptr %t392
- %t394 = call ptr @fn_str_concat(ptr @.str5705, ptr %t393)
- %t395 = call ptr @fn_str_concat(ptr %t394, ptr @.str5706)
+ %t394 = call ptr @lp_str_concat(ptr @.str5739, ptr %t393)
+ %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str5740)
%t396 = load ptr, ptr %t323
%t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0
%t398 = load ptr, ptr %t397
- %t399 = call ptr @fn_str_concat(ptr %t395, ptr %t398)
+ %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 @fn_str_concat(ptr @.str5707, ptr %t402)
- %t404 = call ptr @fn_str_concat(ptr %t403, ptr @.str5708)
+ %t403 = call ptr @lp_str_concat(ptr @.str5741, ptr %t402)
+ %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str5742)
%t405 = call ptr @fn_emit_bind(ptr %t404)
store ptr %t405, ptr %t406
%t407 = load ptr, ptr %t338
- %t408 = call ptr @fn_str_concat(ptr @.str5709, ptr %t407)
- %t409 = call ptr @fn_str_concat(ptr %t408, ptr @.str5710)
+ %t408 = call ptr @lp_str_concat(ptr @.str5743, ptr %t407)
+ %t409 = call ptr @lp_str_concat(ptr %t408, ptr @.str5744)
%t410 = load ptr, ptr %t406
- %t411 = call ptr @fn_str_concat(ptr %t409, ptr %t410)
+ %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 @.str5711)
+ %t418 = call ptr @fn_val(ptr %t417, ptr @.str5745)
store ptr %t418, ptr %retval
br label %ret
ret:
@@ -57608,7 +58191,7 @@ entry:
%t0 = alloca ptr
store ptr %arg_name, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str5712)
+ %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str5746)
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then0, label %ifend2
then0:
@@ -57616,7 +58199,7 @@ then0:
br label %ret
ifend2:
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5713)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str5747)
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then3, label %ifend5
then3:
@@ -57624,7 +58207,7 @@ then3:
br label %ret
ifend5:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5714)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5748)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then6, label %ifend8
then6:
@@ -57632,7 +58215,7 @@ then6:
br label %ret
ifend8:
%t10 = load ptr, ptr %t0
- %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str5715)
+ %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str5749)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then9, label %ifend11
then9:
@@ -57640,7 +58223,7 @@ then9:
br label %ret
ifend11:
%t13 = load ptr, ptr %t0
- %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str5716)
+ %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str5750)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then12, label %ifend14
then12:
@@ -57648,7 +58231,7 @@ then12:
br label %ret
ifend14:
%t16 = load ptr, ptr %t0
- %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str5717)
+ %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str5751)
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then15, label %ifend17
then15:
@@ -57656,7 +58239,7 @@ then15:
br label %ret
ifend17:
%t19 = load ptr, ptr %t0
- %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str5718)
+ %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str5752)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then18, label %ifend20
then18:
@@ -57664,7 +58247,7 @@ then18:
br label %ret
ifend20:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5719)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5753)
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then21, label %ifend23
then21:
@@ -57672,7 +58255,7 @@ then21:
br label %ret
ifend23:
%t25 = load ptr, ptr %t0
- %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str5720)
+ %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str5754)
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then24, label %ifend26
then24:
@@ -57680,7 +58263,7 @@ then24:
br label %ret
ifend26:
%t28 = load ptr, ptr %t0
- %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str5721)
+ %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str5755)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then27, label %ifend29
then27:
@@ -57688,7 +58271,7 @@ then27:
br label %ret
ifend29:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str5722)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str5756)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then30, label %ifend32
then30:
@@ -57696,7 +58279,7 @@ then30:
br label %ret
ifend32:
%t34 = load ptr, ptr %t0
- %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str5723)
+ %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str5757)
%t36 = icmp ne i32 %t35, 0
br i1 %t36, label %then33, label %ifend35
then33:
@@ -57704,7 +58287,7 @@ then33:
br label %ret
ifend35:
%t37 = load ptr, ptr %t0
- %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str5724)
+ %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str5758)
%t39 = icmp ne i32 %t38, 0
br i1 %t39, label %then36, label %ifend38
then36:
@@ -57712,7 +58295,7 @@ then36:
br label %ret
ifend38:
%t40 = load ptr, ptr %t0
- %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str5725)
+ %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str5759)
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then39, label %ifend41
then39:
@@ -57720,7 +58303,7 @@ then39:
br label %ret
ifend41:
%t43 = load ptr, ptr %t0
- %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str5726)
+ %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str5760)
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then42, label %ifend44
then42:
@@ -57728,7 +58311,7 @@ then42:
br label %ret
ifend44:
%t46 = load ptr, ptr %t0
- %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str5727)
+ %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str5761)
%t48 = icmp ne i32 %t47, 0
br i1 %t48, label %then45, label %ifend47
then45:
@@ -57736,7 +58319,7 @@ then45:
br label %ret
ifend47:
%t49 = load ptr, ptr %t0
- %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5728)
+ %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str5762)
%t51 = icmp ne i32 %t50, 0
br i1 %t51, label %then48, label %ifend50
then48:
@@ -57744,7 +58327,7 @@ then48:
br label %ret
ifend50:
%t52 = load ptr, ptr %t0
- %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str5729)
+ %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str5763)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then51, label %ifend53
then51:
@@ -57752,7 +58335,7 @@ then51:
br label %ret
ifend53:
%t55 = load ptr, ptr %t0
- %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str5730)
+ %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str5764)
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then54, label %ifend56
then54:
@@ -57760,7 +58343,7 @@ then54:
br label %ret
ifend56:
%t58 = load ptr, ptr %t0
- %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str5731)
+ %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str5765)
%t60 = icmp ne i32 %t59, 0
br i1 %t60, label %then57, label %ifend59
then57:
@@ -57768,7 +58351,7 @@ then57:
br label %ret
ifend59:
%t61 = load ptr, ptr %t0
- %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str5732)
+ %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str5766)
%t63 = icmp ne i32 %t62, 0
br i1 %t63, label %then60, label %ifend62
then60:
@@ -57776,7 +58359,7 @@ then60:
br label %ret
ifend62:
%t64 = load ptr, ptr %t0
- %t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str5733)
+ %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str5767)
%t66 = icmp ne i32 %t65, 0
br i1 %t66, label %then63, label %ifend65
then63:
@@ -57784,7 +58367,7 @@ then63:
br label %ret
ifend65:
%t67 = load ptr, ptr %t0
- %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str5734)
+ %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str5768)
%t69 = icmp ne i32 %t68, 0
br i1 %t69, label %then66, label %ifend68
then66:
@@ -57792,7 +58375,7 @@ then66:
br label %ret
ifend68:
%t70 = load ptr, ptr %t0
- %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str5735)
+ %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str5769)
%t72 = icmp ne i32 %t71, 0
br i1 %t72, label %then69, label %ifend71
then69:
@@ -57800,7 +58383,7 @@ then69:
br label %ret
ifend71:
%t73 = load ptr, ptr %t0
- %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str5736)
+ %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str5770)
%t75 = icmp ne i32 %t74, 0
br i1 %t75, label %then72, label %ifend74
then72:
@@ -57808,7 +58391,7 @@ then72:
br label %ret
ifend74:
%t76 = load ptr, ptr %t0
- %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str5737)
+ %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str5771)
%t78 = icmp ne i32 %t77, 0
br i1 %t78, label %then75, label %ifend77
then75:
@@ -57816,7 +58399,7 @@ then75:
br label %ret
ifend77:
%t79 = load ptr, ptr %t0
- %t80 = call i32 @fn_str_eq(ptr %t79, ptr @.str5738)
+ %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str5772)
%t81 = icmp ne i32 %t80, 0
br i1 %t81, label %then78, label %ifend80
then78:
@@ -57824,7 +58407,7 @@ then78:
br label %ret
ifend80:
%t82 = load ptr, ptr %t0
- %t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str5739)
+ %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str5773)
%t84 = icmp ne i32 %t83, 0
br i1 %t84, label %then81, label %ifend83
then81:
@@ -57832,7 +58415,7 @@ then81:
br label %ret
ifend83:
%t85 = load ptr, ptr %t0
- %t86 = call i32 @fn_str_eq(ptr %t85, ptr @.str5740)
+ %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str5774)
%t87 = icmp ne i32 %t86, 0
br i1 %t87, label %then84, label %ifend86
then84:
@@ -57840,7 +58423,7 @@ then84:
br label %ret
ifend86:
%t88 = load ptr, ptr %t0
- %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str5741)
+ %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str5775)
%t90 = icmp ne i32 %t89, 0
br i1 %t90, label %then87, label %ifend89
then87:
@@ -57848,7 +58431,7 @@ then87:
br label %ret
ifend89:
%t91 = load ptr, ptr %t0
- %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str5742)
+ %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str5776)
%t93 = icmp ne i32 %t92, 0
br i1 %t93, label %then90, label %ifend92
then90:
@@ -57856,7 +58439,7 @@ then90:
br label %ret
ifend92:
%t94 = load ptr, ptr %t0
- %t95 = call i32 @fn_str_eq(ptr %t94, ptr @.str5743)
+ %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str5777)
%t96 = icmp ne i32 %t95, 0
br i1 %t96, label %then93, label %ifend95
then93:
@@ -57864,7 +58447,7 @@ then93:
br label %ret
ifend95:
%t97 = load ptr, ptr %t0
- %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str5744)
+ %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str5778)
%t99 = icmp ne i32 %t98, 0
br i1 %t99, label %then96, label %ifend98
then96:
@@ -57872,7 +58455,7 @@ then96:
br label %ret
ifend98:
%t100 = load ptr, ptr %t0
- %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str5745)
+ %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str5779)
%t102 = icmp ne i32 %t101, 0
br i1 %t102, label %then99, label %ifend101
then99:
@@ -57880,7 +58463,7 @@ then99:
br label %ret
ifend101:
%t103 = load ptr, ptr %t0
- %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str5746)
+ %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str5780)
%t105 = icmp ne i32 %t104, 0
br i1 %t105, label %then102, label %ifend104
then102:
@@ -57888,7 +58471,7 @@ then102:
br label %ret
ifend104:
%t106 = load ptr, ptr %t0
- %t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str5747)
+ %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str5781)
%t108 = icmp ne i32 %t107, 0
br i1 %t108, label %then105, label %ifend107
then105:
@@ -57896,7 +58479,7 @@ then105:
br label %ret
ifend107:
%t109 = load ptr, ptr %t0
- %t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str5748)
+ %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str5782)
%t111 = icmp ne i32 %t110, 0
br i1 %t111, label %then108, label %ifend110
then108:
@@ -57904,7 +58487,7 @@ then108:
br label %ret
ifend110:
%t112 = load ptr, ptr %t0
- %t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str5749)
+ %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str5783)
%t114 = icmp ne i32 %t113, 0
br i1 %t114, label %then111, label %ifend113
then111:
@@ -57912,7 +58495,7 @@ then111:
br label %ret
ifend113:
%t115 = load ptr, ptr %t0
- %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str5750)
+ %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str5784)
%t117 = icmp ne i32 %t116, 0
br i1 %t117, label %then114, label %ifend116
then114:
@@ -57920,7 +58503,7 @@ then114:
br label %ret
ifend116:
%t118 = load ptr, ptr %t0
- %t119 = call i32 @fn_str_eq(ptr %t118, ptr @.str5751)
+ %t119 = call i32 @lp_str_eq(ptr %t118, ptr @.str5785)
%t120 = icmp ne i32 %t119, 0
br i1 %t120, label %then117, label %ifend119
then117:
@@ -57928,7 +58511,7 @@ then117:
br label %ret
ifend119:
%t121 = load ptr, ptr %t0
- %t122 = call i32 @fn_str_eq(ptr %t121, ptr @.str5752)
+ %t122 = call i32 @lp_str_eq(ptr %t121, ptr @.str5786)
%t123 = icmp ne i32 %t122, 0
br i1 %t123, label %then120, label %ifend122
then120:
@@ -57936,7 +58519,7 @@ then120:
br label %ret
ifend122:
%t124 = load ptr, ptr %t0
- %t125 = call i32 @fn_str_eq(ptr %t124, ptr @.str5753)
+ %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str5787)
%t126 = icmp ne i32 %t125, 0
br i1 %t126, label %then123, label %ifend125
then123:
@@ -57944,7 +58527,7 @@ then123:
br label %ret
ifend125:
%t127 = load ptr, ptr %t0
- %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str5754)
+ %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str5788)
%t129 = icmp ne i32 %t128, 0
br i1 %t129, label %then126, label %ifend128
then126:
@@ -57952,7 +58535,7 @@ then126:
br label %ret
ifend128:
%t130 = load ptr, ptr %t0
- %t131 = call i32 @fn_str_eq(ptr %t130, ptr @.str5755)
+ %t131 = call i32 @lp_str_eq(ptr %t130, ptr @.str5789)
%t132 = icmp ne i32 %t131, 0
br i1 %t132, label %then129, label %ifend131
then129:
@@ -57960,7 +58543,7 @@ then129:
br label %ret
ifend131:
%t133 = load ptr, ptr %t0
- %t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str5756)
+ %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str5790)
%t135 = icmp ne i32 %t134, 0
br i1 %t135, label %then132, label %ifend134
then132:
@@ -57968,7 +58551,7 @@ then132:
br label %ret
ifend134:
%t136 = load ptr, ptr %t0
- %t137 = call i32 @fn_str_eq(ptr %t136, ptr @.str5757)
+ %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str5791)
%t138 = icmp ne i32 %t137, 0
br i1 %t138, label %then135, label %ifend137
then135:
@@ -57976,7 +58559,7 @@ then135:
br label %ret
ifend137:
%t139 = load ptr, ptr %t0
- %t140 = call i32 @fn_str_eq(ptr %t139, ptr @.str5758)
+ %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str5792)
%t141 = icmp ne i32 %t140, 0
br i1 %t141, label %then138, label %ifend140
then138:
@@ -57984,7 +58567,7 @@ then138:
br label %ret
ifend140:
%t142 = load ptr, ptr %t0
- %t143 = call i32 @fn_str_eq(ptr %t142, ptr @.str5759)
+ %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str5793)
%t144 = icmp ne i32 %t143, 0
br i1 %t144, label %then141, label %ifend143
then141:
@@ -57992,7 +58575,7 @@ then141:
br label %ret
ifend143:
%t145 = load ptr, ptr %t0
- %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str5760)
+ %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str5794)
%t147 = icmp ne i32 %t146, 0
br i1 %t147, label %then144, label %ifend146
then144:
@@ -58000,7 +58583,7 @@ then144:
br label %ret
ifend146:
%t148 = load ptr, ptr %t0
- %t149 = call i32 @fn_str_eq(ptr %t148, ptr @.str5761)
+ %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str5795)
%t150 = icmp ne i32 %t149, 0
br i1 %t150, label %then147, label %ifend149
then147:
@@ -58008,7 +58591,7 @@ then147:
br label %ret
ifend149:
%t151 = load ptr, ptr %t0
- %t152 = call i32 @fn_str_eq(ptr %t151, ptr @.str5762)
+ %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str5796)
%t153 = icmp ne i32 %t152, 0
br i1 %t153, label %then150, label %ifend152
then150:
@@ -58016,7 +58599,7 @@ then150:
br label %ret
ifend152:
%t154 = load ptr, ptr %t0
- %t155 = call i32 @fn_str_eq(ptr %t154, ptr @.str5763)
+ %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str5797)
%t156 = icmp ne i32 %t155, 0
br i1 %t156, label %then153, label %ifend155
then153:
@@ -58024,7 +58607,7 @@ then153:
br label %ret
ifend155:
%t157 = load ptr, ptr %t0
- %t158 = call i32 @fn_str_eq(ptr %t157, ptr @.str5764)
+ %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str5798)
%t159 = icmp ne i32 %t158, 0
br i1 %t159, label %then156, label %ifend158
then156:
@@ -58032,7 +58615,7 @@ then156:
br label %ret
ifend158:
%t160 = load ptr, ptr %t0
- %t161 = call i32 @fn_str_eq(ptr %t160, ptr @.str5765)
+ %t161 = call i32 @lp_str_eq(ptr %t160, ptr @.str5799)
%t162 = icmp ne i32 %t161, 0
br i1 %t162, label %then159, label %ifend161
then159:
@@ -58040,7 +58623,7 @@ then159:
br label %ret
ifend161:
%t163 = load ptr, ptr %t0
- %t164 = call i32 @fn_str_eq(ptr %t163, ptr @.str5766)
+ %t164 = call i32 @lp_str_eq(ptr %t163, ptr @.str5800)
%t165 = icmp ne i32 %t164, 0
br i1 %t165, label %then162, label %ifend164
then162:
@@ -58048,7 +58631,7 @@ then162:
br label %ret
ifend164:
%t166 = load ptr, ptr %t0
- %t167 = call i32 @fn_str_eq(ptr %t166, ptr @.str5767)
+ %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str5801)
%t168 = icmp ne i32 %t167, 0
br i1 %t168, label %then165, label %ifend167
then165:
@@ -58056,7 +58639,7 @@ then165:
br label %ret
ifend167:
%t169 = load ptr, ptr %t0
- %t170 = call i32 @fn_str_eq(ptr %t169, ptr @.str5768)
+ %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str5802)
%t171 = icmp ne i32 %t170, 0
br i1 %t171, label %then168, label %ifend170
then168:
@@ -58064,7 +58647,7 @@ then168:
br label %ret
ifend170:
%t172 = load ptr, ptr %t0
- %t173 = call i32 @fn_str_eq(ptr %t172, ptr @.str5769)
+ %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str5803)
%t174 = icmp ne i32 %t173, 0
br i1 %t174, label %then171, label %ifend173
then171:
@@ -58072,7 +58655,7 @@ then171:
br label %ret
ifend173:
%t175 = load ptr, ptr %t0
- %t176 = call i32 @fn_str_eq(ptr %t175, ptr @.str5770)
+ %t176 = call i32 @lp_str_eq(ptr %t175, ptr @.str5804)
%t177 = icmp ne i32 %t176, 0
br i1 %t177, label %then174, label %ifend176
then174:
@@ -58080,7 +58663,7 @@ then174:
br label %ret
ifend176:
%t178 = load ptr, ptr %t0
- %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str5771)
+ %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str5805)
%t180 = icmp ne i32 %t179, 0
br i1 %t180, label %then177, label %ifend179
then177:
@@ -58088,7 +58671,7 @@ then177:
br label %ret
ifend179:
%t181 = load ptr, ptr %t0
- %t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str5772)
+ %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str5806)
%t183 = icmp ne i32 %t182, 0
br i1 %t183, label %then180, label %ifend182
then180:
@@ -58096,7 +58679,7 @@ then180:
br label %ret
ifend182:
%t184 = load ptr, ptr %t0
- %t185 = call i32 @fn_str_eq(ptr %t184, ptr @.str5773)
+ %t185 = call i32 @lp_str_eq(ptr %t184, ptr @.str5807)
%t186 = icmp ne i32 %t185, 0
br i1 %t186, label %then183, label %ifend185
then183:
@@ -58104,7 +58687,7 @@ then183:
br label %ret
ifend185:
%t187 = load ptr, ptr %t0
- %t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str5774)
+ %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str5808)
%t189 = icmp ne i32 %t188, 0
br i1 %t189, label %then186, label %ifend188
then186:
@@ -58112,7 +58695,7 @@ then186:
br label %ret
ifend188:
%t190 = load ptr, ptr %t0
- %t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str5775)
+ %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str5809)
%t192 = icmp ne i32 %t191, 0
br i1 %t192, label %then189, label %ifend191
then189:
@@ -58120,7 +58703,7 @@ then189:
br label %ret
ifend191:
%t193 = load ptr, ptr %t0
- %t194 = call i32 @fn_str_eq(ptr %t193, ptr @.str5776)
+ %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str5810)
%t195 = icmp ne i32 %t194, 0
br i1 %t195, label %then192, label %ifend194
then192:
@@ -58128,7 +58711,7 @@ then192:
br label %ret
ifend194:
%t196 = load ptr, ptr %t0
- %t197 = call i32 @fn_str_eq(ptr %t196, ptr @.str5777)
+ %t197 = call i32 @lp_str_eq(ptr %t196, ptr @.str5811)
%t198 = icmp ne i32 %t197, 0
br i1 %t198, label %then195, label %ifend197
then195:
@@ -58136,7 +58719,7 @@ then195:
br label %ret
ifend197:
%t199 = load ptr, ptr %t0
- %t200 = call i32 @fn_str_eq(ptr %t199, ptr @.str5778)
+ %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str5812)
%t201 = icmp ne i32 %t200, 0
br i1 %t201, label %then198, label %ifend200
then198:
@@ -58144,7 +58727,7 @@ then198:
br label %ret
ifend200:
%t202 = load ptr, ptr %t0
- %t203 = call i32 @fn_str_eq(ptr %t202, ptr @.str5779)
+ %t203 = call i32 @lp_str_eq(ptr %t202, ptr @.str5813)
%t204 = icmp ne i32 %t203, 0
br i1 %t204, label %then201, label %ifend203
then201:
@@ -58152,7 +58735,7 @@ then201:
br label %ret
ifend203:
%t205 = load ptr, ptr %t0
- %t206 = call i32 @fn_str_eq(ptr %t205, ptr @.str5780)
+ %t206 = call i32 @lp_str_eq(ptr %t205, ptr @.str5814)
%t207 = icmp ne i32 %t206, 0
br i1 %t207, label %then204, label %ifend206
then204:
@@ -58160,7 +58743,7 @@ then204:
br label %ret
ifend206:
%t208 = load ptr, ptr %t0
- %t209 = call i32 @fn_str_eq(ptr %t208, ptr @.str5781)
+ %t209 = call i32 @lp_str_eq(ptr %t208, ptr @.str5815)
%t210 = icmp ne i32 %t209, 0
br i1 %t210, label %then207, label %ifend209
then207:
@@ -58168,7 +58751,7 @@ then207:
br label %ret
ifend209:
%t211 = load ptr, ptr %t0
- %t212 = call i32 @fn_str_eq(ptr %t211, ptr @.str5782)
+ %t212 = call i32 @lp_str_eq(ptr %t211, ptr @.str5816)
%t213 = icmp ne i32 %t212, 0
br i1 %t213, label %then210, label %ifend212
then210:
@@ -58176,7 +58759,7 @@ then210:
br label %ret
ifend212:
%t214 = load ptr, ptr %t0
- %t215 = call i32 @fn_str_eq(ptr %t214, ptr @.str5783)
+ %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str5817)
%t216 = icmp ne i32 %t215, 0
br i1 %t216, label %then213, label %ifend215
then213:
@@ -58184,7 +58767,7 @@ then213:
br label %ret
ifend215:
%t217 = load ptr, ptr %t0
- %t218 = call i32 @fn_str_eq(ptr %t217, ptr @.str5784)
+ %t218 = call i32 @lp_str_eq(ptr %t217, ptr @.str5818)
%t219 = icmp ne i32 %t218, 0
br i1 %t219, label %then216, label %ifend218
then216:
@@ -58192,7 +58775,7 @@ then216:
br label %ret
ifend218:
%t220 = load ptr, ptr %t0
- %t221 = call i32 @fn_str_eq(ptr %t220, ptr @.str5785)
+ %t221 = call i32 @lp_str_eq(ptr %t220, ptr @.str5819)
%t222 = icmp ne i32 %t221, 0
br i1 %t222, label %then219, label %ifend221
then219:
@@ -58200,7 +58783,7 @@ then219:
br label %ret
ifend221:
%t223 = load ptr, ptr %t0
- %t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str5786)
+ %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str5820)
%t225 = icmp ne i32 %t224, 0
br i1 %t225, label %then222, label %ifend224
then222:
@@ -58208,7 +58791,7 @@ then222:
br label %ret
ifend224:
%t226 = load ptr, ptr %t0
- %t227 = call i32 @fn_str_eq(ptr %t226, ptr @.str5787)
+ %t227 = call i32 @lp_str_eq(ptr %t226, ptr @.str5821)
%t228 = icmp ne i32 %t227, 0
br i1 %t228, label %then225, label %ifend227
then225:
@@ -58216,7 +58799,7 @@ then225:
br label %ret
ifend227:
%t229 = load ptr, ptr %t0
- %t230 = call i32 @fn_str_eq(ptr %t229, ptr @.str5788)
+ %t230 = call i32 @lp_str_eq(ptr %t229, ptr @.str5822)
%t231 = icmp ne i32 %t230, 0
br i1 %t231, label %then228, label %ifend230
then228:
@@ -58224,7 +58807,7 @@ then228:
br label %ret
ifend230:
%t232 = load ptr, ptr %t0
- %t233 = call i32 @fn_str_eq(ptr %t232, ptr @.str5789)
+ %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str5823)
%t234 = icmp ne i32 %t233, 0
br i1 %t234, label %then231, label %ifend233
then231:
@@ -58232,7 +58815,7 @@ then231:
br label %ret
ifend233:
%t235 = load ptr, ptr %t0
- %t236 = call i32 @fn_str_eq(ptr %t235, ptr @.str5790)
+ %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str5824)
%t237 = icmp ne i32 %t236, 0
br i1 %t237, label %then234, label %ifend236
then234:
@@ -58240,7 +58823,7 @@ then234:
br label %ret
ifend236:
%t238 = load ptr, ptr %t0
- %t239 = call i32 @fn_str_eq(ptr %t238, ptr @.str5791)
+ %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str5825)
%t240 = icmp ne i32 %t239, 0
br i1 %t240, label %then237, label %ifend239
then237:
@@ -58248,7 +58831,7 @@ then237:
br label %ret
ifend239:
%t241 = load ptr, ptr %t0
- %t242 = call i32 @fn_str_eq(ptr %t241, ptr @.str5792)
+ %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str5826)
%t243 = icmp ne i32 %t242, 0
br i1 %t243, label %then240, label %ifend242
then240:
@@ -58256,7 +58839,7 @@ then240:
br label %ret
ifend242:
%t244 = load ptr, ptr %t0
- %t245 = call i32 @fn_str_eq(ptr %t244, ptr @.str5793)
+ %t245 = call i32 @lp_str_eq(ptr %t244, ptr @.str5827)
%t246 = icmp ne i32 %t245, 0
br i1 %t246, label %then243, label %ifend245
then243:
@@ -58264,7 +58847,7 @@ then243:
br label %ret
ifend245:
%t247 = load ptr, ptr %t0
- %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str5794)
+ %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str5828)
%t249 = icmp ne i32 %t248, 0
br i1 %t249, label %then246, label %ifend248
then246:
@@ -58272,7 +58855,7 @@ then246:
br label %ret
ifend248:
%t250 = load ptr, ptr %t0
- %t251 = call i32 @fn_str_eq(ptr %t250, ptr @.str5795)
+ %t251 = call i32 @lp_str_eq(ptr %t250, ptr @.str5829)
%t252 = icmp ne i32 %t251, 0
br i1 %t252, label %then249, label %ifend251
then249:
@@ -58280,7 +58863,7 @@ then249:
br label %ret
ifend251:
%t253 = load ptr, ptr %t0
- %t254 = call i32 @fn_str_eq(ptr %t253, ptr @.str5796)
+ %t254 = call i32 @lp_str_eq(ptr %t253, ptr @.str5830)
%t255 = icmp ne i32 %t254, 0
br i1 %t255, label %then252, label %ifend254
then252:
@@ -58288,7 +58871,7 @@ then252:
br label %ret
ifend254:
%t256 = load ptr, ptr %t0
- %t257 = call i32 @fn_str_eq(ptr %t256, ptr @.str5797)
+ %t257 = call i32 @lp_str_eq(ptr %t256, ptr @.str5831)
%t258 = icmp ne i32 %t257, 0
br i1 %t258, label %then255, label %ifend257
then255:
@@ -58296,7 +58879,7 @@ then255:
br label %ret
ifend257:
%t259 = load ptr, ptr %t0
- %t260 = call i32 @fn_str_eq(ptr %t259, ptr @.str5798)
+ %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str5832)
%t261 = icmp ne i32 %t260, 0
br i1 %t261, label %then258, label %ifend260
then258:
@@ -58304,7 +58887,7 @@ then258:
br label %ret
ifend260:
%t262 = load ptr, ptr %t0
- %t263 = call i32 @fn_str_eq(ptr %t262, ptr @.str5799)
+ %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str5833)
%t264 = icmp ne i32 %t263, 0
br i1 %t264, label %then261, label %ifend263
then261:
@@ -58312,7 +58895,7 @@ then261:
br label %ret
ifend263:
%t265 = load ptr, ptr %t0
- %t266 = call i32 @fn_str_eq(ptr %t265, ptr @.str5800)
+ %t266 = call i32 @lp_str_eq(ptr %t265, ptr @.str5834)
%t267 = icmp ne i32 %t266, 0
br i1 %t267, label %then264, label %ifend266
then264:
@@ -58320,7 +58903,7 @@ then264:
br label %ret
ifend266:
%t268 = load ptr, ptr %t0
- %t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str5801)
+ %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str5835)
%t270 = icmp ne i32 %t269, 0
br i1 %t270, label %then267, label %ifend269
then267:
@@ -58328,7 +58911,7 @@ then267:
br label %ret
ifend269:
%t271 = load ptr, ptr %t0
- %t272 = call i32 @fn_str_eq(ptr %t271, ptr @.str5802)
+ %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str5836)
%t273 = icmp ne i32 %t272, 0
br i1 %t273, label %then270, label %ifend272
then270:
@@ -58336,7 +58919,7 @@ then270:
br label %ret
ifend272:
%t274 = load ptr, ptr %t0
- %t275 = call i32 @fn_str_eq(ptr %t274, ptr @.str5803)
+ %t275 = call i32 @lp_str_eq(ptr %t274, ptr @.str5837)
%t276 = icmp ne i32 %t275, 0
br i1 %t276, label %then273, label %ifend275
then273:
@@ -58344,7 +58927,7 @@ then273:
br label %ret
ifend275:
%t277 = load ptr, ptr %t0
- %t278 = call i32 @fn_str_eq(ptr %t277, ptr @.str5804)
+ %t278 = call i32 @lp_str_eq(ptr %t277, ptr @.str5838)
%t279 = icmp ne i32 %t278, 0
br i1 %t279, label %then276, label %ifend278
then276:
@@ -58352,7 +58935,7 @@ then276:
br label %ret
ifend278:
%t280 = load ptr, ptr %t0
- %t281 = call i32 @fn_str_eq(ptr %t280, ptr @.str5805)
+ %t281 = call i32 @lp_str_eq(ptr %t280, ptr @.str5839)
%t282 = icmp ne i32 %t281, 0
br i1 %t282, label %then279, label %ifend281
then279:
@@ -58360,7 +58943,7 @@ then279:
br label %ret
ifend281:
%t283 = load ptr, ptr %t0
- %t284 = call i32 @fn_str_eq(ptr %t283, ptr @.str5806)
+ %t284 = call i32 @lp_str_eq(ptr %t283, ptr @.str5840)
%t285 = icmp ne i32 %t284, 0
br i1 %t285, label %then282, label %ifend284
then282:
@@ -58368,7 +58951,7 @@ then282:
br label %ret
ifend284:
%t286 = load ptr, ptr %t0
- %t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str5807)
+ %t287 = call i32 @lp_str_eq(ptr %t286, ptr @.str5841)
%t288 = icmp ne i32 %t287, 0
br i1 %t288, label %then285, label %ifend287
then285:
@@ -58376,7 +58959,7 @@ then285:
br label %ret
ifend287:
%t289 = load ptr, ptr %t0
- %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str5808)
+ %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str5842)
%t291 = icmp ne i32 %t290, 0
br i1 %t291, label %then288, label %ifend290
then288:
@@ -58384,7 +58967,7 @@ then288:
br label %ret
ifend290:
%t292 = load ptr, ptr %t0
- %t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str5809)
+ %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str5843)
%t294 = icmp ne i32 %t293, 0
br i1 %t294, label %then291, label %ifend293
then291:
@@ -58392,7 +58975,7 @@ then291:
br label %ret
ifend293:
%t295 = load ptr, ptr %t0
- %t296 = call i32 @fn_str_eq(ptr %t295, ptr @.str5810)
+ %t296 = call i32 @lp_str_eq(ptr %t295, ptr @.str5844)
%t297 = icmp ne i32 %t296, 0
br i1 %t297, label %then294, label %ifend296
then294:
@@ -58400,7 +58983,7 @@ then294:
br label %ret
ifend296:
%t298 = load ptr, ptr %t0
- %t299 = call i32 @fn_str_eq(ptr %t298, ptr @.str5811)
+ %t299 = call i32 @lp_str_eq(ptr %t298, ptr @.str5845)
%t300 = icmp ne i32 %t299, 0
br i1 %t300, label %then297, label %ifend299
then297:
@@ -58408,7 +58991,7 @@ then297:
br label %ret
ifend299:
%t301 = load ptr, ptr %t0
- %t302 = call i32 @fn_str_eq(ptr %t301, ptr @.str5812)
+ %t302 = call i32 @lp_str_eq(ptr %t301, ptr @.str5846)
%t303 = icmp ne i32 %t302, 0
br i1 %t303, label %then300, label %ifend302
then300:
@@ -58416,7 +58999,7 @@ then300:
br label %ret
ifend302:
%t304 = load ptr, ptr %t0
- %t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str5813)
+ %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str5847)
%t306 = icmp ne i32 %t305, 0
br i1 %t306, label %then303, label %ifend305
then303:
@@ -58424,7 +59007,7 @@ then303:
br label %ret
ifend305:
%t307 = load ptr, ptr %t0
- %t308 = call i32 @fn_str_eq(ptr %t307, ptr @.str5814)
+ %t308 = call i32 @lp_str_eq(ptr %t307, ptr @.str5848)
%t309 = icmp ne i32 %t308, 0
br i1 %t309, label %then306, label %ifend308
then306:
@@ -58432,7 +59015,7 @@ then306:
br label %ret
ifend308:
%t310 = load ptr, ptr %t0
- %t311 = call i32 @fn_str_eq(ptr %t310, ptr @.str5815)
+ %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str5849)
%t312 = icmp ne i32 %t311, 0
br i1 %t312, label %then309, label %ifend311
then309:
@@ -58440,7 +59023,7 @@ then309:
br label %ret
ifend311:
%t313 = load ptr, ptr %t0
- %t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str5816)
+ %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str5850)
%t315 = icmp ne i32 %t314, 0
br i1 %t315, label %then312, label %ifend314
then312:
@@ -58448,7 +59031,7 @@ then312:
br label %ret
ifend314:
%t316 = load ptr, ptr %t0
- %t317 = call i32 @fn_str_eq(ptr %t316, ptr @.str5817)
+ %t317 = call i32 @lp_str_eq(ptr %t316, ptr @.str5851)
%t318 = icmp ne i32 %t317, 0
br i1 %t318, label %then315, label %ifend317
then315:
@@ -58456,7 +59039,7 @@ then315:
br label %ret
ifend317:
%t319 = load ptr, ptr %t0
- %t320 = call i32 @fn_str_eq(ptr %t319, ptr @.str5818)
+ %t320 = call i32 @lp_str_eq(ptr %t319, ptr @.str5852)
%t321 = icmp ne i32 %t320, 0
br i1 %t321, label %then318, label %ifend320
then318:
@@ -58464,7 +59047,7 @@ then318:
br label %ret
ifend320:
%t322 = load ptr, ptr %t0
- %t323 = call i32 @fn_str_eq(ptr %t322, ptr @.str5819)
+ %t323 = call i32 @lp_str_eq(ptr %t322, ptr @.str5853)
%t324 = icmp ne i32 %t323, 0
br i1 %t324, label %then321, label %ifend323
then321:
@@ -58472,7 +59055,7 @@ then321:
br label %ret
ifend323:
%t325 = load ptr, ptr %t0
- %t326 = call i32 @fn_str_eq(ptr %t325, ptr @.str5820)
+ %t326 = call i32 @lp_str_eq(ptr %t325, ptr @.str5854)
%t327 = icmp ne i32 %t326, 0
br i1 %t327, label %then324, label %ifend326
then324:
@@ -58480,7 +59063,7 @@ then324:
br label %ret
ifend326:
%t328 = load ptr, ptr %t0
- %t329 = call i32 @fn_str_eq(ptr %t328, ptr @.str5821)
+ %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str5855)
%t330 = icmp ne i32 %t329, 0
br i1 %t330, label %then327, label %ifend329
then327:
@@ -58488,7 +59071,7 @@ then327:
br label %ret
ifend329:
%t331 = load ptr, ptr %t0
- %t332 = call i32 @fn_str_eq(ptr %t331, ptr @.str5822)
+ %t332 = call i32 @lp_str_eq(ptr %t331, ptr @.str5856)
%t333 = icmp ne i32 %t332, 0
br i1 %t333, label %then330, label %ifend332
then330:
@@ -58496,7 +59079,7 @@ then330:
br label %ret
ifend332:
%t334 = load ptr, ptr %t0
- %t335 = call i32 @fn_str_eq(ptr %t334, ptr @.str5823)
+ %t335 = call i32 @lp_str_eq(ptr %t334, ptr @.str5857)
%t336 = icmp ne i32 %t335, 0
br i1 %t336, label %then333, label %ifend335
then333:
@@ -58504,7 +59087,7 @@ then333:
br label %ret
ifend335:
%t337 = load ptr, ptr %t0
- %t338 = call i32 @fn_str_eq(ptr %t337, ptr @.str5824)
+ %t338 = call i32 @lp_str_eq(ptr %t337, ptr @.str5858)
%t339 = icmp ne i32 %t338, 0
br i1 %t339, label %then336, label %ifend338
then336:
@@ -58512,7 +59095,7 @@ then336:
br label %ret
ifend338:
%t340 = load ptr, ptr %t0
- %t341 = call i32 @fn_str_eq(ptr %t340, ptr @.str5825)
+ %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str5859)
%t342 = icmp ne i32 %t341, 0
br i1 %t342, label %then339, label %ifend341
then339:
@@ -58520,7 +59103,7 @@ then339:
br label %ret
ifend341:
%t343 = load ptr, ptr %t0
- %t344 = call i32 @fn_str_eq(ptr %t343, ptr @.str5826)
+ %t344 = call i32 @lp_str_eq(ptr %t343, ptr @.str5860)
%t345 = icmp ne i32 %t344, 0
br i1 %t345, label %then342, label %ifend344
then342:
@@ -58528,7 +59111,7 @@ then342:
br label %ret
ifend344:
%t346 = load ptr, ptr %t0
- %t347 = call i32 @fn_str_eq(ptr %t346, ptr @.str5827)
+ %t347 = call i32 @lp_str_eq(ptr %t346, ptr @.str5861)
%t348 = icmp ne i32 %t347, 0
br i1 %t348, label %then345, label %ifend347
then345:
@@ -58536,7 +59119,7 @@ then345:
br label %ret
ifend347:
%t349 = load ptr, ptr %t0
- %t350 = call i32 @fn_str_eq(ptr %t349, ptr @.str5828)
+ %t350 = call i32 @lp_str_eq(ptr %t349, ptr @.str5862)
%t351 = icmp ne i32 %t350, 0
br i1 %t351, label %then348, label %ifend350
then348:
@@ -58544,7 +59127,7 @@ then348:
br label %ret
ifend350:
%t352 = load ptr, ptr %t0
- %t353 = call i32 @fn_str_eq(ptr %t352, ptr @.str5829)
+ %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str5863)
%t354 = icmp ne i32 %t353, 0
br i1 %t354, label %then351, label %ifend353
then351:
@@ -58552,7 +59135,7 @@ then351:
br label %ret
ifend353:
%t355 = load ptr, ptr %t0
- %t356 = call i32 @fn_str_eq(ptr %t355, ptr @.str5830)
+ %t356 = call i32 @lp_str_eq(ptr %t355, ptr @.str5864)
%t357 = icmp ne i32 %t356, 0
br i1 %t357, label %then354, label %ifend356
then354:
@@ -58560,7 +59143,7 @@ then354:
br label %ret
ifend356:
%t358 = load ptr, ptr %t0
- %t359 = call i32 @fn_str_eq(ptr %t358, ptr @.str5831)
+ %t359 = call i32 @lp_str_eq(ptr %t358, ptr @.str5865)
%t360 = icmp ne i32 %t359, 0
br i1 %t360, label %then357, label %ifend359
then357:
@@ -58568,7 +59151,7 @@ then357:
br label %ret
ifend359:
%t361 = load ptr, ptr %t0
- %t362 = call i32 @fn_str_eq(ptr %t361, ptr @.str5832)
+ %t362 = call i32 @lp_str_eq(ptr %t361, ptr @.str5866)
%t363 = icmp ne i32 %t362, 0
br i1 %t363, label %then360, label %ifend362
then360:
@@ -58576,7 +59159,7 @@ then360:
br label %ret
ifend362:
%t364 = load ptr, ptr %t0
- %t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str5833)
+ %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str5867)
%t366 = icmp ne i32 %t365, 0
br i1 %t366, label %then363, label %ifend365
then363:
@@ -58584,7 +59167,7 @@ then363:
br label %ret
ifend365:
%t367 = load ptr, ptr %t0
- %t368 = call i32 @fn_str_eq(ptr %t367, ptr @.str5834)
+ %t368 = call i32 @lp_str_eq(ptr %t367, ptr @.str5868)
%t369 = icmp ne i32 %t368, 0
br i1 %t369, label %then366, label %ifend368
then366:
@@ -58592,7 +59175,7 @@ then366:
br label %ret
ifend368:
%t370 = load ptr, ptr %t0
- %t371 = call i32 @fn_str_eq(ptr %t370, ptr @.str5835)
+ %t371 = call i32 @lp_str_eq(ptr %t370, ptr @.str5869)
%t372 = icmp ne i32 %t371, 0
br i1 %t372, label %then369, label %ifend371
then369:
@@ -58600,7 +59183,7 @@ then369:
br label %ret
ifend371:
%t373 = load ptr, ptr %t0
- %t374 = call i32 @fn_str_eq(ptr %t373, ptr @.str5836)
+ %t374 = call i32 @lp_str_eq(ptr %t373, ptr @.str5870)
%t375 = icmp ne i32 %t374, 0
br i1 %t375, label %then372, label %ifend374
then372:
@@ -58608,7 +59191,7 @@ then372:
br label %ret
ifend374:
%t376 = load ptr, ptr %t0
- %t377 = call i32 @fn_str_eq(ptr %t376, ptr @.str5837)
+ %t377 = call i32 @lp_str_eq(ptr %t376, ptr @.str5871)
%t378 = icmp ne i32 %t377, 0
br i1 %t378, label %then375, label %ifend377
then375:
@@ -58616,7 +59199,7 @@ then375:
br label %ret
ifend377:
%t379 = load ptr, ptr %t0
- %t380 = call i32 @fn_str_eq(ptr %t379, ptr @.str5838)
+ %t380 = call i32 @lp_str_eq(ptr %t379, ptr @.str5872)
%t381 = icmp ne i32 %t380, 0
br i1 %t381, label %then378, label %ifend380
then378:
@@ -58624,7 +59207,7 @@ then378:
br label %ret
ifend380:
%t382 = load ptr, ptr %t0
- %t383 = call i32 @fn_str_eq(ptr %t382, ptr @.str5839)
+ %t383 = call i32 @lp_str_eq(ptr %t382, ptr @.str5873)
%t384 = icmp ne i32 %t383, 0
br i1 %t384, label %then381, label %ifend383
then381:
@@ -58632,7 +59215,7 @@ then381:
br label %ret
ifend383:
%t385 = load ptr, ptr %t0
- %t386 = call i32 @fn_str_eq(ptr %t385, ptr @.str5840)
+ %t386 = call i32 @lp_str_eq(ptr %t385, ptr @.str5874)
%t387 = icmp ne i32 %t386, 0
br i1 %t387, label %then384, label %ifend386
then384:
@@ -58640,7 +59223,7 @@ then384:
br label %ret
ifend386:
%t388 = load ptr, ptr %t0
- %t389 = call i32 @fn_str_eq(ptr %t388, ptr @.str5841)
+ %t389 = call i32 @lp_str_eq(ptr %t388, ptr @.str5875)
%t390 = icmp ne i32 %t389, 0
br i1 %t390, label %then387, label %ifend389
then387:
@@ -58648,7 +59231,7 @@ then387:
br label %ret
ifend389:
%t391 = load ptr, ptr %t0
- %t392 = call i32 @fn_str_eq(ptr %t391, ptr @.str5842)
+ %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str5876)
%t393 = icmp ne i32 %t392, 0
br i1 %t393, label %then390, label %ifend392
then390:
@@ -58656,7 +59239,7 @@ then390:
br label %ret
ifend392:
%t394 = load ptr, ptr %t0
- %t395 = call i32 @fn_str_eq(ptr %t394, ptr @.str5843)
+ %t395 = call i32 @lp_str_eq(ptr %t394, ptr @.str5877)
%t396 = icmp ne i32 %t395, 0
br i1 %t396, label %then393, label %ifend395
then393:
@@ -58664,7 +59247,7 @@ then393:
br label %ret
ifend395:
%t397 = load ptr, ptr %t0
- %t398 = call i32 @fn_str_eq(ptr %t397, ptr @.str5844)
+ %t398 = call i32 @lp_str_eq(ptr %t397, ptr @.str5878)
%t399 = icmp ne i32 %t398, 0
br i1 %t399, label %then396, label %ifend398
then396:
@@ -58672,7 +59255,7 @@ then396:
br label %ret
ifend398:
%t400 = load ptr, ptr %t0
- %t401 = call i32 @fn_str_eq(ptr %t400, ptr @.str5845)
+ %t401 = call i32 @lp_str_eq(ptr %t400, ptr @.str5879)
%t402 = icmp ne i32 %t401, 0
br i1 %t402, label %then399, label %ifend401
then399:
@@ -58680,7 +59263,7 @@ then399:
br label %ret
ifend401:
%t403 = load ptr, ptr %t0
- %t404 = call i32 @fn_str_eq(ptr %t403, ptr @.str5846)
+ %t404 = call i32 @lp_str_eq(ptr %t403, ptr @.str5880)
%t405 = icmp ne i32 %t404, 0
br i1 %t405, label %then402, label %ifend404
then402:
@@ -58688,7 +59271,7 @@ then402:
br label %ret
ifend404:
%t406 = load ptr, ptr %t0
- %t407 = call i32 @fn_str_eq(ptr %t406, ptr @.str5847)
+ %t407 = call i32 @lp_str_eq(ptr %t406, ptr @.str5881)
%t408 = icmp ne i32 %t407, 0
br i1 %t408, label %then405, label %ifend407
then405:
@@ -58696,7 +59279,7 @@ then405:
br label %ret
ifend407:
%t409 = load ptr, ptr %t0
- %t410 = call i32 @fn_str_eq(ptr %t409, ptr @.str5848)
+ %t410 = call i32 @lp_str_eq(ptr %t409, ptr @.str5882)
%t411 = icmp ne i32 %t410, 0
br i1 %t411, label %then408, label %ifend410
then408:
@@ -58704,7 +59287,7 @@ then408:
br label %ret
ifend410:
%t412 = load ptr, ptr %t0
- %t413 = call i32 @fn_str_eq(ptr %t412, ptr @.str5849)
+ %t413 = call i32 @lp_str_eq(ptr %t412, ptr @.str5883)
%t414 = icmp ne i32 %t413, 0
br i1 %t414, label %then411, label %ifend413
then411:
@@ -58712,7 +59295,7 @@ then411:
br label %ret
ifend413:
%t415 = load ptr, ptr %t0
- %t416 = call i32 @fn_str_eq(ptr %t415, ptr @.str5850)
+ %t416 = call i32 @lp_str_eq(ptr %t415, ptr @.str5884)
%t417 = icmp ne i32 %t416, 0
br i1 %t417, label %then414, label %ifend416
then414:
@@ -58720,7 +59303,7 @@ then414:
br label %ret
ifend416:
%t418 = load ptr, ptr %t0
- %t419 = call i32 @fn_str_eq(ptr %t418, ptr @.str5851)
+ %t419 = call i32 @lp_str_eq(ptr %t418, ptr @.str5885)
%t420 = icmp ne i32 %t419, 0
br i1 %t420, label %then417, label %ifend419
then417:
@@ -58728,7 +59311,7 @@ then417:
br label %ret
ifend419:
%t421 = load ptr, ptr %t0
- %t422 = call i32 @fn_str_eq(ptr %t421, ptr @.str5852)
+ %t422 = call i32 @lp_str_eq(ptr %t421, ptr @.str5886)
%t423 = icmp ne i32 %t422, 0
br i1 %t423, label %then420, label %ifend422
then420:
@@ -58736,7 +59319,7 @@ then420:
br label %ret
ifend422:
%t424 = load ptr, ptr %t0
- %t425 = call i32 @fn_str_eq(ptr %t424, ptr @.str5853)
+ %t425 = call i32 @lp_str_eq(ptr %t424, ptr @.str5887)
%t426 = icmp ne i32 %t425, 0
br i1 %t426, label %then423, label %ifend425
then423:
@@ -58744,7 +59327,7 @@ then423:
br label %ret
ifend425:
%t427 = load ptr, ptr %t0
- %t428 = call i32 @fn_str_eq(ptr %t427, ptr @.str5854)
+ %t428 = call i32 @lp_str_eq(ptr %t427, ptr @.str5888)
%t429 = icmp ne i32 %t428, 0
br i1 %t429, label %then426, label %ifend428
then426:
@@ -58752,7 +59335,7 @@ then426:
br label %ret
ifend428:
%t430 = load ptr, ptr %t0
- %t431 = call i32 @fn_str_eq(ptr %t430, ptr @.str5855)
+ %t431 = call i32 @lp_str_eq(ptr %t430, ptr @.str5889)
%t432 = icmp ne i32 %t431, 0
br i1 %t432, label %then429, label %ifend431
then429:
@@ -58760,7 +59343,7 @@ then429:
br label %ret
ifend431:
%t433 = load ptr, ptr %t0
- %t434 = call i32 @fn_str_eq(ptr %t433, ptr @.str5856)
+ %t434 = call i32 @lp_str_eq(ptr %t433, ptr @.str5890)
%t435 = icmp ne i32 %t434, 0
br i1 %t435, label %then432, label %ifend434
then432:
@@ -58768,7 +59351,7 @@ then432:
br label %ret
ifend434:
%t436 = load ptr, ptr %t0
- %t437 = call i32 @fn_str_eq(ptr %t436, ptr @.str5857)
+ %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str5891)
%t438 = icmp ne i32 %t437, 0
br i1 %t438, label %then435, label %ifend437
then435:
@@ -58776,7 +59359,7 @@ then435:
br label %ret
ifend437:
%t439 = load ptr, ptr %t0
- %t440 = call i32 @fn_str_eq(ptr %t439, ptr @.str5858)
+ %t440 = call i32 @lp_str_eq(ptr %t439, ptr @.str5892)
%t441 = icmp ne i32 %t440, 0
br i1 %t441, label %then438, label %ifend440
then438:
@@ -58784,7 +59367,7 @@ then438:
br label %ret
ifend440:
%t442 = load ptr, ptr %t0
- %t443 = call i32 @fn_str_eq(ptr %t442, ptr @.str5859)
+ %t443 = call i32 @lp_str_eq(ptr %t442, ptr @.str5893)
%t444 = icmp ne i32 %t443, 0
br i1 %t444, label %then441, label %ifend443
then441:
@@ -58792,7 +59375,7 @@ then441:
br label %ret
ifend443:
%t445 = load ptr, ptr %t0
- %t446 = call i32 @fn_str_eq(ptr %t445, ptr @.str5860)
+ %t446 = call i32 @lp_str_eq(ptr %t445, ptr @.str5894)
%t447 = icmp ne i32 %t446, 0
br i1 %t447, label %then444, label %ifend446
then444:
@@ -58800,7 +59383,7 @@ then444:
br label %ret
ifend446:
%t448 = load ptr, ptr %t0
- %t449 = call i32 @fn_str_eq(ptr %t448, ptr @.str5861)
+ %t449 = call i32 @lp_str_eq(ptr %t448, ptr @.str5895)
%t450 = icmp ne i32 %t449, 0
br i1 %t450, label %then447, label %ifend449
then447:
@@ -58808,7 +59391,7 @@ then447:
br label %ret
ifend449:
%t451 = load ptr, ptr %t0
- %t452 = call i32 @fn_str_eq(ptr %t451, ptr @.str5862)
+ %t452 = call i32 @lp_str_eq(ptr %t451, ptr @.str5896)
%t453 = icmp ne i32 %t452, 0
br i1 %t453, label %then450, label %ifend452
then450:
@@ -58816,7 +59399,7 @@ then450:
br label %ret
ifend452:
%t454 = load ptr, ptr %t0
- %t455 = call i32 @fn_str_eq(ptr %t454, ptr @.str5863)
+ %t455 = call i32 @lp_str_eq(ptr %t454, ptr @.str5897)
%t456 = icmp ne i32 %t455, 0
br i1 %t456, label %then453, label %ifend455
then453:
@@ -58824,7 +59407,7 @@ then453:
br label %ret
ifend455:
%t457 = load ptr, ptr %t0
- %t458 = call i32 @fn_str_eq(ptr %t457, ptr @.str5864)
+ %t458 = call i32 @lp_str_eq(ptr %t457, ptr @.str5898)
%t459 = icmp ne i32 %t458, 0
br i1 %t459, label %then456, label %ifend458
then456:
@@ -58832,7 +59415,7 @@ then456:
br label %ret
ifend458:
%t460 = load ptr, ptr %t0
- %t461 = call i32 @fn_str_eq(ptr %t460, ptr @.str5865)
+ %t461 = call i32 @lp_str_eq(ptr %t460, ptr @.str5899)
%t462 = icmp ne i32 %t461, 0
br i1 %t462, label %then459, label %ifend461
then459:
@@ -58840,7 +59423,7 @@ then459:
br label %ret
ifend461:
%t463 = load ptr, ptr %t0
- %t464 = call i32 @fn_str_eq(ptr %t463, ptr @.str5866)
+ %t464 = call i32 @lp_str_eq(ptr %t463, ptr @.str5900)
%t465 = icmp ne i32 %t464, 0
br i1 %t465, label %then462, label %ifend464
then462:
@@ -58848,7 +59431,7 @@ then462:
br label %ret
ifend464:
%t466 = load ptr, ptr %t0
- %t467 = call i32 @fn_str_eq(ptr %t466, ptr @.str5867)
+ %t467 = call i32 @lp_str_eq(ptr %t466, ptr @.str5901)
%t468 = icmp ne i32 %t467, 0
br i1 %t468, label %then465, label %ifend467
then465:
@@ -58856,7 +59439,7 @@ then465:
br label %ret
ifend467:
%t469 = load ptr, ptr %t0
- %t470 = call i32 @fn_str_eq(ptr %t469, ptr @.str5868)
+ %t470 = call i32 @lp_str_eq(ptr %t469, ptr @.str5902)
%t471 = icmp ne i32 %t470, 0
br i1 %t471, label %then468, label %ifend470
then468:
@@ -58864,7 +59447,7 @@ then468:
br label %ret
ifend470:
%t472 = load ptr, ptr %t0
- %t473 = call i32 @fn_str_eq(ptr %t472, ptr @.str5869)
+ %t473 = call i32 @lp_str_eq(ptr %t472, ptr @.str5903)
%t474 = icmp ne i32 %t473, 0
br i1 %t474, label %then471, label %ifend473
then471:
@@ -58872,7 +59455,7 @@ then471:
br label %ret
ifend473:
%t475 = load ptr, ptr %t0
- %t476 = call i32 @fn_str_eq(ptr %t475, ptr @.str5870)
+ %t476 = call i32 @lp_str_eq(ptr %t475, ptr @.str5904)
%t477 = icmp ne i32 %t476, 0
br i1 %t477, label %then474, label %ifend476
then474:
@@ -58880,7 +59463,7 @@ then474:
br label %ret
ifend476:
%t478 = load ptr, ptr %t0
- %t479 = call i32 @fn_str_eq(ptr %t478, ptr @.str5871)
+ %t479 = call i32 @lp_str_eq(ptr %t478, ptr @.str5905)
%t480 = icmp ne i32 %t479, 0
br i1 %t480, label %then477, label %ifend479
then477:
@@ -58888,7 +59471,7 @@ then477:
br label %ret
ifend479:
%t481 = load ptr, ptr %t0
- %t482 = call i32 @fn_str_eq(ptr %t481, ptr @.str5872)
+ %t482 = call i32 @lp_str_eq(ptr %t481, ptr @.str5906)
%t483 = icmp ne i32 %t482, 0
br i1 %t483, label %then480, label %ifend482
then480:
@@ -58896,7 +59479,7 @@ then480:
br label %ret
ifend482:
%t484 = load ptr, ptr %t0
- %t485 = call i32 @fn_str_eq(ptr %t484, ptr @.str5873)
+ %t485 = call i32 @lp_str_eq(ptr %t484, ptr @.str5907)
%t486 = icmp ne i32 %t485, 0
br i1 %t486, label %then483, label %ifend485
then483:
@@ -58904,7 +59487,7 @@ then483:
br label %ret
ifend485:
%t487 = load ptr, ptr %t0
- %t488 = call i32 @fn_str_eq(ptr %t487, ptr @.str5874)
+ %t488 = call i32 @lp_str_eq(ptr %t487, ptr @.str5908)
%t489 = icmp ne i32 %t488, 0
br i1 %t489, label %then486, label %ifend488
then486:
@@ -58912,7 +59495,7 @@ then486:
br label %ret
ifend488:
%t490 = load ptr, ptr %t0
- %t491 = call i32 @fn_str_eq(ptr %t490, ptr @.str5875)
+ %t491 = call i32 @lp_str_eq(ptr %t490, ptr @.str5909)
%t492 = icmp ne i32 %t491, 0
br i1 %t492, label %then489, label %ifend491
then489:
@@ -58920,7 +59503,7 @@ then489:
br label %ret
ifend491:
%t493 = load ptr, ptr %t0
- %t494 = call i32 @fn_str_eq(ptr %t493, ptr @.str5876)
+ %t494 = call i32 @lp_str_eq(ptr %t493, ptr @.str5910)
%t495 = icmp ne i32 %t494, 0
br i1 %t495, label %then492, label %ifend494
then492:
@@ -58928,7 +59511,7 @@ then492:
br label %ret
ifend494:
%t496 = load ptr, ptr %t0
- %t497 = call i32 @fn_str_eq(ptr %t496, ptr @.str5877)
+ %t497 = call i32 @lp_str_eq(ptr %t496, ptr @.str5911)
%t498 = icmp ne i32 %t497, 0
br i1 %t498, label %then495, label %ifend497
then495:
@@ -58936,7 +59519,7 @@ then495:
br label %ret
ifend497:
%t499 = load ptr, ptr %t0
- %t500 = call i32 @fn_str_eq(ptr %t499, ptr @.str5878)
+ %t500 = call i32 @lp_str_eq(ptr %t499, ptr @.str5912)
%t501 = icmp ne i32 %t500, 0
br i1 %t501, label %then498, label %ifend500
then498:
@@ -58944,7 +59527,7 @@ then498:
br label %ret
ifend500:
%t502 = load ptr, ptr %t0
- %t503 = call i32 @fn_str_eq(ptr %t502, ptr @.str5879)
+ %t503 = call i32 @lp_str_eq(ptr %t502, ptr @.str5913)
%t504 = icmp ne i32 %t503, 0
br i1 %t504, label %then501, label %ifend503
then501:
@@ -58952,7 +59535,7 @@ then501:
br label %ret
ifend503:
%t505 = load ptr, ptr %t0
- %t506 = call i32 @fn_str_eq(ptr %t505, ptr @.str5880)
+ %t506 = call i32 @lp_str_eq(ptr %t505, ptr @.str5914)
%t507 = icmp ne i32 %t506, 0
br i1 %t507, label %then504, label %ifend506
then504:
@@ -58960,7 +59543,7 @@ then504:
br label %ret
ifend506:
%t508 = load ptr, ptr %t0
- %t509 = call i32 @fn_str_eq(ptr %t508, ptr @.str5881)
+ %t509 = call i32 @lp_str_eq(ptr %t508, ptr @.str5915)
%t510 = icmp ne i32 %t509, 0
br i1 %t510, label %then507, label %ifend509
then507:
@@ -58968,7 +59551,7 @@ then507:
br label %ret
ifend509:
%t511 = load ptr, ptr %t0
- %t512 = call i32 @fn_str_eq(ptr %t511, ptr @.str5882)
+ %t512 = call i32 @lp_str_eq(ptr %t511, ptr @.str5916)
%t513 = icmp ne i32 %t512, 0
br i1 %t513, label %then510, label %ifend512
then510:
@@ -58976,7 +59559,7 @@ then510:
br label %ret
ifend512:
%t514 = load ptr, ptr %t0
- %t515 = call i32 @fn_str_eq(ptr %t514, ptr @.str5883)
+ %t515 = call i32 @lp_str_eq(ptr %t514, ptr @.str5917)
%t516 = icmp ne i32 %t515, 0
br i1 %t516, label %then513, label %ifend515
then513:
@@ -58984,7 +59567,7 @@ then513:
br label %ret
ifend515:
%t517 = load ptr, ptr %t0
- %t518 = call i32 @fn_str_eq(ptr %t517, ptr @.str5884)
+ %t518 = call i32 @lp_str_eq(ptr %t517, ptr @.str5918)
%t519 = icmp ne i32 %t518, 0
br i1 %t519, label %then516, label %ifend518
then516:
@@ -58992,7 +59575,7 @@ then516:
br label %ret
ifend518:
%t520 = load ptr, ptr %t0
- %t521 = call i32 @fn_str_eq(ptr %t520, ptr @.str5885)
+ %t521 = call i32 @lp_str_eq(ptr %t520, ptr @.str5919)
%t522 = icmp ne i32 %t521, 0
br i1 %t522, label %then519, label %ifend521
then519:
@@ -59000,7 +59583,7 @@ then519:
br label %ret
ifend521:
%t523 = load ptr, ptr %t0
- %t524 = call i32 @fn_str_eq(ptr %t523, ptr @.str5886)
+ %t524 = call i32 @lp_str_eq(ptr %t523, ptr @.str5920)
%t525 = icmp ne i32 %t524, 0
br i1 %t525, label %then522, label %ifend524
then522:
@@ -59008,7 +59591,7 @@ then522:
br label %ret
ifend524:
%t526 = load ptr, ptr %t0
- %t527 = call i32 @fn_str_eq(ptr %t526, ptr @.str5887)
+ %t527 = call i32 @lp_str_eq(ptr %t526, ptr @.str5921)
%t528 = icmp ne i32 %t527, 0
br i1 %t528, label %then525, label %ifend527
then525:
@@ -59016,7 +59599,7 @@ then525:
br label %ret
ifend527:
%t529 = load ptr, ptr %t0
- %t530 = call i32 @fn_str_eq(ptr %t529, ptr @.str5888)
+ %t530 = call i32 @lp_str_eq(ptr %t529, ptr @.str5922)
%t531 = icmp ne i32 %t530, 0
br i1 %t531, label %then528, label %ifend530
then528:
@@ -59024,7 +59607,7 @@ then528:
br label %ret
ifend530:
%t532 = load ptr, ptr %t0
- %t533 = call i32 @fn_str_eq(ptr %t532, ptr @.str5889)
+ %t533 = call i32 @lp_str_eq(ptr %t532, ptr @.str5923)
%t534 = icmp ne i32 %t533, 0
br i1 %t534, label %then531, label %ifend533
then531:
@@ -59032,7 +59615,7 @@ then531:
br label %ret
ifend533:
%t535 = load ptr, ptr %t0
- %t536 = call i32 @fn_str_eq(ptr %t535, ptr @.str5890)
+ %t536 = call i32 @lp_str_eq(ptr %t535, ptr @.str5924)
%t537 = icmp ne i32 %t536, 0
br i1 %t537, label %then534, label %ifend536
then534:
@@ -59040,7 +59623,7 @@ then534:
br label %ret
ifend536:
%t538 = load ptr, ptr %t0
- %t539 = call i32 @fn_str_eq(ptr %t538, ptr @.str5891)
+ %t539 = call i32 @lp_str_eq(ptr %t538, ptr @.str5925)
%t540 = icmp ne i32 %t539, 0
br i1 %t540, label %then537, label %ifend539
then537:
@@ -59048,7 +59631,7 @@ then537:
br label %ret
ifend539:
%t541 = load ptr, ptr %t0
- %t542 = call i32 @fn_str_eq(ptr %t541, ptr @.str5892)
+ %t542 = call i32 @lp_str_eq(ptr %t541, ptr @.str5926)
%t543 = icmp ne i32 %t542, 0
br i1 %t543, label %then540, label %ifend542
then540:
@@ -59056,7 +59639,7 @@ then540:
br label %ret
ifend542:
%t544 = load ptr, ptr %t0
- %t545 = call i32 @fn_str_eq(ptr %t544, ptr @.str5893)
+ %t545 = call i32 @lp_str_eq(ptr %t544, ptr @.str5927)
%t546 = icmp ne i32 %t545, 0
br i1 %t546, label %then543, label %ifend545
then543:
@@ -59064,7 +59647,7 @@ then543:
br label %ret
ifend545:
%t547 = load ptr, ptr %t0
- %t548 = call i32 @fn_str_eq(ptr %t547, ptr @.str5894)
+ %t548 = call i32 @lp_str_eq(ptr %t547, ptr @.str5928)
%t549 = icmp ne i32 %t548, 0
br i1 %t549, label %then546, label %ifend548
then546:
@@ -59072,7 +59655,7 @@ then546:
br label %ret
ifend548:
%t550 = load ptr, ptr %t0
- %t551 = call i32 @fn_str_eq(ptr %t550, ptr @.str5895)
+ %t551 = call i32 @lp_str_eq(ptr %t550, ptr @.str5929)
%t552 = icmp ne i32 %t551, 0
br i1 %t552, label %then549, label %ifend551
then549:
@@ -59080,7 +59663,7 @@ then549:
br label %ret
ifend551:
%t553 = load ptr, ptr %t0
- %t554 = call i32 @fn_str_eq(ptr %t553, ptr @.str5896)
+ %t554 = call i32 @lp_str_eq(ptr %t553, ptr @.str5930)
%t555 = icmp ne i32 %t554, 0
br i1 %t555, label %then552, label %ifend554
then552:
@@ -59088,7 +59671,7 @@ then552:
br label %ret
ifend554:
%t556 = load ptr, ptr %t0
- %t557 = call i32 @fn_str_eq(ptr %t556, ptr @.str5897)
+ %t557 = call i32 @lp_str_eq(ptr %t556, ptr @.str5931)
%t558 = icmp ne i32 %t557, 0
br i1 %t558, label %then555, label %ifend557
then555:
@@ -59096,7 +59679,7 @@ then555:
br label %ret
ifend557:
%t559 = load ptr, ptr %t0
- %t560 = call i32 @fn_str_eq(ptr %t559, ptr @.str5898)
+ %t560 = call i32 @lp_str_eq(ptr %t559, ptr @.str5932)
%t561 = icmp ne i32 %t560, 0
br i1 %t561, label %then558, label %ifend560
then558:
@@ -59104,7 +59687,7 @@ then558:
br label %ret
ifend560:
%t562 = load ptr, ptr %t0
- %t563 = call i32 @fn_str_eq(ptr %t562, ptr @.str5899)
+ %t563 = call i32 @lp_str_eq(ptr %t562, ptr @.str5933)
%t564 = icmp ne i32 %t563, 0
br i1 %t564, label %then561, label %ifend563
then561:
@@ -59112,7 +59695,7 @@ then561:
br label %ret
ifend563:
%t565 = load ptr, ptr %t0
- %t566 = call i32 @fn_str_eq(ptr %t565, ptr @.str5900)
+ %t566 = call i32 @lp_str_eq(ptr %t565, ptr @.str5934)
%t567 = icmp ne i32 %t566, 0
br i1 %t567, label %then564, label %ifend566
then564:
@@ -59120,7 +59703,7 @@ then564:
br label %ret
ifend566:
%t568 = load ptr, ptr %t0
- %t569 = call i32 @fn_str_eq(ptr %t568, ptr @.str5901)
+ %t569 = call i32 @lp_str_eq(ptr %t568, ptr @.str5935)
%t570 = icmp ne i32 %t569, 0
br i1 %t570, label %then567, label %ifend569
then567:
@@ -59128,7 +59711,7 @@ then567:
br label %ret
ifend569:
%t571 = load ptr, ptr %t0
- %t572 = call i32 @fn_str_eq(ptr %t571, ptr @.str5902)
+ %t572 = call i32 @lp_str_eq(ptr %t571, ptr @.str5936)
%t573 = icmp ne i32 %t572, 0
br i1 %t573, label %then570, label %ifend572
then570:
@@ -59136,7 +59719,7 @@ then570:
br label %ret
ifend572:
%t574 = load ptr, ptr %t0
- %t575 = call i32 @fn_str_eq(ptr %t574, ptr @.str5903)
+ %t575 = call i32 @lp_str_eq(ptr %t574, ptr @.str5937)
%t576 = icmp ne i32 %t575, 0
br i1 %t576, label %then573, label %ifend575
then573:
@@ -59144,7 +59727,7 @@ then573:
br label %ret
ifend575:
%t577 = load ptr, ptr %t0
- %t578 = call i32 @fn_str_eq(ptr %t577, ptr @.str5904)
+ %t578 = call i32 @lp_str_eq(ptr %t577, ptr @.str5938)
%t579 = icmp ne i32 %t578, 0
br i1 %t579, label %then576, label %ifend578
then576:
@@ -59152,7 +59735,7 @@ then576:
br label %ret
ifend578:
%t580 = load ptr, ptr %t0
- %t581 = call i32 @fn_str_eq(ptr %t580, ptr @.str5905)
+ %t581 = call i32 @lp_str_eq(ptr %t580, ptr @.str5939)
%t582 = icmp ne i32 %t581, 0
br i1 %t582, label %then579, label %ifend581
then579:
@@ -59160,7 +59743,7 @@ then579:
br label %ret
ifend581:
%t583 = load ptr, ptr %t0
- %t584 = call i32 @fn_str_eq(ptr %t583, ptr @.str5906)
+ %t584 = call i32 @lp_str_eq(ptr %t583, ptr @.str5940)
%t585 = icmp ne i32 %t584, 0
br i1 %t585, label %then582, label %ifend584
then582:
@@ -59168,7 +59751,7 @@ then582:
br label %ret
ifend584:
%t586 = load ptr, ptr %t0
- %t587 = call i32 @fn_str_eq(ptr %t586, ptr @.str5907)
+ %t587 = call i32 @lp_str_eq(ptr %t586, ptr @.str5941)
%t588 = icmp ne i32 %t587, 0
br i1 %t588, label %then585, label %ifend587
then585:
@@ -59176,7 +59759,7 @@ then585:
br label %ret
ifend587:
%t589 = load ptr, ptr %t0
- %t590 = call i32 @fn_str_eq(ptr %t589, ptr @.str5908)
+ %t590 = call i32 @lp_str_eq(ptr %t589, ptr @.str5942)
%t591 = icmp ne i32 %t590, 0
br i1 %t591, label %then588, label %ifend590
then588:
@@ -59184,7 +59767,7 @@ then588:
br label %ret
ifend590:
%t592 = load ptr, ptr %t0
- %t593 = call i32 @fn_str_eq(ptr %t592, ptr @.str5909)
+ %t593 = call i32 @lp_str_eq(ptr %t592, ptr @.str5943)
%t594 = icmp ne i32 %t593, 0
br i1 %t594, label %then591, label %ifend593
then591:
@@ -59192,7 +59775,7 @@ then591:
br label %ret
ifend593:
%t595 = load ptr, ptr %t0
- %t596 = call i32 @fn_str_eq(ptr %t595, ptr @.str5910)
+ %t596 = call i32 @lp_str_eq(ptr %t595, ptr @.str5944)
%t597 = icmp ne i32 %t596, 0
br i1 %t597, label %then594, label %ifend596
then594:
@@ -59200,7 +59783,7 @@ then594:
br label %ret
ifend596:
%t598 = load ptr, ptr %t0
- %t599 = call i32 @fn_str_eq(ptr %t598, ptr @.str5911)
+ %t599 = call i32 @lp_str_eq(ptr %t598, ptr @.str5945)
%t600 = icmp ne i32 %t599, 0
br i1 %t600, label %then597, label %ifend599
then597:
@@ -59208,7 +59791,7 @@ then597:
br label %ret
ifend599:
%t601 = load ptr, ptr %t0
- %t602 = call i32 @fn_str_eq(ptr %t601, ptr @.str5912)
+ %t602 = call i32 @lp_str_eq(ptr %t601, ptr @.str5946)
%t603 = icmp ne i32 %t602, 0
br i1 %t603, label %then600, label %ifend602
then600:
@@ -59216,7 +59799,7 @@ then600:
br label %ret
ifend602:
%t604 = load ptr, ptr %t0
- %t605 = call i32 @fn_str_eq(ptr %t604, ptr @.str5913)
+ %t605 = call i32 @lp_str_eq(ptr %t604, ptr @.str5947)
%t606 = icmp ne i32 %t605, 0
br i1 %t606, label %then603, label %ifend605
then603:
@@ -59224,7 +59807,7 @@ then603:
br label %ret
ifend605:
%t607 = load ptr, ptr %t0
- %t608 = call i32 @fn_str_eq(ptr %t607, ptr @.str5914)
+ %t608 = call i32 @lp_str_eq(ptr %t607, ptr @.str5948)
%t609 = icmp ne i32 %t608, 0
br i1 %t609, label %then606, label %ifend608
then606:
@@ -59232,7 +59815,7 @@ then606:
br label %ret
ifend608:
%t610 = load ptr, ptr %t0
- %t611 = call i32 @fn_str_eq(ptr %t610, ptr @.str5915)
+ %t611 = call i32 @lp_str_eq(ptr %t610, ptr @.str5949)
%t612 = icmp ne i32 %t611, 0
br i1 %t612, label %then609, label %ifend611
then609:
@@ -59240,7 +59823,7 @@ then609:
br label %ret
ifend611:
%t613 = load ptr, ptr %t0
- %t614 = call i32 @fn_str_eq(ptr %t613, ptr @.str5916)
+ %t614 = call i32 @lp_str_eq(ptr %t613, ptr @.str5950)
%t615 = icmp ne i32 %t614, 0
br i1 %t615, label %then612, label %ifend614
then612:
@@ -59248,7 +59831,7 @@ then612:
br label %ret
ifend614:
%t616 = load ptr, ptr %t0
- %t617 = call i32 @fn_str_eq(ptr %t616, ptr @.str5917)
+ %t617 = call i32 @lp_str_eq(ptr %t616, ptr @.str5951)
%t618 = icmp ne i32 %t617, 0
br i1 %t618, label %then615, label %ifend617
then615:
@@ -59256,7 +59839,7 @@ then615:
br label %ret
ifend617:
%t619 = load ptr, ptr %t0
- %t620 = call i32 @fn_str_eq(ptr %t619, ptr @.str5918)
+ %t620 = call i32 @lp_str_eq(ptr %t619, ptr @.str5952)
%t621 = icmp ne i32 %t620, 0
br i1 %t621, label %then618, label %ifend620
then618:
@@ -59264,7 +59847,7 @@ then618:
br label %ret
ifend620:
%t622 = load ptr, ptr %t0
- %t623 = call i32 @fn_str_eq(ptr %t622, ptr @.str5919)
+ %t623 = call i32 @lp_str_eq(ptr %t622, ptr @.str5953)
%t624 = icmp ne i32 %t623, 0
br i1 %t624, label %then621, label %ifend623
then621:
@@ -59272,7 +59855,7 @@ then621:
br label %ret
ifend623:
%t625 = load ptr, ptr %t0
- %t626 = call i32 @fn_str_eq(ptr %t625, ptr @.str5920)
+ %t626 = call i32 @lp_str_eq(ptr %t625, ptr @.str5954)
%t627 = icmp ne i32 %t626, 0
br i1 %t627, label %then624, label %ifend626
then624:
@@ -59280,7 +59863,7 @@ then624:
br label %ret
ifend626:
%t628 = load ptr, ptr %t0
- %t629 = call i32 @fn_str_eq(ptr %t628, ptr @.str5921)
+ %t629 = call i32 @lp_str_eq(ptr %t628, ptr @.str5955)
%t630 = icmp ne i32 %t629, 0
br i1 %t630, label %then627, label %ifend629
then627:
@@ -59288,7 +59871,7 @@ then627:
br label %ret
ifend629:
%t631 = load ptr, ptr %t0
- %t632 = call i32 @fn_str_eq(ptr %t631, ptr @.str5922)
+ %t632 = call i32 @lp_str_eq(ptr %t631, ptr @.str5956)
%t633 = icmp ne i32 %t632, 0
br i1 %t633, label %then630, label %ifend632
then630:
@@ -59296,7 +59879,7 @@ then630:
br label %ret
ifend632:
%t634 = load ptr, ptr %t0
- %t635 = call i32 @fn_str_eq(ptr %t634, ptr @.str5923)
+ %t635 = call i32 @lp_str_eq(ptr %t634, ptr @.str5957)
%t636 = icmp ne i32 %t635, 0
br i1 %t636, label %then633, label %ifend635
then633:
@@ -59304,7 +59887,7 @@ then633:
br label %ret
ifend635:
%t637 = load ptr, ptr %t0
- %t638 = call i32 @fn_str_eq(ptr %t637, ptr @.str5924)
+ %t638 = call i32 @lp_str_eq(ptr %t637, ptr @.str5958)
%t639 = icmp ne i32 %t638, 0
br i1 %t639, label %then636, label %ifend638
then636:
@@ -59312,7 +59895,7 @@ then636:
br label %ret
ifend638:
%t640 = load ptr, ptr %t0
- %t641 = call i32 @fn_str_eq(ptr %t640, ptr @.str5925)
+ %t641 = call i32 @lp_str_eq(ptr %t640, ptr @.str5959)
%t642 = icmp ne i32 %t641, 0
br i1 %t642, label %then639, label %ifend641
then639:
@@ -59320,7 +59903,7 @@ then639:
br label %ret
ifend641:
%t643 = load ptr, ptr %t0
- %t644 = call i32 @fn_str_eq(ptr %t643, ptr @.str5926)
+ %t644 = call i32 @lp_str_eq(ptr %t643, ptr @.str5960)
%t645 = icmp ne i32 %t644, 0
br i1 %t645, label %then642, label %ifend644
then642:
@@ -59328,7 +59911,7 @@ then642:
br label %ret
ifend644:
%t646 = load ptr, ptr %t0
- %t647 = call i32 @fn_str_eq(ptr %t646, ptr @.str5927)
+ %t647 = call i32 @lp_str_eq(ptr %t646, ptr @.str5961)
%t648 = icmp ne i32 %t647, 0
br i1 %t648, label %then645, label %ifend647
then645:
@@ -59336,7 +59919,7 @@ then645:
br label %ret
ifend647:
%t649 = load ptr, ptr %t0
- %t650 = call i32 @fn_str_eq(ptr %t649, ptr @.str5928)
+ %t650 = call i32 @lp_str_eq(ptr %t649, ptr @.str5962)
%t651 = icmp ne i32 %t650, 0
br i1 %t651, label %then648, label %ifend650
then648:
@@ -59344,7 +59927,7 @@ then648:
br label %ret
ifend650:
%t652 = load ptr, ptr %t0
- %t653 = call i32 @fn_str_eq(ptr %t652, ptr @.str5929)
+ %t653 = call i32 @lp_str_eq(ptr %t652, ptr @.str5963)
%t654 = icmp ne i32 %t653, 0
br i1 %t654, label %then651, label %ifend653
then651:
@@ -59352,7 +59935,7 @@ then651:
br label %ret
ifend653:
%t655 = load ptr, ptr %t0
- %t656 = call i32 @fn_str_eq(ptr %t655, ptr @.str5930)
+ %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str5964)
%t657 = icmp ne i32 %t656, 0
br i1 %t657, label %then654, label %ifend656
then654:
@@ -59360,7 +59943,7 @@ then654:
br label %ret
ifend656:
%t658 = load ptr, ptr %t0
- %t659 = call i32 @fn_str_eq(ptr %t658, ptr @.str5931)
+ %t659 = call i32 @lp_str_eq(ptr %t658, ptr @.str5965)
%t660 = icmp ne i32 %t659, 0
br i1 %t660, label %then657, label %ifend659
then657:
@@ -59368,7 +59951,7 @@ then657:
br label %ret
ifend659:
%t661 = load ptr, ptr %t0
- %t662 = call i32 @fn_str_eq(ptr %t661, ptr @.str5932)
+ %t662 = call i32 @lp_str_eq(ptr %t661, ptr @.str5966)
%t663 = icmp ne i32 %t662, 0
br i1 %t663, label %then660, label %ifend662
then660:
@@ -59391,7 +59974,7 @@ entry:
%t79 = alloca i32
store ptr %arg_name, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str5933)
+ %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str5967)
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then0, label %ifend2
then0:
@@ -59399,7 +59982,7 @@ then0:
br label %ret
ifend2:
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5934)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str5968)
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then3, label %ifend5
then3:
@@ -59407,7 +59990,7 @@ then3:
br label %ret
ifend5:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5935)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5969)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then6, label %ifend8
then6:
@@ -59415,7 +59998,7 @@ then6:
br label %ret
ifend8:
%t10 = load ptr, ptr %t0
- %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str5936)
+ %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str5970)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then9, label %ifend11
then9:
@@ -59423,7 +60006,7 @@ then9:
br label %ret
ifend11:
%t13 = load ptr, ptr %t0
- %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str5937)
+ %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str5971)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then12, label %ifend14
then12:
@@ -59431,7 +60014,7 @@ then12:
br label %ret
ifend14:
%t16 = load ptr, ptr %t0
- %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str5938)
+ %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str5972)
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then15, label %ifend17
then15:
@@ -59439,7 +60022,7 @@ then15:
br label %ret
ifend17:
%t19 = load ptr, ptr %t0
- %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str5939)
+ %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str5973)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then18, label %ifend20
then18:
@@ -59447,7 +60030,7 @@ then18:
br label %ret
ifend20:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5940)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5974)
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then21, label %ifend23
then21:
@@ -59455,7 +60038,7 @@ then21:
br label %ret
ifend23:
%t25 = load ptr, ptr %t0
- %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str5941)
+ %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str5975)
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then24, label %ifend26
then24:
@@ -59463,7 +60046,7 @@ then24:
br label %ret
ifend26:
%t28 = load ptr, ptr %t0
- %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str5942)
+ %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str5976)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then27, label %ifend29
then27:
@@ -59471,7 +60054,7 @@ then27:
br label %ret
ifend29:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str5943)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str5977)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then30, label %ifend32
then30:
@@ -59479,7 +60062,7 @@ then30:
br label %ret
ifend32:
%t34 = load ptr, ptr %t0
- %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str5944)
+ %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str5978)
%t36 = icmp ne i32 %t35, 0
br i1 %t36, label %then33, label %ifend35
then33:
@@ -59487,7 +60070,7 @@ then33:
br label %ret
ifend35:
%t37 = load ptr, ptr %t0
- %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str5945)
+ %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str5979)
%t39 = icmp ne i32 %t38, 0
br i1 %t39, label %then36, label %ifend38
then36:
@@ -59495,7 +60078,7 @@ then36:
br label %ret
ifend38:
%t40 = load ptr, ptr %t0
- %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str5946)
+ %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str5980)
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then39, label %ifend41
then39:
@@ -59503,7 +60086,7 @@ then39:
br label %ret
ifend41:
%t43 = load ptr, ptr %t0
- %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str5947)
+ %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str5981)
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then42, label %ifend44
then42:
@@ -59511,7 +60094,7 @@ then42:
br label %ret
ifend44:
%t46 = load ptr, ptr %t0
- %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str5948)
+ %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str5982)
%t48 = icmp ne i32 %t47, 0
br i1 %t48, label %then45, label %ifend47
then45:
@@ -59519,7 +60102,7 @@ then45:
br label %ret
ifend47:
%t49 = load ptr, ptr %t0
- %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5949)
+ %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str5983)
%t51 = icmp ne i32 %t50, 0
br i1 %t51, label %then48, label %ifend50
then48:
@@ -59527,7 +60110,7 @@ then48:
br label %ret
ifend50:
%t52 = load ptr, ptr %t0
- %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str5950)
+ %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str5984)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then51, label %ifend53
then51:
@@ -59535,7 +60118,7 @@ then51:
br label %ret
ifend53:
%t55 = load ptr, ptr %t0
- %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str5951)
+ %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str5985)
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then54, label %ifend56
then54:
@@ -59543,7 +60126,7 @@ then54:
br label %ret
ifend56:
%t58 = load ptr, ptr %t0
- %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str5952)
+ %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str5986)
%t60 = icmp ne i32 %t59, 0
br i1 %t60, label %then57, label %ifend59
then57:
@@ -59551,7 +60134,7 @@ then57:
br label %ret
ifend59:
%t61 = load ptr, ptr %t0
- %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str5953)
+ %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str5987)
%t63 = icmp ne i32 %t62, 0
br i1 %t63, label %then60, label %ifend62
then60:
@@ -59559,7 +60142,7 @@ then60:
br label %ret
ifend62:
%t64 = load ptr, ptr %t0
- %t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str5954)
+ %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str5988)
%t66 = icmp ne i32 %t65, 0
br i1 %t66, label %then63, label %ifend65
then63:
@@ -59622,13 +60205,13 @@ entry:
%t5 = alloca ptr
store ptr %arg_llt, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call ptr @fn_str_concat(ptr @.str5955, ptr %t1)
- %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str5956)
+ %t2 = call ptr @lp_str_concat(ptr @.str5989, ptr %t1)
+ %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5990)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
- %t7 = call ptr @fn_str_concat(ptr @.str5957, ptr %t6)
- %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str5958)
+ %t7 = call ptr @lp_str_concat(ptr @.str5991, ptr %t6)
+ %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5992)
%t9 = call ptr @fn_emit_bind(ptr %t8)
store ptr %t9, ptr %retval
br label %ret
@@ -59682,7 +60265,7 @@ wbody4:
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1
%t27 = load ptr, ptr %t26
%t28 = load ptr, ptr %t1
- %t29 = call i32 @fn_str_eq(ptr %t27, ptr %t28)
+ %t29 = call i32 @lp_str_eq(ptr %t27, ptr %t28)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then6, label %ifend8
then6:
@@ -59732,7 +60315,7 @@ entry:
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %then0, label %ifend2
then0:
- call void @fn_perr(ptr @.str5959)
+ call void @fn_perr(ptr @.str5993)
br label %ifend2
ifend2:
%t9 = load ptr, ptr %t0
@@ -59742,8 +60325,8 @@ ifend2:
%t13 = call ptr @fn_emit_sizeof(ptr %t12)
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t14
- %t16 = call ptr @fn_str_concat(ptr @.str5960, ptr %t15)
- %t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str5961)
+ %t16 = call ptr @lp_str_concat(ptr @.str5994, ptr %t15)
+ %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str5995)
%t18 = call ptr @fn_emit_bind(ptr %t17)
store ptr %t18, ptr %t19
store i32 0, ptr %t20
@@ -59771,32 +60354,32 @@ wbody4:
store ptr %t37, ptr %t38
%t39 = call ptr @fn_nreg()
store ptr %t39, ptr %t40
- call void @fn_emit(ptr @.str5962)
+ call void @fn_emit(ptr @.str5996)
%t41 = load ptr, ptr %t40
call void @fn_emit(ptr %t41)
- call void @fn_emit(ptr @.str5963)
+ call void @fn_emit(ptr @.str5997)
%t42 = load ptr, ptr %t11
call void @fn_emit(ptr %t42)
- call void @fn_emit(ptr @.str5964)
+ call void @fn_emit(ptr @.str5998)
%t43 = load ptr, ptr %t19
call void @fn_emit(ptr %t43)
- call void @fn_emit(ptr @.str5965)
+ call void @fn_emit(ptr @.str5999)
%t44 = load i32, ptr %t20
%t45 = call ptr @fn_itoa(i32 %t44)
call void @fn_emit(ptr %t45)
- call void @fn_emit(ptr @.str5966)
+ call void @fn_emit(ptr @.str6000)
%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 @.str5967, ptr %t51
+ store ptr @.str6001, ptr %t51
%t52 = load ptr, ptr %t50
- %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str5968)
+ %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str6002)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then6, label %ifend8
then6:
- store ptr @.str5969, ptr %t51
+ store ptr @.str6003, ptr %t51
br label %ifend8
ifend8:
%t55 = load ptr, ptr %t38
@@ -59839,16 +60422,16 @@ then12:
store ptr %t84, ptr %t51
br label %ifend14
ifend14:
- call void @fn_emit(ptr @.str5970)
+ call void @fn_emit(ptr @.str6004)
%t85 = load ptr, ptr %t50
call void @fn_emit(ptr %t85)
- call void @fn_emit(ptr @.str5971)
+ call void @fn_emit(ptr @.str6005)
%t86 = load ptr, ptr %t51
call void @fn_emit(ptr %t86)
- call void @fn_emit(ptr @.str5972)
+ call void @fn_emit(ptr @.str6006)
%t87 = load ptr, ptr %t40
call void @fn_emit(ptr %t87)
- call void @fn_emit(ptr @.str5973)
+ call void @fn_emit(ptr @.str6007)
%t88 = load i32, ptr %t20
%t89 = add i32 %t88, 1
store i32 %t89, ptr %t20
@@ -59874,52 +60457,52 @@ entry:
%t14 = alloca ptr
%t19 = alloca ptr
store ptr %arg_ty, ptr %t0
- %t1 = call ptr @fn_emit_sizeof(ptr @.str5974)
+ %t1 = call ptr @fn_emit_sizeof(ptr @.str6008)
store ptr %t1, ptr %t2
%t3 = load ptr, ptr %t2
- %t4 = call ptr @fn_str_concat(ptr @.str5975, ptr %t3)
- %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5976)
+ %t4 = call ptr @lp_str_concat(ptr @.str6009, ptr %t3)
+ %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6010)
%t6 = call ptr @fn_emit_bind(ptr %t5)
store ptr %t6, ptr %t7
%t8 = call ptr @fn_nreg()
store ptr %t8, ptr %t9
- call void @fn_emit(ptr @.str5977)
+ call void @fn_emit(ptr @.str6011)
%t10 = load ptr, ptr %t9
call void @fn_emit(ptr %t10)
- call void @fn_emit(ptr @.str5978)
+ call void @fn_emit(ptr @.str6012)
%t11 = load ptr, ptr %t7
call void @fn_emit(ptr %t11)
- call void @fn_emit(ptr @.str5979)
- call void @fn_emit(ptr @.str5980)
+ call void @fn_emit(ptr @.str6013)
+ call void @fn_emit(ptr @.str6014)
%t12 = load ptr, ptr %t9
call void @fn_emit(ptr %t12)
- call void @fn_emit(ptr @.str5981)
+ call void @fn_emit(ptr @.str6015)
%t13 = call ptr @fn_nreg()
store ptr %t13, ptr %t14
- call void @fn_emit(ptr @.str5982)
+ call void @fn_emit(ptr @.str6016)
%t15 = load ptr, ptr %t14
call void @fn_emit(ptr %t15)
- call void @fn_emit(ptr @.str5983)
+ call void @fn_emit(ptr @.str6017)
%t16 = load ptr, ptr %t7
call void @fn_emit(ptr %t16)
- call void @fn_emit(ptr @.str5984)
- call void @fn_emit(ptr @.str5985)
+ call void @fn_emit(ptr @.str6018)
+ call void @fn_emit(ptr @.str6019)
%t17 = load ptr, ptr %t14
call void @fn_emit(ptr %t17)
- call void @fn_emit(ptr @.str5986)
+ call void @fn_emit(ptr @.str6020)
%t18 = call ptr @fn_nreg()
store ptr %t18, ptr %t19
- call void @fn_emit(ptr @.str5987)
+ call void @fn_emit(ptr @.str6021)
%t20 = load ptr, ptr %t19
call void @fn_emit(ptr %t20)
- call void @fn_emit(ptr @.str5988)
+ call void @fn_emit(ptr @.str6022)
%t21 = load ptr, ptr %t7
call void @fn_emit(ptr %t21)
- call void @fn_emit(ptr @.str5989)
- call void @fn_emit(ptr @.str5990)
+ call void @fn_emit(ptr @.str6023)
+ call void @fn_emit(ptr @.str6024)
%t22 = load ptr, ptr %t19
call void @fn_emit(ptr %t22)
- call void @fn_emit(ptr @.str5991)
+ call void @fn_emit(ptr @.str6025)
%t23 = load ptr, ptr %t7
%t24 = load ptr, ptr %t0
%t25 = call ptr @fn_val(ptr %t23, ptr %t24)
@@ -59940,17 +60523,17 @@ entry:
store i32 %arg_i, ptr %t1
%t2 = call ptr @fn_nreg()
store ptr %t2, ptr %t3
- call void @fn_emit(ptr @.str5992)
+ call void @fn_emit(ptr @.str6026)
%t4 = load ptr, ptr %t3
call void @fn_emit(ptr %t4)
- call void @fn_emit(ptr @.str5993)
+ call void @fn_emit(ptr @.str6027)
%t5 = load ptr, ptr %t0
call void @fn_emit(ptr %t5)
- call void @fn_emit(ptr @.str5994)
+ call void @fn_emit(ptr @.str6028)
%t6 = load i32, ptr %t1
%t7 = call ptr @fn_itoa(i32 %t6)
call void @fn_emit(ptr %t7)
- call void @fn_emit(ptr @.str5995)
+ call void @fn_emit(ptr @.str6029)
%t8 = load ptr, ptr %t3
store ptr %t8, ptr %retval
br label %ret
@@ -59989,24 +60572,24 @@ then0:
%t18 = call ptr @fn_slice_field(ptr %t17, i32 1)
store ptr %t18, ptr %t19
%t20 = load ptr, ptr %t19
- %t21 = call ptr @fn_str_concat(ptr @.str5996, ptr %t20)
+ %t21 = call ptr @lp_str_concat(ptr @.str6030, ptr %t20)
%t22 = call ptr @fn_emit_bind(ptr %t21)
- %t23 = call ptr @fn_val(ptr %t22, ptr @.str5997)
+ %t23 = call ptr @fn_val(ptr %t22, ptr @.str6031)
store ptr %t23, ptr %retval
br label %ret
ifend2:
%t24 = load ptr, ptr %t9
%t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0
%t26 = load ptr, ptr %t25
- %t27 = call ptr @fn_str_concat(ptr @.str5998, ptr %t26)
- %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str5999)
+ %t27 = call ptr @lp_str_concat(ptr @.str6032, ptr %t26)
+ %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str6033)
%t29 = call ptr @fn_emit_bind(ptr %t28)
store ptr %t29, ptr %t30
%t31 = load ptr, ptr %t30
- %t32 = call ptr @fn_str_concat(ptr @.str6000, ptr %t31)
- %t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str6001)
+ %t32 = call ptr @lp_str_concat(ptr @.str6034, ptr %t31)
+ %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str6035)
%t34 = call ptr @fn_emit_bind(ptr %t33)
- %t35 = call ptr @fn_val(ptr %t34, ptr @.str6002)
+ %t35 = call ptr @fn_val(ptr %t34, ptr @.str6036)
store ptr %t35, ptr %retval
br label %ret
ret:
@@ -60019,29 +60602,6 @@ entry:
%retval = alloca ptr
%t0 = alloca ptr
%t9 = alloca ptr
- %t14 = alloca ptr
- %t17 = alloca ptr
- %t21 = alloca ptr
- %t24 = alloca ptr
- %t27 = alloca ptr
- %t30 = alloca ptr
- %t34 = alloca ptr
- %t38 = alloca ptr
- %t45 = alloca ptr
- %t47 = alloca ptr
- %t49 = alloca ptr
- %t58 = alloca ptr
- %t63 = alloca ptr
- %t70 = alloca ptr
- %t73 = alloca ptr
- %t78 = alloca ptr
- %t85 = alloca ptr
- %t89 = alloca ptr
- %t97 = alloca ptr
- %t112 = alloca ptr
- %t116 = alloca ptr
- %t118 = alloca ptr
- %t132 = alloca ptr
store ptr %arg_e, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7
@@ -60053,181 +60613,328 @@ entry:
%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
+ %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0
%t12 = load ptr, ptr %t11
- %t13 = call ptr @fn_slice_elem(ptr %t12)
- store ptr %t13, ptr %t14
+ %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_llty(ptr %t15)
- store ptr %t16, ptr %t17
- %t18 = load ptr, ptr %t9
- %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0
+ %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
- store ptr %t20, ptr %t21
+ %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
- %t23 = call ptr @fn_slice_field(ptr %t22, i32 1)
- store ptr %t23, ptr %t24
- %t25 = load ptr, ptr %t21
- %t26 = call ptr @fn_slice_field(ptr %t25, i32 2)
- store ptr %t26, ptr %t27
- %t28 = load ptr, ptr %t21
- %t29 = call ptr @fn_slice_field(ptr %t28, i32 0)
- store ptr %t29, ptr %t30
- %t31 = load ptr, ptr %t24
- %t32 = call ptr @fn_str_concat(ptr @.str6003, ptr %t31)
- %t33 = call ptr @fn_emit_bind(ptr %t32)
- store ptr %t33, ptr %t34
- %t35 = load ptr, ptr %t27
- %t36 = call ptr @fn_str_concat(ptr @.str6004, ptr %t35)
- %t37 = call ptr @fn_emit_bind(ptr %t36)
- store ptr %t37, ptr %t38
- %t39 = load ptr, ptr %t34
- %t40 = call ptr @fn_str_concat(ptr @.str6005, ptr %t39)
- %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str6006)
- %t42 = load ptr, ptr %t38
- %t43 = call ptr @fn_str_concat(ptr %t41, ptr %t42)
- %t44 = call ptr @fn_emit_bind(ptr %t43)
- store ptr %t44, ptr %t45
- %t46 = call ptr @fn_lbl(ptr @.str6007)
- store ptr %t46, ptr %t47
- %t48 = call ptr @fn_lbl(ptr @.str6008)
- store ptr %t48, ptr %t49
- call void @fn_emit(ptr @.str6009)
- %t50 = load ptr, ptr %t45
- call void @fn_emit(ptr %t50)
- call void @fn_emit(ptr @.str6010)
- %t51 = load ptr, ptr %t47
- call void @fn_emit(ptr %t51)
- call void @fn_emit(ptr @.str6011)
- %t52 = load ptr, ptr %t49
- call void @fn_emit(ptr %t52)
- call void @fn_emit(ptr @.str6012)
- %t53 = load ptr, ptr %t47
- call void @fn_emit(ptr %t53)
- call void @fn_emit(ptr @.str6013)
- %t54 = load ptr, ptr %t38
- %t55 = call ptr @fn_str_concat(ptr @.str6014, ptr %t54)
- %t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str6015)
- %t57 = call ptr @fn_emit_bind(ptr %t56)
- store ptr %t57, ptr %t58
- %t59 = load ptr, ptr %t38
- %t60 = call ptr @fn_str_concat(ptr @.str6016, ptr %t59)
- %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str6017)
- %t62 = call ptr @fn_emit_bind(ptr %t61)
- store ptr %t62, ptr %t63
- %t64 = load ptr, ptr %t63
- %t65 = call ptr @fn_str_concat(ptr @.str6018, ptr %t64)
- %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str6019)
- %t67 = load ptr, ptr %t58
- %t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67)
- %t69 = call ptr @fn_emit_bind(ptr %t68)
- store ptr %t69, ptr %t70
- %t71 = load ptr, ptr %t17
- %t72 = call ptr @fn_emit_sizeof(ptr %t71)
- store ptr %t72, ptr %t73
- %t74 = load ptr, ptr %t70
- %t75 = call ptr @fn_str_concat(ptr @.str6020, ptr %t74)
- %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str6021)
- %t77 = call ptr @fn_emit_bind(ptr %t76)
- store ptr %t77, ptr %t78
- %t79 = load ptr, ptr %t78
- %t80 = call ptr @fn_str_concat(ptr @.str6022, ptr %t79)
- %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str6023)
- %t82 = load ptr, ptr %t73
- %t83 = call ptr @fn_str_concat(ptr %t81, ptr %t82)
- %t84 = call ptr @fn_emit_bind(ptr %t83)
- store ptr %t84, ptr %t85
- %t86 = load ptr, ptr %t30
- %t87 = call ptr @fn_str_concat(ptr @.str6024, ptr %t86)
- %t88 = call ptr @fn_emit_bind(ptr %t87)
- store ptr %t88, ptr %t89
- %t90 = load ptr, ptr %t89
- %t91 = call ptr @fn_str_concat(ptr @.str6025, ptr %t90)
- %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str6026)
- %t93 = load ptr, ptr %t85
- %t94 = call ptr @fn_str_concat(ptr %t92, ptr %t93)
- %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str6027)
- %t96 = call ptr @fn_emit_bind(ptr %t95)
- store ptr %t96, ptr %t97
- call void @fn_emit(ptr @.str6028)
- %t98 = load ptr, ptr %t97
- call void @fn_emit(ptr %t98)
- call void @fn_emit(ptr @.str6029)
- %t99 = load ptr, ptr %t30
- call void @fn_emit(ptr %t99)
- call void @fn_emit(ptr @.str6030)
- call void @fn_emit(ptr @.str6031)
- %t100 = load ptr, ptr %t70
- call void @fn_emit(ptr %t100)
- call void @fn_emit(ptr @.str6032)
- %t101 = load ptr, ptr %t27
- call void @fn_emit(ptr %t101)
- call void @fn_emit(ptr @.str6033)
- call void @fn_emit(ptr @.str6034)
- %t102 = load ptr, ptr %t49
- call void @fn_emit(ptr %t102)
- call void @fn_emit(ptr @.str6035)
- %t103 = load ptr, ptr %t49
- call void @fn_emit(ptr %t103)
- call void @fn_emit(ptr @.str6036)
- %t104 = load ptr, ptr %t0
- %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 7
- %t106 = load ptr, ptr %t105
- %t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0
- %t108 = load ptr, ptr %t107
- %t109 = getelementptr inbounds ptr, ptr %t108, i32 1
- %t110 = load ptr, ptr %t109
- %t111 = call ptr @fn_emit_expr(ptr %t110)
- store ptr %t111, ptr %t112
- %t113 = load ptr, ptr %t30
- %t114 = call ptr @fn_str_concat(ptr @.str6037, ptr %t113)
- %t115 = call ptr @fn_emit_bind(ptr %t114)
- store ptr %t115, ptr %t116
- %t117 = call ptr @fn_nreg()
- store ptr %t117, ptr %t118
- call void @fn_emit(ptr @.str6038)
- %t119 = load ptr, ptr %t118
- call void @fn_emit(ptr %t119)
- call void @fn_emit(ptr @.str6039)
- %t120 = load ptr, ptr %t17
- call void @fn_emit(ptr %t120)
- call void @fn_emit(ptr @.str6040)
- %t121 = load ptr, ptr %t116
- call void @fn_emit(ptr %t121)
- call void @fn_emit(ptr @.str6041)
- %t122 = load ptr, ptr %t34
- call void @fn_emit(ptr %t122)
- call void @fn_emit(ptr @.str6042)
- call void @fn_emit(ptr @.str6043)
- %t123 = load ptr, ptr %t17
- call void @fn_emit(ptr %t123)
- call void @fn_emit(ptr @.str6044)
- %t124 = load ptr, ptr %t112
- %t125 = getelementptr inbounds %Cmp_Val, ptr %t124, i32 0, i32 0
- %t126 = load ptr, ptr %t125
- call void @fn_emit(ptr %t126)
- call void @fn_emit(ptr @.str6045)
- %t127 = load ptr, ptr %t118
- call void @fn_emit(ptr %t127)
- call void @fn_emit(ptr @.str6046)
- %t128 = load ptr, ptr %t34
- %t129 = call ptr @fn_str_concat(ptr @.str6047, ptr %t128)
- %t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str6048)
- %t131 = call ptr @fn_emit_bind(ptr %t130)
- store ptr %t131, ptr %t132
- call void @fn_emit(ptr @.str6049)
- %t133 = load ptr, ptr %t132
- call void @fn_emit(ptr %t133)
- call void @fn_emit(ptr @.str6050)
- %t134 = load ptr, ptr %t24
- call void @fn_emit(ptr %t134)
- call void @fn_emit(ptr @.str6051)
- %t135 = call ptr @fn_val(ptr @.str6052, ptr @.str6053)
- store ptr %t135, ptr %retval
+ %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 @.str6037, ptr @.str6038)
+ store ptr %t26, ptr %retval
br label %ret
ret:
- %t136 = load ptr, ptr %retval
- ret ptr %t136
+ %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 @.str6039)
+ 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 @.str6040, 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 @.str6041, ptr %t68)
+ %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str6042)
+ %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 @.str6043, 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 @.str6044, 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 @.str6045, ptr %t20)
+ %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6046)
+ %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 @.str6047)
+ store ptr %t27, ptr %t28
+ %t29 = call ptr @fn_lbl(ptr @.str6048)
+ store ptr %t29, ptr %t30
+ call void @fn_emit(ptr @.str6049)
+ %t31 = load ptr, ptr %t26
+ call void @fn_emit(ptr %t31)
+ call void @fn_emit(ptr @.str6050)
+ %t32 = load ptr, ptr %t28
+ call void @fn_emit(ptr %t32)
+ call void @fn_emit(ptr @.str6051)
+ %t33 = load ptr, ptr %t30
+ call void @fn_emit(ptr %t33)
+ call void @fn_emit(ptr @.str6052)
+ %t34 = load ptr, ptr %t28
+ call void @fn_emit(ptr %t34)
+ call void @fn_emit(ptr @.str6053)
+ %t35 = load ptr, ptr %t19
+ %t36 = call ptr @lp_str_concat(ptr @.str6054, ptr %t35)
+ %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str6055)
+ %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 @.str6056, ptr %t40)
+ %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6057)
+ %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 @.str6058, ptr %t45)
+ %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6059)
+ %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 @.str6060, ptr %t55)
+ %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str6061)
+ %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 @.str6062, ptr %t60)
+ %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str6063)
+ %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 @.str6064, 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 @.str6065, ptr %t71)
+ %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str6066)
+ %t74 = load ptr, ptr %t66
+ %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74)
+ %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str6067)
+ %t77 = call ptr @fn_emit_bind(ptr %t76)
+ store ptr %t77, ptr %t78
+ call void @fn_emit(ptr @.str6068)
+ %t79 = load ptr, ptr %t78
+ call void @fn_emit(ptr %t79)
+ call void @fn_emit(ptr @.str6069)
+ %t80 = load ptr, ptr %t11
+ call void @fn_emit(ptr %t80)
+ call void @fn_emit(ptr @.str6070)
+ call void @fn_emit(ptr @.str6071)
+ %t81 = load ptr, ptr %t51
+ call void @fn_emit(ptr %t81)
+ call void @fn_emit(ptr @.str6072)
+ %t82 = load ptr, ptr %t8
+ call void @fn_emit(ptr %t82)
+ call void @fn_emit(ptr @.str6073)
+ call void @fn_emit(ptr @.str6074)
+ %t83 = load ptr, ptr %t30
+ call void @fn_emit(ptr %t83)
+ call void @fn_emit(ptr @.str6075)
+ %t84 = load ptr, ptr %t30
+ call void @fn_emit(ptr %t84)
+ call void @fn_emit(ptr @.str6076)
+ %t85 = load ptr, ptr %t11
+ %t86 = call ptr @lp_str_concat(ptr @.str6077, 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 @.str6078)
+ %t91 = load ptr, ptr %t90
+ call void @fn_emit(ptr %t91)
+ call void @fn_emit(ptr @.str6079)
+ %t92 = load ptr, ptr %t1
+ call void @fn_emit(ptr %t92)
+ call void @fn_emit(ptr @.str6080)
+ %t93 = load ptr, ptr %t88
+ call void @fn_emit(ptr %t93)
+ call void @fn_emit(ptr @.str6081)
+ %t94 = load ptr, ptr %t15
+ call void @fn_emit(ptr %t94)
+ call void @fn_emit(ptr @.str6082)
+ call void @fn_emit(ptr @.str6083)
+ %t95 = load ptr, ptr %t1
+ call void @fn_emit(ptr %t95)
+ call void @fn_emit(ptr @.str6084)
+ %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 @.str6085)
+ %t99 = load ptr, ptr %t90
+ call void @fn_emit(ptr %t99)
+ call void @fn_emit(ptr @.str6086)
+ %t100 = load ptr, ptr %t15
+ %t101 = call ptr @lp_str_concat(ptr @.str6087, ptr %t100)
+ %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6088)
+ %t103 = call ptr @fn_emit_bind(ptr %t102)
+ store ptr %t103, ptr %t104
+ call void @fn_emit(ptr @.str6089)
+ %t105 = load ptr, ptr %t104
+ call void @fn_emit(ptr %t105)
+ call void @fn_emit(ptr @.str6090)
+ %t106 = load ptr, ptr %t5
+ call void @fn_emit(ptr %t106)
+ call void @fn_emit(ptr @.str6091)
+ br label %ret
+ret:
+ ret void
}
define void @fn_emit_try_body(ptr %arg_b, ptr %arg_slot) {
@@ -60307,12 +61014,12 @@ then8:
%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 @.str6055)
- %t54 = call ptr @fn_str_concat(ptr @.str6054, ptr %t53)
- %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str6056)
+ %t53 = call ptr @fn_coerce_code(ptr %t52, ptr @.str6093)
+ %t54 = call ptr @lp_str_concat(ptr @.str6092, ptr %t53)
+ %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6094)
%t56 = load ptr, ptr %t1
- %t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56)
- %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str6057)
+ %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56)
+ %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6095)
call void @fn_emit(ptr %t58)
br label %ifend10
else9:
@@ -60358,7 +61065,7 @@ entry:
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1
%t8 = load ptr, ptr %t7
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str6058)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str6096)
%t10 = icmp eq i32 %t9, 0
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
@@ -60367,108 +61074,108 @@ then0:
%t13 = load ptr, ptr %t5
%t14 = getelementptr inbounds %Cmp_Val, ptr %t13, i32 0, i32 1
%t15 = load ptr, ptr %t14
- %t16 = call ptr @fn_str_concat(ptr @.str6059, ptr %t15)
- %t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str6060)
+ %t16 = call ptr @lp_str_concat(ptr @.str6097, ptr %t15)
+ %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6098)
%t18 = load ptr, ptr %t0
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 8
%t20 = load i32, ptr %t19
%t21 = call ptr @fn_itoa(i32 %t20)
- %t22 = call ptr @fn_str_concat(ptr %t17, ptr %t21)
+ %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 @.str6061)
+ %t23 = call ptr @fn_emit_alloca(ptr @.str6099)
store ptr %t23, ptr %t24
%t25 = load ptr, ptr %t24
- %t26 = call ptr @fn_str_concat(ptr @.str6062, ptr %t25)
- %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str6063)
+ %t26 = call ptr @lp_str_concat(ptr @.str6100, ptr %t25)
+ %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6101)
call void @fn_emit(ptr %t27)
%t28 = load ptr, ptr %t5
%t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0
%t30 = load ptr, ptr %t29
- %t31 = call ptr @fn_str_concat(ptr @.str6064, ptr %t30)
- %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str6065)
+ %t31 = call ptr @lp_str_concat(ptr @.str6102, ptr %t30)
+ %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str6103)
%t33 = call ptr @fn_emit_bind(ptr %t32)
store ptr %t33, ptr %t34
%t35 = load ptr, ptr %t34
- %t36 = call ptr @fn_str_concat(ptr @.str6066, ptr %t35)
+ %t36 = call ptr @lp_str_concat(ptr @.str6104, ptr %t35)
%t37 = call ptr @fn_emit_bind(ptr %t36)
store ptr %t37, ptr %t38
%t39 = load ptr, ptr %t38
- %t40 = call ptr @fn_str_concat(ptr @.str6067, ptr %t39)
- %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str6068)
+ %t40 = call ptr @lp_str_concat(ptr @.str6105, ptr %t39)
+ %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str6106)
%t42 = call ptr @fn_emit_bind(ptr %t41)
store ptr %t42, ptr %t43
- %t44 = call ptr @fn_lbl(ptr @.str6069)
+ %t44 = call ptr @fn_lbl(ptr @.str6107)
store ptr %t44, ptr %t45
- %t46 = call ptr @fn_lbl(ptr @.str6070)
+ %t46 = call ptr @fn_lbl(ptr @.str6108)
store ptr %t46, ptr %t47
- %t48 = call ptr @fn_lbl(ptr @.str6071)
+ %t48 = call ptr @fn_lbl(ptr @.str6109)
store ptr %t48, ptr %t49
%t50 = load ptr, ptr %t43
- %t51 = call ptr @fn_str_concat(ptr @.str6072, ptr %t50)
- %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str6073)
+ %t51 = call ptr @lp_str_concat(ptr @.str6110, ptr %t50)
+ %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6111)
%t53 = load ptr, ptr %t45
- %t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53)
- %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str6074)
+ %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53)
+ %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6112)
%t56 = load ptr, ptr %t47
- %t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56)
- %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str6075)
+ %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56)
+ %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6113)
call void @fn_emit(ptr %t58)
%t59 = load ptr, ptr %t45
- %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str6076)
+ %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str6114)
call void @fn_emit(ptr %t60)
store i32 0, ptr @g_g_term
%t61 = load ptr, ptr %t5
%t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0
%t63 = load ptr, ptr %t62
- %t64 = call ptr @fn_str_concat(ptr @.str6077, ptr %t63)
- %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str6078)
+ %t64 = call ptr @lp_str_concat(ptr @.str6115, ptr %t63)
+ %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str6116)
%t66 = call ptr @fn_emit_bind(ptr %t65)
store ptr %t66, ptr %t67
%t68 = load ptr, ptr %t67
- %t69 = call ptr @fn_str_concat(ptr @.str6079, ptr %t68)
+ %t69 = call ptr @lp_str_concat(ptr @.str6117, ptr %t68)
%t70 = call ptr @fn_emit_bind(ptr %t69)
store ptr %t70, ptr %t71
%t72 = load ptr, ptr %t71
- %t73 = call ptr @fn_str_concat(ptr @.str6080, ptr %t72)
- %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str6081)
+ %t73 = call ptr @lp_str_concat(ptr @.str6118, ptr %t72)
+ %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str6119)
%t75 = load ptr, ptr %t24
- %t76 = call ptr @fn_str_concat(ptr %t74, ptr %t75)
- %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str6082)
+ %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75)
+ %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str6120)
call void @fn_emit(ptr %t77)
%t78 = load ptr, ptr %t49
- %t79 = call ptr @fn_str_concat(ptr @.str6083, ptr %t78)
- %t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str6084)
+ %t79 = call ptr @lp_str_concat(ptr @.str6121, ptr %t78)
+ %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str6122)
call void @fn_emit(ptr %t80)
%t81 = load ptr, ptr %t47
- %t82 = call ptr @fn_str_concat(ptr %t81, ptr @.str6085)
+ %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str6123)
call void @fn_emit(ptr %t82)
store i32 0, ptr @g_g_term
%t83 = load ptr, ptr %t5
%t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0
%t85 = load ptr, ptr %t84
- %t86 = call ptr @fn_str_concat(ptr @.str6086, ptr %t85)
- %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str6087)
+ %t86 = call ptr @lp_str_concat(ptr @.str6124, ptr %t85)
+ %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str6125)
%t88 = call ptr @fn_emit_bind(ptr %t87)
store ptr %t88, ptr %t89
%t90 = load ptr, ptr %t89
- %t91 = call ptr @fn_str_concat(ptr @.str6088, ptr %t90)
+ %t91 = call ptr @lp_str_concat(ptr @.str6126, ptr %t90)
%t92 = call ptr @fn_emit_bind(ptr %t91)
store ptr %t92, ptr %t93
- %t94 = call ptr @fn_emit_alloca(ptr @.str6089)
+ %t94 = call ptr @fn_emit_alloca(ptr @.str6127)
store ptr %t94, ptr %t95
%t96 = load ptr, ptr %t93
- %t97 = call ptr @fn_str_concat(ptr @.str6090, ptr %t96)
- %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str6091)
+ %t97 = call ptr @lp_str_concat(ptr @.str6128, ptr %t96)
+ %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str6129)
%t99 = load ptr, ptr %t95
- %t100 = call ptr @fn_str_concat(ptr %t98, ptr %t99)
- %t101 = call ptr @fn_str_concat(ptr %t100, ptr @.str6092)
+ %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99)
+ %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str6130)
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 @.str6093, ptr %t104, ptr @.str6094)
+ call void @fn_loc_push(ptr @.str6131, ptr %t104, ptr @.str6132)
%t105 = load ptr, ptr %t0
%t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 5
%t107 = load ptr, ptr %t106
@@ -60483,19 +61190,19 @@ ifend2:
br i1 %t113, label %then3, label %ifend5
then3:
%t114 = load ptr, ptr %t49
- %t115 = call ptr @fn_str_concat(ptr @.str6095, ptr %t114)
- %t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str6096)
+ %t115 = call ptr @lp_str_concat(ptr @.str6133, ptr %t114)
+ %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str6134)
call void @fn_emit(ptr %t116)
br label %ifend5
ifend5:
%t117 = load ptr, ptr %t49
- %t118 = call ptr @fn_str_concat(ptr %t117, ptr @.str6097)
+ %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str6135)
call void @fn_emit(ptr %t118)
store i32 0, ptr @g_g_term
%t119 = load ptr, ptr %t24
- %t120 = call ptr @fn_str_concat(ptr @.str6098, ptr %t119)
+ %t120 = call ptr @lp_str_concat(ptr @.str6136, ptr %t119)
%t121 = call ptr @fn_emit_bind(ptr %t120)
- %t122 = call ptr @fn_val(ptr %t121, ptr @.str6099)
+ %t122 = call ptr @fn_val(ptr %t121, ptr @.str6137)
store ptr %t122, ptr %retval
br label %ret
ret:
@@ -60513,10 +61220,10 @@ entry:
store ptr %arg_ty, ptr %t1
%t2 = load ptr, ptr %t1
%t3 = call ptr @fn_llty(ptr %t2)
- %t4 = call ptr @fn_str_concat(ptr @.str6100, ptr %t3)
- %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str6101)
+ %t4 = call ptr @lp_str_concat(ptr @.str6138, ptr %t3)
+ %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6139)
%t6 = load ptr, ptr %t0
- %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
+ %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
@@ -60543,7 +61250,7 @@ entry:
%t49 = alloca ptr
%t54 = alloca ptr
store ptr %arg_e, ptr %t0
- %t1 = call ptr @fn_emit_alloca(ptr @.str6102)
+ %t1 = call ptr @fn_emit_alloca(ptr @.str6140)
store ptr %t1, ptr %t2
%t3 = load ptr, ptr %t0
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4
@@ -60553,60 +61260,60 @@ entry:
%t8 = load ptr, ptr %t7
%t9 = getelementptr inbounds %Cmp_Val, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
- %t11 = call ptr @fn_str_concat(ptr @.str6103, ptr %t10)
- %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str6104)
+ %t11 = call ptr @lp_str_concat(ptr @.str6141, ptr %t10)
+ %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str6142)
%t13 = call ptr @fn_emit_bind(ptr %t12)
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t14
- %t16 = call ptr @fn_str_concat(ptr @.str6105, ptr %t15)
- %t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str6106)
+ %t16 = call ptr @lp_str_concat(ptr @.str6143, ptr %t15)
+ %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6144)
%t18 = call ptr @fn_emit_bind(ptr %t17)
store ptr %t18, ptr %t19
- call void @fn_emit(ptr @.str6107)
+ call void @fn_emit(ptr @.str6145)
%t20 = load ptr, ptr %t19
call void @fn_emit(ptr %t20)
- call void @fn_emit(ptr @.str6108)
+ call void @fn_emit(ptr @.str6146)
%t21 = load ptr, ptr %t2
call void @fn_emit(ptr %t21)
- call void @fn_emit(ptr @.str6109)
- %t22 = call ptr @fn_lbl(ptr @.str6110)
+ call void @fn_emit(ptr @.str6147)
+ %t22 = call ptr @fn_lbl(ptr @.str6148)
store ptr %t22, ptr %t23
- %t24 = call ptr @fn_lbl(ptr @.str6111)
+ %t24 = call ptr @fn_lbl(ptr @.str6149)
store ptr %t24, ptr %t25
%t26 = load ptr, ptr %t0
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1
%t28 = load ptr, ptr %t27
- %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str6112)
+ %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str6150)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then0, label %else1
then0:
- call void @fn_emit(ptr @.str6113)
+ call void @fn_emit(ptr @.str6151)
%t31 = load ptr, ptr %t14
call void @fn_emit(ptr %t31)
- call void @fn_emit(ptr @.str6114)
+ call void @fn_emit(ptr @.str6152)
%t32 = load ptr, ptr %t23
call void @fn_emit(ptr %t32)
- call void @fn_emit(ptr @.str6115)
+ call void @fn_emit(ptr @.str6153)
%t33 = load ptr, ptr %t25
call void @fn_emit(ptr %t33)
- call void @fn_emit(ptr @.str6116)
+ call void @fn_emit(ptr @.str6154)
br label %ifend2
else1:
- call void @fn_emit(ptr @.str6117)
+ call void @fn_emit(ptr @.str6155)
%t34 = load ptr, ptr %t14
call void @fn_emit(ptr %t34)
- call void @fn_emit(ptr @.str6118)
+ call void @fn_emit(ptr @.str6156)
%t35 = load ptr, ptr %t25
call void @fn_emit(ptr %t35)
- call void @fn_emit(ptr @.str6119)
+ call void @fn_emit(ptr @.str6157)
%t36 = load ptr, ptr %t23
call void @fn_emit(ptr %t36)
- call void @fn_emit(ptr @.str6120)
+ call void @fn_emit(ptr @.str6158)
br label %ifend2
ifend2:
%t37 = load ptr, ptr %t23
call void @fn_emit(ptr %t37)
- call void @fn_emit(ptr @.str6121)
+ call void @fn_emit(ptr @.str6159)
%t38 = load ptr, ptr %t0
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 5
%t40 = load ptr, ptr %t39
@@ -60615,33 +61322,33 @@ ifend2:
%t43 = load ptr, ptr %t42
%t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0
%t45 = load ptr, ptr %t44
- %t46 = call ptr @fn_str_concat(ptr @.str6122, ptr %t45)
- %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str6123)
+ %t46 = call ptr @lp_str_concat(ptr @.str6160, ptr %t45)
+ %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6161)
%t48 = call ptr @fn_emit_bind(ptr %t47)
store ptr %t48, ptr %t49
%t50 = load ptr, ptr %t49
- %t51 = call ptr @fn_str_concat(ptr @.str6124, ptr %t50)
- %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str6125)
+ %t51 = call ptr @lp_str_concat(ptr @.str6162, ptr %t50)
+ %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6163)
%t53 = call ptr @fn_emit_bind(ptr %t52)
store ptr %t53, ptr %t54
- call void @fn_emit(ptr @.str6126)
+ call void @fn_emit(ptr @.str6164)
%t55 = load ptr, ptr %t54
call void @fn_emit(ptr %t55)
- call void @fn_emit(ptr @.str6127)
+ call void @fn_emit(ptr @.str6165)
%t56 = load ptr, ptr %t2
call void @fn_emit(ptr %t56)
- call void @fn_emit(ptr @.str6128)
- call void @fn_emit(ptr @.str6129)
+ call void @fn_emit(ptr @.str6166)
+ call void @fn_emit(ptr @.str6167)
%t57 = load ptr, ptr %t25
call void @fn_emit(ptr %t57)
- call void @fn_emit(ptr @.str6130)
+ call void @fn_emit(ptr @.str6168)
%t58 = load ptr, ptr %t25
call void @fn_emit(ptr %t58)
- call void @fn_emit(ptr @.str6131)
+ call void @fn_emit(ptr @.str6169)
%t59 = load ptr, ptr %t2
- %t60 = call ptr @fn_str_concat(ptr @.str6132, ptr %t59)
+ %t60 = call ptr @lp_str_concat(ptr @.str6170, ptr %t59)
%t61 = call ptr @fn_emit_bind(ptr %t60)
- %t62 = call ptr @fn_val(ptr %t61, ptr @.str6133)
+ %t62 = call ptr @fn_val(ptr %t61, ptr @.str6171)
store ptr %t62, ptr %retval
br label %ret
ret:
@@ -60655,46 +61362,46 @@ entry:
%t0 = alloca ptr
store ptr %arg_op, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str6134)
+ %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str6172)
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then0, label %ifend2
then0:
- store ptr @.str6135, ptr %retval
+ store ptr @.str6173, ptr %retval
br label %ret
ifend2:
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str6136)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6174)
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then3, label %ifend5
then3:
- store ptr @.str6137, ptr %retval
+ store ptr @.str6175, ptr %retval
br label %ret
ifend5:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str6138)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6176)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then6, label %ifend8
then6:
- store ptr @.str6139, ptr %retval
+ store ptr @.str6177, ptr %retval
br label %ret
ifend8:
%t10 = load ptr, ptr %t0
- %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str6140)
+ %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6178)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then9, label %ifend11
then9:
- store ptr @.str6141, ptr %retval
+ store ptr @.str6179, ptr %retval
br label %ret
ifend11:
%t13 = load ptr, ptr %t0
- %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str6142)
+ %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str6180)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then12, label %ifend14
then12:
- store ptr @.str6143, ptr %retval
+ store ptr @.str6181, ptr %retval
br label %ret
ifend14:
- store ptr @.str6144, ptr %retval
+ store ptr @.str6182, ptr %retval
br label %ret
ret:
%t16 = load ptr, ptr %retval
@@ -60712,14 +61419,14 @@ entry:
%t5 = alloca i32
store ptr %arg_op, ptr %t0
%t6 = load ptr, ptr %t0
- %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str6145)
+ %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str6183)
%t8 = icmp ne i32 %t7, 0
%t9 = zext i1 %t8 to i32
store i32 %t9, ptr %t5
br i1 %t8, label %scend1, label %sc0
sc0:
%t10 = load ptr, ptr %t0
- %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str6146)
+ %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6184)
%t12 = icmp ne i32 %t11, 0
%t13 = zext i1 %t12 to i32
store i32 %t13, ptr %t5
@@ -60732,7 +61439,7 @@ scend1:
br i1 %t15, label %scend3, label %sc2
sc2:
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str6147)
+ %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str6185)
%t19 = icmp ne i32 %t18, 0
%t20 = zext i1 %t19 to i32
store i32 %t20, ptr %t4
@@ -60745,7 +61452,7 @@ scend3:
br i1 %t22, label %scend5, label %sc4
sc4:
%t24 = load ptr, ptr %t0
- %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str6148)
+ %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str6186)
%t26 = icmp ne i32 %t25, 0
%t27 = zext i1 %t26 to i32
store i32 %t27, ptr %t3
@@ -60758,7 +61465,7 @@ scend5:
br i1 %t29, label %scend7, label %sc6
sc6:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str6149)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str6187)
%t33 = icmp ne i32 %t32, 0
%t34 = zext i1 %t33 to i32
store i32 %t34, ptr %t2
@@ -60771,7 +61478,7 @@ scend7:
br i1 %t36, label %scend9, label %sc8
sc8:
%t38 = load ptr, ptr %t0
- %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str6150)
+ %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str6188)
%t40 = icmp ne i32 %t39, 0
%t41 = zext i1 %t40 to i32
store i32 %t41, ptr %t1
@@ -60791,78 +61498,78 @@ entry:
%t0 = alloca ptr
store ptr %arg_op, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str6151)
+ %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str6189)
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then0, label %ifend2
then0:
- store ptr @.str6152, ptr %retval
+ store ptr @.str6190, ptr %retval
br label %ret
ifend2:
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str6153)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6191)
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then3, label %ifend5
then3:
- store ptr @.str6154, ptr %retval
+ store ptr @.str6192, ptr %retval
br label %ret
ifend5:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str6155)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6193)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then6, label %ifend8
then6:
- store ptr @.str6156, ptr %retval
+ store ptr @.str6194, ptr %retval
br label %ret
ifend8:
%t10 = load ptr, ptr %t0
- %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str6157)
+ %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6195)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then9, label %ifend11
then9:
- store ptr @.str6158, ptr %retval
+ store ptr @.str6196, ptr %retval
br label %ret
ifend11:
%t13 = load ptr, ptr %t0
- %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str6159)
+ %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str6197)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then12, label %ifend14
then12:
- store ptr @.str6160, ptr %retval
+ store ptr @.str6198, ptr %retval
br label %ret
ifend14:
%t16 = load ptr, ptr %t0
- %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str6161)
+ %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str6199)
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then15, label %ifend17
then15:
- store ptr @.str6162, ptr %retval
+ store ptr @.str6200, ptr %retval
br label %ret
ifend17:
%t19 = load ptr, ptr %t0
- %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str6163)
+ %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str6201)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then18, label %ifend20
then18:
- store ptr @.str6164, ptr %retval
+ store ptr @.str6202, ptr %retval
br label %ret
ifend20:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str6165)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6203)
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then21, label %ifend23
then21:
- store ptr @.str6166, ptr %retval
+ store ptr @.str6204, ptr %retval
br label %ret
ifend23:
%t25 = load ptr, ptr %t0
- %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str6167)
+ %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str6205)
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then24, label %ifend26
then24:
- store ptr @.str6168, ptr %retval
+ store ptr @.str6206, ptr %retval
br label %ret
ifend26:
- store ptr @.str6169, ptr %retval
+ store ptr @.str6207, ptr %retval
br label %ret
ret:
%t28 = load ptr, ptr %retval
@@ -60877,7 +61584,7 @@ entry:
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1
%t3 = load ptr, ptr %t2
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str6170)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str6208)
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
@@ -60890,8 +61597,8 @@ ifend2:
%t9 = load ptr, ptr %t0
%t10 = getelementptr inbounds %Cmp_Val, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
- %t12 = call ptr @fn_str_concat(ptr @.str6171, ptr %t11)
- %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str6172)
+ %t12 = call ptr @lp_str_concat(ptr @.str6209, ptr %t11)
+ %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6210)
%t14 = call ptr @fn_emit_bind(ptr %t13)
store ptr %t14, ptr %retval
br label %ret
@@ -60921,7 +61628,7 @@ entry:
store ptr %t8, ptr %t9
%t10 = load ptr, ptr %t4
%t11 = load ptr, ptr %t9
- %t12 = call i32 @fn_str_eq(ptr %t10, ptr %t11)
+ %t12 = call i32 @lp_str_eq(ptr %t10, ptr %t11)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then0, label %ifend2
then0:
@@ -60932,14 +61639,14 @@ then0:
br label %ret
ifend2:
%t18 = load ptr, ptr %t4
- %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str6173)
+ %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str6211)
%t20 = icmp ne i32 %t19, 0
%t21 = zext i1 %t20 to i32
store i32 %t21, ptr %t17
br i1 %t20, label %sc3, label %scend4
sc3:
%t22 = load ptr, ptr %t9
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str6174)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6212)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t17
@@ -60952,21 +61659,21 @@ then5:
%t28 = load ptr, ptr %t0
%t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0
%t30 = load ptr, ptr %t29
- %t31 = call ptr @fn_str_concat(ptr @.str6175, ptr %t30)
- %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str6176)
+ %t31 = call ptr @lp_str_concat(ptr @.str6213, ptr %t30)
+ %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str6214)
%t33 = call ptr @fn_emit_bind(ptr %t32)
store ptr %t33, ptr %retval
br label %ret
ifend7:
%t35 = load ptr, ptr %t4
- %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str6177)
+ %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str6215)
%t37 = icmp ne i32 %t36, 0
%t38 = zext i1 %t37 to i32
store i32 %t38, ptr %t34
br i1 %t37, label %sc8, label %scend9
sc8:
%t39 = load ptr, ptr %t9
- %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str6178)
+ %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str6216)
%t41 = icmp ne i32 %t40, 0
%t42 = zext i1 %t41 to i32
store i32 %t42, ptr %t34
@@ -60979,8 +61686,8 @@ then10:
%t45 = load ptr, ptr %t0
%t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0
%t47 = load ptr, ptr %t46
- %t48 = call ptr @fn_str_concat(ptr @.str6179, ptr %t47)
- %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str6180)
+ %t48 = call ptr @lp_str_concat(ptr @.str6217, ptr %t47)
+ %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str6218)
%t50 = call ptr @fn_emit_bind(ptr %t49)
store ptr %t50, ptr %retval
br label %ret
@@ -61004,7 +61711,7 @@ entry:
%t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_llty(ptr %t3)
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str6181)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6219)
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then0, label %ifend2
then0:
@@ -61017,8 +61724,8 @@ ifend2:
%t10 = load ptr, ptr %t0
%t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0
%t12 = load ptr, ptr %t11
- %t13 = call ptr @fn_str_concat(ptr @.str6182, ptr %t12)
- %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str6183)
+ %t13 = call ptr @lp_str_concat(ptr @.str6220, ptr %t12)
+ %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str6221)
%t15 = call ptr @fn_emit_bind(ptr %t14)
store ptr %t15, ptr %retval
br label %ret
@@ -61040,57 +61747,57 @@ entry:
store ptr %arg_b, ptr %t2
store i32 1, ptr @g_g_uses_str
%t3 = load ptr, ptr %t0
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str6184)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str6222)
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
%t6 = load ptr, ptr %t1
%t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0
%t8 = load ptr, ptr %t7
- %t9 = call ptr @fn_str_concat(ptr @.str6185, ptr %t8)
- %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str6186)
+ %t9 = call ptr @lp_str_concat(ptr @.str6223, ptr %t8)
+ %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6224)
%t11 = load ptr, ptr %t2
%t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 0
%t13 = load ptr, ptr %t12
- %t14 = call ptr @fn_str_concat(ptr %t10, ptr %t13)
- %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str6187)
+ %t14 = call ptr @lp_str_concat(ptr %t10, ptr %t13)
+ %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str6225)
%t16 = call ptr @fn_emit_bind(ptr %t15)
- %t17 = call ptr @fn_val(ptr %t16, ptr @.str6188)
+ %t17 = call ptr @fn_val(ptr %t16, ptr @.str6226)
store ptr %t17, ptr %retval
br label %ret
ifend2:
%t18 = load ptr, ptr %t1
%t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0
%t20 = load ptr, ptr %t19
- %t21 = call ptr @fn_str_concat(ptr @.str6189, ptr %t20)
- %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str6190)
+ %t21 = call ptr @lp_str_concat(ptr @.str6227, ptr %t20)
+ %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6228)
%t23 = load ptr, ptr %t2
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
%t25 = load ptr, ptr %t24
- %t26 = call ptr @fn_str_concat(ptr %t22, ptr %t25)
- %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str6191)
+ %t26 = call ptr @lp_str_concat(ptr %t22, ptr %t25)
+ %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6229)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t0
- %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str6192)
+ %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str6230)
%t32 = icmp ne i32 %t31, 0
br i1 %t32, label %then3, label %ifend5
then3:
%t33 = load ptr, ptr %t29
- %t34 = call ptr @fn_str_concat(ptr @.str6193, ptr %t33)
- %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str6194)
+ %t34 = call ptr @lp_str_concat(ptr @.str6231, ptr %t33)
+ %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str6232)
%t36 = call ptr @fn_emit_bind(ptr %t35)
store ptr %t36, ptr %t37
%t38 = load ptr, ptr %t37
- %t39 = call ptr @fn_str_concat(ptr @.str6195, ptr %t38)
- %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str6196)
+ %t39 = call ptr @lp_str_concat(ptr @.str6233, ptr %t38)
+ %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str6234)
%t41 = call ptr @fn_emit_bind(ptr %t40)
- %t42 = call ptr @fn_val(ptr %t41, ptr @.str6197)
+ %t42 = call ptr @fn_val(ptr %t41, ptr @.str6235)
store ptr %t42, ptr %retval
br label %ret
ifend5:
%t43 = load ptr, ptr %t29
- %t44 = call ptr @fn_val(ptr %t43, ptr @.str6198)
+ %t44 = call ptr @fn_val(ptr %t43, ptr @.str6236)
store ptr %t44, ptr %retval
br label %ret
ret:
@@ -61098,6 +61805,41 @@ ret:
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 @.str6237)
+ %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 @.str6238)
+ %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 @.str6239, 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
@@ -61106,41 +61848,12 @@ entry:
%t22 = alloca ptr
%t27 = alloca ptr
%t28 = alloca i32
- %t44 = alloca i32
- %t45 = alloca i32
- %t65 = alloca i32
- %t76 = alloca i32
- %t77 = alloca i32
- %t106 = alloca i32
- %t120 = alloca i32
- %t121 = alloca i32
- %t122 = alloca i32
- %t123 = alloca i32
- %t155 = alloca i32
- %t164 = alloca ptr
- %t168 = alloca ptr
- %t169 = alloca ptr
- %t182 = alloca i32
- %t214 = alloca ptr
- %t224 = alloca ptr
- %t227 = alloca ptr
- %t244 = alloca ptr
- %t247 = alloca ptr
- %t257 = alloca ptr
- %t262 = alloca ptr
- %t269 = alloca ptr
- %t274 = alloca ptr
- %t289 = alloca ptr
- %t294 = alloca ptr
- %t299 = alloca ptr
- %t306 = alloca ptr
- %t323 = alloca ptr
- %t341 = alloca ptr
+ %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 @fn_str_eq(ptr %t4, ptr @.str6199)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6240)
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t1
@@ -61149,7 +61862,7 @@ sc0:
%t8 = load ptr, ptr %t0
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1
%t10 = load ptr, ptr %t9
- %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str6200)
+ %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6241)
%t12 = icmp ne i32 %t11, 0
%t13 = zext i1 %t12 to i32
store i32 %t13, ptr %t1
@@ -61174,433 +61887,465 @@ ifend4:
%t25 = load ptr, ptr %t24
%t26 = call ptr @fn_emit_expr(ptr %t25)
store ptr %t26, ptr %t27
- %t29 = load ptr, ptr %t22
- %t30 = getelementptr inbounds %Cmp_Val, ptr %t29, i32 0, i32 1
+ %t29 = load ptr, ptr %t0
+ %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 4
%t31 = load ptr, ptr %t30
- %t32 = call ptr @fn_llty(ptr %t31)
- %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str6201)
- %t34 = icmp ne i32 %t33, 0
+ %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
- store i32 %t35, ptr %t28
- br i1 %t34, label %scend6, label %sc5
+ %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:
- %t36 = load ptr, ptr %t27
- %t37 = getelementptr inbounds %Cmp_Val, ptr %t36, i32 0, i32 1
- %t38 = load ptr, ptr %t37
- %t39 = call ptr @fn_llty(ptr %t38)
- %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str6202)
- %t41 = icmp ne i32 %t40, 0
- %t42 = zext i1 %t41 to i32
- store i32 %t42, ptr %t28
+ %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:
- %t43 = load i32, ptr %t28
- store i32 %t43, ptr %t44
- %t46 = load ptr, ptr %t0
- %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 4
- %t48 = load ptr, ptr %t47
- %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 0
- %t50 = load i32, ptr %t49
- %t51 = icmp eq i32 %t50, 43
- %t52 = zext i1 %t51 to i32
- %t53 = icmp ne i32 %t52, 0
- %t54 = zext i1 %t53 to i32
- store i32 %t54, ptr %t45
- br i1 %t53, label %scend8, label %sc7
-sc7:
- %t55 = load ptr, ptr %t0
- %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 5
- %t57 = load ptr, ptr %t56
- %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 0
- %t59 = load i32, ptr %t58
- %t60 = icmp eq i32 %t59, 43
- %t61 = zext i1 %t60 to i32
- %t62 = icmp ne i32 %t61, 0
- %t63 = zext i1 %t62 to i32
- store i32 %t63, ptr %t45
- br label %scend8
-scend8:
- %t64 = load i32, ptr %t45
- store i32 %t64, ptr %t65
- %t66 = load i32, ptr %t44
- %t67 = icmp ne i32 %t66, 0
- br i1 %t67, label %then9, label %ifend11
-then9:
- %t68 = load ptr, ptr %t0
- %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1
- %t70 = load ptr, ptr %t69
- %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str6203)
- %t72 = icmp ne i32 %t71, 0
- br i1 %t72, label %then12, label %ifend14
+ %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 @.str6242)
+ %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 @.str6243)
+ %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 @.str6244)
+ %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 @.str6245, 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 @.str6246)
+ %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 @.str6247)
+ %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:
- %t73 = load ptr, ptr %t22
- %t74 = load ptr, ptr %t27
- %t75 = call ptr @fn_emit_str_op(ptr @.str6204, ptr %t73, ptr %t74)
- store ptr %t75, ptr %retval
+ %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:
- %t78 = load ptr, ptr %t0
- %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 1
- %t80 = load ptr, ptr %t79
- %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str6205)
- %t82 = icmp ne i32 %t81, 0
- %t83 = zext i1 %t82 to i32
- store i32 %t83, ptr %t77
- br i1 %t82, label %scend16, label %sc15
+ 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 @.str6248)
+ %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:
- %t84 = load ptr, ptr %t0
- %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1
- %t86 = load ptr, ptr %t85
- %t87 = call i32 @fn_str_eq(ptr %t86, ptr @.str6206)
- %t88 = icmp ne i32 %t87, 0
- %t89 = zext i1 %t88 to i32
- store i32 %t89, ptr %t77
+ %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 @.str6249)
+ %t64 = icmp ne i32 %t63, 0
+ %t65 = zext i1 %t64 to i32
+ store i32 %t65, ptr %t53
br label %scend16
scend16:
- %t90 = load i32, ptr %t77
- %t91 = icmp ne i32 %t90, 0
- %t92 = zext i1 %t91 to i32
- store i32 %t92, ptr %t76
- br i1 %t91, label %sc17, label %scend18
+ %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 @.str6250)
+ %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:
- %t93 = load i32, ptr %t65
- %t94 = icmp eq i32 %t93, 0
- %t95 = zext i1 %t94 to i32
- %t96 = icmp ne i32 %t95, 0
- %t97 = zext i1 %t96 to i32
- store i32 %t97, ptr %t76
+ %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 @.str6251)
+ %t83 = icmp ne i32 %t82, 0
+ %t84 = zext i1 %t83 to i32
+ store i32 %t84, ptr %t70
br label %scend18
scend18:
- %t98 = load i32, ptr %t76
+ %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
- br i1 %t99, label %then19, label %ifend21
-then19:
- %t100 = load ptr, ptr %t0
- %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1
- %t102 = load ptr, ptr %t101
- %t103 = load ptr, ptr %t22
- %t104 = load ptr, ptr %t27
- %t105 = call ptr @fn_emit_str_op(ptr %t102, ptr %t103, ptr %t104)
- store ptr %t105, ptr %retval
- br label %ret
-ifend21:
- br label %ifend11
-ifend11:
- %t107 = load ptr, ptr %t22
- %t108 = getelementptr inbounds %Cmp_Val, ptr %t107, i32 0, i32 1
- %t109 = load ptr, ptr %t108
- %t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str6207)
- %t111 = icmp ne i32 %t110, 0
- %t112 = zext i1 %t111 to i32
- store i32 %t112, ptr %t106
- br i1 %t111, label %scend23, label %sc22
-sc22:
- %t113 = load ptr, ptr %t27
- %t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 1
- %t115 = load ptr, ptr %t114
- %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str6208)
- %t117 = icmp ne i32 %t116, 0
- %t118 = zext i1 %t117 to i32
- store i32 %t118, ptr %t106
- br label %scend23
-scend23:
- %t119 = load i32, ptr %t106
- store i32 %t119, ptr %t120
- %t124 = load ptr, ptr %t22
- %t125 = getelementptr inbounds %Cmp_Val, ptr %t124, i32 0, i32 1
- %t126 = load ptr, ptr %t125
- %t127 = call ptr @fn_llty(ptr %t126)
- %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str6209)
- %t129 = icmp ne i32 %t128, 0
- %t130 = zext i1 %t129 to i32
- store i32 %t130, ptr %t123
- br i1 %t129, label %scend25, label %sc24
-sc24:
- %t131 = load ptr, ptr %t27
- %t132 = getelementptr inbounds %Cmp_Val, ptr %t131, i32 0, i32 1
- %t133 = load ptr, ptr %t132
- %t134 = call ptr @fn_llty(ptr %t133)
- %t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str6210)
- %t136 = icmp ne i32 %t135, 0
- %t137 = zext i1 %t136 to i32
- store i32 %t137, ptr %t123
- br label %scend25
-scend25:
- %t138 = load i32, ptr %t123
- %t139 = icmp ne i32 %t138, 0
- %t140 = zext i1 %t139 to i32
- store i32 %t140, ptr %t122
- br i1 %t139, label %sc26, label %scend27
-sc26:
- %t141 = load i32, ptr %t120
- %t142 = icmp eq i32 %t141, 0
- %t143 = zext i1 %t142 to i32
- %t144 = icmp ne i32 %t143, 0
- %t145 = zext i1 %t144 to i32
- store i32 %t145, ptr %t122
- br label %scend27
-scend27:
- %t146 = load i32, ptr %t122
- %t147 = icmp ne i32 %t146, 0
- %t148 = zext i1 %t147 to i32
- store i32 %t148, ptr %t121
- br i1 %t147, label %sc28, label %scend29
-sc28:
- %t149 = load i32, ptr %t44
- %t150 = icmp eq i32 %t149, 0
- %t151 = zext i1 %t150 to i32
- %t152 = icmp ne i32 %t151, 0
- %t153 = zext i1 %t152 to i32
- store i32 %t153, ptr %t121
- br label %scend29
-scend29:
- %t154 = load i32, ptr %t121
- store i32 %t154, ptr %t155
- %t156 = load ptr, ptr %t0
- %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 1
+ %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 @.str6252, 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 @.str6253, 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 @.str6254)
+ %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 @.str6255)
+ %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 @.str6256, 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 @.str6257, ptr %t145)
+ %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str6258)
+ %t148 = load ptr, ptr %t114
+ %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148)
+ %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str6259)
+ %t151 = load ptr, ptr %t109
+ %t152 = call ptr @lp_str_concat(ptr %t150, ptr %t151)
+ %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str6260)
+ %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 i32 @fn_is_cmp(ptr %t158)
- %t160 = icmp ne i32 %t159, 0
- br i1 %t160, label %then30, label %ifend32
-then30:
- %t161 = load ptr, ptr %t22
- %t162 = getelementptr inbounds %Cmp_Val, ptr %t161, i32 0, i32 0
- %t163 = load ptr, ptr %t162
- store ptr %t163, ptr %t164
- %t165 = load ptr, ptr %t27
- %t166 = getelementptr inbounds %Cmp_Val, ptr %t165, i32 0, i32 0
- %t167 = load ptr, ptr %t166
- store ptr %t167, ptr %t168
- store ptr @.str6211, ptr %t169
- %t170 = load i32, ptr %t120
- %t171 = icmp ne i32 %t170, 0
- br i1 %t171, label %then33, label %else34
-then33:
- %t172 = load ptr, ptr %t22
- %t173 = call ptr @fn_to_fixed(ptr %t172)
- store ptr %t173, ptr %t164
- %t174 = load ptr, ptr %t27
- %t175 = call ptr @fn_to_fixed(ptr %t174)
- store ptr %t175, ptr %t168
- br label %ifend35
-else34:
- %t176 = load i32, ptr %t155
- %t177 = icmp ne i32 %t176, 0
- br i1 %t177, label %then36, label %else37
-then36:
- store ptr @.str6212, ptr %t169
- %t178 = load ptr, ptr %t22
- %t179 = call ptr @fn_to_long(ptr %t178)
- store ptr %t179, ptr %t164
- %t180 = load ptr, ptr %t27
- %t181 = call ptr @fn_to_long(ptr %t180)
- store ptr %t181, ptr %t168
- br label %ifend38
-else37:
- %t183 = load ptr, ptr %t22
- %t184 = getelementptr inbounds %Cmp_Val, ptr %t183, i32 0, i32 1
- %t185 = load ptr, ptr %t184
- %t186 = call ptr @fn_llty(ptr %t185)
- %t187 = call i32 @fn_str_eq(ptr %t186, ptr @.str6213)
- %t188 = icmp ne i32 %t187, 0
- %t189 = zext i1 %t188 to i32
- store i32 %t189, ptr %t182
- br i1 %t188, label %scend40, label %sc39
-sc39:
- %t190 = load ptr, ptr %t27
- %t191 = getelementptr inbounds %Cmp_Val, ptr %t190, i32 0, i32 1
- %t192 = load ptr, ptr %t191
- %t193 = call ptr @fn_llty(ptr %t192)
- %t194 = call i32 @fn_str_eq(ptr %t193, ptr @.str6214)
- %t195 = icmp ne i32 %t194, 0
- %t196 = zext i1 %t195 to i32
- store i32 %t196, ptr %t182
- br label %scend40
-scend40:
- %t197 = load i32, ptr %t182
- %t198 = icmp ne i32 %t197, 0
- br i1 %t198, label %then41, label %ifend43
-then41:
- store ptr @.str6215, ptr %t169
- br label %ifend43
-ifend43:
- br label %ifend38
-ifend38:
- br label %ifend35
-ifend35:
- %t199 = load ptr, ptr %t0
- %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 1
- %t201 = load ptr, ptr %t200
- %t202 = call ptr @fn_cmp_code(ptr %t201)
- %t203 = call ptr @fn_str_concat(ptr @.str6216, ptr %t202)
- %t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str6217)
- %t205 = load ptr, ptr %t169
- %t206 = call ptr @fn_str_concat(ptr %t204, ptr %t205)
- %t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str6218)
- %t208 = load ptr, ptr %t164
- %t209 = call ptr @fn_str_concat(ptr %t207, ptr %t208)
- %t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str6219)
- %t211 = load ptr, ptr %t168
- %t212 = call ptr @fn_str_concat(ptr %t210, ptr %t211)
- %t213 = call ptr @fn_emit_bind(ptr %t212)
- store ptr %t213, ptr %t214
- %t215 = load ptr, ptr %t214
- %t216 = call ptr @fn_str_concat(ptr @.str6220, ptr %t215)
- %t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str6221)
- %t218 = call ptr @fn_emit_bind(ptr %t217)
- %t219 = call ptr @fn_val(ptr %t218, ptr @.str6222)
- store ptr %t219, ptr %retval
+ %t159 = call ptr @lp_str_concat(ptr @.str6261, ptr %t158)
+ %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str6262)
+ %t161 = call ptr @fn_emit_bind(ptr %t160)
+ %t162 = call ptr @fn_val(ptr %t161, ptr @.str6263)
+ store ptr %t162, ptr %retval
br label %ret
-ifend32:
- %t220 = load i32, ptr %t155
+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 @.str6264)
+ %t174 = load ptr, ptr %t167
+ %t175 = call ptr @lp_str_concat(ptr %t173, ptr %t174)
+ %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str6265)
+ %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 @.str6266)
+ 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 @.str6267)
+ %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 @.str6268, ptr %t192)
+ %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str6269)
+ %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 @.str6270, ptr %t197)
+ %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str6271)
+ %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 @.str6272, ptr %t202)
+ %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str6273)
+ %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 @.str6274, ptr %t209)
+ %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str6275)
+ %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 @.str6276, ptr %t214)
+ %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str6277)
+ %t217 = call ptr @fn_emit_bind(ptr %t216)
+ %t218 = call ptr @fn_val(ptr %t217, ptr @.str6278)
+ store ptr %t218, ptr %retval
+ br label %ret
+ifend45:
+ %t219 = load ptr, ptr %t0
+ %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str6279)
%t221 = icmp ne i32 %t220, 0
- br i1 %t221, label %then44, label %ifend46
-then44:
- %t222 = load ptr, ptr %t22
- %t223 = call ptr @fn_to_long(ptr %t222)
- store ptr %t223, ptr %t224
- %t225 = load ptr, ptr %t27
- %t226 = call ptr @fn_to_long(ptr %t225)
- store ptr %t226, ptr %t227
- %t228 = load ptr, ptr %t0
- %t229 = getelementptr inbounds %Cmp_Node, ptr %t228, i32 0, i32 1
- %t230 = load ptr, ptr %t229
- %t231 = call ptr @fn_arith_code(ptr %t230)
- %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str6223)
- %t233 = load ptr, ptr %t224
- %t234 = call ptr @fn_str_concat(ptr %t232, ptr %t233)
- %t235 = call ptr @fn_str_concat(ptr %t234, ptr @.str6224)
- %t236 = load ptr, ptr %t227
- %t237 = call ptr @fn_str_concat(ptr %t235, ptr %t236)
- %t238 = call ptr @fn_emit_bind(ptr %t237)
- %t239 = call ptr @fn_val(ptr %t238, ptr @.str6225)
- store ptr %t239, ptr %retval
+ br i1 %t221, label %then46, label %ifend48
+then46:
+ %t222 = load ptr, ptr %t185
+ %t223 = call ptr @lp_str_concat(ptr @.str6280, ptr %t222)
+ %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str6281)
+ %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 @.str6282, ptr %t227)
+ %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str6283)
+ %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 @.str6284, ptr %t232)
+ %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str6285)
+ %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 @.str6286, ptr %t237)
+ %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str6287)
+ %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 @.str6288, ptr %t244)
+ %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str6289)
+ %t247 = call ptr @fn_emit_bind(ptr %t246)
+ %t248 = call ptr @fn_val(ptr %t247, ptr @.str6290)
+ store ptr %t248, ptr %retval
br label %ret
-ifend46:
- %t240 = load i32, ptr %t120
- %t241 = icmp ne i32 %t240, 0
- br i1 %t241, label %then47, label %ifend49
-then47:
- %t242 = load ptr, ptr %t22
- %t243 = call ptr @fn_to_fixed(ptr %t242)
- store ptr %t243, ptr %t244
- %t245 = load ptr, ptr %t27
- %t246 = call ptr @fn_to_fixed(ptr %t245)
- store ptr %t246, ptr %t247
- %t248 = load ptr, ptr %t0
- %t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 1
- %t250 = load ptr, ptr %t249
- %t251 = call i32 @fn_str_eq(ptr %t250, ptr @.str6226)
- %t252 = icmp ne i32 %t251, 0
- br i1 %t252, label %then50, label %ifend52
-then50:
- %t253 = load ptr, ptr %t244
- %t254 = call ptr @fn_str_concat(ptr @.str6227, ptr %t253)
- %t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str6228)
- %t256 = call ptr @fn_emit_bind(ptr %t255)
- store ptr %t256, ptr %t257
- %t258 = load ptr, ptr %t247
- %t259 = call ptr @fn_str_concat(ptr @.str6229, ptr %t258)
- %t260 = call ptr @fn_str_concat(ptr %t259, ptr @.str6230)
- %t261 = call ptr @fn_emit_bind(ptr %t260)
- store ptr %t261, ptr %t262
- %t263 = load ptr, ptr %t257
- %t264 = call ptr @fn_str_concat(ptr @.str6231, ptr %t263)
- %t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str6232)
- %t266 = load ptr, ptr %t262
- %t267 = call ptr @fn_str_concat(ptr %t265, ptr %t266)
- %t268 = call ptr @fn_emit_bind(ptr %t267)
- store ptr %t268, ptr %t269
- %t270 = load ptr, ptr %t269
- %t271 = call ptr @fn_str_concat(ptr @.str6233, ptr %t270)
- %t272 = call ptr @fn_str_concat(ptr %t271, ptr @.str6234)
+ifend48:
+ %t249 = load ptr, ptr %t0
+ %t250 = call ptr @fn_arith_code(ptr %t249)
+ %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str6291)
+ %t252 = load ptr, ptr %t185
+ %t253 = call ptr @lp_str_concat(ptr %t251, ptr %t252)
+ %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str6292)
+ %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 @.str6293)
+ 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 @.str6294)
+ %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 @.str6295)
+ %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_str_concat(ptr @.str6235, ptr %t275)
- %t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str6236)
- %t278 = call ptr @fn_emit_bind(ptr %t277)
- %t279 = call ptr @fn_val(ptr %t278, ptr @.str6237)
- store ptr %t279, ptr %retval
- br label %ret
-ifend52:
- %t280 = load ptr, ptr %t0
- %t281 = getelementptr inbounds %Cmp_Node, ptr %t280, i32 0, i32 1
- %t282 = load ptr, ptr %t281
- %t283 = call i32 @fn_str_eq(ptr %t282, ptr @.str6238)
- %t284 = icmp ne i32 %t283, 0
- br i1 %t284, label %then53, label %ifend55
-then53:
- %t285 = load ptr, ptr %t244
- %t286 = call ptr @fn_str_concat(ptr @.str6239, ptr %t285)
- %t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str6240)
- %t288 = call ptr @fn_emit_bind(ptr %t287)
- store ptr %t288, ptr %t289
- %t290 = load ptr, ptr %t289
- %t291 = call ptr @fn_str_concat(ptr @.str6241, ptr %t290)
- %t292 = call ptr @fn_str_concat(ptr %t291, ptr @.str6242)
- %t293 = call ptr @fn_emit_bind(ptr %t292)
- store ptr %t293, ptr %t294
- %t295 = load ptr, ptr %t247
- %t296 = call ptr @fn_str_concat(ptr @.str6243, ptr %t295)
- %t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str6244)
- %t298 = call ptr @fn_emit_bind(ptr %t297)
- store ptr %t298, ptr %t299
- %t300 = load ptr, ptr %t294
- %t301 = call ptr @fn_str_concat(ptr @.str6245, ptr %t300)
- %t302 = call ptr @fn_str_concat(ptr %t301, ptr @.str6246)
- %t303 = load ptr, ptr %t299
- %t304 = call ptr @fn_str_concat(ptr %t302, ptr %t303)
- %t305 = call ptr @fn_emit_bind(ptr %t304)
- store ptr %t305, ptr %t306
- %t307 = load ptr, ptr %t306
- %t308 = call ptr @fn_str_concat(ptr @.str6247, ptr %t307)
- %t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str6248)
- %t310 = call ptr @fn_emit_bind(ptr %t309)
- %t311 = call ptr @fn_val(ptr %t310, ptr @.str6249)
- store ptr %t311, ptr %retval
- br label %ret
-ifend55:
- %t312 = load ptr, ptr %t0
- %t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 1
- %t314 = load ptr, ptr %t313
- %t315 = call ptr @fn_arith_code(ptr %t314)
- %t316 = call ptr @fn_str_concat(ptr %t315, ptr @.str6250)
- %t317 = load ptr, ptr %t244
- %t318 = call ptr @fn_str_concat(ptr %t316, ptr %t317)
- %t319 = call ptr @fn_str_concat(ptr %t318, ptr @.str6251)
- %t320 = load ptr, ptr %t247
- %t321 = call ptr @fn_str_concat(ptr %t319, ptr %t320)
- %t322 = call ptr @fn_emit_bind(ptr %t321)
- store ptr %t322, ptr %t323
- %t324 = load ptr, ptr %t323
- %t325 = call ptr @fn_val(ptr %t324, ptr @.str6252)
- store ptr %t325, ptr %retval
- br label %ret
-ifend49:
- %t326 = load ptr, ptr %t0
- %t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 1
- %t328 = load ptr, ptr %t327
- %t329 = call ptr @fn_arith_code(ptr %t328)
- %t330 = call ptr @fn_str_concat(ptr %t329, ptr @.str6253)
- %t331 = load ptr, ptr %t22
- %t332 = getelementptr inbounds %Cmp_Val, ptr %t331, i32 0, i32 0
- %t333 = load ptr, ptr %t332
- %t334 = call ptr @fn_str_concat(ptr %t330, ptr %t333)
- %t335 = call ptr @fn_str_concat(ptr %t334, ptr @.str6254)
- %t336 = load ptr, ptr %t27
- %t337 = getelementptr inbounds %Cmp_Val, ptr %t336, i32 0, i32 0
- %t338 = load ptr, ptr %t337
- %t339 = call ptr @fn_str_concat(ptr %t335, ptr %t338)
- %t340 = call ptr @fn_emit_bind(ptr %t339)
- store ptr %t340, ptr %t341
- %t342 = load ptr, ptr %t341
- %t343 = call ptr @fn_val(ptr %t342, ptr @.str6255)
- store ptr %t343, ptr %retval
+ %t276 = call ptr @fn_val(ptr %t275, ptr @.str6296)
+ store ptr %t276, ptr %retval
br label %ret
ret:
- %t344 = load ptr, ptr %retval
- ret ptr %t344
+ %t277 = load ptr, ptr %retval
+ ret ptr %t277
}
define i32 @fn_args_are_named(ptr %arg_e) {
@@ -61702,7 +62447,7 @@ wbody4:
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then6, label %ifend8
then6:
- call void @fn_perr(ptr @.str6256)
+ call void @fn_perr(ptr @.str6297)
br label %ifend8
ifend8:
%t30 = load i32, ptr %t7
@@ -61723,7 +62468,7 @@ wend5:
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then9, label %ifend11
then9:
- call void @fn_perr(ptr @.str6257)
+ call void @fn_perr(ptr @.str6298)
br label %ifend11
ifend11:
%t43 = getelementptr %LSlice, ptr null, i32 1
@@ -61779,7 +62524,7 @@ wbody16:
%t82 = load i32, ptr %t50
%t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82
%t84 = load ptr, ptr %t83
- %t85 = call i32 @fn_str_eq(ptr %t78, ptr %t84)
+ %t85 = call i32 @lp_str_eq(ptr %t78, ptr %t84)
%t86 = icmp ne i32 %t85, 0
br i1 %t86, label %then18, label %ifend20
then18:
@@ -61811,40 +62556,40 @@ then21:
%t104 = load i32, ptr %t50
%t105 = getelementptr inbounds ptr, ptr %t103, i32 %t104
%t106 = load ptr, ptr %t105
- %t107 = call ptr @fn_str_concat(ptr @.str6258, ptr %t106)
+ %t107 = call ptr @lp_str_concat(ptr @.str6299, ptr %t106)
call void @fn_perr(ptr %t107)
br label %ifend23
ifend23:
%t108 = load ptr, ptr %t49
- %t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1
- %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2
- %t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0
- %t112 = load i32, ptr %t109
- %t113 = load i32, ptr %t110
- %t114 = icmp sge i32 %t112, %t113
- br i1 %t114, label %grow24, label %put25
+ %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:
- %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
+ %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:
- %t124 = load ptr, ptr %t58
- %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 4
- %t126 = load ptr, ptr %t125
- %t127 = load ptr, ptr %t111
- %t128 = getelementptr inbounds ptr, ptr %t127, i32 %t112
- store ptr %t126, ptr %t128
- %t129 = add i32 %t112, 1
- store i32 %t129, ptr %t109
+ %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
@@ -61906,42 +62651,42 @@ wbody1:
br i1 %t30, label %then3, label %ifend5
then3:
%t31 = load ptr, ptr %t7
- %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1
- %t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2
- %t34 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0
- %t35 = load i32, ptr %t32
- %t36 = load i32, ptr %t33
- %t37 = icmp sge i32 %t35, %t36
- br i1 %t37, label %grow6, label %put7
+ %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:
- %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
+ %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:
- %t47 = load ptr, ptr %t0
- %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 7
- %t49 = load ptr, ptr %t48
- %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0
- %t51 = load ptr, ptr %t50
- %t52 = load i32, ptr %t8
- %t53 = getelementptr inbounds ptr, ptr %t51, i32 %t52
- %t54 = load ptr, ptr %t53
- %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1
- %t56 = load ptr, ptr %t55
- %t57 = load ptr, ptr %t34
- %t58 = getelementptr inbounds ptr, ptr %t57, i32 %t35
- store ptr %t56, ptr %t58
- %t59 = add i32 %t35, 1
- store i32 %t59, ptr %t32
+ %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
@@ -62004,42 +62749,42 @@ wbody1:
br i1 %t30, label %then3, label %ifend5
then3:
%t31 = load ptr, ptr %t7
- %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1
- %t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2
- %t34 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0
- %t35 = load i32, ptr %t32
- %t36 = load i32, ptr %t33
- %t37 = icmp sge i32 %t35, %t36
- br i1 %t37, label %grow6, label %put7
+ %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:
- %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
+ %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:
- %t47 = load ptr, ptr %t0
- %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 7
- %t49 = load ptr, ptr %t48
- %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0
- %t51 = load ptr, ptr %t50
- %t52 = load i32, ptr %t8
- %t53 = getelementptr inbounds ptr, ptr %t51, i32 %t52
- %t54 = load ptr, ptr %t53
- %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3
- %t56 = load ptr, ptr %t55
- %t57 = load ptr, ptr %t34
- %t58 = getelementptr inbounds ptr, ptr %t57, i32 %t35
- store ptr %t56, ptr %t58
- %t59 = add i32 %t35, 1
- store i32 %t59, ptr %t32
+ %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
@@ -62067,53 +62812,53 @@ entry:
store ptr %arg_msgsym, ptr %t1
store ptr %arg_got, ptr %t2
store ptr %arg_want, ptr %t3
- %t4 = call ptr @fn_lbl(ptr @.str6259)
+ %t4 = call ptr @fn_lbl(ptr @.str6300)
store ptr %t4, ptr %t5
- %t6 = call ptr @fn_lbl(ptr @.str6260)
+ %t6 = call ptr @fn_lbl(ptr @.str6301)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t0
- %t9 = call ptr @fn_str_concat(ptr @.str6261, ptr %t8)
- %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str6262)
+ %t9 = call ptr @lp_str_concat(ptr @.str6302, ptr %t8)
+ %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6303)
%t11 = load ptr, ptr %t5
- %t12 = call ptr @fn_str_concat(ptr %t10, ptr %t11)
- %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str6263)
+ %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11)
+ %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6304)
%t14 = load ptr, ptr %t7
- %t15 = call ptr @fn_str_concat(ptr %t13, ptr %t14)
- %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str6264)
+ %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14)
+ %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str6305)
call void @fn_emit(ptr %t16)
%t17 = load ptr, ptr %t7
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str6265)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str6306)
call void @fn_emit(ptr %t18)
- call void @fn_emit(ptr @.str6266)
+ call void @fn_emit(ptr @.str6307)
%t19 = load ptr, ptr %t2
- %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str6267)
+ %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str6308)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then0, label %else1
then0:
%t22 = load ptr, ptr %t1
- %t23 = call ptr @fn_str_concat(ptr @.str6268, ptr %t22)
- %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str6269)
+ %t23 = call ptr @lp_str_concat(ptr @.str6309, ptr %t22)
+ %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str6310)
call void @fn_emit(ptr %t24)
br label %ifend2
else1:
%t25 = load ptr, ptr %t1
- %t26 = call ptr @fn_str_concat(ptr @.str6270, ptr %t25)
- %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str6271)
+ %t26 = call ptr @lp_str_concat(ptr @.str6311, ptr %t25)
+ %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6312)
%t28 = load ptr, ptr %t2
- %t29 = call ptr @fn_str_concat(ptr %t27, ptr %t28)
- %t30 = call ptr @fn_str_concat(ptr %t29, ptr @.str6272)
+ %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28)
+ %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str6313)
%t31 = load ptr, ptr %t3
- %t32 = call ptr @fn_str_concat(ptr %t30, ptr %t31)
- %t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str6273)
+ %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31)
+ %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str6314)
call void @fn_emit(ptr %t33)
br label %ifend2
ifend2:
%t34 = load ptr, ptr %t5
- %t35 = call ptr @fn_str_concat(ptr @.str6274, ptr %t34)
- %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str6275)
+ %t35 = call ptr @lp_str_concat(ptr @.str6315, ptr %t34)
+ %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str6316)
call void @fn_emit(ptr %t36)
%t37 = load ptr, ptr %t5
- %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str6276)
+ %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str6317)
call void @fn_emit(ptr %t38)
br label %ret
ret:
@@ -62252,7 +62997,7 @@ entry:
%t3 = call ptr @fn_itoa(i32 1024)
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t1
- %t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str6277)
+ %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str6318)
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %then0, label %ifend2
then0:
@@ -62267,7 +63012,7 @@ then0:
br i1 %t15, label %then3, label %ifend5
then3:
%t16 = load ptr, ptr %t0
- %t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str6278)
+ %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6319)
call void @fn_perr(ptr %t17)
br label %ifend5
ifend5:
@@ -62300,68 +63045,68 @@ ifend5:
%t38 = load ptr, ptr %t37
%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 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 2
- %t43 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0
- %t44 = load i32, ptr %t41
+ %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 = icmp sge i32 %t44, %t45
- br i1 %t46, label %grow6, label %put7
+ %t46 = load i32, ptr %t43
+ %t47 = icmp sge i32 %t45, %t46
+ br i1 %t47, label %grow6, label %put7
grow6:
- %t47 = mul i32 %t45, 2
- %t48 = icmp eq i32 %t45, 0
- %t49 = select i1 %t48, i32 8, i32 %t47
- %t50 = getelementptr ptr, ptr null, i32 1
- %t51 = ptrtoint ptr %t50 to i64
- %t52 = zext i32 %t49 to i64
- %t53 = mul i64 %t52, %t51
- %t54 = load ptr, ptr %t43
- %t55 = call ptr @realloc(ptr %t54, i64 %t53)
- store ptr %t55, ptr %t43
- store i32 %t49, ptr %t42
+ %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:
- %t56 = load ptr, ptr %t32
- %t57 = load ptr, ptr %t43
- %t58 = getelementptr inbounds ptr, ptr %t57, i32 %t44
- store ptr %t56, ptr %t58
- %t59 = add i32 %t44, 1
- store i32 %t59, ptr %t41
+ %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 @.str6279, ptr %t63
+ store ptr @.str6320, ptr %t63
%t64 = load ptr, ptr %t19
%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 1
- %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2
- %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0
- %t70 = load i32, ptr %t67
+ %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 = icmp sge i32 %t70, %t71
- br i1 %t72, label %grow8, label %put9
+ %t72 = load i32, ptr %t69
+ %t73 = icmp sge i32 %t71, %t72
+ br i1 %t73, label %grow8, label %put9
grow8:
- %t73 = mul i32 %t71, 2
- %t74 = icmp eq i32 %t71, 0
- %t75 = select i1 %t74, i32 8, i32 %t73
- %t76 = getelementptr ptr, ptr null, i32 1
- %t77 = ptrtoint ptr %t76 to i64
- %t78 = zext i32 %t75 to i64
- %t79 = mul i64 %t78, %t77
- %t80 = load ptr, ptr %t69
- %t81 = call ptr @realloc(ptr %t80, i64 %t79)
- store ptr %t81, ptr %t69
- store i32 %t75, ptr %t68
+ %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:
- %t82 = load ptr, ptr %t61
- %t83 = load ptr, ptr %t69
- %t84 = getelementptr inbounds ptr, ptr %t83, i32 %t70
- store ptr %t82, ptr %t84
- %t85 = add i32 %t70, 1
- store i32 %t85, ptr %t67
+ %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)
@@ -62374,7 +63119,7 @@ put9:
store ptr %t93, ptr %t94
%t95 = load ptr, ptr %t94
%t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1
- store ptr @.str6280, ptr %t96
+ store ptr @.str6321, ptr %t96
%t97 = load ptr, ptr %t92
%t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 4
%t99 = load ptr, ptr %t94
@@ -62388,41 +63133,41 @@ put9:
%t105 = load ptr, ptr %t104
%t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7
%t107 = load ptr, ptr %t106
- %t108 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1
- %t109 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 2
- %t110 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0
- %t111 = load i32, ptr %t108
+ %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 = icmp sge i32 %t111, %t112
- br i1 %t113, label %grow10, label %put11
+ %t113 = load i32, ptr %t110
+ %t114 = icmp sge i32 %t112, %t113
+ br i1 %t114, label %grow10, label %put11
grow10:
- %t114 = mul i32 %t112, 2
- %t115 = icmp eq i32 %t112, 0
- %t116 = select i1 %t115, i32 8, i32 %t114
- %t117 = getelementptr ptr, ptr null, i32 1
- %t118 = ptrtoint ptr %t117 to i64
- %t119 = zext i32 %t116 to i64
- %t120 = mul i64 %t119, %t118
- %t121 = load ptr, ptr %t110
- %t122 = call ptr @realloc(ptr %t121, i64 %t120)
- store ptr %t122, ptr %t110
- store i32 %t116, ptr %t109
+ %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:
- %t123 = load ptr, ptr %t90
- %t124 = load ptr, ptr %t110
- %t125 = getelementptr inbounds ptr, ptr %t124, i32 %t111
- store ptr %t123, ptr %t125
- %t126 = add i32 %t111, 1
- store i32 %t126, ptr %t108
+ %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 @.str6281, ptr @.str6282)
+ %t128 = call ptr @fn_val(ptr @.str6322, ptr @.str6323)
store ptr %t128, ptr %retval
br label %ret
ifend2:
%t129 = load ptr, ptr %t1
- %t130 = call i32 @fn_str_eq(ptr %t129, ptr @.str6283)
+ %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str6324)
%t131 = icmp ne i32 %t130, 0
br i1 %t131, label %then12, label %ifend14
then12:
@@ -62437,136 +63182,136 @@ then12:
br i1 %t139, label %then15, label %ifend17
then15:
%t140 = load ptr, ptr %t0
- %t141 = call ptr @fn_str_concat(ptr %t140, ptr @.str6284)
+ %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str6325)
call void @fn_perr(ptr %t141)
br label %ifend17
ifend17:
- %t142 = call ptr @fn_emit_alloca(ptr @.str6285)
+ %t142 = call ptr @fn_emit_alloca(ptr @.str6326)
store ptr %t142, ptr %t143
%t144 = load ptr, ptr %t143
- call void @fn_store_at(ptr @.str6286, ptr @.str6287, ptr %t144)
- %t145 = call ptr @fn_emit_alloca(ptr @.str6288)
+ call void @fn_store_at(ptr @.str6327, ptr @.str6328, ptr %t144)
+ %t145 = call ptr @fn_emit_alloca(ptr @.str6329)
store ptr %t145, ptr %t146
%t147 = load ptr, ptr %t146
- call void @fn_store_at(ptr @.str6289, ptr @.str6290, ptr %t147)
- %t148 = call ptr @fn_lbl(ptr @.str6291)
+ call void @fn_store_at(ptr @.str6330, ptr @.str6331, ptr %t147)
+ %t148 = call ptr @fn_lbl(ptr @.str6332)
store ptr %t148, ptr %t149
- %t150 = call ptr @fn_lbl(ptr @.str6292)
+ %t150 = call ptr @fn_lbl(ptr @.str6333)
store ptr %t150, ptr %t151
- %t152 = call ptr @fn_lbl(ptr @.str6293)
+ %t152 = call ptr @fn_lbl(ptr @.str6334)
store ptr %t152, ptr %t153
- %t154 = call ptr @fn_lbl(ptr @.str6294)
+ %t154 = call ptr @fn_lbl(ptr @.str6335)
store ptr %t154, ptr %t155
- call void @fn_emit(ptr @.str6295)
+ call void @fn_emit(ptr @.str6336)
%t156 = load ptr, ptr %t149
call void @fn_emit(ptr %t156)
- call void @fn_emit(ptr @.str6296)
+ call void @fn_emit(ptr @.str6337)
%t157 = load ptr, ptr %t149
call void @fn_emit(ptr %t157)
- call void @fn_emit(ptr @.str6297)
+ call void @fn_emit(ptr @.str6338)
%t158 = load ptr, ptr %t143
- %t159 = call ptr @fn_str_concat(ptr @.str6298, ptr %t158)
+ %t159 = call ptr @lp_str_concat(ptr @.str6339, ptr %t158)
%t160 = call ptr @fn_emit_bind(ptr %t159)
store ptr %t160, ptr %t161
- %t162 = call ptr @fn_emit_bind(ptr @.str6299)
+ %t162 = call ptr @fn_emit_bind(ptr @.str6340)
store ptr %t162, ptr %t163
%t164 = load ptr, ptr %t161
- %t165 = call ptr @fn_str_concat(ptr @.str6300, ptr %t164)
- %t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str6301)
+ %t165 = call ptr @lp_str_concat(ptr @.str6341, ptr %t164)
+ %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str6342)
%t167 = load ptr, ptr %t163
- %t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167)
+ %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 @.str6302)
+ call void @fn_emit(ptr @.str6343)
%t171 = load ptr, ptr %t170
call void @fn_emit(ptr %t171)
- call void @fn_emit(ptr @.str6303)
+ call void @fn_emit(ptr @.str6344)
%t172 = load ptr, ptr %t151
call void @fn_emit(ptr %t172)
- call void @fn_emit(ptr @.str6304)
+ call void @fn_emit(ptr @.str6345)
%t173 = load ptr, ptr %t155
call void @fn_emit(ptr %t173)
- call void @fn_emit(ptr @.str6305)
+ call void @fn_emit(ptr @.str6346)
%t174 = load ptr, ptr %t151
call void @fn_emit(ptr %t174)
- call void @fn_emit(ptr @.str6306)
+ call void @fn_emit(ptr @.str6347)
%t175 = load ptr, ptr %t4
- %t176 = call ptr @fn_str_concat(ptr @.str6307, ptr %t175)
- %t177 = call ptr @fn_str_concat(ptr %t176, ptr @.str6308)
+ %t176 = call ptr @lp_str_concat(ptr @.str6348, ptr %t175)
+ %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str6349)
%t178 = load ptr, ptr %t161
- %t179 = call ptr @fn_str_concat(ptr %t177, ptr %t178)
+ %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 @fn_str_concat(ptr @.str6309, ptr %t182)
+ %t183 = call ptr @lp_str_concat(ptr @.str6350, ptr %t182)
%t184 = call ptr @fn_emit_bind(ptr %t183)
store ptr %t184, ptr %t185
%t186 = load ptr, ptr %t4
- %t187 = call ptr @fn_str_concat(ptr @.str6310, ptr %t186)
- %t188 = call ptr @fn_str_concat(ptr %t187, ptr @.str6311)
+ %t187 = call ptr @lp_str_concat(ptr @.str6351, ptr %t186)
+ %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str6352)
%t189 = load ptr, ptr %t0
- %t190 = call ptr @fn_str_concat(ptr %t188, ptr %t189)
- %t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str6312)
+ %t190 = call ptr @lp_str_concat(ptr %t188, ptr %t189)
+ %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str6353)
%t192 = load ptr, ptr %t161
- %t193 = call ptr @fn_str_concat(ptr %t191, ptr %t192)
+ %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 @fn_str_concat(ptr @.str6313, ptr %t196)
+ %t197 = call ptr @lp_str_concat(ptr @.str6354, ptr %t196)
%t198 = call ptr @fn_emit_bind(ptr %t197)
store ptr %t198, ptr %t199
%t200 = load ptr, ptr %t199
- %t201 = call ptr @fn_str_concat(ptr @.str6314, ptr %t200)
- %t202 = call ptr @fn_str_concat(ptr %t201, ptr @.str6315)
+ %t201 = call ptr @lp_str_concat(ptr @.str6355, ptr %t200)
+ %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str6356)
%t203 = call ptr @fn_emit_bind(ptr %t202)
store ptr %t203, ptr %t204
%t205 = load ptr, ptr %t185
- %t206 = call ptr @fn_str_concat(ptr @.str6316, ptr %t205)
- %t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str6317)
+ %t206 = call ptr @lp_str_concat(ptr @.str6357, ptr %t205)
+ %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str6358)
%t208 = load ptr, ptr %t204
- %t209 = call ptr @fn_str_concat(ptr %t207, ptr %t208)
+ %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 @fn_str_concat(ptr @.str6318, ptr %t212)
+ %t213 = call ptr @lp_str_concat(ptr @.str6359, ptr %t212)
%t214 = call ptr @fn_emit_bind(ptr %t213)
store ptr %t214, ptr %t215
%t216 = load ptr, ptr %t215
- %t217 = call ptr @fn_str_concat(ptr @.str6319, ptr %t216)
- %t218 = call ptr @fn_str_concat(ptr %t217, ptr @.str6320)
+ %t217 = call ptr @lp_str_concat(ptr @.str6360, ptr %t216)
+ %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str6361)
%t219 = load ptr, ptr %t211
- %t220 = call ptr @fn_str_concat(ptr %t218, ptr %t219)
+ %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 @.str6321, ptr %t223, ptr %t224)
- call void @fn_emit(ptr @.str6322)
+ call void @fn_store_at(ptr @.str6362, ptr %t223, ptr %t224)
+ call void @fn_emit(ptr @.str6363)
%t225 = load ptr, ptr %t153
call void @fn_emit(ptr %t225)
- call void @fn_emit(ptr @.str6323)
+ call void @fn_emit(ptr @.str6364)
%t226 = load ptr, ptr %t153
call void @fn_emit(ptr %t226)
- call void @fn_emit(ptr @.str6324)
+ call void @fn_emit(ptr @.str6365)
%t227 = load ptr, ptr %t161
- %t228 = call ptr @fn_str_concat(ptr @.str6325, ptr %t227)
- %t229 = call ptr @fn_str_concat(ptr %t228, ptr @.str6326)
+ %t228 = call ptr @lp_str_concat(ptr @.str6366, ptr %t227)
+ %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str6367)
%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 @.str6327, ptr %t232, ptr %t233)
- call void @fn_emit(ptr @.str6328)
+ call void @fn_store_at(ptr @.str6368, ptr %t232, ptr %t233)
+ call void @fn_emit(ptr @.str6369)
%t234 = load ptr, ptr %t149
call void @fn_emit(ptr %t234)
- call void @fn_emit(ptr @.str6329)
+ call void @fn_emit(ptr @.str6370)
%t235 = load ptr, ptr %t155
call void @fn_emit(ptr %t235)
- call void @fn_emit(ptr @.str6330)
+ call void @fn_emit(ptr @.str6371)
%t236 = load ptr, ptr %t146
- %t237 = call ptr @fn_str_concat(ptr @.str6331, ptr %t236)
+ %t237 = call ptr @lp_str_concat(ptr @.str6372, ptr %t236)
%t238 = call ptr @fn_emit_bind(ptr %t237)
- %t239 = call ptr @fn_val(ptr %t238, ptr @.str6332)
+ %t239 = call ptr @fn_val(ptr %t238, ptr @.str6373)
store ptr %t239, ptr %retval
br label %ret
ifend14:
@@ -62581,10 +63326,10 @@ ifend14:
br i1 %t247, label %then18, label %ifend20
then18:
%t248 = load ptr, ptr %t0
- %t249 = call ptr @fn_str_concat(ptr %t248, ptr @.str6333)
+ %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str6374)
%t250 = load ptr, ptr %t1
- %t251 = call ptr @fn_str_concat(ptr %t249, ptr %t250)
- %t252 = call ptr @fn_str_concat(ptr %t251, ptr @.str6334)
+ %t251 = call ptr @lp_str_concat(ptr %t249, ptr %t250)
+ %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str6375)
call void @fn_perr(ptr %t252)
br label %ifend20
ifend20:
@@ -62598,23 +63343,23 @@ ifend20:
%t260 = call ptr @fn_emit_expr(ptr %t259)
store ptr %t260, ptr %t261
%t262 = load ptr, ptr %t1
- %t263 = call i32 @fn_str_eq(ptr %t262, ptr @.str6335)
+ %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str6376)
%t264 = icmp ne i32 %t263, 0
br i1 %t264, label %then21, label %ifend23
then21:
%t265 = load ptr, ptr %t4
- %t266 = call ptr @fn_str_concat(ptr @.str6336, ptr %t265)
- %t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str6337)
+ %t266 = call ptr @lp_str_concat(ptr @.str6377, ptr %t265)
+ %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str6378)
%t268 = load ptr, ptr %t0
- %t269 = call ptr @fn_str_concat(ptr %t267, ptr %t268)
- %t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str6338)
+ %t269 = call ptr @lp_str_concat(ptr %t267, ptr %t268)
+ %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str6379)
%t271 = load ptr, ptr %t0
- %t272 = call ptr @fn_str_concat(ptr %t270, ptr %t271)
- %t273 = call ptr @fn_str_concat(ptr %t272, ptr @.str6339)
+ %t272 = call ptr @lp_str_concat(ptr %t270, ptr %t271)
+ %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str6380)
%t274 = load ptr, ptr %t261
%t275 = getelementptr inbounds %Cmp_Val, ptr %t274, i32 0, i32 0
%t276 = load ptr, ptr %t275
- %t277 = call ptr @fn_str_concat(ptr %t273, ptr %t276)
+ %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
@@ -62626,76 +63371,76 @@ 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 @fn_str_concat(ptr @.str6340, ptr %t285)
- %t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str6341)
+ %t286 = call ptr @lp_str_concat(ptr @.str6381, ptr %t285)
+ %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str6382)
%t288 = load ptr, ptr %t4
- %t289 = call ptr @fn_str_concat(ptr %t287, ptr %t288)
+ %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 @fn_str_concat(ptr @.str6342, ptr %t292)
- %t294 = call ptr @fn_str_concat(ptr %t293, ptr @.str6343)
+ %t293 = call ptr @lp_str_concat(ptr @.str6383, ptr %t292)
+ %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str6384)
%t295 = load ptr, ptr %t261
%t296 = getelementptr inbounds %Cmp_Val, ptr %t295, i32 0, i32 0
%t297 = load ptr, ptr %t296
- %t298 = call ptr @fn_str_concat(ptr %t294, ptr %t297)
- %t299 = call ptr @fn_str_concat(ptr %t298, ptr @.str6344)
+ %t298 = call ptr @lp_str_concat(ptr %t294, ptr %t297)
+ %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str6385)
%t300 = call ptr @fn_emit_bind(ptr %t299)
store ptr %t300, ptr %t301
%t302 = load ptr, ptr %t4
- %t303 = call ptr @fn_str_concat(ptr @.str6345, ptr %t302)
- %t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str6346)
+ %t303 = call ptr @lp_str_concat(ptr @.str6386, ptr %t302)
+ %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str6387)
%t305 = load ptr, ptr %t301
- %t306 = call ptr @fn_str_concat(ptr %t304, ptr %t305)
+ %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 @fn_str_concat(ptr @.str6347, ptr %t309)
+ %t310 = call ptr @lp_str_concat(ptr @.str6388, ptr %t309)
%t311 = call ptr @fn_emit_bind(ptr %t310)
store ptr %t311, ptr %t312
%t313 = load ptr, ptr %t312
- %t314 = call ptr @fn_str_concat(ptr @.str6348, ptr %t313)
- %t315 = call ptr @fn_str_concat(ptr %t314, ptr @.str6349)
+ %t314 = call ptr @lp_str_concat(ptr @.str6389, ptr %t313)
+ %t315 = call ptr @lp_str_concat(ptr %t314, ptr @.str6390)
%t316 = call ptr @fn_emit_bind(ptr %t315)
store ptr %t316, ptr %t317
%t318 = load ptr, ptr %t4
- %t319 = call ptr @fn_str_concat(ptr @.str6350, ptr %t318)
- %t320 = call ptr @fn_str_concat(ptr %t319, ptr @.str6351)
+ %t319 = call ptr @lp_str_concat(ptr @.str6391, ptr %t318)
+ %t320 = call ptr @lp_str_concat(ptr %t319, ptr @.str6392)
%t321 = load ptr, ptr %t0
- %t322 = call ptr @fn_str_concat(ptr %t320, ptr %t321)
- %t323 = call ptr @fn_str_concat(ptr %t322, ptr @.str6352)
+ %t322 = call ptr @lp_str_concat(ptr %t320, ptr %t321)
+ %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str6393)
%t324 = load ptr, ptr %t301
- %t325 = call ptr @fn_str_concat(ptr %t323, ptr %t324)
+ %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 @fn_str_concat(ptr @.str6353, ptr %t328)
+ %t329 = call ptr @lp_str_concat(ptr @.str6394, ptr %t328)
%t330 = call ptr @fn_emit_bind(ptr %t329)
store ptr %t330, ptr %t331
%t332 = load ptr, ptr %t331
- %t333 = call ptr @fn_str_concat(ptr @.str6354, ptr %t332)
- %t334 = call ptr @fn_str_concat(ptr %t333, ptr @.str6355)
+ %t333 = call ptr @lp_str_concat(ptr @.str6395, ptr %t332)
+ %t334 = call ptr @lp_str_concat(ptr %t333, ptr @.str6396)
%t335 = call ptr @fn_emit_bind(ptr %t334)
store ptr %t335, ptr %t336
%t337 = load ptr, ptr %t291
- %t338 = call ptr @fn_str_concat(ptr @.str6356, ptr %t337)
- %t339 = call ptr @fn_str_concat(ptr %t338, ptr @.str6357)
+ %t338 = call ptr @lp_str_concat(ptr @.str6397, ptr %t337)
+ %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str6398)
%t340 = load ptr, ptr %t317
- %t341 = call ptr @fn_str_concat(ptr %t339, ptr %t340)
+ %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 @fn_str_concat(ptr @.str6358, ptr %t344)
- %t346 = call ptr @fn_str_concat(ptr %t345, ptr @.str6359)
+ %t345 = call ptr @lp_str_concat(ptr @.str6399, ptr %t344)
+ %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str6400)
%t347 = load ptr, ptr %t336
- %t348 = call ptr @fn_str_concat(ptr %t346, ptr %t347)
+ %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 @fn_str_concat(ptr @.str6360, ptr %t351)
- %t353 = call ptr @fn_str_concat(ptr %t352, ptr @.str6361)
+ %t352 = call ptr @lp_str_concat(ptr @.str6401, ptr %t351)
+ %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str6402)
%t354 = call ptr @fn_emit_bind(ptr %t353)
- %t355 = call ptr @fn_val(ptr %t354, ptr @.str6362)
+ %t355 = call ptr @fn_val(ptr %t354, ptr @.str6403)
store ptr %t355, ptr %retval
br label %ret
ret:
@@ -62742,7 +63487,7 @@ 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 @fn_str_eq(ptr %t25, ptr @.str6363)
+ %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str6404)
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then6, label %ifend8
then6:
@@ -62779,7 +63524,7 @@ then12:
br label %ret
ifend14:
%t44 = load ptr, ptr %t39
- %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str6364)
+ %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str6405)
store i32 %t45, ptr %retval
br label %ret
ret:
@@ -62833,14 +63578,14 @@ entry:
br i1 %t8, label %sc0, label %scend1
sc0:
%t13 = load ptr, ptr %t1
- %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str6365)
+ %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str6406)
%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 @fn_str_eq(ptr %t17, ptr @.str6366)
+ %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str6407)
%t19 = icmp ne i32 %t18, 0
%t20 = zext i1 %t19 to i32
store i32 %t20, ptr %t12
@@ -62853,7 +63598,7 @@ scend3:
br i1 %t22, label %scend5, label %sc4
sc4:
%t24 = load ptr, ptr %t1
- %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str6367)
+ %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str6408)
%t26 = icmp ne i32 %t25, 0
%t27 = zext i1 %t26 to i32
store i32 %t27, ptr %t11
@@ -62866,7 +63611,7 @@ scend5:
br i1 %t29, label %scend7, label %sc6
sc6:
%t31 = load ptr, ptr %t1
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str6368)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str6409)
%t33 = icmp ne i32 %t32, 0
%t34 = zext i1 %t33 to i32
store i32 %t34, ptr %t10
@@ -62884,9 +63629,9 @@ scend1:
then8:
%t40 = load ptr, ptr %t0
%t41 = call ptr @fn_ns_lower(ptr %t40)
- %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str6369)
+ %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6410)
%t43 = load ptr, ptr %t1
- %t44 = call ptr @fn_str_concat(ptr %t42, ptr %t43)
+ %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
@@ -62903,7 +63648,7 @@ ifend13:
br label %ifend10
ifend10:
%t53 = load ptr, ptr %t0
- %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str6370)
+ %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str6411)
%t55 = icmp ne i32 %t54, 0
br i1 %t55, label %then14, label %ifend16
then14:
@@ -62919,12 +63664,12 @@ then17:
br label %ret
ifend19:
%t62 = load ptr, ptr %t1
- %t63 = call ptr @fn_str_concat(ptr @.str6371, ptr %t62)
+ %t63 = call ptr @lp_str_concat(ptr @.str6412, ptr %t62)
call void @fn_perr(ptr %t63)
br label %ifend16
ifend16:
%t64 = load ptr, ptr %t0
- %t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str6372)
+ %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str6413)
%t66 = icmp ne i32 %t65, 0
br i1 %t66, label %then20, label %ifend22
then20:
@@ -62940,12 +63685,12 @@ then23:
br label %ret
ifend25:
%t73 = load ptr, ptr %t1
- %t74 = call ptr @fn_str_concat(ptr @.str6373, ptr %t73)
+ %t74 = call ptr @lp_str_concat(ptr @.str6414, ptr %t73)
call void @fn_perr(ptr %t74)
br label %ifend22
ifend22:
%t75 = load ptr, ptr %t0
- %t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str6374)
+ %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str6415)
%t77 = icmp ne i32 %t76, 0
br i1 %t77, label %then26, label %ifend28
then26:
@@ -62961,12 +63706,12 @@ then29:
br label %ret
ifend31:
%t84 = load ptr, ptr %t1
- %t85 = call ptr @fn_str_concat(ptr @.str6375, ptr %t84)
+ %t85 = call ptr @lp_str_concat(ptr @.str6416, ptr %t84)
call void @fn_perr(ptr %t85)
br label %ifend28
ifend28:
%t86 = load ptr, ptr %t0
- %t87 = call i32 @fn_str_eq(ptr %t86, ptr @.str6376)
+ %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str6417)
%t88 = icmp ne i32 %t87, 0
br i1 %t88, label %then32, label %ifend34
then32:
@@ -62982,12 +63727,12 @@ then35:
br label %ret
ifend37:
%t95 = load ptr, ptr %t1
- %t96 = call ptr @fn_str_concat(ptr @.str6377, ptr %t95)
+ %t96 = call ptr @lp_str_concat(ptr @.str6418, ptr %t95)
call void @fn_perr(ptr %t96)
br label %ifend34
ifend34:
%t97 = load ptr, ptr %t0
- %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str6378)
+ %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str6419)
%t99 = icmp ne i32 %t98, 0
br i1 %t99, label %then38, label %ifend40
then38:
@@ -63005,7 +63750,7 @@ ifend43:
br label %ifend40
ifend40:
%t106 = load ptr, ptr %t0
- %t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str6379)
+ %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str6420)
%t108 = icmp ne i32 %t107, 0
br i1 %t108, label %then44, label %ifend46
then44:
@@ -63023,7 +63768,7 @@ ifend49:
br label %ifend46
ifend46:
%t115 = load ptr, ptr %t0
- %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str6380)
+ %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str6421)
%t117 = icmp ne i32 %t116, 0
br i1 %t117, label %then50, label %ifend52
then50:
@@ -63039,12 +63784,12 @@ then53:
br label %ret
ifend55:
%t124 = load ptr, ptr %t1
- %t125 = call ptr @fn_str_concat(ptr @.str6381, ptr %t124)
+ %t125 = call ptr @lp_str_concat(ptr @.str6422, ptr %t124)
call void @fn_perr(ptr %t125)
br label %ifend52
ifend52:
%t126 = load ptr, ptr %t0
- %t127 = call i32 @fn_str_eq(ptr %t126, ptr @.str6382)
+ %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str6423)
%t128 = icmp ne i32 %t127, 0
br i1 %t128, label %then56, label %ifend58
then56:
@@ -63060,12 +63805,12 @@ then59:
br label %ret
ifend61:
%t135 = load ptr, ptr %t1
- %t136 = call ptr @fn_str_concat(ptr @.str6383, ptr %t135)
+ %t136 = call ptr @lp_str_concat(ptr @.str6424, ptr %t135)
call void @fn_perr(ptr %t136)
br label %ifend58
ifend58:
%t137 = load ptr, ptr %t0
- %t138 = call i32 @fn_str_eq(ptr %t137, ptr @.str6384)
+ %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str6425)
%t139 = icmp ne i32 %t138, 0
br i1 %t139, label %then62, label %ifend64
then62:
@@ -63081,12 +63826,12 @@ then65:
br label %ret
ifend67:
%t146 = load ptr, ptr %t1
- %t147 = call ptr @fn_str_concat(ptr @.str6385, ptr %t146)
+ %t147 = call ptr @lp_str_concat(ptr @.str6426, ptr %t146)
call void @fn_perr(ptr %t147)
br label %ifend64
ifend64:
%t148 = load ptr, ptr %t0
- %t149 = call i32 @fn_str_eq(ptr %t148, ptr @.str6386)
+ %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str6427)
%t150 = icmp ne i32 %t149, 0
br i1 %t150, label %then68, label %ifend70
then68:
@@ -63102,12 +63847,12 @@ then71:
br label %ret
ifend73:
%t157 = load ptr, ptr %t1
- %t158 = call ptr @fn_str_concat(ptr @.str6387, ptr %t157)
+ %t158 = call ptr @lp_str_concat(ptr @.str6428, ptr %t157)
call void @fn_perr(ptr %t158)
br label %ifend70
ifend70:
%t159 = load ptr, ptr %t0
- %t160 = call i32 @fn_str_eq(ptr %t159, ptr @.str6388)
+ %t160 = call i32 @lp_str_eq(ptr %t159, ptr @.str6429)
%t161 = icmp ne i32 %t160, 0
br i1 %t161, label %then74, label %ifend76
then74:
@@ -63123,12 +63868,12 @@ then77:
br label %ret
ifend79:
%t168 = load ptr, ptr %t1
- %t169 = call ptr @fn_str_concat(ptr @.str6389, ptr %t168)
+ %t169 = call ptr @lp_str_concat(ptr @.str6430, ptr %t168)
call void @fn_perr(ptr %t169)
br label %ifend76
ifend76:
%t170 = load ptr, ptr %t0
- %t171 = call i32 @fn_str_eq(ptr %t170, ptr @.str6390)
+ %t171 = call i32 @lp_str_eq(ptr %t170, ptr @.str6431)
%t172 = icmp ne i32 %t171, 0
br i1 %t172, label %then80, label %ifend82
then80:
@@ -63144,12 +63889,12 @@ then83:
br label %ret
ifend85:
%t179 = load ptr, ptr %t1
- %t180 = call ptr @fn_str_concat(ptr @.str6391, ptr %t179)
+ %t180 = call ptr @lp_str_concat(ptr @.str6432, ptr %t179)
call void @fn_perr(ptr %t180)
br label %ifend82
ifend82:
%t181 = load ptr, ptr %t0
- %t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str6392)
+ %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str6433)
%t183 = icmp ne i32 %t182, 0
br i1 %t183, label %then86, label %ifend88
then86:
@@ -63165,12 +63910,12 @@ then89:
br label %ret
ifend91:
%t190 = load ptr, ptr %t1
- %t191 = call ptr @fn_str_concat(ptr @.str6393, ptr %t190)
+ %t191 = call ptr @lp_str_concat(ptr @.str6434, ptr %t190)
call void @fn_perr(ptr %t191)
br label %ifend88
ifend88:
%t192 = load ptr, ptr %t0
- %t193 = call i32 @fn_str_eq(ptr %t192, ptr @.str6394)
+ %t193 = call i32 @lp_str_eq(ptr %t192, ptr @.str6435)
%t194 = icmp ne i32 %t193, 0
br i1 %t194, label %then92, label %ifend94
then92:
@@ -63186,12 +63931,12 @@ then95:
br label %ret
ifend97:
%t201 = load ptr, ptr %t1
- %t202 = call ptr @fn_str_concat(ptr @.str6395, ptr %t201)
+ %t202 = call ptr @lp_str_concat(ptr @.str6436, ptr %t201)
call void @fn_perr(ptr %t202)
br label %ifend94
ifend94:
%t203 = load ptr, ptr %t0
- %t204 = call i32 @fn_str_eq(ptr %t203, ptr @.str6396)
+ %t204 = call i32 @lp_str_eq(ptr %t203, ptr @.str6437)
%t205 = icmp ne i32 %t204, 0
br i1 %t205, label %then98, label %ifend100
then98:
@@ -63207,12 +63952,12 @@ then101:
br label %ret
ifend103:
%t212 = load ptr, ptr %t1
- %t213 = call ptr @fn_str_concat(ptr @.str6397, ptr %t212)
+ %t213 = call ptr @lp_str_concat(ptr @.str6438, ptr %t212)
call void @fn_perr(ptr %t213)
br label %ifend100
ifend100:
%t214 = load ptr, ptr %t0
- %t215 = call i32 @fn_str_eq(ptr %t214, ptr @.str6398)
+ %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str6439)
%t216 = icmp ne i32 %t215, 0
br i1 %t216, label %then104, label %ifend106
then104:
@@ -63228,12 +63973,12 @@ then107:
br label %ret
ifend109:
%t223 = load ptr, ptr %t1
- %t224 = call ptr @fn_str_concat(ptr @.str6399, ptr %t223)
+ %t224 = call ptr @lp_str_concat(ptr @.str6440, ptr %t223)
call void @fn_perr(ptr %t224)
br label %ifend106
ifend106:
%t225 = load ptr, ptr %t0
- %t226 = call i32 @fn_str_eq(ptr %t225, ptr @.str6400)
+ %t226 = call i32 @lp_str_eq(ptr %t225, ptr @.str6441)
%t227 = icmp ne i32 %t226, 0
br i1 %t227, label %then110, label %ifend112
then110:
@@ -63249,12 +63994,12 @@ then113:
br label %ret
ifend115:
%t234 = load ptr, ptr %t1
- %t235 = call ptr @fn_str_concat(ptr @.str6401, ptr %t234)
+ %t235 = call ptr @lp_str_concat(ptr @.str6442, ptr %t234)
call void @fn_perr(ptr %t235)
br label %ifend112
ifend112:
%t236 = load ptr, ptr %t0
- %t237 = call i32 @fn_str_eq(ptr %t236, ptr @.str6402)
+ %t237 = call i32 @lp_str_eq(ptr %t236, ptr @.str6443)
%t238 = icmp ne i32 %t237, 0
br i1 %t238, label %then116, label %ifend118
then116:
@@ -63270,12 +64015,12 @@ then119:
br label %ret
ifend121:
%t245 = load ptr, ptr %t1
- %t246 = call ptr @fn_str_concat(ptr @.str6403, ptr %t245)
+ %t246 = call ptr @lp_str_concat(ptr @.str6444, ptr %t245)
call void @fn_perr(ptr %t246)
br label %ifend118
ifend118:
%t247 = load ptr, ptr %t0
- %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str6404)
+ %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str6445)
%t249 = icmp ne i32 %t248, 0
br i1 %t249, label %then122, label %ifend124
then122:
@@ -63291,12 +64036,12 @@ then125:
br label %ret
ifend127:
%t256 = load ptr, ptr %t1
- %t257 = call ptr @fn_str_concat(ptr @.str6405, ptr %t256)
+ %t257 = call ptr @lp_str_concat(ptr @.str6446, ptr %t256)
call void @fn_perr(ptr %t257)
br label %ifend124
ifend124:
%t258 = load ptr, ptr %t0
- %t259 = call i32 @fn_str_eq(ptr %t258, ptr @.str6406)
+ %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str6447)
%t260 = icmp ne i32 %t259, 0
br i1 %t260, label %then128, label %ifend130
then128:
@@ -63312,12 +64057,12 @@ then131:
br label %ret
ifend133:
%t267 = load ptr, ptr %t1
- %t268 = call ptr @fn_str_concat(ptr @.str6407, ptr %t267)
+ %t268 = call ptr @lp_str_concat(ptr @.str6448, ptr %t267)
call void @fn_perr(ptr %t268)
br label %ifend130
ifend130:
%t269 = load ptr, ptr %t0
- %t270 = call i32 @fn_str_eq(ptr %t269, ptr @.str6408)
+ %t270 = call i32 @lp_str_eq(ptr %t269, ptr @.str6449)
%t271 = icmp ne i32 %t270, 0
br i1 %t271, label %then134, label %ifend136
then134:
@@ -63333,12 +64078,12 @@ then137:
br label %ret
ifend139:
%t278 = load ptr, ptr %t1
- %t279 = call ptr @fn_str_concat(ptr @.str6409, ptr %t278)
+ %t279 = call ptr @lp_str_concat(ptr @.str6450, ptr %t278)
call void @fn_perr(ptr %t279)
br label %ifend136
ifend136:
%t280 = load ptr, ptr %t0
- %t281 = call i32 @fn_str_eq(ptr %t280, ptr @.str6410)
+ %t281 = call i32 @lp_str_eq(ptr %t280, ptr @.str6451)
%t282 = icmp ne i32 %t281, 0
br i1 %t282, label %then140, label %ifend142
then140:
@@ -63354,12 +64099,12 @@ then143:
br label %ret
ifend145:
%t289 = load ptr, ptr %t1
- %t290 = call ptr @fn_str_concat(ptr @.str6411, ptr %t289)
+ %t290 = call ptr @lp_str_concat(ptr @.str6452, ptr %t289)
call void @fn_perr(ptr %t290)
br label %ifend142
ifend142:
%t291 = load ptr, ptr %t0
- %t292 = call i32 @fn_str_eq(ptr %t291, ptr @.str6412)
+ %t292 = call i32 @lp_str_eq(ptr %t291, ptr @.str6453)
%t293 = icmp ne i32 %t292, 0
br i1 %t293, label %then146, label %ifend148
then146:
@@ -63375,12 +64120,12 @@ then149:
br label %ret
ifend151:
%t300 = load ptr, ptr %t1
- %t301 = call ptr @fn_str_concat(ptr @.str6413, ptr %t300)
+ %t301 = call ptr @lp_str_concat(ptr @.str6454, ptr %t300)
call void @fn_perr(ptr %t301)
br label %ifend148
ifend148:
%t302 = load ptr, ptr %t0
- %t303 = call i32 @fn_str_eq(ptr %t302, ptr @.str6414)
+ %t303 = call i32 @lp_str_eq(ptr %t302, ptr @.str6455)
%t304 = icmp ne i32 %t303, 0
br i1 %t304, label %then152, label %ifend154
then152:
@@ -63396,12 +64141,12 @@ then155:
br label %ret
ifend157:
%t311 = load ptr, ptr %t1
- %t312 = call ptr @fn_str_concat(ptr @.str6415, ptr %t311)
+ %t312 = call ptr @lp_str_concat(ptr @.str6456, ptr %t311)
call void @fn_perr(ptr %t312)
br label %ifend154
ifend154:
%t313 = load ptr, ptr %t0
- %t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str6416)
+ %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str6457)
%t315 = icmp ne i32 %t314, 0
br i1 %t315, label %then158, label %ifend160
then158:
@@ -63417,12 +64162,12 @@ then161:
br label %ret
ifend163:
%t322 = load ptr, ptr %t1
- %t323 = call ptr @fn_str_concat(ptr @.str6417, ptr %t322)
+ %t323 = call ptr @lp_str_concat(ptr @.str6458, ptr %t322)
call void @fn_perr(ptr %t323)
br label %ifend160
ifend160:
%t324 = load ptr, ptr %t0
- %t325 = call i32 @fn_str_eq(ptr %t324, ptr @.str6418)
+ %t325 = call i32 @lp_str_eq(ptr %t324, ptr @.str6459)
%t326 = icmp ne i32 %t325, 0
br i1 %t326, label %then164, label %ifend166
then164:
@@ -63438,12 +64183,12 @@ then167:
br label %ret
ifend169:
%t333 = load ptr, ptr %t1
- %t334 = call ptr @fn_str_concat(ptr @.str6419, ptr %t333)
+ %t334 = call ptr @lp_str_concat(ptr @.str6460, ptr %t333)
call void @fn_perr(ptr %t334)
br label %ifend166
ifend166:
%t335 = load ptr, ptr %t0
- %t336 = call i32 @fn_str_eq(ptr %t335, ptr @.str6420)
+ %t336 = call i32 @lp_str_eq(ptr %t335, ptr @.str6461)
%t337 = icmp ne i32 %t336, 0
br i1 %t337, label %then170, label %ifend172
then170:
@@ -63459,66 +64204,66 @@ then173:
br label %ret
ifend175:
%t344 = load ptr, ptr %t1
- %t345 = call ptr @fn_str_concat(ptr @.str6421, ptr %t344)
+ %t345 = call ptr @lp_str_concat(ptr @.str6462, ptr %t344)
call void @fn_perr(ptr %t345)
br label %ifend172
ifend172:
%t346 = load ptr, ptr %t0
- %t347 = call i32 @fn_str_eq(ptr %t346, ptr @.str6422)
+ %t347 = call i32 @lp_str_eq(ptr %t346, ptr @.str6463)
%t348 = icmp ne i32 %t347, 0
br i1 %t348, label %then176, label %ifend178
then176:
%t349 = load ptr, ptr %t1
- %t350 = call i32 @fn_str_eq(ptr %t349, ptr @.str6423)
+ %t350 = call i32 @lp_str_eq(ptr %t349, ptr @.str6464)
%t351 = icmp ne i32 %t350, 0
br i1 %t351, label %then179, label %ifend181
then179:
%t352 = call ptr @fn_itoa(i32 1024)
- %t353 = call ptr @fn_val(ptr %t352, ptr @.str6424)
+ %t353 = call ptr @fn_val(ptr %t352, ptr @.str6465)
store ptr %t353, ptr %retval
br label %ret
ifend181:
%t354 = load ptr, ptr %t1
- %t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str6425)
+ %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str6466)
%t356 = icmp ne i32 %t355, 0
br i1 %t356, label %then182, label %ifend184
then182:
- %t357 = call ptr @fn_emit_bind(ptr @.str6426)
- %t358 = call ptr @fn_val(ptr %t357, ptr @.str6427)
+ %t357 = call ptr @fn_emit_bind(ptr @.str6467)
+ %t358 = call ptr @fn_val(ptr %t357, ptr @.str6468)
store ptr %t358, ptr %retval
br label %ret
ifend184:
%t359 = load ptr, ptr %t1
- %t360 = call i32 @fn_str_eq(ptr %t359, ptr @.str6428)
+ %t360 = call i32 @lp_str_eq(ptr %t359, ptr @.str6469)
%t361 = icmp ne i32 %t360, 0
br i1 %t361, label %then185, label %ifend187
then185:
- %t362 = call ptr @fn_emit_bind(ptr @.str6429)
- %t363 = call ptr @fn_val(ptr %t362, ptr @.str6430)
+ %t362 = call ptr @fn_emit_bind(ptr @.str6470)
+ %t363 = call ptr @fn_val(ptr %t362, ptr @.str6471)
store ptr %t363, ptr %retval
br label %ret
ifend187:
%t364 = load ptr, ptr %t1
- %t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str6431)
+ %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str6472)
%t366 = icmp ne i32 %t365, 0
br i1 %t366, label %then188, label %ifend190
then188:
- %t367 = call ptr @fn_emit_bind(ptr @.str6432)
+ %t367 = call ptr @fn_emit_bind(ptr @.str6473)
store ptr %t367, ptr %t368
- %t369 = call ptr @fn_emit_bind(ptr @.str6433)
+ %t369 = call ptr @fn_emit_bind(ptr @.str6474)
store ptr %t369, ptr %t370
%t371 = load ptr, ptr %t368
- %t372 = call ptr @fn_str_concat(ptr @.str6434, ptr %t371)
- %t373 = call ptr @fn_str_concat(ptr %t372, ptr @.str6435)
+ %t372 = call ptr @lp_str_concat(ptr @.str6475, ptr %t371)
+ %t373 = call ptr @lp_str_concat(ptr %t372, ptr @.str6476)
%t374 = load ptr, ptr %t370
- %t375 = call ptr @fn_str_concat(ptr %t373, ptr %t374)
+ %t375 = call ptr @lp_str_concat(ptr %t373, ptr %t374)
%t376 = call ptr @fn_emit_bind(ptr %t375)
- %t377 = call ptr @fn_val(ptr %t376, ptr @.str6436)
+ %t377 = call ptr @fn_val(ptr %t376, ptr @.str6477)
store ptr %t377, ptr %retval
br label %ret
ifend190:
%t378 = load ptr, ptr %t1
- %t379 = call ptr @fn_str_concat(ptr @.str6437, ptr %t378)
+ %t379 = call ptr @lp_str_concat(ptr @.str6478, ptr %t378)
call void @fn_perr(ptr %t379)
br label %ifend178
ifend178:
@@ -63534,16 +64279,16 @@ ifend178:
store i32 0, ptr %t386
store ptr %t383, ptr %t387
%t388 = load ptr, ptr %t0
- %t389 = call i32 @fn_str_eq(ptr %t388, ptr @.str6438)
+ %t389 = call i32 @lp_str_eq(ptr %t388, ptr @.str6479)
%t390 = icmp ne i32 %t389, 0
br i1 %t390, label %then191, label %ifend193
then191:
%t391 = load ptr, ptr %t1
- %t392 = call i32 @fn_str_eq(ptr %t391, ptr @.str6439)
+ %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str6480)
%t393 = icmp ne i32 %t392, 0
br i1 %t393, label %then194, label %ifend196
then194:
- store ptr @.str6440, ptr %t380
+ store ptr @.str6481, ptr %t380
%t394 = load ptr, ptr %t387
%t395 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 1
%t396 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 2
@@ -63568,17 +64313,17 @@ grow197:
put198:
%t410 = load ptr, ptr %t397
%t411 = getelementptr inbounds ptr, ptr %t410, i32 %t398
- store ptr @.str6441, ptr %t411
+ store ptr @.str6482, ptr %t411
%t412 = add i32 %t398, 1
store i32 %t412, ptr %t395
br label %ifend196
ifend196:
%t413 = load ptr, ptr %t1
- %t414 = call i32 @fn_str_eq(ptr %t413, ptr @.str6442)
+ %t414 = call i32 @lp_str_eq(ptr %t413, ptr @.str6483)
%t415 = icmp ne i32 %t414, 0
br i1 %t415, label %then199, label %ifend201
then199:
- store ptr @.str6443, ptr %t380
+ store ptr @.str6484, ptr %t380
%t416 = load ptr, ptr %t387
%t417 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 1
%t418 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 2
@@ -63603,7 +64348,7 @@ grow202:
put203:
%t432 = load ptr, ptr %t419
%t433 = getelementptr inbounds ptr, ptr %t432, i32 %t420
- store ptr @.str6444, ptr %t433
+ store ptr @.str6485, ptr %t433
%t434 = add i32 %t420, 1
store i32 %t434, ptr %t417
%t435 = load ptr, ptr %t387
@@ -63630,7 +64375,7 @@ grow204:
put205:
%t451 = load ptr, ptr %t438
%t452 = getelementptr inbounds ptr, ptr %t451, i32 %t439
- store ptr @.str6445, ptr %t452
+ store ptr @.str6486, ptr %t452
%t453 = add i32 %t439, 1
store i32 %t453, ptr %t436
%t454 = load ptr, ptr %t387
@@ -63657,7 +64402,7 @@ grow206:
put207:
%t470 = load ptr, ptr %t457
%t471 = getelementptr inbounds ptr, ptr %t470, i32 %t458
- store ptr @.str6446, ptr %t471
+ store ptr @.str6487, ptr %t471
%t472 = add i32 %t458, 1
store i32 %t472, ptr %t455
%t473 = load ptr, ptr %t387
@@ -63684,7 +64429,7 @@ grow208:
put209:
%t489 = load ptr, ptr %t476
%t490 = getelementptr inbounds ptr, ptr %t489, i32 %t477
- store ptr @.str6447, ptr %t490
+ store ptr @.str6488, ptr %t490
%t491 = add i32 %t477, 1
store i32 %t491, ptr %t474
%t492 = load ptr, ptr %t387
@@ -63711,17 +64456,17 @@ grow210:
put211:
%t508 = load ptr, ptr %t495
%t509 = getelementptr inbounds ptr, ptr %t508, i32 %t496
- store ptr @.str6448, ptr %t509
+ store ptr @.str6489, ptr %t509
%t510 = add i32 %t496, 1
store i32 %t510, ptr %t493
br label %ifend201
ifend201:
%t511 = load ptr, ptr %t1
- %t512 = call i32 @fn_str_eq(ptr %t511, ptr @.str6449)
+ %t512 = call i32 @lp_str_eq(ptr %t511, ptr @.str6490)
%t513 = icmp ne i32 %t512, 0
br i1 %t513, label %then212, label %ifend214
then212:
- store ptr @.str6450, ptr %t380
+ store ptr @.str6491, ptr %t380
%t514 = load ptr, ptr %t387
%t515 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 1
%t516 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 2
@@ -63746,7 +64491,7 @@ grow215:
put216:
%t530 = load ptr, ptr %t517
%t531 = getelementptr inbounds ptr, ptr %t530, i32 %t518
- store ptr @.str6451, ptr %t531
+ store ptr @.str6492, ptr %t531
%t532 = add i32 %t518, 1
store i32 %t532, ptr %t515
%t533 = load ptr, ptr %t387
@@ -63773,7 +64518,7 @@ grow217:
put218:
%t549 = load ptr, ptr %t536
%t550 = getelementptr inbounds ptr, ptr %t549, i32 %t537
- store ptr @.str6452, ptr %t550
+ store ptr @.str6493, ptr %t550
%t551 = add i32 %t537, 1
store i32 %t551, ptr %t534
%t552 = load ptr, ptr %t387
@@ -63800,7 +64545,7 @@ grow219:
put220:
%t568 = load ptr, ptr %t555
%t569 = getelementptr inbounds ptr, ptr %t568, i32 %t556
- store ptr @.str6453, ptr %t569
+ store ptr @.str6494, ptr %t569
%t570 = add i32 %t556, 1
store i32 %t570, ptr %t553
%t571 = load ptr, ptr %t387
@@ -63827,7 +64572,7 @@ grow221:
put222:
%t587 = load ptr, ptr %t574
%t588 = getelementptr inbounds ptr, ptr %t587, i32 %t575
- store ptr @.str6454, ptr %t588
+ store ptr @.str6495, ptr %t588
%t589 = add i32 %t575, 1
store i32 %t589, ptr %t572
%t590 = load ptr, ptr %t387
@@ -63854,7 +64599,7 @@ grow223:
put224:
%t606 = load ptr, ptr %t593
%t607 = getelementptr inbounds ptr, ptr %t606, i32 %t594
- store ptr @.str6455, ptr %t607
+ store ptr @.str6496, ptr %t607
%t608 = add i32 %t594, 1
store i32 %t608, ptr %t591
%t609 = load ptr, ptr %t387
@@ -63881,7 +64626,7 @@ grow225:
put226:
%t625 = load ptr, ptr %t612
%t626 = getelementptr inbounds ptr, ptr %t625, i32 %t613
- store ptr @.str6456, ptr %t626
+ store ptr @.str6497, ptr %t626
%t627 = add i32 %t613, 1
store i32 %t627, ptr %t610
%t628 = load ptr, ptr %t387
@@ -63908,7 +64653,7 @@ grow227:
put228:
%t644 = load ptr, ptr %t631
%t645 = getelementptr inbounds ptr, ptr %t644, i32 %t632
- store ptr @.str6457, ptr %t645
+ store ptr @.str6498, ptr %t645
%t646 = add i32 %t632, 1
store i32 %t646, ptr %t629
%t647 = load ptr, ptr %t387
@@ -63935,17 +64680,17 @@ grow229:
put230:
%t663 = load ptr, ptr %t650
%t664 = getelementptr inbounds ptr, ptr %t663, i32 %t651
- store ptr @.str6458, ptr %t664
+ store ptr @.str6499, ptr %t664
%t665 = add i32 %t651, 1
store i32 %t665, ptr %t648
br label %ifend214
ifend214:
%t666 = load ptr, ptr %t1
- %t667 = call i32 @fn_str_eq(ptr %t666, ptr @.str6459)
+ %t667 = call i32 @lp_str_eq(ptr %t666, ptr @.str6500)
%t668 = icmp ne i32 %t667, 0
br i1 %t668, label %then231, label %ifend233
then231:
- store ptr @.str6460, ptr %t380
+ store ptr @.str6501, ptr %t380
%t669 = load ptr, ptr %t387
%t670 = getelementptr inbounds %LSlice, ptr %t669, i32 0, i32 1
%t671 = getelementptr inbounds %LSlice, ptr %t669, i32 0, i32 2
@@ -63970,7 +64715,7 @@ grow234:
put235:
%t685 = load ptr, ptr %t672
%t686 = getelementptr inbounds ptr, ptr %t685, i32 %t673
- store ptr @.str6461, ptr %t686
+ store ptr @.str6502, ptr %t686
%t687 = add i32 %t673, 1
store i32 %t687, ptr %t670
%t688 = load ptr, ptr %t387
@@ -63997,7 +64742,7 @@ grow236:
put237:
%t704 = load ptr, ptr %t691
%t705 = getelementptr inbounds ptr, ptr %t704, i32 %t692
- store ptr @.str6462, ptr %t705
+ store ptr @.str6503, ptr %t705
%t706 = add i32 %t692, 1
store i32 %t706, ptr %t689
%t707 = load ptr, ptr %t387
@@ -64024,7 +64769,7 @@ grow238:
put239:
%t723 = load ptr, ptr %t710
%t724 = getelementptr inbounds ptr, ptr %t723, i32 %t711
- store ptr @.str6463, ptr %t724
+ store ptr @.str6504, ptr %t724
%t725 = add i32 %t711, 1
store i32 %t725, ptr %t708
%t726 = load ptr, ptr %t387
@@ -64051,7 +64796,7 @@ grow240:
put241:
%t742 = load ptr, ptr %t729
%t743 = getelementptr inbounds ptr, ptr %t742, i32 %t730
- store ptr @.str6464, ptr %t743
+ store ptr @.str6505, ptr %t743
%t744 = add i32 %t730, 1
store i32 %t744, ptr %t727
%t745 = load ptr, ptr %t387
@@ -64078,17 +64823,17 @@ grow242:
put243:
%t761 = load ptr, ptr %t748
%t762 = getelementptr inbounds ptr, ptr %t761, i32 %t749
- store ptr @.str6465, ptr %t762
+ store ptr @.str6506, ptr %t762
%t763 = add i32 %t749, 1
store i32 %t763, ptr %t746
br label %ifend233
ifend233:
%t764 = load ptr, ptr %t1
- %t765 = call i32 @fn_str_eq(ptr %t764, ptr @.str6466)
+ %t765 = call i32 @lp_str_eq(ptr %t764, ptr @.str6507)
%t766 = icmp ne i32 %t765, 0
br i1 %t766, label %then244, label %ifend246
then244:
- store ptr @.str6467, ptr %t380
+ store ptr @.str6508, ptr %t380
%t767 = load ptr, ptr %t387
%t768 = getelementptr inbounds %LSlice, ptr %t767, i32 0, i32 1
%t769 = getelementptr inbounds %LSlice, ptr %t767, i32 0, i32 2
@@ -64113,7 +64858,7 @@ grow247:
put248:
%t783 = load ptr, ptr %t770
%t784 = getelementptr inbounds ptr, ptr %t783, i32 %t771
- store ptr @.str6468, ptr %t784
+ store ptr @.str6509, ptr %t784
%t785 = add i32 %t771, 1
store i32 %t785, ptr %t768
%t786 = load ptr, ptr %t387
@@ -64140,7 +64885,7 @@ grow249:
put250:
%t802 = load ptr, ptr %t789
%t803 = getelementptr inbounds ptr, ptr %t802, i32 %t790
- store ptr @.str6469, ptr %t803
+ store ptr @.str6510, ptr %t803
%t804 = add i32 %t790, 1
store i32 %t804, ptr %t787
%t805 = load ptr, ptr %t387
@@ -64167,17 +64912,17 @@ grow251:
put252:
%t821 = load ptr, ptr %t808
%t822 = getelementptr inbounds ptr, ptr %t821, i32 %t809
- store ptr @.str6470, ptr %t822
+ store ptr @.str6511, ptr %t822
%t823 = add i32 %t809, 1
store i32 %t823, ptr %t806
br label %ifend246
ifend246:
%t824 = load ptr, ptr %t1
- %t825 = call i32 @fn_str_eq(ptr %t824, ptr @.str6471)
+ %t825 = call i32 @lp_str_eq(ptr %t824, ptr @.str6512)
%t826 = icmp ne i32 %t825, 0
br i1 %t826, label %then253, label %ifend255
then253:
- store ptr @.str6472, ptr %t380
+ store ptr @.str6513, ptr %t380
%t827 = load ptr, ptr %t387
%t828 = getelementptr inbounds %LSlice, ptr %t827, i32 0, i32 1
%t829 = getelementptr inbounds %LSlice, ptr %t827, i32 0, i32 2
@@ -64202,7 +64947,7 @@ grow256:
put257:
%t843 = load ptr, ptr %t830
%t844 = getelementptr inbounds ptr, ptr %t843, i32 %t831
- store ptr @.str6473, ptr %t844
+ store ptr @.str6514, ptr %t844
%t845 = add i32 %t831, 1
store i32 %t845, ptr %t828
%t846 = load ptr, ptr %t387
@@ -64229,7 +64974,7 @@ grow258:
put259:
%t862 = load ptr, ptr %t849
%t863 = getelementptr inbounds ptr, ptr %t862, i32 %t850
- store ptr @.str6474, ptr %t863
+ store ptr @.str6515, ptr %t863
%t864 = add i32 %t850, 1
store i32 %t864, ptr %t847
%t865 = load ptr, ptr %t387
@@ -64256,7 +65001,7 @@ grow260:
put261:
%t881 = load ptr, ptr %t868
%t882 = getelementptr inbounds ptr, ptr %t881, i32 %t869
- store ptr @.str6475, ptr %t882
+ store ptr @.str6516, ptr %t882
%t883 = add i32 %t869, 1
store i32 %t883, ptr %t866
%t884 = load ptr, ptr %t387
@@ -64283,7 +65028,7 @@ grow262:
put263:
%t900 = load ptr, ptr %t887
%t901 = getelementptr inbounds ptr, ptr %t900, i32 %t888
- store ptr @.str6476, ptr %t901
+ store ptr @.str6517, ptr %t901
%t902 = add i32 %t888, 1
store i32 %t902, ptr %t885
%t903 = load ptr, ptr %t387
@@ -64310,17 +65055,17 @@ grow264:
put265:
%t919 = load ptr, ptr %t906
%t920 = getelementptr inbounds ptr, ptr %t919, i32 %t907
- store ptr @.str6477, ptr %t920
+ store ptr @.str6518, ptr %t920
%t921 = add i32 %t907, 1
store i32 %t921, ptr %t904
br label %ifend255
ifend255:
%t922 = load ptr, ptr %t1
- %t923 = call i32 @fn_str_eq(ptr %t922, ptr @.str6478)
+ %t923 = call i32 @lp_str_eq(ptr %t922, ptr @.str6519)
%t924 = icmp ne i32 %t923, 0
br i1 %t924, label %then266, label %ifend268
then266:
- store ptr @.str6479, ptr %t380
+ store ptr @.str6520, ptr %t380
%t925 = load ptr, ptr %t387
%t926 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 1
%t927 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 2
@@ -64345,7 +65090,7 @@ grow269:
put270:
%t941 = load ptr, ptr %t928
%t942 = getelementptr inbounds ptr, ptr %t941, i32 %t929
- store ptr @.str6480, ptr %t942
+ store ptr @.str6521, ptr %t942
%t943 = add i32 %t929, 1
store i32 %t943, ptr %t926
%t944 = load ptr, ptr %t387
@@ -64372,7 +65117,7 @@ grow271:
put272:
%t960 = load ptr, ptr %t947
%t961 = getelementptr inbounds ptr, ptr %t960, i32 %t948
- store ptr @.str6481, ptr %t961
+ store ptr @.str6522, ptr %t961
%t962 = add i32 %t948, 1
store i32 %t962, ptr %t945
%t963 = load ptr, ptr %t387
@@ -64399,7 +65144,7 @@ grow273:
put274:
%t979 = load ptr, ptr %t966
%t980 = getelementptr inbounds ptr, ptr %t979, i32 %t967
- store ptr @.str6482, ptr %t980
+ store ptr @.str6523, ptr %t980
%t981 = add i32 %t967, 1
store i32 %t981, ptr %t964
%t982 = load ptr, ptr %t387
@@ -64426,7 +65171,7 @@ grow275:
put276:
%t998 = load ptr, ptr %t985
%t999 = getelementptr inbounds ptr, ptr %t998, i32 %t986
- store ptr @.str6483, ptr %t999
+ store ptr @.str6524, ptr %t999
%t1000 = add i32 %t986, 1
store i32 %t1000, ptr %t983
%t1001 = load ptr, ptr %t387
@@ -64453,41 +65198,41 @@ grow277:
put278:
%t1017 = load ptr, ptr %t1004
%t1018 = getelementptr inbounds ptr, ptr %t1017, i32 %t1005
- store ptr @.str6484, ptr %t1018
+ store ptr @.str6525, ptr %t1018
%t1019 = add i32 %t1005, 1
store i32 %t1019, ptr %t1002
br label %ifend268
ifend268:
%t1020 = load ptr, ptr %t1
- %t1021 = call i32 @fn_str_eq(ptr %t1020, ptr @.str6485)
+ %t1021 = call i32 @lp_str_eq(ptr %t1020, ptr @.str6526)
%t1022 = icmp ne i32 %t1021, 0
br i1 %t1022, label %then279, label %ifend281
then279:
- store ptr @.str6486, ptr %t380
+ store ptr @.str6527, ptr %t380
br label %ifend281
ifend281:
%t1023 = load ptr, ptr %t1
- %t1024 = call i32 @fn_str_eq(ptr %t1023, ptr @.str6487)
+ %t1024 = call i32 @lp_str_eq(ptr %t1023, ptr @.str6528)
%t1025 = icmp ne i32 %t1024, 0
br i1 %t1025, label %then282, label %ifend284
then282:
- store ptr @.str6488, ptr %t380
+ store ptr @.str6529, ptr %t380
br label %ifend284
ifend284:
%t1026 = load ptr, ptr %t1
- %t1027 = call i32 @fn_str_eq(ptr %t1026, ptr @.str6489)
+ %t1027 = call i32 @lp_str_eq(ptr %t1026, ptr @.str6530)
%t1028 = icmp ne i32 %t1027, 0
br i1 %t1028, label %then285, label %ifend287
then285:
- store ptr @.str6490, ptr %t380
+ store ptr @.str6531, ptr %t380
br label %ifend287
ifend287:
%t1029 = load ptr, ptr %t1
- %t1030 = call i32 @fn_str_eq(ptr %t1029, ptr @.str6491)
+ %t1030 = call i32 @lp_str_eq(ptr %t1029, ptr @.str6532)
%t1031 = icmp ne i32 %t1030, 0
br i1 %t1031, label %then288, label %ifend290
then288:
- store ptr @.str6492, ptr %t380
+ store ptr @.str6533, ptr %t380
%t1032 = load ptr, ptr %t387
%t1033 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 1
%t1034 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 2
@@ -64512,17 +65257,17 @@ grow291:
put292:
%t1048 = load ptr, ptr %t1035
%t1049 = getelementptr inbounds ptr, ptr %t1048, i32 %t1036
- store ptr @.str6493, ptr %t1049
+ store ptr @.str6534, ptr %t1049
%t1050 = add i32 %t1036, 1
store i32 %t1050, ptr %t1033
br label %ifend290
ifend290:
%t1051 = load ptr, ptr %t1
- %t1052 = call i32 @fn_str_eq(ptr %t1051, ptr @.str6494)
+ %t1052 = call i32 @lp_str_eq(ptr %t1051, ptr @.str6535)
%t1053 = icmp ne i32 %t1052, 0
br i1 %t1053, label %then293, label %ifend295
then293:
- store ptr @.str6495, ptr %t380
+ store ptr @.str6536, ptr %t380
%t1054 = load ptr, ptr %t387
%t1055 = getelementptr inbounds %LSlice, ptr %t1054, i32 0, i32 1
%t1056 = getelementptr inbounds %LSlice, ptr %t1054, i32 0, i32 2
@@ -64547,7 +65292,7 @@ grow296:
put297:
%t1070 = load ptr, ptr %t1057
%t1071 = getelementptr inbounds ptr, ptr %t1070, i32 %t1058
- store ptr @.str6496, ptr %t1071
+ store ptr @.str6537, ptr %t1071
%t1072 = add i32 %t1058, 1
store i32 %t1072, ptr %t1055
%t1073 = load ptr, ptr %t387
@@ -64574,7 +65319,7 @@ grow298:
put299:
%t1089 = load ptr, ptr %t1076
%t1090 = getelementptr inbounds ptr, ptr %t1089, i32 %t1077
- store ptr @.str6497, ptr %t1090
+ store ptr @.str6538, ptr %t1090
%t1091 = add i32 %t1077, 1
store i32 %t1091, ptr %t1074
%t1092 = load ptr, ptr %t387
@@ -64601,7 +65346,7 @@ grow300:
put301:
%t1108 = load ptr, ptr %t1095
%t1109 = getelementptr inbounds ptr, ptr %t1108, i32 %t1096
- store ptr @.str6498, ptr %t1109
+ store ptr @.str6539, ptr %t1109
%t1110 = add i32 %t1096, 1
store i32 %t1110, ptr %t1093
%t1111 = load ptr, ptr %t387
@@ -64628,7 +65373,7 @@ grow302:
put303:
%t1127 = load ptr, ptr %t1114
%t1128 = getelementptr inbounds ptr, ptr %t1127, i32 %t1115
- store ptr @.str6499, ptr %t1128
+ store ptr @.str6540, ptr %t1128
%t1129 = add i32 %t1115, 1
store i32 %t1129, ptr %t1112
%t1130 = load ptr, ptr %t387
@@ -64655,17 +65400,17 @@ grow304:
put305:
%t1146 = load ptr, ptr %t1133
%t1147 = getelementptr inbounds ptr, ptr %t1146, i32 %t1134
- store ptr @.str6500, ptr %t1147
+ store ptr @.str6541, ptr %t1147
%t1148 = add i32 %t1134, 1
store i32 %t1148, ptr %t1131
br label %ifend295
ifend295:
%t1149 = load ptr, ptr %t1
- %t1150 = call i32 @fn_str_eq(ptr %t1149, ptr @.str6501)
+ %t1150 = call i32 @lp_str_eq(ptr %t1149, ptr @.str6542)
%t1151 = icmp ne i32 %t1150, 0
br i1 %t1151, label %then306, label %ifend308
then306:
- store ptr @.str6502, ptr %t380
+ store ptr @.str6543, ptr %t380
%t1152 = load ptr, ptr %t387
%t1153 = getelementptr inbounds %LSlice, ptr %t1152, i32 0, i32 1
%t1154 = getelementptr inbounds %LSlice, ptr %t1152, i32 0, i32 2
@@ -64690,7 +65435,7 @@ grow309:
put310:
%t1168 = load ptr, ptr %t1155
%t1169 = getelementptr inbounds ptr, ptr %t1168, i32 %t1156
- store ptr @.str6503, ptr %t1169
+ store ptr @.str6544, ptr %t1169
%t1170 = add i32 %t1156, 1
store i32 %t1170, ptr %t1153
%t1171 = load ptr, ptr %t387
@@ -64717,7 +65462,7 @@ grow311:
put312:
%t1187 = load ptr, ptr %t1174
%t1188 = getelementptr inbounds ptr, ptr %t1187, i32 %t1175
- store ptr @.str6504, ptr %t1188
+ store ptr @.str6545, ptr %t1188
%t1189 = add i32 %t1175, 1
store i32 %t1189, ptr %t1172
%t1190 = load ptr, ptr %t387
@@ -64744,7 +65489,7 @@ grow313:
put314:
%t1206 = load ptr, ptr %t1193
%t1207 = getelementptr inbounds ptr, ptr %t1206, i32 %t1194
- store ptr @.str6505, ptr %t1207
+ store ptr @.str6546, ptr %t1207
%t1208 = add i32 %t1194, 1
store i32 %t1208, ptr %t1191
%t1209 = load ptr, ptr %t387
@@ -64771,17 +65516,17 @@ grow315:
put316:
%t1225 = load ptr, ptr %t1212
%t1226 = getelementptr inbounds ptr, ptr %t1225, i32 %t1213
- store ptr @.str6506, ptr %t1226
+ store ptr @.str6547, ptr %t1226
%t1227 = add i32 %t1213, 1
store i32 %t1227, ptr %t1210
br label %ifend308
ifend308:
%t1228 = load ptr, ptr %t1
- %t1229 = call i32 @fn_str_eq(ptr %t1228, ptr @.str6507)
+ %t1229 = call i32 @lp_str_eq(ptr %t1228, ptr @.str6548)
%t1230 = icmp ne i32 %t1229, 0
br i1 %t1230, label %then317, label %ifend319
then317:
- store ptr @.str6508, ptr %t380
+ store ptr @.str6549, ptr %t380
%t1231 = load ptr, ptr %t387
%t1232 = getelementptr inbounds %LSlice, ptr %t1231, i32 0, i32 1
%t1233 = getelementptr inbounds %LSlice, ptr %t1231, i32 0, i32 2
@@ -64806,7 +65551,7 @@ grow320:
put321:
%t1247 = load ptr, ptr %t1234
%t1248 = getelementptr inbounds ptr, ptr %t1247, i32 %t1235
- store ptr @.str6509, ptr %t1248
+ store ptr @.str6550, ptr %t1248
%t1249 = add i32 %t1235, 1
store i32 %t1249, ptr %t1232
%t1250 = load ptr, ptr %t387
@@ -64833,7 +65578,7 @@ grow322:
put323:
%t1266 = load ptr, ptr %t1253
%t1267 = getelementptr inbounds ptr, ptr %t1266, i32 %t1254
- store ptr @.str6510, ptr %t1267
+ store ptr @.str6551, ptr %t1267
%t1268 = add i32 %t1254, 1
store i32 %t1268, ptr %t1251
%t1269 = load ptr, ptr %t387
@@ -64860,7 +65605,7 @@ grow324:
put325:
%t1285 = load ptr, ptr %t1272
%t1286 = getelementptr inbounds ptr, ptr %t1285, i32 %t1273
- store ptr @.str6511, ptr %t1286
+ store ptr @.str6552, ptr %t1286
%t1287 = add i32 %t1273, 1
store i32 %t1287, ptr %t1270
%t1288 = load ptr, ptr %t387
@@ -64887,17 +65632,17 @@ grow326:
put327:
%t1304 = load ptr, ptr %t1291
%t1305 = getelementptr inbounds ptr, ptr %t1304, i32 %t1292
- store ptr @.str6512, ptr %t1305
+ store ptr @.str6553, ptr %t1305
%t1306 = add i32 %t1292, 1
store i32 %t1306, ptr %t1289
br label %ifend319
ifend319:
%t1307 = load ptr, ptr %t1
- %t1308 = call i32 @fn_str_eq(ptr %t1307, ptr @.str6513)
+ %t1308 = call i32 @lp_str_eq(ptr %t1307, ptr @.str6554)
%t1309 = icmp ne i32 %t1308, 0
br i1 %t1309, label %then328, label %ifend330
then328:
- store ptr @.str6514, ptr %t380
+ store ptr @.str6555, ptr %t380
%t1310 = load ptr, ptr %t387
%t1311 = getelementptr inbounds %LSlice, ptr %t1310, i32 0, i32 1
%t1312 = getelementptr inbounds %LSlice, ptr %t1310, i32 0, i32 2
@@ -64922,7 +65667,7 @@ grow331:
put332:
%t1326 = load ptr, ptr %t1313
%t1327 = getelementptr inbounds ptr, ptr %t1326, i32 %t1314
- store ptr @.str6515, ptr %t1327
+ store ptr @.str6556, ptr %t1327
%t1328 = add i32 %t1314, 1
store i32 %t1328, ptr %t1311
%t1329 = load ptr, ptr %t387
@@ -64949,7 +65694,7 @@ grow333:
put334:
%t1345 = load ptr, ptr %t1332
%t1346 = getelementptr inbounds ptr, ptr %t1345, i32 %t1333
- store ptr @.str6516, ptr %t1346
+ store ptr @.str6557, ptr %t1346
%t1347 = add i32 %t1333, 1
store i32 %t1347, ptr %t1330
%t1348 = load ptr, ptr %t387
@@ -64976,7 +65721,7 @@ grow335:
put336:
%t1364 = load ptr, ptr %t1351
%t1365 = getelementptr inbounds ptr, ptr %t1364, i32 %t1352
- store ptr @.str6517, ptr %t1365
+ store ptr @.str6558, ptr %t1365
%t1366 = add i32 %t1352, 1
store i32 %t1366, ptr %t1349
%t1367 = load ptr, ptr %t387
@@ -65003,7 +65748,7 @@ grow337:
put338:
%t1383 = load ptr, ptr %t1370
%t1384 = getelementptr inbounds ptr, ptr %t1383, i32 %t1371
- store ptr @.str6518, ptr %t1384
+ store ptr @.str6559, ptr %t1384
%t1385 = add i32 %t1371, 1
store i32 %t1385, ptr %t1368
%t1386 = load ptr, ptr %t387
@@ -65030,7 +65775,7 @@ grow339:
put340:
%t1402 = load ptr, ptr %t1389
%t1403 = getelementptr inbounds ptr, ptr %t1402, i32 %t1390
- store ptr @.str6519, ptr %t1403
+ store ptr @.str6560, ptr %t1403
%t1404 = add i32 %t1390, 1
store i32 %t1404, ptr %t1387
%t1405 = load ptr, ptr %t387
@@ -65057,7 +65802,7 @@ grow341:
put342:
%t1421 = load ptr, ptr %t1408
%t1422 = getelementptr inbounds ptr, ptr %t1421, i32 %t1409
- store ptr @.str6520, ptr %t1422
+ store ptr @.str6561, ptr %t1422
%t1423 = add i32 %t1409, 1
store i32 %t1423, ptr %t1406
%t1424 = load ptr, ptr %t387
@@ -65084,17 +65829,17 @@ grow343:
put344:
%t1440 = load ptr, ptr %t1427
%t1441 = getelementptr inbounds ptr, ptr %t1440, i32 %t1428
- store ptr @.str6521, ptr %t1441
+ store ptr @.str6562, ptr %t1441
%t1442 = add i32 %t1428, 1
store i32 %t1442, ptr %t1425
br label %ifend330
ifend330:
%t1443 = load ptr, ptr %t1
- %t1444 = call i32 @fn_str_eq(ptr %t1443, ptr @.str6522)
+ %t1444 = call i32 @lp_str_eq(ptr %t1443, ptr @.str6563)
%t1445 = icmp ne i32 %t1444, 0
br i1 %t1445, label %then345, label %ifend347
then345:
- store ptr @.str6523, ptr %t380
+ store ptr @.str6564, ptr %t380
%t1446 = load ptr, ptr %t387
%t1447 = getelementptr inbounds %LSlice, ptr %t1446, i32 0, i32 1
%t1448 = getelementptr inbounds %LSlice, ptr %t1446, i32 0, i32 2
@@ -65119,7 +65864,7 @@ grow348:
put349:
%t1462 = load ptr, ptr %t1449
%t1463 = getelementptr inbounds ptr, ptr %t1462, i32 %t1450
- store ptr @.str6524, ptr %t1463
+ store ptr @.str6565, ptr %t1463
%t1464 = add i32 %t1450, 1
store i32 %t1464, ptr %t1447
%t1465 = load ptr, ptr %t387
@@ -65146,7 +65891,7 @@ grow350:
put351:
%t1481 = load ptr, ptr %t1468
%t1482 = getelementptr inbounds ptr, ptr %t1481, i32 %t1469
- store ptr @.str6525, ptr %t1482
+ store ptr @.str6566, ptr %t1482
%t1483 = add i32 %t1469, 1
store i32 %t1483, ptr %t1466
%t1484 = load ptr, ptr %t387
@@ -65173,7 +65918,7 @@ grow352:
put353:
%t1500 = load ptr, ptr %t1487
%t1501 = getelementptr inbounds ptr, ptr %t1500, i32 %t1488
- store ptr @.str6526, ptr %t1501
+ store ptr @.str6567, ptr %t1501
%t1502 = add i32 %t1488, 1
store i32 %t1502, ptr %t1485
%t1503 = load ptr, ptr %t387
@@ -65200,7 +65945,7 @@ grow354:
put355:
%t1519 = load ptr, ptr %t1506
%t1520 = getelementptr inbounds ptr, ptr %t1519, i32 %t1507
- store ptr @.str6527, ptr %t1520
+ store ptr @.str6568, ptr %t1520
%t1521 = add i32 %t1507, 1
store i32 %t1521, ptr %t1504
%t1522 = load ptr, ptr %t387
@@ -65227,7 +65972,7 @@ grow356:
put357:
%t1538 = load ptr, ptr %t1525
%t1539 = getelementptr inbounds ptr, ptr %t1538, i32 %t1526
- store ptr @.str6528, ptr %t1539
+ store ptr @.str6569, ptr %t1539
%t1540 = add i32 %t1526, 1
store i32 %t1540, ptr %t1523
%t1541 = load ptr, ptr %t387
@@ -65254,7 +65999,7 @@ grow358:
put359:
%t1557 = load ptr, ptr %t1544
%t1558 = getelementptr inbounds ptr, ptr %t1557, i32 %t1545
- store ptr @.str6529, ptr %t1558
+ store ptr @.str6570, ptr %t1558
%t1559 = add i32 %t1545, 1
store i32 %t1559, ptr %t1542
%t1560 = load ptr, ptr %t387
@@ -65281,17 +66026,17 @@ grow360:
put361:
%t1576 = load ptr, ptr %t1563
%t1577 = getelementptr inbounds ptr, ptr %t1576, i32 %t1564
- store ptr @.str6530, ptr %t1577
+ store ptr @.str6571, ptr %t1577
%t1578 = add i32 %t1564, 1
store i32 %t1578, ptr %t1561
br label %ifend347
ifend347:
%t1579 = load ptr, ptr %t1
- %t1580 = call i32 @fn_str_eq(ptr %t1579, ptr @.str6531)
+ %t1580 = call i32 @lp_str_eq(ptr %t1579, ptr @.str6572)
%t1581 = icmp ne i32 %t1580, 0
br i1 %t1581, label %then362, label %ifend364
then362:
- store ptr @.str6532, ptr %t380
+ store ptr @.str6573, ptr %t380
%t1582 = load ptr, ptr %t387
%t1583 = getelementptr inbounds %LSlice, ptr %t1582, i32 0, i32 1
%t1584 = getelementptr inbounds %LSlice, ptr %t1582, i32 0, i32 2
@@ -65316,7 +66061,7 @@ grow365:
put366:
%t1598 = load ptr, ptr %t1585
%t1599 = getelementptr inbounds ptr, ptr %t1598, i32 %t1586
- store ptr @.str6533, ptr %t1599
+ store ptr @.str6574, ptr %t1599
%t1600 = add i32 %t1586, 1
store i32 %t1600, ptr %t1583
%t1601 = load ptr, ptr %t387
@@ -65343,7 +66088,7 @@ grow367:
put368:
%t1617 = load ptr, ptr %t1604
%t1618 = getelementptr inbounds ptr, ptr %t1617, i32 %t1605
- store ptr @.str6534, ptr %t1618
+ store ptr @.str6575, ptr %t1618
%t1619 = add i32 %t1605, 1
store i32 %t1619, ptr %t1602
%t1620 = load ptr, ptr %t387
@@ -65370,17 +66115,17 @@ grow369:
put370:
%t1636 = load ptr, ptr %t1623
%t1637 = getelementptr inbounds ptr, ptr %t1636, i32 %t1624
- store ptr @.str6535, ptr %t1637
+ store ptr @.str6576, ptr %t1637
%t1638 = add i32 %t1624, 1
store i32 %t1638, ptr %t1621
br label %ifend364
ifend364:
%t1639 = load ptr, ptr %t1
- %t1640 = call i32 @fn_str_eq(ptr %t1639, ptr @.str6536)
+ %t1640 = call i32 @lp_str_eq(ptr %t1639, ptr @.str6577)
%t1641 = icmp ne i32 %t1640, 0
br i1 %t1641, label %then371, label %ifend373
then371:
- store ptr @.str6537, ptr %t380
+ store ptr @.str6578, ptr %t380
%t1642 = load ptr, ptr %t387
%t1643 = getelementptr inbounds %LSlice, ptr %t1642, i32 0, i32 1
%t1644 = getelementptr inbounds %LSlice, ptr %t1642, i32 0, i32 2
@@ -65405,7 +66150,7 @@ grow374:
put375:
%t1658 = load ptr, ptr %t1645
%t1659 = getelementptr inbounds ptr, ptr %t1658, i32 %t1646
- store ptr @.str6538, ptr %t1659
+ store ptr @.str6579, ptr %t1659
%t1660 = add i32 %t1646, 1
store i32 %t1660, ptr %t1643
%t1661 = load ptr, ptr %t387
@@ -65432,7 +66177,7 @@ grow376:
put377:
%t1677 = load ptr, ptr %t1664
%t1678 = getelementptr inbounds ptr, ptr %t1677, i32 %t1665
- store ptr @.str6539, ptr %t1678
+ store ptr @.str6580, ptr %t1678
%t1679 = add i32 %t1665, 1
store i32 %t1679, ptr %t1662
%t1680 = load ptr, ptr %t387
@@ -65459,7 +66204,7 @@ grow378:
put379:
%t1696 = load ptr, ptr %t1683
%t1697 = getelementptr inbounds ptr, ptr %t1696, i32 %t1684
- store ptr @.str6540, ptr %t1697
+ store ptr @.str6581, ptr %t1697
%t1698 = add i32 %t1684, 1
store i32 %t1698, ptr %t1681
%t1699 = load ptr, ptr %t387
@@ -65486,17 +66231,17 @@ grow380:
put381:
%t1715 = load ptr, ptr %t1702
%t1716 = getelementptr inbounds ptr, ptr %t1715, i32 %t1703
- store ptr @.str6541, ptr %t1716
+ store ptr @.str6582, ptr %t1716
%t1717 = add i32 %t1703, 1
store i32 %t1717, ptr %t1700
br label %ifend373
ifend373:
%t1718 = load ptr, ptr %t1
- %t1719 = call i32 @fn_str_eq(ptr %t1718, ptr @.str6542)
+ %t1719 = call i32 @lp_str_eq(ptr %t1718, ptr @.str6583)
%t1720 = icmp ne i32 %t1719, 0
br i1 %t1720, label %then382, label %ifend384
then382:
- store ptr @.str6543, ptr %t380
+ store ptr @.str6584, ptr %t380
%t1721 = load ptr, ptr %t387
%t1722 = getelementptr inbounds %LSlice, ptr %t1721, i32 0, i32 1
%t1723 = getelementptr inbounds %LSlice, ptr %t1721, i32 0, i32 2
@@ -65521,7 +66266,7 @@ grow385:
put386:
%t1737 = load ptr, ptr %t1724
%t1738 = getelementptr inbounds ptr, ptr %t1737, i32 %t1725
- store ptr @.str6544, ptr %t1738
+ store ptr @.str6585, ptr %t1738
%t1739 = add i32 %t1725, 1
store i32 %t1739, ptr %t1722
%t1740 = load ptr, ptr %t387
@@ -65548,7 +66293,7 @@ grow387:
put388:
%t1756 = load ptr, ptr %t1743
%t1757 = getelementptr inbounds ptr, ptr %t1756, i32 %t1744
- store ptr @.str6545, ptr %t1757
+ store ptr @.str6586, ptr %t1757
%t1758 = add i32 %t1744, 1
store i32 %t1758, ptr %t1741
%t1759 = load ptr, ptr %t387
@@ -65575,7 +66320,7 @@ grow389:
put390:
%t1775 = load ptr, ptr %t1762
%t1776 = getelementptr inbounds ptr, ptr %t1775, i32 %t1763
- store ptr @.str6546, ptr %t1776
+ store ptr @.str6587, ptr %t1776
%t1777 = add i32 %t1763, 1
store i32 %t1777, ptr %t1760
%t1778 = load ptr, ptr %t387
@@ -65602,7 +66347,7 @@ grow391:
put392:
%t1794 = load ptr, ptr %t1781
%t1795 = getelementptr inbounds ptr, ptr %t1794, i32 %t1782
- store ptr @.str6547, ptr %t1795
+ store ptr @.str6588, ptr %t1795
%t1796 = add i32 %t1782, 1
store i32 %t1796, ptr %t1779
%t1797 = load ptr, ptr %t387
@@ -65629,17 +66374,17 @@ grow393:
put394:
%t1813 = load ptr, ptr %t1800
%t1814 = getelementptr inbounds ptr, ptr %t1813, i32 %t1801
- store ptr @.str6548, ptr %t1814
+ store ptr @.str6589, ptr %t1814
%t1815 = add i32 %t1801, 1
store i32 %t1815, ptr %t1798
br label %ifend384
ifend384:
%t1816 = load ptr, ptr %t1
- %t1817 = call i32 @fn_str_eq(ptr %t1816, ptr @.str6549)
+ %t1817 = call i32 @lp_str_eq(ptr %t1816, ptr @.str6590)
%t1818 = icmp ne i32 %t1817, 0
br i1 %t1818, label %then395, label %ifend397
then395:
- store ptr @.str6550, ptr %t380
+ store ptr @.str6591, ptr %t380
%t1819 = load ptr, ptr %t387
%t1820 = getelementptr inbounds %LSlice, ptr %t1819, i32 0, i32 1
%t1821 = getelementptr inbounds %LSlice, ptr %t1819, i32 0, i32 2
@@ -65664,7 +66409,7 @@ grow398:
put399:
%t1835 = load ptr, ptr %t1822
%t1836 = getelementptr inbounds ptr, ptr %t1835, i32 %t1823
- store ptr @.str6551, ptr %t1836
+ store ptr @.str6592, ptr %t1836
%t1837 = add i32 %t1823, 1
store i32 %t1837, ptr %t1820
%t1838 = load ptr, ptr %t387
@@ -65691,17 +66436,17 @@ grow400:
put401:
%t1854 = load ptr, ptr %t1841
%t1855 = getelementptr inbounds ptr, ptr %t1854, i32 %t1842
- store ptr @.str6552, ptr %t1855
+ store ptr @.str6593, ptr %t1855
%t1856 = add i32 %t1842, 1
store i32 %t1856, ptr %t1839
br label %ifend397
ifend397:
%t1857 = load ptr, ptr %t1
- %t1858 = call i32 @fn_str_eq(ptr %t1857, ptr @.str6553)
+ %t1858 = call i32 @lp_str_eq(ptr %t1857, ptr @.str6594)
%t1859 = icmp ne i32 %t1858, 0
br i1 %t1859, label %then402, label %ifend404
then402:
- store ptr @.str6554, ptr %t380
+ store ptr @.str6595, ptr %t380
%t1860 = load ptr, ptr %t387
%t1861 = getelementptr inbounds %LSlice, ptr %t1860, i32 0, i32 1
%t1862 = getelementptr inbounds %LSlice, ptr %t1860, i32 0, i32 2
@@ -65726,7 +66471,7 @@ grow405:
put406:
%t1876 = load ptr, ptr %t1863
%t1877 = getelementptr inbounds ptr, ptr %t1876, i32 %t1864
- store ptr @.str6555, ptr %t1877
+ store ptr @.str6596, ptr %t1877
%t1878 = add i32 %t1864, 1
store i32 %t1878, ptr %t1861
%t1879 = load ptr, ptr %t387
@@ -65753,7 +66498,7 @@ grow407:
put408:
%t1895 = load ptr, ptr %t1882
%t1896 = getelementptr inbounds ptr, ptr %t1895, i32 %t1883
- store ptr @.str6556, ptr %t1896
+ store ptr @.str6597, ptr %t1896
%t1897 = add i32 %t1883, 1
store i32 %t1897, ptr %t1880
%t1898 = load ptr, ptr %t387
@@ -65780,7 +66525,7 @@ grow409:
put410:
%t1914 = load ptr, ptr %t1901
%t1915 = getelementptr inbounds ptr, ptr %t1914, i32 %t1902
- store ptr @.str6557, ptr %t1915
+ store ptr @.str6598, ptr %t1915
%t1916 = add i32 %t1902, 1
store i32 %t1916, ptr %t1899
%t1917 = load ptr, ptr %t387
@@ -65807,25 +66552,25 @@ grow411:
put412:
%t1933 = load ptr, ptr %t1920
%t1934 = getelementptr inbounds ptr, ptr %t1933, i32 %t1921
- store ptr @.str6558, ptr %t1934
+ store ptr @.str6599, ptr %t1934
%t1935 = add i32 %t1921, 1
store i32 %t1935, ptr %t1918
br label %ifend404
ifend404:
%t1936 = load ptr, ptr %t1
- %t1937 = call i32 @fn_str_eq(ptr %t1936, ptr @.str6559)
+ %t1937 = call i32 @lp_str_eq(ptr %t1936, ptr @.str6600)
%t1938 = icmp ne i32 %t1937, 0
br i1 %t1938, label %then413, label %ifend415
then413:
- store ptr @.str6560, ptr %t380
+ store ptr @.str6601, ptr %t380
br label %ifend415
ifend415:
%t1939 = load ptr, ptr %t1
- %t1940 = call i32 @fn_str_eq(ptr %t1939, ptr @.str6561)
+ %t1940 = call i32 @lp_str_eq(ptr %t1939, ptr @.str6602)
%t1941 = icmp ne i32 %t1940, 0
br i1 %t1941, label %then416, label %ifend418
then416:
- store ptr @.str6562, ptr %t380
+ store ptr @.str6603, ptr %t380
%t1942 = load ptr, ptr %t387
%t1943 = getelementptr inbounds %LSlice, ptr %t1942, i32 0, i32 1
%t1944 = getelementptr inbounds %LSlice, ptr %t1942, i32 0, i32 2
@@ -65850,17 +66595,17 @@ grow419:
put420:
%t1958 = load ptr, ptr %t1945
%t1959 = getelementptr inbounds ptr, ptr %t1958, i32 %t1946
- store ptr @.str6563, ptr %t1959
+ store ptr @.str6604, ptr %t1959
%t1960 = add i32 %t1946, 1
store i32 %t1960, ptr %t1943
br label %ifend418
ifend418:
%t1961 = load ptr, ptr %t1
- %t1962 = call i32 @fn_str_eq(ptr %t1961, ptr @.str6564)
+ %t1962 = call i32 @lp_str_eq(ptr %t1961, ptr @.str6605)
%t1963 = icmp ne i32 %t1962, 0
br i1 %t1963, label %then421, label %ifend423
then421:
- store ptr @.str6565, ptr %t380
+ store ptr @.str6606, ptr %t380
%t1964 = load ptr, ptr %t387
%t1965 = getelementptr inbounds %LSlice, ptr %t1964, i32 0, i32 1
%t1966 = getelementptr inbounds %LSlice, ptr %t1964, i32 0, i32 2
@@ -65885,17 +66630,17 @@ grow424:
put425:
%t1980 = load ptr, ptr %t1967
%t1981 = getelementptr inbounds ptr, ptr %t1980, i32 %t1968
- store ptr @.str6566, ptr %t1981
+ store ptr @.str6607, ptr %t1981
%t1982 = add i32 %t1968, 1
store i32 %t1982, ptr %t1965
br label %ifend423
ifend423:
%t1983 = load ptr, ptr %t1
- %t1984 = call i32 @fn_str_eq(ptr %t1983, ptr @.str6567)
+ %t1984 = call i32 @lp_str_eq(ptr %t1983, ptr @.str6608)
%t1985 = icmp ne i32 %t1984, 0
br i1 %t1985, label %then426, label %ifend428
then426:
- store ptr @.str6568, ptr %t380
+ store ptr @.str6609, ptr %t380
%t1986 = load ptr, ptr %t387
%t1987 = getelementptr inbounds %LSlice, ptr %t1986, i32 0, i32 1
%t1988 = getelementptr inbounds %LSlice, ptr %t1986, i32 0, i32 2
@@ -65920,7 +66665,7 @@ grow429:
put430:
%t2002 = load ptr, ptr %t1989
%t2003 = getelementptr inbounds ptr, ptr %t2002, i32 %t1990
- store ptr @.str6569, ptr %t2003
+ store ptr @.str6610, ptr %t2003
%t2004 = add i32 %t1990, 1
store i32 %t2004, ptr %t1987
%t2005 = load ptr, ptr %t387
@@ -65947,7 +66692,7 @@ grow431:
put432:
%t2021 = load ptr, ptr %t2008
%t2022 = getelementptr inbounds ptr, ptr %t2021, i32 %t2009
- store ptr @.str6570, ptr %t2022
+ store ptr @.str6611, ptr %t2022
%t2023 = add i32 %t2009, 1
store i32 %t2023, ptr %t2006
br label %ifend428
@@ -65955,16 +66700,16 @@ ifend428:
br label %ifend193
ifend193:
%t2024 = load ptr, ptr %t0
- %t2025 = call i32 @fn_str_eq(ptr %t2024, ptr @.str6571)
+ %t2025 = call i32 @lp_str_eq(ptr %t2024, ptr @.str6612)
%t2026 = icmp ne i32 %t2025, 0
br i1 %t2026, label %then433, label %ifend435
then433:
%t2027 = load ptr, ptr %t1
- %t2028 = call i32 @fn_str_eq(ptr %t2027, ptr @.str6572)
+ %t2028 = call i32 @lp_str_eq(ptr %t2027, ptr @.str6613)
%t2029 = icmp ne i32 %t2028, 0
br i1 %t2029, label %then436, label %ifend438
then436:
- store ptr @.str6573, ptr %t380
+ store ptr @.str6614, ptr %t380
%t2030 = load ptr, ptr %t387
%t2031 = getelementptr inbounds %LSlice, ptr %t2030, i32 0, i32 1
%t2032 = getelementptr inbounds %LSlice, ptr %t2030, i32 0, i32 2
@@ -65989,7 +66734,7 @@ grow439:
put440:
%t2046 = load ptr, ptr %t2033
%t2047 = getelementptr inbounds ptr, ptr %t2046, i32 %t2034
- store ptr @.str6574, ptr %t2047
+ store ptr @.str6615, ptr %t2047
%t2048 = add i32 %t2034, 1
store i32 %t2048, ptr %t2031
%t2049 = load ptr, ptr %t387
@@ -66016,7 +66761,7 @@ grow441:
put442:
%t2065 = load ptr, ptr %t2052
%t2066 = getelementptr inbounds ptr, ptr %t2065, i32 %t2053
- store ptr @.str6575, ptr %t2066
+ store ptr @.str6616, ptr %t2066
%t2067 = add i32 %t2053, 1
store i32 %t2067, ptr %t2050
%t2068 = load ptr, ptr %t387
@@ -66043,17 +66788,17 @@ grow443:
put444:
%t2084 = load ptr, ptr %t2071
%t2085 = getelementptr inbounds ptr, ptr %t2084, i32 %t2072
- store ptr @.str6576, ptr %t2085
+ store ptr @.str6617, ptr %t2085
%t2086 = add i32 %t2072, 1
store i32 %t2086, ptr %t2069
br label %ifend438
ifend438:
%t2087 = load ptr, ptr %t1
- %t2088 = call i32 @fn_str_eq(ptr %t2087, ptr @.str6577)
+ %t2088 = call i32 @lp_str_eq(ptr %t2087, ptr @.str6618)
%t2089 = icmp ne i32 %t2088, 0
br i1 %t2089, label %then445, label %ifend447
then445:
- store ptr @.str6578, ptr %t380
+ store ptr @.str6619, ptr %t380
%t2090 = load ptr, ptr %t387
%t2091 = getelementptr inbounds %LSlice, ptr %t2090, i32 0, i32 1
%t2092 = getelementptr inbounds %LSlice, ptr %t2090, i32 0, i32 2
@@ -66078,7 +66823,7 @@ grow448:
put449:
%t2106 = load ptr, ptr %t2093
%t2107 = getelementptr inbounds ptr, ptr %t2106, i32 %t2094
- store ptr @.str6579, ptr %t2107
+ store ptr @.str6620, ptr %t2107
%t2108 = add i32 %t2094, 1
store i32 %t2108, ptr %t2091
%t2109 = load ptr, ptr %t387
@@ -66105,7 +66850,7 @@ grow450:
put451:
%t2125 = load ptr, ptr %t2112
%t2126 = getelementptr inbounds ptr, ptr %t2125, i32 %t2113
- store ptr @.str6580, ptr %t2126
+ store ptr @.str6621, ptr %t2126
%t2127 = add i32 %t2113, 1
store i32 %t2127, ptr %t2110
%t2128 = load ptr, ptr %t387
@@ -66132,17 +66877,17 @@ grow452:
put453:
%t2144 = load ptr, ptr %t2131
%t2145 = getelementptr inbounds ptr, ptr %t2144, i32 %t2132
- store ptr @.str6581, ptr %t2145
+ store ptr @.str6622, ptr %t2145
%t2146 = add i32 %t2132, 1
store i32 %t2146, ptr %t2129
br label %ifend447
ifend447:
%t2147 = load ptr, ptr %t1
- %t2148 = call i32 @fn_str_eq(ptr %t2147, ptr @.str6582)
+ %t2148 = call i32 @lp_str_eq(ptr %t2147, ptr @.str6623)
%t2149 = icmp ne i32 %t2148, 0
br i1 %t2149, label %then454, label %ifend456
then454:
- store ptr @.str6583, ptr %t380
+ store ptr @.str6624, ptr %t380
%t2150 = load ptr, ptr %t387
%t2151 = getelementptr inbounds %LSlice, ptr %t2150, i32 0, i32 1
%t2152 = getelementptr inbounds %LSlice, ptr %t2150, i32 0, i32 2
@@ -66167,7 +66912,7 @@ grow457:
put458:
%t2166 = load ptr, ptr %t2153
%t2167 = getelementptr inbounds ptr, ptr %t2166, i32 %t2154
- store ptr @.str6584, ptr %t2167
+ store ptr @.str6625, ptr %t2167
%t2168 = add i32 %t2154, 1
store i32 %t2168, ptr %t2151
%t2169 = load ptr, ptr %t387
@@ -66194,7 +66939,7 @@ grow459:
put460:
%t2185 = load ptr, ptr %t2172
%t2186 = getelementptr inbounds ptr, ptr %t2185, i32 %t2173
- store ptr @.str6585, ptr %t2186
+ store ptr @.str6626, ptr %t2186
%t2187 = add i32 %t2173, 1
store i32 %t2187, ptr %t2170
%t2188 = load ptr, ptr %t387
@@ -66221,7 +66966,7 @@ grow461:
put462:
%t2204 = load ptr, ptr %t2191
%t2205 = getelementptr inbounds ptr, ptr %t2204, i32 %t2192
- store ptr @.str6586, ptr %t2205
+ store ptr @.str6627, ptr %t2205
%t2206 = add i32 %t2192, 1
store i32 %t2206, ptr %t2189
%t2207 = load ptr, ptr %t387
@@ -66248,7 +66993,7 @@ grow463:
put464:
%t2223 = load ptr, ptr %t2210
%t2224 = getelementptr inbounds ptr, ptr %t2223, i32 %t2211
- store ptr @.str6587, ptr %t2224
+ store ptr @.str6628, ptr %t2224
%t2225 = add i32 %t2211, 1
store i32 %t2225, ptr %t2208
%t2226 = load ptr, ptr %t387
@@ -66275,17 +67020,17 @@ grow465:
put466:
%t2242 = load ptr, ptr %t2229
%t2243 = getelementptr inbounds ptr, ptr %t2242, i32 %t2230
- store ptr @.str6588, ptr %t2243
+ store ptr @.str6629, ptr %t2243
%t2244 = add i32 %t2230, 1
store i32 %t2244, ptr %t2227
br label %ifend456
ifend456:
%t2245 = load ptr, ptr %t1
- %t2246 = call i32 @fn_str_eq(ptr %t2245, ptr @.str6589)
+ %t2246 = call i32 @lp_str_eq(ptr %t2245, ptr @.str6630)
%t2247 = icmp ne i32 %t2246, 0
br i1 %t2247, label %then467, label %ifend469
then467:
- store ptr @.str6590, ptr %t380
+ store ptr @.str6631, ptr %t380
%t2248 = load ptr, ptr %t387
%t2249 = getelementptr inbounds %LSlice, ptr %t2248, i32 0, i32 1
%t2250 = getelementptr inbounds %LSlice, ptr %t2248, i32 0, i32 2
@@ -66310,7 +67055,7 @@ grow470:
put471:
%t2264 = load ptr, ptr %t2251
%t2265 = getelementptr inbounds ptr, ptr %t2264, i32 %t2252
- store ptr @.str6591, ptr %t2265
+ store ptr @.str6632, ptr %t2265
%t2266 = add i32 %t2252, 1
store i32 %t2266, ptr %t2249
%t2267 = load ptr, ptr %t387
@@ -66337,7 +67082,7 @@ grow472:
put473:
%t2283 = load ptr, ptr %t2270
%t2284 = getelementptr inbounds ptr, ptr %t2283, i32 %t2271
- store ptr @.str6592, ptr %t2284
+ store ptr @.str6633, ptr %t2284
%t2285 = add i32 %t2271, 1
store i32 %t2285, ptr %t2268
%t2286 = load ptr, ptr %t387
@@ -66364,7 +67109,7 @@ grow474:
put475:
%t2302 = load ptr, ptr %t2289
%t2303 = getelementptr inbounds ptr, ptr %t2302, i32 %t2290
- store ptr @.str6593, ptr %t2303
+ store ptr @.str6634, ptr %t2303
%t2304 = add i32 %t2290, 1
store i32 %t2304, ptr %t2287
%t2305 = load ptr, ptr %t387
@@ -66391,7 +67136,7 @@ grow476:
put477:
%t2321 = load ptr, ptr %t2308
%t2322 = getelementptr inbounds ptr, ptr %t2321, i32 %t2309
- store ptr @.str6594, ptr %t2322
+ store ptr @.str6635, ptr %t2322
%t2323 = add i32 %t2309, 1
store i32 %t2323, ptr %t2306
%t2324 = load ptr, ptr %t387
@@ -66418,17 +67163,17 @@ grow478:
put479:
%t2340 = load ptr, ptr %t2327
%t2341 = getelementptr inbounds ptr, ptr %t2340, i32 %t2328
- store ptr @.str6595, ptr %t2341
+ store ptr @.str6636, ptr %t2341
%t2342 = add i32 %t2328, 1
store i32 %t2342, ptr %t2325
br label %ifend469
ifend469:
%t2343 = load ptr, ptr %t1
- %t2344 = call i32 @fn_str_eq(ptr %t2343, ptr @.str6596)
+ %t2344 = call i32 @lp_str_eq(ptr %t2343, ptr @.str6637)
%t2345 = icmp ne i32 %t2344, 0
br i1 %t2345, label %then480, label %ifend482
then480:
- store ptr @.str6597, ptr %t380
+ store ptr @.str6638, ptr %t380
%t2346 = load ptr, ptr %t387
%t2347 = getelementptr inbounds %LSlice, ptr %t2346, i32 0, i32 1
%t2348 = getelementptr inbounds %LSlice, ptr %t2346, i32 0, i32 2
@@ -66453,7 +67198,7 @@ grow483:
put484:
%t2362 = load ptr, ptr %t2349
%t2363 = getelementptr inbounds ptr, ptr %t2362, i32 %t2350
- store ptr @.str6598, ptr %t2363
+ store ptr @.str6639, ptr %t2363
%t2364 = add i32 %t2350, 1
store i32 %t2364, ptr %t2347
%t2365 = load ptr, ptr %t387
@@ -66480,7 +67225,7 @@ grow485:
put486:
%t2381 = load ptr, ptr %t2368
%t2382 = getelementptr inbounds ptr, ptr %t2381, i32 %t2369
- store ptr @.str6599, ptr %t2382
+ store ptr @.str6640, ptr %t2382
%t2383 = add i32 %t2369, 1
store i32 %t2383, ptr %t2366
%t2384 = load ptr, ptr %t387
@@ -66507,7 +67252,7 @@ grow487:
put488:
%t2400 = load ptr, ptr %t2387
%t2401 = getelementptr inbounds ptr, ptr %t2400, i32 %t2388
- store ptr @.str6600, ptr %t2401
+ store ptr @.str6641, ptr %t2401
%t2402 = add i32 %t2388, 1
store i32 %t2402, ptr %t2385
%t2403 = load ptr, ptr %t387
@@ -66534,17 +67279,17 @@ grow489:
put490:
%t2419 = load ptr, ptr %t2406
%t2420 = getelementptr inbounds ptr, ptr %t2419, i32 %t2407
- store ptr @.str6601, ptr %t2420
+ store ptr @.str6642, ptr %t2420
%t2421 = add i32 %t2407, 1
store i32 %t2421, ptr %t2404
br label %ifend482
ifend482:
%t2422 = load ptr, ptr %t1
- %t2423 = call i32 @fn_str_eq(ptr %t2422, ptr @.str6602)
+ %t2423 = call i32 @lp_str_eq(ptr %t2422, ptr @.str6643)
%t2424 = icmp ne i32 %t2423, 0
br i1 %t2424, label %then491, label %ifend493
then491:
- store ptr @.str6603, ptr %t380
+ store ptr @.str6644, ptr %t380
%t2425 = load ptr, ptr %t387
%t2426 = getelementptr inbounds %LSlice, ptr %t2425, i32 0, i32 1
%t2427 = getelementptr inbounds %LSlice, ptr %t2425, i32 0, i32 2
@@ -66569,17 +67314,17 @@ grow494:
put495:
%t2441 = load ptr, ptr %t2428
%t2442 = getelementptr inbounds ptr, ptr %t2441, i32 %t2429
- store ptr @.str6604, ptr %t2442
+ store ptr @.str6645, ptr %t2442
%t2443 = add i32 %t2429, 1
store i32 %t2443, ptr %t2426
br label %ifend493
ifend493:
%t2444 = load ptr, ptr %t1
- %t2445 = call i32 @fn_str_eq(ptr %t2444, ptr @.str6605)
+ %t2445 = call i32 @lp_str_eq(ptr %t2444, ptr @.str6646)
%t2446 = icmp ne i32 %t2445, 0
br i1 %t2446, label %then496, label %ifend498
then496:
- store ptr @.str6606, ptr %t380
+ store ptr @.str6647, ptr %t380
%t2447 = load ptr, ptr %t387
%t2448 = getelementptr inbounds %LSlice, ptr %t2447, i32 0, i32 1
%t2449 = getelementptr inbounds %LSlice, ptr %t2447, i32 0, i32 2
@@ -66604,7 +67349,7 @@ grow499:
put500:
%t2463 = load ptr, ptr %t2450
%t2464 = getelementptr inbounds ptr, ptr %t2463, i32 %t2451
- store ptr @.str6607, ptr %t2464
+ store ptr @.str6648, ptr %t2464
%t2465 = add i32 %t2451, 1
store i32 %t2465, ptr %t2448
%t2466 = load ptr, ptr %t387
@@ -66631,7 +67376,7 @@ grow501:
put502:
%t2482 = load ptr, ptr %t2469
%t2483 = getelementptr inbounds ptr, ptr %t2482, i32 %t2470
- store ptr @.str6608, ptr %t2483
+ store ptr @.str6649, ptr %t2483
%t2484 = add i32 %t2470, 1
store i32 %t2484, ptr %t2467
%t2485 = load ptr, ptr %t387
@@ -66658,17 +67403,17 @@ grow503:
put504:
%t2501 = load ptr, ptr %t2488
%t2502 = getelementptr inbounds ptr, ptr %t2501, i32 %t2489
- store ptr @.str6609, ptr %t2502
+ store ptr @.str6650, ptr %t2502
%t2503 = add i32 %t2489, 1
store i32 %t2503, ptr %t2486
br label %ifend498
ifend498:
%t2504 = load ptr, ptr %t1
- %t2505 = call i32 @fn_str_eq(ptr %t2504, ptr @.str6610)
+ %t2505 = call i32 @lp_str_eq(ptr %t2504, ptr @.str6651)
%t2506 = icmp ne i32 %t2505, 0
br i1 %t2506, label %then505, label %ifend507
then505:
- store ptr @.str6611, ptr %t380
+ store ptr @.str6652, ptr %t380
%t2507 = load ptr, ptr %t387
%t2508 = getelementptr inbounds %LSlice, ptr %t2507, i32 0, i32 1
%t2509 = getelementptr inbounds %LSlice, ptr %t2507, i32 0, i32 2
@@ -66693,7 +67438,7 @@ grow508:
put509:
%t2523 = load ptr, ptr %t2510
%t2524 = getelementptr inbounds ptr, ptr %t2523, i32 %t2511
- store ptr @.str6612, ptr %t2524
+ store ptr @.str6653, ptr %t2524
%t2525 = add i32 %t2511, 1
store i32 %t2525, ptr %t2508
%t2526 = load ptr, ptr %t387
@@ -66720,7 +67465,7 @@ grow510:
put511:
%t2542 = load ptr, ptr %t2529
%t2543 = getelementptr inbounds ptr, ptr %t2542, i32 %t2530
- store ptr @.str6613, ptr %t2543
+ store ptr @.str6654, ptr %t2543
%t2544 = add i32 %t2530, 1
store i32 %t2544, ptr %t2527
%t2545 = load ptr, ptr %t387
@@ -66747,7 +67492,7 @@ grow512:
put513:
%t2561 = load ptr, ptr %t2548
%t2562 = getelementptr inbounds ptr, ptr %t2561, i32 %t2549
- store ptr @.str6614, ptr %t2562
+ store ptr @.str6655, ptr %t2562
%t2563 = add i32 %t2549, 1
store i32 %t2563, ptr %t2546
%t2564 = load ptr, ptr %t387
@@ -66774,17 +67519,17 @@ grow514:
put515:
%t2580 = load ptr, ptr %t2567
%t2581 = getelementptr inbounds ptr, ptr %t2580, i32 %t2568
- store ptr @.str6615, ptr %t2581
+ store ptr @.str6656, ptr %t2581
%t2582 = add i32 %t2568, 1
store i32 %t2582, ptr %t2565
br label %ifend507
ifend507:
%t2583 = load ptr, ptr %t1
- %t2584 = call i32 @fn_str_eq(ptr %t2583, ptr @.str6616)
+ %t2584 = call i32 @lp_str_eq(ptr %t2583, ptr @.str6657)
%t2585 = icmp ne i32 %t2584, 0
br i1 %t2585, label %then516, label %ifend518
then516:
- store ptr @.str6617, ptr %t380
+ store ptr @.str6658, ptr %t380
%t2586 = load ptr, ptr %t387
%t2587 = getelementptr inbounds %LSlice, ptr %t2586, i32 0, i32 1
%t2588 = getelementptr inbounds %LSlice, ptr %t2586, i32 0, i32 2
@@ -66809,7 +67554,7 @@ grow519:
put520:
%t2602 = load ptr, ptr %t2589
%t2603 = getelementptr inbounds ptr, ptr %t2602, i32 %t2590
- store ptr @.str6618, ptr %t2603
+ store ptr @.str6659, ptr %t2603
%t2604 = add i32 %t2590, 1
store i32 %t2604, ptr %t2587
%t2605 = load ptr, ptr %t387
@@ -66836,7 +67581,7 @@ grow521:
put522:
%t2621 = load ptr, ptr %t2608
%t2622 = getelementptr inbounds ptr, ptr %t2621, i32 %t2609
- store ptr @.str6619, ptr %t2622
+ store ptr @.str6660, ptr %t2622
%t2623 = add i32 %t2609, 1
store i32 %t2623, ptr %t2606
%t2624 = load ptr, ptr %t387
@@ -66863,7 +67608,7 @@ grow523:
put524:
%t2640 = load ptr, ptr %t2627
%t2641 = getelementptr inbounds ptr, ptr %t2640, i32 %t2628
- store ptr @.str6620, ptr %t2641
+ store ptr @.str6661, ptr %t2641
%t2642 = add i32 %t2628, 1
store i32 %t2642, ptr %t2625
%t2643 = load ptr, ptr %t387
@@ -66890,7 +67635,7 @@ grow525:
put526:
%t2659 = load ptr, ptr %t2646
%t2660 = getelementptr inbounds ptr, ptr %t2659, i32 %t2647
- store ptr @.str6621, ptr %t2660
+ store ptr @.str6662, ptr %t2660
%t2661 = add i32 %t2647, 1
store i32 %t2661, ptr %t2644
%t2662 = load ptr, ptr %t387
@@ -66917,7 +67662,7 @@ grow527:
put528:
%t2678 = load ptr, ptr %t2665
%t2679 = getelementptr inbounds ptr, ptr %t2678, i32 %t2666
- store ptr @.str6622, ptr %t2679
+ store ptr @.str6663, ptr %t2679
%t2680 = add i32 %t2666, 1
store i32 %t2680, ptr %t2663
%t2681 = load ptr, ptr %t387
@@ -66944,7 +67689,7 @@ grow529:
put530:
%t2697 = load ptr, ptr %t2684
%t2698 = getelementptr inbounds ptr, ptr %t2697, i32 %t2685
- store ptr @.str6623, ptr %t2698
+ store ptr @.str6664, ptr %t2698
%t2699 = add i32 %t2685, 1
store i32 %t2699, ptr %t2682
%t2700 = load ptr, ptr %t387
@@ -66971,7 +67716,7 @@ grow531:
put532:
%t2716 = load ptr, ptr %t2703
%t2717 = getelementptr inbounds ptr, ptr %t2716, i32 %t2704
- store ptr @.str6624, ptr %t2717
+ store ptr @.str6665, ptr %t2717
%t2718 = add i32 %t2704, 1
store i32 %t2718, ptr %t2701
%t2719 = load ptr, ptr %t387
@@ -66998,7 +67743,7 @@ grow533:
put534:
%t2735 = load ptr, ptr %t2722
%t2736 = getelementptr inbounds ptr, ptr %t2735, i32 %t2723
- store ptr @.str6625, ptr %t2736
+ store ptr @.str6666, ptr %t2736
%t2737 = add i32 %t2723, 1
store i32 %t2737, ptr %t2720
%t2738 = load ptr, ptr %t387
@@ -67025,17 +67770,17 @@ grow535:
put536:
%t2754 = load ptr, ptr %t2741
%t2755 = getelementptr inbounds ptr, ptr %t2754, i32 %t2742
- store ptr @.str6626, ptr %t2755
+ store ptr @.str6667, ptr %t2755
%t2756 = add i32 %t2742, 1
store i32 %t2756, ptr %t2739
br label %ifend518
ifend518:
%t2757 = load ptr, ptr %t1
- %t2758 = call i32 @fn_str_eq(ptr %t2757, ptr @.str6627)
+ %t2758 = call i32 @lp_str_eq(ptr %t2757, ptr @.str6668)
%t2759 = icmp ne i32 %t2758, 0
br i1 %t2759, label %then537, label %ifend539
then537:
- store ptr @.str6628, ptr %t380
+ store ptr @.str6669, ptr %t380
%t2760 = load ptr, ptr %t387
%t2761 = getelementptr inbounds %LSlice, ptr %t2760, i32 0, i32 1
%t2762 = getelementptr inbounds %LSlice, ptr %t2760, i32 0, i32 2
@@ -67060,17 +67805,17 @@ grow540:
put541:
%t2776 = load ptr, ptr %t2763
%t2777 = getelementptr inbounds ptr, ptr %t2776, i32 %t2764
- store ptr @.str6629, ptr %t2777
+ store ptr @.str6670, ptr %t2777
%t2778 = add i32 %t2764, 1
store i32 %t2778, ptr %t2761
br label %ifend539
ifend539:
%t2779 = load ptr, ptr %t1
- %t2780 = call i32 @fn_str_eq(ptr %t2779, ptr @.str6630)
+ %t2780 = call i32 @lp_str_eq(ptr %t2779, ptr @.str6671)
%t2781 = icmp ne i32 %t2780, 0
br i1 %t2781, label %then542, label %ifend544
then542:
- store ptr @.str6631, ptr %t380
+ store ptr @.str6672, ptr %t380
%t2782 = load ptr, ptr %t387
%t2783 = getelementptr inbounds %LSlice, ptr %t2782, i32 0, i32 1
%t2784 = getelementptr inbounds %LSlice, ptr %t2782, i32 0, i32 2
@@ -67095,7 +67840,7 @@ grow545:
put546:
%t2798 = load ptr, ptr %t2785
%t2799 = getelementptr inbounds ptr, ptr %t2798, i32 %t2786
- store ptr @.str6632, ptr %t2799
+ store ptr @.str6673, ptr %t2799
%t2800 = add i32 %t2786, 1
store i32 %t2800, ptr %t2783
br label %ifend544
@@ -67103,16 +67848,16 @@ ifend544:
br label %ifend435
ifend435:
%t2801 = load ptr, ptr %t0
- %t2802 = call i32 @fn_str_eq(ptr %t2801, ptr @.str6633)
+ %t2802 = call i32 @lp_str_eq(ptr %t2801, ptr @.str6674)
%t2803 = icmp ne i32 %t2802, 0
br i1 %t2803, label %then547, label %ifend549
then547:
%t2804 = load ptr, ptr %t1
- %t2805 = call i32 @fn_str_eq(ptr %t2804, ptr @.str6634)
+ %t2805 = call i32 @lp_str_eq(ptr %t2804, ptr @.str6675)
%t2806 = icmp ne i32 %t2805, 0
br i1 %t2806, label %then550, label %ifend552
then550:
- store ptr @.str6635, ptr %t380
+ store ptr @.str6676, ptr %t380
%t2807 = load ptr, ptr %t387
%t2808 = getelementptr inbounds %LSlice, ptr %t2807, i32 0, i32 1
%t2809 = getelementptr inbounds %LSlice, ptr %t2807, i32 0, i32 2
@@ -67137,7 +67882,7 @@ grow553:
put554:
%t2823 = load ptr, ptr %t2810
%t2824 = getelementptr inbounds ptr, ptr %t2823, i32 %t2811
- store ptr @.str6636, ptr %t2824
+ store ptr @.str6677, ptr %t2824
%t2825 = add i32 %t2811, 1
store i32 %t2825, ptr %t2808
br label %ifend552
@@ -67145,24 +67890,24 @@ ifend552:
br label %ifend549
ifend549:
%t2826 = load ptr, ptr %t0
- %t2827 = call i32 @fn_str_eq(ptr %t2826, ptr @.str6637)
+ %t2827 = call i32 @lp_str_eq(ptr %t2826, ptr @.str6678)
%t2828 = icmp ne i32 %t2827, 0
br i1 %t2828, label %then555, label %ifend557
then555:
%t2829 = load ptr, ptr %t1
- %t2830 = call i32 @fn_str_eq(ptr %t2829, ptr @.str6638)
+ %t2830 = call i32 @lp_str_eq(ptr %t2829, ptr @.str6679)
%t2831 = icmp ne i32 %t2830, 0
br i1 %t2831, label %then558, label %ifend560
then558:
- store ptr @.str6639, ptr %t380
+ store ptr @.str6680, ptr %t380
br label %ifend560
ifend560:
%t2832 = load ptr, ptr %t1
- %t2833 = call i32 @fn_str_eq(ptr %t2832, ptr @.str6640)
+ %t2833 = call i32 @lp_str_eq(ptr %t2832, ptr @.str6681)
%t2834 = icmp ne i32 %t2833, 0
br i1 %t2834, label %then561, label %ifend563
then561:
- store ptr @.str6641, ptr %t380
+ store ptr @.str6682, ptr %t380
%t2835 = load ptr, ptr %t387
%t2836 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 1
%t2837 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 2
@@ -67187,25 +67932,25 @@ grow564:
put565:
%t2851 = load ptr, ptr %t2838
%t2852 = getelementptr inbounds ptr, ptr %t2851, i32 %t2839
- store ptr @.str6642, ptr %t2852
+ store ptr @.str6683, ptr %t2852
%t2853 = add i32 %t2839, 1
store i32 %t2853, ptr %t2836
br label %ifend563
ifend563:
%t2854 = load ptr, ptr %t1
- %t2855 = call i32 @fn_str_eq(ptr %t2854, ptr @.str6643)
+ %t2855 = call i32 @lp_str_eq(ptr %t2854, ptr @.str6684)
%t2856 = icmp ne i32 %t2855, 0
br i1 %t2856, label %then566, label %ifend568
then566:
- store ptr @.str6644, ptr %t380
+ store ptr @.str6685, ptr %t380
br label %ifend568
ifend568:
%t2857 = load ptr, ptr %t1
- %t2858 = call i32 @fn_str_eq(ptr %t2857, ptr @.str6645)
+ %t2858 = call i32 @lp_str_eq(ptr %t2857, ptr @.str6686)
%t2859 = icmp ne i32 %t2858, 0
br i1 %t2859, label %then569, label %ifend571
then569:
- store ptr @.str6646, ptr %t380
+ store ptr @.str6687, ptr %t380
%t2860 = load ptr, ptr %t387
%t2861 = getelementptr inbounds %LSlice, ptr %t2860, i32 0, i32 1
%t2862 = getelementptr inbounds %LSlice, ptr %t2860, i32 0, i32 2
@@ -67230,17 +67975,17 @@ grow572:
put573:
%t2876 = load ptr, ptr %t2863
%t2877 = getelementptr inbounds ptr, ptr %t2876, i32 %t2864
- store ptr @.str6647, ptr %t2877
+ store ptr @.str6688, ptr %t2877
%t2878 = add i32 %t2864, 1
store i32 %t2878, ptr %t2861
br label %ifend571
ifend571:
%t2879 = load ptr, ptr %t1
- %t2880 = call i32 @fn_str_eq(ptr %t2879, ptr @.str6648)
+ %t2880 = call i32 @lp_str_eq(ptr %t2879, ptr @.str6689)
%t2881 = icmp ne i32 %t2880, 0
br i1 %t2881, label %then574, label %ifend576
then574:
- store ptr @.str6649, ptr %t380
+ store ptr @.str6690, ptr %t380
%t2882 = load ptr, ptr %t387
%t2883 = getelementptr inbounds %LSlice, ptr %t2882, i32 0, i32 1
%t2884 = getelementptr inbounds %LSlice, ptr %t2882, i32 0, i32 2
@@ -67265,17 +68010,17 @@ grow577:
put578:
%t2898 = load ptr, ptr %t2885
%t2899 = getelementptr inbounds ptr, ptr %t2898, i32 %t2886
- store ptr @.str6650, ptr %t2899
+ store ptr @.str6691, ptr %t2899
%t2900 = add i32 %t2886, 1
store i32 %t2900, ptr %t2883
br label %ifend576
ifend576:
%t2901 = load ptr, ptr %t1
- %t2902 = call i32 @fn_str_eq(ptr %t2901, ptr @.str6651)
+ %t2902 = call i32 @lp_str_eq(ptr %t2901, ptr @.str6692)
%t2903 = icmp ne i32 %t2902, 0
br i1 %t2903, label %then579, label %ifend581
then579:
- store ptr @.str6652, ptr %t380
+ store ptr @.str6693, ptr %t380
%t2904 = load ptr, ptr %t387
%t2905 = getelementptr inbounds %LSlice, ptr %t2904, i32 0, i32 1
%t2906 = getelementptr inbounds %LSlice, ptr %t2904, i32 0, i32 2
@@ -67300,7 +68045,7 @@ grow582:
put583:
%t2920 = load ptr, ptr %t2907
%t2921 = getelementptr inbounds ptr, ptr %t2920, i32 %t2908
- store ptr @.str6653, ptr %t2921
+ store ptr @.str6694, ptr %t2921
%t2922 = add i32 %t2908, 1
store i32 %t2922, ptr %t2905
%t2923 = load ptr, ptr %t387
@@ -67327,32 +68072,32 @@ grow584:
put585:
%t2939 = load ptr, ptr %t2926
%t2940 = getelementptr inbounds ptr, ptr %t2939, i32 %t2927
- store ptr @.str6654, ptr %t2940
+ store ptr @.str6695, ptr %t2940
%t2941 = add i32 %t2927, 1
store i32 %t2941, ptr %t2924
br label %ifend581
ifend581:
%t2942 = load ptr, ptr %t1
- %t2943 = call i32 @fn_str_eq(ptr %t2942, ptr @.str6655)
+ %t2943 = call i32 @lp_str_eq(ptr %t2942, ptr @.str6696)
%t2944 = icmp ne i32 %t2943, 0
br i1 %t2944, label %then586, label %ifend588
then586:
- store ptr @.str6656, ptr %t380
+ store ptr @.str6697, ptr %t380
br label %ifend588
ifend588:
br label %ifend557
ifend557:
%t2945 = load ptr, ptr %t0
- %t2946 = call i32 @fn_str_eq(ptr %t2945, ptr @.str6657)
+ %t2946 = call i32 @lp_str_eq(ptr %t2945, ptr @.str6698)
%t2947 = icmp ne i32 %t2946, 0
br i1 %t2947, label %then589, label %ifend591
then589:
%t2948 = load ptr, ptr %t1
- %t2949 = call i32 @fn_str_eq(ptr %t2948, ptr @.str6658)
+ %t2949 = call i32 @lp_str_eq(ptr %t2948, ptr @.str6699)
%t2950 = icmp ne i32 %t2949, 0
br i1 %t2950, label %then592, label %ifend594
then592:
- store ptr @.str6659, ptr %t380
+ store ptr @.str6700, ptr %t380
%t2951 = load ptr, ptr %t387
%t2952 = getelementptr inbounds %LSlice, ptr %t2951, i32 0, i32 1
%t2953 = getelementptr inbounds %LSlice, ptr %t2951, i32 0, i32 2
@@ -67377,7 +68122,7 @@ grow595:
put596:
%t2967 = load ptr, ptr %t2954
%t2968 = getelementptr inbounds ptr, ptr %t2967, i32 %t2955
- store ptr @.str6660, ptr %t2968
+ store ptr @.str6701, ptr %t2968
%t2969 = add i32 %t2955, 1
store i32 %t2969, ptr %t2952
%t2970 = load ptr, ptr %t387
@@ -67404,17 +68149,17 @@ grow597:
put598:
%t2986 = load ptr, ptr %t2973
%t2987 = getelementptr inbounds ptr, ptr %t2986, i32 %t2974
- store ptr @.str6661, ptr %t2987
+ store ptr @.str6702, ptr %t2987
%t2988 = add i32 %t2974, 1
store i32 %t2988, ptr %t2971
br label %ifend594
ifend594:
%t2989 = load ptr, ptr %t1
- %t2990 = call i32 @fn_str_eq(ptr %t2989, ptr @.str6662)
+ %t2990 = call i32 @lp_str_eq(ptr %t2989, ptr @.str6703)
%t2991 = icmp ne i32 %t2990, 0
br i1 %t2991, label %then599, label %ifend601
then599:
- store ptr @.str6663, ptr %t380
+ store ptr @.str6704, ptr %t380
%t2992 = load ptr, ptr %t387
%t2993 = getelementptr inbounds %LSlice, ptr %t2992, i32 0, i32 1
%t2994 = getelementptr inbounds %LSlice, ptr %t2992, i32 0, i32 2
@@ -67439,7 +68184,7 @@ grow602:
put603:
%t3008 = load ptr, ptr %t2995
%t3009 = getelementptr inbounds ptr, ptr %t3008, i32 %t2996
- store ptr @.str6664, ptr %t3009
+ store ptr @.str6705, ptr %t3009
%t3010 = add i32 %t2996, 1
store i32 %t3010, ptr %t2993
%t3011 = load ptr, ptr %t387
@@ -67466,7 +68211,7 @@ grow604:
put605:
%t3027 = load ptr, ptr %t3014
%t3028 = getelementptr inbounds ptr, ptr %t3027, i32 %t3015
- store ptr @.str6665, ptr %t3028
+ store ptr @.str6706, ptr %t3028
%t3029 = add i32 %t3015, 1
store i32 %t3029, ptr %t3012
%t3030 = load ptr, ptr %t387
@@ -67493,17 +68238,17 @@ grow606:
put607:
%t3046 = load ptr, ptr %t3033
%t3047 = getelementptr inbounds ptr, ptr %t3046, i32 %t3034
- store ptr @.str6666, ptr %t3047
+ store ptr @.str6707, ptr %t3047
%t3048 = add i32 %t3034, 1
store i32 %t3048, ptr %t3031
br label %ifend601
ifend601:
%t3049 = load ptr, ptr %t1
- %t3050 = call i32 @fn_str_eq(ptr %t3049, ptr @.str6667)
+ %t3050 = call i32 @lp_str_eq(ptr %t3049, ptr @.str6708)
%t3051 = icmp ne i32 %t3050, 0
br i1 %t3051, label %then608, label %ifend610
then608:
- store ptr @.str6668, ptr %t380
+ store ptr @.str6709, ptr %t380
%t3052 = load ptr, ptr %t387
%t3053 = getelementptr inbounds %LSlice, ptr %t3052, i32 0, i32 1
%t3054 = getelementptr inbounds %LSlice, ptr %t3052, i32 0, i32 2
@@ -67528,7 +68273,7 @@ grow611:
put612:
%t3068 = load ptr, ptr %t3055
%t3069 = getelementptr inbounds ptr, ptr %t3068, i32 %t3056
- store ptr @.str6669, ptr %t3069
+ store ptr @.str6710, ptr %t3069
%t3070 = add i32 %t3056, 1
store i32 %t3070, ptr %t3053
%t3071 = load ptr, ptr %t387
@@ -67555,7 +68300,7 @@ grow613:
put614:
%t3087 = load ptr, ptr %t3074
%t3088 = getelementptr inbounds ptr, ptr %t3087, i32 %t3075
- store ptr @.str6670, ptr %t3088
+ store ptr @.str6711, ptr %t3088
%t3089 = add i32 %t3075, 1
store i32 %t3089, ptr %t3072
%t3090 = load ptr, ptr %t387
@@ -67582,17 +68327,17 @@ grow615:
put616:
%t3106 = load ptr, ptr %t3093
%t3107 = getelementptr inbounds ptr, ptr %t3106, i32 %t3094
- store ptr @.str6671, ptr %t3107
+ store ptr @.str6712, ptr %t3107
%t3108 = add i32 %t3094, 1
store i32 %t3108, ptr %t3091
br label %ifend610
ifend610:
%t3109 = load ptr, ptr %t1
- %t3110 = call i32 @fn_str_eq(ptr %t3109, ptr @.str6672)
+ %t3110 = call i32 @lp_str_eq(ptr %t3109, ptr @.str6713)
%t3111 = icmp ne i32 %t3110, 0
br i1 %t3111, label %then617, label %ifend619
then617:
- store ptr @.str6673, ptr %t380
+ store ptr @.str6714, ptr %t380
%t3112 = load ptr, ptr %t387
%t3113 = getelementptr inbounds %LSlice, ptr %t3112, i32 0, i32 1
%t3114 = getelementptr inbounds %LSlice, ptr %t3112, i32 0, i32 2
@@ -67617,7 +68362,7 @@ grow620:
put621:
%t3128 = load ptr, ptr %t3115
%t3129 = getelementptr inbounds ptr, ptr %t3128, i32 %t3116
- store ptr @.str6674, ptr %t3129
+ store ptr @.str6715, ptr %t3129
%t3130 = add i32 %t3116, 1
store i32 %t3130, ptr %t3113
%t3131 = load ptr, ptr %t387
@@ -67644,7 +68389,7 @@ grow622:
put623:
%t3147 = load ptr, ptr %t3134
%t3148 = getelementptr inbounds ptr, ptr %t3147, i32 %t3135
- store ptr @.str6675, ptr %t3148
+ store ptr @.str6716, ptr %t3148
%t3149 = add i32 %t3135, 1
store i32 %t3149, ptr %t3132
%t3150 = load ptr, ptr %t387
@@ -67671,17 +68416,17 @@ grow624:
put625:
%t3166 = load ptr, ptr %t3153
%t3167 = getelementptr inbounds ptr, ptr %t3166, i32 %t3154
- store ptr @.str6676, ptr %t3167
+ store ptr @.str6717, ptr %t3167
%t3168 = add i32 %t3154, 1
store i32 %t3168, ptr %t3151
br label %ifend619
ifend619:
%t3169 = load ptr, ptr %t1
- %t3170 = call i32 @fn_str_eq(ptr %t3169, ptr @.str6677)
+ %t3170 = call i32 @lp_str_eq(ptr %t3169, ptr @.str6718)
%t3171 = icmp ne i32 %t3170, 0
br i1 %t3171, label %then626, label %ifend628
then626:
- store ptr @.str6678, ptr %t380
+ store ptr @.str6719, ptr %t380
%t3172 = load ptr, ptr %t387
%t3173 = getelementptr inbounds %LSlice, ptr %t3172, i32 0, i32 1
%t3174 = getelementptr inbounds %LSlice, ptr %t3172, i32 0, i32 2
@@ -67706,17 +68451,17 @@ grow629:
put630:
%t3188 = load ptr, ptr %t3175
%t3189 = getelementptr inbounds ptr, ptr %t3188, i32 %t3176
- store ptr @.str6679, ptr %t3189
+ store ptr @.str6720, ptr %t3189
%t3190 = add i32 %t3176, 1
store i32 %t3190, ptr %t3173
br label %ifend628
ifend628:
%t3191 = load ptr, ptr %t1
- %t3192 = call i32 @fn_str_eq(ptr %t3191, ptr @.str6680)
+ %t3192 = call i32 @lp_str_eq(ptr %t3191, ptr @.str6721)
%t3193 = icmp ne i32 %t3192, 0
br i1 %t3193, label %then631, label %ifend633
then631:
- store ptr @.str6681, ptr %t380
+ store ptr @.str6722, ptr %t380
%t3194 = load ptr, ptr %t387
%t3195 = getelementptr inbounds %LSlice, ptr %t3194, i32 0, i32 1
%t3196 = getelementptr inbounds %LSlice, ptr %t3194, i32 0, i32 2
@@ -67741,7 +68486,7 @@ grow634:
put635:
%t3210 = load ptr, ptr %t3197
%t3211 = getelementptr inbounds ptr, ptr %t3210, i32 %t3198
- store ptr @.str6682, ptr %t3211
+ store ptr @.str6723, ptr %t3211
%t3212 = add i32 %t3198, 1
store i32 %t3212, ptr %t3195
br label %ifend633
@@ -67749,16 +68494,16 @@ ifend633:
br label %ifend591
ifend591:
%t3213 = load ptr, ptr %t0
- %t3214 = call i32 @fn_str_eq(ptr %t3213, ptr @.str6683)
+ %t3214 = call i32 @lp_str_eq(ptr %t3213, ptr @.str6724)
%t3215 = icmp ne i32 %t3214, 0
br i1 %t3215, label %then636, label %ifend638
then636:
%t3216 = load ptr, ptr %t1
- %t3217 = call i32 @fn_str_eq(ptr %t3216, ptr @.str6684)
+ %t3217 = call i32 @lp_str_eq(ptr %t3216, ptr @.str6725)
%t3218 = icmp ne i32 %t3217, 0
br i1 %t3218, label %then639, label %ifend641
then639:
- store ptr @.str6685, ptr %t380
+ store ptr @.str6726, ptr %t380
%t3219 = load ptr, ptr %t387
%t3220 = getelementptr inbounds %LSlice, ptr %t3219, i32 0, i32 1
%t3221 = getelementptr inbounds %LSlice, ptr %t3219, i32 0, i32 2
@@ -67783,7 +68528,7 @@ grow642:
put643:
%t3235 = load ptr, ptr %t3222
%t3236 = getelementptr inbounds ptr, ptr %t3235, i32 %t3223
- store ptr @.str6686, ptr %t3236
+ store ptr @.str6727, ptr %t3236
%t3237 = add i32 %t3223, 1
store i32 %t3237, ptr %t3220
%t3238 = load ptr, ptr %t387
@@ -67810,7 +68555,7 @@ grow644:
put645:
%t3254 = load ptr, ptr %t3241
%t3255 = getelementptr inbounds ptr, ptr %t3254, i32 %t3242
- store ptr @.str6687, ptr %t3255
+ store ptr @.str6728, ptr %t3255
%t3256 = add i32 %t3242, 1
store i32 %t3256, ptr %t3239
%t3257 = load ptr, ptr %t387
@@ -67837,7 +68582,7 @@ grow646:
put647:
%t3273 = load ptr, ptr %t3260
%t3274 = getelementptr inbounds ptr, ptr %t3273, i32 %t3261
- store ptr @.str6688, ptr %t3274
+ store ptr @.str6729, ptr %t3274
%t3275 = add i32 %t3261, 1
store i32 %t3275, ptr %t3258
%t3276 = load ptr, ptr %t387
@@ -67864,17 +68609,17 @@ grow648:
put649:
%t3292 = load ptr, ptr %t3279
%t3293 = getelementptr inbounds ptr, ptr %t3292, i32 %t3280
- store ptr @.str6689, ptr %t3293
+ store ptr @.str6730, ptr %t3293
%t3294 = add i32 %t3280, 1
store i32 %t3294, ptr %t3277
br label %ifend641
ifend641:
%t3295 = load ptr, ptr %t1
- %t3296 = call i32 @fn_str_eq(ptr %t3295, ptr @.str6690)
+ %t3296 = call i32 @lp_str_eq(ptr %t3295, ptr @.str6731)
%t3297 = icmp ne i32 %t3296, 0
br i1 %t3297, label %then650, label %ifend652
then650:
- store ptr @.str6691, ptr %t380
+ store ptr @.str6732, ptr %t380
%t3298 = load ptr, ptr %t387
%t3299 = getelementptr inbounds %LSlice, ptr %t3298, i32 0, i32 1
%t3300 = getelementptr inbounds %LSlice, ptr %t3298, i32 0, i32 2
@@ -67899,7 +68644,7 @@ grow653:
put654:
%t3314 = load ptr, ptr %t3301
%t3315 = getelementptr inbounds ptr, ptr %t3314, i32 %t3302
- store ptr @.str6692, ptr %t3315
+ store ptr @.str6733, ptr %t3315
%t3316 = add i32 %t3302, 1
store i32 %t3316, ptr %t3299
%t3317 = load ptr, ptr %t387
@@ -67926,7 +68671,7 @@ grow655:
put656:
%t3333 = load ptr, ptr %t3320
%t3334 = getelementptr inbounds ptr, ptr %t3333, i32 %t3321
- store ptr @.str6693, ptr %t3334
+ store ptr @.str6734, ptr %t3334
%t3335 = add i32 %t3321, 1
store i32 %t3335, ptr %t3318
%t3336 = load ptr, ptr %t387
@@ -67953,7 +68698,7 @@ grow657:
put658:
%t3352 = load ptr, ptr %t3339
%t3353 = getelementptr inbounds ptr, ptr %t3352, i32 %t3340
- store ptr @.str6694, ptr %t3353
+ store ptr @.str6735, ptr %t3353
%t3354 = add i32 %t3340, 1
store i32 %t3354, ptr %t3337
%t3355 = load ptr, ptr %t387
@@ -67980,28 +68725,28 @@ grow659:
put660:
%t3371 = load ptr, ptr %t3358
%t3372 = getelementptr inbounds ptr, ptr %t3371, i32 %t3359
- store ptr @.str6695, ptr %t3372
+ store ptr @.str6736, ptr %t3372
%t3373 = add i32 %t3359, 1
store i32 %t3373, ptr %t3356
br label %ifend652
ifend652:
%t3374 = load ptr, ptr %t1
- %t3375 = call i32 @fn_str_eq(ptr %t3374, ptr @.str6696)
+ %t3375 = call i32 @lp_str_eq(ptr %t3374, ptr @.str6737)
%t3376 = icmp ne i32 %t3375, 0
br i1 %t3376, label %then661, label %ifend663
then661:
- store ptr @.str6697, ptr %t380
+ store ptr @.str6738, ptr %t380
br label %ifend663
ifend663:
br label %ifend638
ifend638:
%t3377 = load ptr, ptr %t0
- %t3378 = call i32 @fn_str_eq(ptr %t3377, ptr @.str6698)
+ %t3378 = call i32 @lp_str_eq(ptr %t3377, ptr @.str6739)
%t3379 = icmp ne i32 %t3378, 0
br i1 %t3379, label %then664, label %ifend666
then664:
%t3380 = load ptr, ptr %t1
- %t3381 = call i32 @fn_str_eq(ptr %t3380, ptr @.str6699)
+ %t3381 = call i32 @lp_str_eq(ptr %t3380, ptr @.str6740)
%t3382 = icmp ne i32 %t3381, 0
br i1 %t3382, label %then667, label %ifend669
then667:
@@ -68011,10 +68756,10 @@ then667:
%t3386 = icmp ne i32 %t3385, 0
br i1 %t3386, label %then670, label %ifend672
then670:
- call void @fn_perr(ptr @.str6700)
+ call void @fn_perr(ptr @.str6741)
br label %ifend672
ifend672:
- %t3387 = call ptr @fn_find_comp(ptr @.str6701)
+ %t3387 = call ptr @fn_find_comp(ptr @.str6742)
store ptr %t3387, ptr %t3388
%t3389 = load ptr, ptr %t3388
%t3390 = icmp eq ptr %t3389, null
@@ -68022,7 +68767,7 @@ ifend672:
%t3392 = icmp ne i32 %t3391, 0
br i1 %t3392, label %then673, label %ifend675
then673:
- call void @fn_perr(ptr @.str6702)
+ call void @fn_perr(ptr @.str6743)
br label %ifend675
ifend675:
%t3393 = getelementptr %LSlice, ptr null, i32 1
@@ -68059,7 +68804,7 @@ grow676:
put677:
%t3416 = load ptr, ptr %t3403
%t3417 = getelementptr inbounds ptr, ptr %t3416, i32 %t3404
- store ptr @.str6703, ptr %t3417
+ store ptr @.str6744, ptr %t3417
%t3418 = add i32 %t3404, 1
store i32 %t3418, ptr %t3401
%t3419 = load ptr, ptr %t3399
@@ -68086,7 +68831,7 @@ grow678:
put679:
%t3435 = load ptr, ptr %t3422
%t3436 = getelementptr inbounds ptr, ptr %t3435, i32 %t3423
- store ptr @.str6704, ptr %t3436
+ store ptr @.str6745, ptr %t3436
%t3437 = add i32 %t3423, 1
store i32 %t3437, ptr %t3420
%t3438 = load ptr, ptr %t2
@@ -68113,35 +68858,35 @@ put679:
%t3458 = load ptr, ptr %t3448
%t3459 = getelementptr inbounds %Cmp_Val, ptr %t3458, i32 0, i32 0
%t3460 = load ptr, ptr %t3459
- %t3461 = call ptr @fn_str_concat(ptr @.str6705, ptr %t3460)
- %t3462 = call ptr @fn_str_concat(ptr %t3461, ptr @.str6706)
+ %t3461 = call ptr @lp_str_concat(ptr @.str6746, ptr %t3460)
+ %t3462 = call ptr @lp_str_concat(ptr %t3461, ptr @.str6747)
%t3463 = call ptr @fn_emit_bind(ptr %t3462)
store ptr %t3463, ptr %t3464
%t3465 = call ptr @fn_itoa(i32 1024)
store ptr %t3465, ptr %t3466
%t3467 = load ptr, ptr %t3466
- %t3468 = call ptr @fn_str_concat(ptr @.str6707, ptr %t3467)
- %t3469 = call ptr @fn_str_concat(ptr %t3468, ptr @.str6708)
+ %t3468 = call ptr @lp_str_concat(ptr @.str6748, ptr %t3467)
+ %t3469 = call ptr @lp_str_concat(ptr %t3468, ptr @.str6749)
%t3470 = load ptr, ptr %t3464
- %t3471 = call ptr @fn_str_concat(ptr %t3469, ptr %t3470)
+ %t3471 = call ptr @lp_str_concat(ptr %t3469, ptr %t3470)
%t3472 = call ptr @fn_emit_bind(ptr %t3471)
store ptr %t3472, ptr %t3473
%t3474 = load ptr, ptr %t3473
- %t3475 = call ptr @fn_str_concat(ptr @.str6709, ptr %t3474)
- %t3476 = call ptr @fn_str_concat(ptr %t3475, ptr @.str6710)
+ %t3475 = call ptr @lp_str_concat(ptr @.str6750, ptr %t3474)
+ %t3476 = call ptr @lp_str_concat(ptr %t3475, ptr @.str6751)
%t3477 = load ptr, ptr %t3388
- %t3478 = call i32 @fn_field_index(ptr %t3477, ptr @.str6711)
+ %t3478 = call i32 @fn_field_index(ptr %t3477, ptr @.str6752)
%t3479 = call ptr @fn_itoa(i32 %t3478)
- %t3480 = call ptr @fn_str_concat(ptr %t3476, ptr %t3479)
+ %t3480 = call ptr @lp_str_concat(ptr %t3476, ptr %t3479)
%t3481 = call ptr @fn_emit_bind(ptr %t3480)
store ptr %t3481, ptr %t3482
%t3483 = load ptr, ptr %t3473
- %t3484 = call ptr @fn_str_concat(ptr @.str6712, ptr %t3483)
- %t3485 = call ptr @fn_str_concat(ptr %t3484, ptr @.str6713)
+ %t3484 = call ptr @lp_str_concat(ptr @.str6753, ptr %t3483)
+ %t3485 = call ptr @lp_str_concat(ptr %t3484, ptr @.str6754)
%t3486 = load ptr, ptr %t3388
- %t3487 = call i32 @fn_field_index(ptr %t3486, ptr @.str6714)
+ %t3487 = call i32 @fn_field_index(ptr %t3486, ptr @.str6755)
%t3488 = call ptr @fn_itoa(i32 %t3487)
- %t3489 = call ptr @fn_str_concat(ptr %t3485, ptr %t3488)
+ %t3489 = call ptr @lp_str_concat(ptr %t3485, ptr %t3488)
%t3490 = call ptr @fn_emit_bind(ptr %t3489)
store ptr %t3490, ptr %t3491
%t3492 = load ptr, ptr %t3457
@@ -68154,27 +68899,27 @@ put679:
%t3499 = load ptr, ptr %t3498
%t3500 = call ptr @fn_vec_y(ptr %t3499)
store ptr %t3500, ptr %t3501
- call void @fn_emit(ptr @.str6715)
+ call void @fn_emit(ptr @.str6756)
%t3502 = load ptr, ptr %t3496
call void @fn_emit(ptr %t3502)
- call void @fn_emit(ptr @.str6716)
+ call void @fn_emit(ptr @.str6757)
%t3503 = load ptr, ptr %t3482
call void @fn_emit(ptr %t3503)
- call void @fn_emit(ptr @.str6717)
- call void @fn_emit(ptr @.str6718)
+ call void @fn_emit(ptr @.str6758)
+ call void @fn_emit(ptr @.str6759)
%t3504 = load ptr, ptr %t3501
call void @fn_emit(ptr %t3504)
- call void @fn_emit(ptr @.str6719)
+ call void @fn_emit(ptr @.str6760)
%t3505 = load ptr, ptr %t3491
call void @fn_emit(ptr %t3505)
- call void @fn_emit(ptr @.str6720)
+ call void @fn_emit(ptr @.str6761)
%t3506 = load ptr, ptr %t3464
- %t3507 = call ptr @fn_val(ptr %t3506, ptr @.str6721)
+ %t3507 = call ptr @fn_val(ptr %t3506, ptr @.str6762)
store ptr %t3507, ptr %retval
br label %ret
ifend669:
%t3508 = load ptr, ptr %t1
- %t3509 = call i32 @fn_str_eq(ptr %t3508, ptr @.str6722)
+ %t3509 = call i32 @lp_str_eq(ptr %t3508, ptr @.str6763)
%t3510 = icmp ne i32 %t3509, 0
br i1 %t3510, label %then680, label %ifend682
then680:
@@ -68184,7 +68929,7 @@ then680:
%t3514 = icmp ne i32 %t3513, 0
br i1 %t3514, label %then683, label %ifend685
then683:
- call void @fn_perr(ptr @.str6723)
+ call void @fn_perr(ptr @.str6764)
br label %ifend685
ifend685:
%t3515 = getelementptr %LSlice, ptr null, i32 1
@@ -68221,7 +68966,7 @@ grow686:
put687:
%t3538 = load ptr, ptr %t3525
%t3539 = getelementptr inbounds ptr, ptr %t3538, i32 %t3526
- store ptr @.str6724, ptr %t3539
+ store ptr @.str6765, ptr %t3539
%t3540 = add i32 %t3526, 1
store i32 %t3540, ptr %t3523
%t3541 = load ptr, ptr %t2
@@ -68237,7 +68982,7 @@ put687:
%t3550 = icmp ne i32 %t3549, 0
br i1 %t3550, label %then688, label %ifend690
then688:
- call void @fn_perr(ptr @.str6725)
+ call void @fn_perr(ptr @.str6766)
br label %ifend690
ifend690:
%t3551 = load ptr, ptr %t2
@@ -68252,29 +68997,29 @@ ifend690:
%t3560 = load ptr, ptr %t3559
%t3561 = getelementptr inbounds %Cmp_Val, ptr %t3560, i32 0, i32 0
%t3562 = load ptr, ptr %t3561
- %t3563 = call ptr @fn_str_concat(ptr @.str6726, ptr %t3562)
- %t3564 = call ptr @fn_str_concat(ptr %t3563, ptr @.str6727)
+ %t3563 = call ptr @lp_str_concat(ptr @.str6767, ptr %t3562)
+ %t3564 = call ptr @lp_str_concat(ptr %t3563, ptr @.str6768)
%t3565 = call ptr @fn_emit_bind(ptr %t3564)
- %t3566 = call ptr @fn_val(ptr %t3565, ptr @.str6728)
+ %t3566 = call ptr @fn_val(ptr %t3565, ptr @.str6769)
store ptr %t3566, ptr %retval
br label %ret
ifend682:
%t3567 = load ptr, ptr %t1
- %t3568 = call ptr @fn_str_concat(ptr @.str6729, ptr %t3567)
+ %t3568 = call ptr @lp_str_concat(ptr @.str6770, ptr %t3567)
call void @fn_perr(ptr %t3568)
br label %ifend666
ifend666:
%t3569 = load ptr, ptr %t0
- %t3570 = call i32 @fn_str_eq(ptr %t3569, ptr @.str6730)
+ %t3570 = call i32 @lp_str_eq(ptr %t3569, ptr @.str6771)
%t3571 = icmp ne i32 %t3570, 0
br i1 %t3571, label %then691, label %ifend693
then691:
%t3572 = load ptr, ptr %t1
- %t3573 = call i32 @fn_str_eq(ptr %t3572, ptr @.str6731)
+ %t3573 = call i32 @lp_str_eq(ptr %t3572, ptr @.str6772)
%t3574 = icmp ne i32 %t3573, 0
br i1 %t3574, label %then694, label %ifend696
then694:
- store ptr @.str6732, ptr %t380
+ store ptr @.str6773, ptr %t380
%t3575 = load ptr, ptr %t387
%t3576 = getelementptr inbounds %LSlice, ptr %t3575, i32 0, i32 1
%t3577 = getelementptr inbounds %LSlice, ptr %t3575, i32 0, i32 2
@@ -68299,17 +69044,17 @@ grow697:
put698:
%t3591 = load ptr, ptr %t3578
%t3592 = getelementptr inbounds ptr, ptr %t3591, i32 %t3579
- store ptr @.str6733, ptr %t3592
+ store ptr @.str6774, ptr %t3592
%t3593 = add i32 %t3579, 1
store i32 %t3593, ptr %t3576
br label %ifend696
ifend696:
%t3594 = load ptr, ptr %t1
- %t3595 = call i32 @fn_str_eq(ptr %t3594, ptr @.str6734)
+ %t3595 = call i32 @lp_str_eq(ptr %t3594, ptr @.str6775)
%t3596 = icmp ne i32 %t3595, 0
br i1 %t3596, label %then699, label %ifend701
then699:
- store ptr @.str6735, ptr %t380
+ store ptr @.str6776, ptr %t380
%t3597 = load ptr, ptr %t387
%t3598 = getelementptr inbounds %LSlice, ptr %t3597, i32 0, i32 1
%t3599 = getelementptr inbounds %LSlice, ptr %t3597, i32 0, i32 2
@@ -68334,17 +69079,17 @@ grow702:
put703:
%t3613 = load ptr, ptr %t3600
%t3614 = getelementptr inbounds ptr, ptr %t3613, i32 %t3601
- store ptr @.str6736, ptr %t3614
+ store ptr @.str6777, ptr %t3614
%t3615 = add i32 %t3601, 1
store i32 %t3615, ptr %t3598
br label %ifend701
ifend701:
%t3616 = load ptr, ptr %t1
- %t3617 = call i32 @fn_str_eq(ptr %t3616, ptr @.str6737)
+ %t3617 = call i32 @lp_str_eq(ptr %t3616, ptr @.str6778)
%t3618 = icmp ne i32 %t3617, 0
br i1 %t3618, label %then704, label %ifend706
then704:
- store ptr @.str6738, ptr %t380
+ store ptr @.str6779, ptr %t380
%t3619 = load ptr, ptr %t387
%t3620 = getelementptr inbounds %LSlice, ptr %t3619, i32 0, i32 1
%t3621 = getelementptr inbounds %LSlice, ptr %t3619, i32 0, i32 2
@@ -68369,17 +69114,17 @@ grow707:
put708:
%t3635 = load ptr, ptr %t3622
%t3636 = getelementptr inbounds ptr, ptr %t3635, i32 %t3623
- store ptr @.str6739, ptr %t3636
+ store ptr @.str6780, ptr %t3636
%t3637 = add i32 %t3623, 1
store i32 %t3637, ptr %t3620
br label %ifend706
ifend706:
%t3638 = load ptr, ptr %t1
- %t3639 = call i32 @fn_str_eq(ptr %t3638, ptr @.str6740)
+ %t3639 = call i32 @lp_str_eq(ptr %t3638, ptr @.str6781)
%t3640 = icmp ne i32 %t3639, 0
br i1 %t3640, label %then709, label %ifend711
then709:
- store ptr @.str6741, ptr %t380
+ store ptr @.str6782, ptr %t380
%t3641 = load ptr, ptr %t387
%t3642 = getelementptr inbounds %LSlice, ptr %t3641, i32 0, i32 1
%t3643 = getelementptr inbounds %LSlice, ptr %t3641, i32 0, i32 2
@@ -68404,17 +69149,17 @@ grow712:
put713:
%t3657 = load ptr, ptr %t3644
%t3658 = getelementptr inbounds ptr, ptr %t3657, i32 %t3645
- store ptr @.str6742, ptr %t3658
+ store ptr @.str6783, ptr %t3658
%t3659 = add i32 %t3645, 1
store i32 %t3659, ptr %t3642
br label %ifend711
ifend711:
%t3660 = load ptr, ptr %t1
- %t3661 = call i32 @fn_str_eq(ptr %t3660, ptr @.str6743)
+ %t3661 = call i32 @lp_str_eq(ptr %t3660, ptr @.str6784)
%t3662 = icmp ne i32 %t3661, 0
br i1 %t3662, label %then714, label %ifend716
then714:
- store ptr @.str6744, ptr %t380
+ store ptr @.str6785, ptr %t380
%t3663 = load ptr, ptr %t387
%t3664 = getelementptr inbounds %LSlice, ptr %t3663, i32 0, i32 1
%t3665 = getelementptr inbounds %LSlice, ptr %t3663, i32 0, i32 2
@@ -68439,17 +69184,17 @@ grow717:
put718:
%t3679 = load ptr, ptr %t3666
%t3680 = getelementptr inbounds ptr, ptr %t3679, i32 %t3667
- store ptr @.str6745, ptr %t3680
+ store ptr @.str6786, ptr %t3680
%t3681 = add i32 %t3667, 1
store i32 %t3681, ptr %t3664
br label %ifend716
ifend716:
%t3682 = load ptr, ptr %t1
- %t3683 = call i32 @fn_str_eq(ptr %t3682, ptr @.str6746)
+ %t3683 = call i32 @lp_str_eq(ptr %t3682, ptr @.str6787)
%t3684 = icmp ne i32 %t3683, 0
br i1 %t3684, label %then719, label %ifend721
then719:
- store ptr @.str6747, ptr %t380
+ store ptr @.str6788, ptr %t380
%t3685 = load ptr, ptr %t387
%t3686 = getelementptr inbounds %LSlice, ptr %t3685, i32 0, i32 1
%t3687 = getelementptr inbounds %LSlice, ptr %t3685, i32 0, i32 2
@@ -68474,7 +69219,7 @@ grow722:
put723:
%t3701 = load ptr, ptr %t3688
%t3702 = getelementptr inbounds ptr, ptr %t3701, i32 %t3689
- store ptr @.str6748, ptr %t3702
+ store ptr @.str6789, ptr %t3702
%t3703 = add i32 %t3689, 1
store i32 %t3703, ptr %t3686
%t3704 = load ptr, ptr %t387
@@ -68501,17 +69246,17 @@ grow724:
put725:
%t3720 = load ptr, ptr %t3707
%t3721 = getelementptr inbounds ptr, ptr %t3720, i32 %t3708
- store ptr @.str6749, ptr %t3721
+ store ptr @.str6790, ptr %t3721
%t3722 = add i32 %t3708, 1
store i32 %t3722, ptr %t3705
br label %ifend721
ifend721:
%t3723 = load ptr, ptr %t1
- %t3724 = call i32 @fn_str_eq(ptr %t3723, ptr @.str6750)
+ %t3724 = call i32 @lp_str_eq(ptr %t3723, ptr @.str6791)
%t3725 = icmp ne i32 %t3724, 0
br i1 %t3725, label %then726, label %ifend728
then726:
- store ptr @.str6751, ptr %t380
+ store ptr @.str6792, ptr %t380
%t3726 = load ptr, ptr %t387
%t3727 = getelementptr inbounds %LSlice, ptr %t3726, i32 0, i32 1
%t3728 = getelementptr inbounds %LSlice, ptr %t3726, i32 0, i32 2
@@ -68536,56 +69281,56 @@ grow729:
put730:
%t3742 = load ptr, ptr %t3729
%t3743 = getelementptr inbounds ptr, ptr %t3742, i32 %t3730
- store ptr @.str6752, ptr %t3743
+ store ptr @.str6793, ptr %t3743
%t3744 = add i32 %t3730, 1
store i32 %t3744, ptr %t3727
br label %ifend728
ifend728:
%t3745 = load ptr, ptr %t1
- %t3746 = call i32 @fn_str_eq(ptr %t3745, ptr @.str6753)
+ %t3746 = call i32 @lp_str_eq(ptr %t3745, ptr @.str6794)
%t3747 = icmp ne i32 %t3746, 0
br i1 %t3747, label %then731, label %ifend733
then731:
- store ptr @.str6754, ptr %t380
+ store ptr @.str6795, ptr %t380
br label %ifend733
ifend733:
%t3748 = load ptr, ptr %t1
- %t3749 = call i32 @fn_str_eq(ptr %t3748, ptr @.str6755)
+ %t3749 = call i32 @lp_str_eq(ptr %t3748, ptr @.str6796)
%t3750 = icmp ne i32 %t3749, 0
br i1 %t3750, label %then734, label %ifend736
then734:
- store ptr @.str6756, ptr %t380
+ store ptr @.str6797, ptr %t380
br label %ifend736
ifend736:
%t3751 = load ptr, ptr %t1
- %t3752 = call i32 @fn_str_eq(ptr %t3751, ptr @.str6757)
+ %t3752 = call i32 @lp_str_eq(ptr %t3751, ptr @.str6798)
%t3753 = icmp ne i32 %t3752, 0
br i1 %t3753, label %then737, label %ifend739
then737:
- store ptr @.str6758, ptr %t380
+ store ptr @.str6799, ptr %t380
br label %ifend739
ifend739:
%t3754 = load ptr, ptr %t1
- %t3755 = call i32 @fn_str_eq(ptr %t3754, ptr @.str6759)
+ %t3755 = call i32 @lp_str_eq(ptr %t3754, ptr @.str6800)
%t3756 = icmp ne i32 %t3755, 0
br i1 %t3756, label %then740, label %ifend742
then740:
- store ptr @.str6760, ptr %t380
+ store ptr @.str6801, ptr %t380
br label %ifend742
ifend742:
br label %ifend693
ifend693:
%t3757 = load ptr, ptr %t0
- %t3758 = call i32 @fn_str_eq(ptr %t3757, ptr @.str6761)
+ %t3758 = call i32 @lp_str_eq(ptr %t3757, ptr @.str6802)
%t3759 = icmp ne i32 %t3758, 0
br i1 %t3759, label %then743, label %ifend745
then743:
%t3760 = load ptr, ptr %t1
- %t3761 = call i32 @fn_str_eq(ptr %t3760, ptr @.str6762)
+ %t3761 = call i32 @lp_str_eq(ptr %t3760, ptr @.str6803)
%t3762 = icmp ne i32 %t3761, 0
br i1 %t3762, label %then746, label %ifend748
then746:
- store ptr @.str6763, ptr %t380
+ store ptr @.str6804, ptr %t380
%t3763 = load ptr, ptr %t387
%t3764 = getelementptr inbounds %LSlice, ptr %t3763, i32 0, i32 1
%t3765 = getelementptr inbounds %LSlice, ptr %t3763, i32 0, i32 2
@@ -68610,7 +69355,7 @@ grow749:
put750:
%t3779 = load ptr, ptr %t3766
%t3780 = getelementptr inbounds ptr, ptr %t3779, i32 %t3767
- store ptr @.str6764, ptr %t3780
+ store ptr @.str6805, ptr %t3780
%t3781 = add i32 %t3767, 1
store i32 %t3781, ptr %t3764
%t3782 = load ptr, ptr %t387
@@ -68637,17 +69382,17 @@ grow751:
put752:
%t3798 = load ptr, ptr %t3785
%t3799 = getelementptr inbounds ptr, ptr %t3798, i32 %t3786
- store ptr @.str6765, ptr %t3799
+ store ptr @.str6806, ptr %t3799
%t3800 = add i32 %t3786, 1
store i32 %t3800, ptr %t3783
br label %ifend748
ifend748:
%t3801 = load ptr, ptr %t1
- %t3802 = call i32 @fn_str_eq(ptr %t3801, ptr @.str6766)
+ %t3802 = call i32 @lp_str_eq(ptr %t3801, ptr @.str6807)
%t3803 = icmp ne i32 %t3802, 0
br i1 %t3803, label %then753, label %ifend755
then753:
- store ptr @.str6767, ptr %t380
+ store ptr @.str6808, ptr %t380
%t3804 = load ptr, ptr %t387
%t3805 = getelementptr inbounds %LSlice, ptr %t3804, i32 0, i32 1
%t3806 = getelementptr inbounds %LSlice, ptr %t3804, i32 0, i32 2
@@ -68672,7 +69417,7 @@ grow756:
put757:
%t3820 = load ptr, ptr %t3807
%t3821 = getelementptr inbounds ptr, ptr %t3820, i32 %t3808
- store ptr @.str6768, ptr %t3821
+ store ptr @.str6809, ptr %t3821
%t3822 = add i32 %t3808, 1
store i32 %t3822, ptr %t3805
%t3823 = load ptr, ptr %t387
@@ -68699,7 +69444,7 @@ grow758:
put759:
%t3839 = load ptr, ptr %t3826
%t3840 = getelementptr inbounds ptr, ptr %t3839, i32 %t3827
- store ptr @.str6769, ptr %t3840
+ store ptr @.str6810, ptr %t3840
%t3841 = add i32 %t3827, 1
store i32 %t3841, ptr %t3824
%t3842 = load ptr, ptr %t387
@@ -68726,17 +69471,17 @@ grow760:
put761:
%t3858 = load ptr, ptr %t3845
%t3859 = getelementptr inbounds ptr, ptr %t3858, i32 %t3846
- store ptr @.str6770, ptr %t3859
+ store ptr @.str6811, ptr %t3859
%t3860 = add i32 %t3846, 1
store i32 %t3860, ptr %t3843
br label %ifend755
ifend755:
%t3861 = load ptr, ptr %t1
- %t3862 = call i32 @fn_str_eq(ptr %t3861, ptr @.str6771)
+ %t3862 = call i32 @lp_str_eq(ptr %t3861, ptr @.str6812)
%t3863 = icmp ne i32 %t3862, 0
br i1 %t3863, label %then762, label %ifend764
then762:
- store ptr @.str6772, ptr %t380
+ store ptr @.str6813, ptr %t380
%t3864 = load ptr, ptr %t387
%t3865 = getelementptr inbounds %LSlice, ptr %t3864, i32 0, i32 1
%t3866 = getelementptr inbounds %LSlice, ptr %t3864, i32 0, i32 2
@@ -68761,17 +69506,17 @@ grow765:
put766:
%t3880 = load ptr, ptr %t3867
%t3881 = getelementptr inbounds ptr, ptr %t3880, i32 %t3868
- store ptr @.str6773, ptr %t3881
+ store ptr @.str6814, ptr %t3881
%t3882 = add i32 %t3868, 1
store i32 %t3882, ptr %t3865
br label %ifend764
ifend764:
%t3883 = load ptr, ptr %t1
- %t3884 = call i32 @fn_str_eq(ptr %t3883, ptr @.str6774)
+ %t3884 = call i32 @lp_str_eq(ptr %t3883, ptr @.str6815)
%t3885 = icmp ne i32 %t3884, 0
br i1 %t3885, label %then767, label %ifend769
then767:
- store ptr @.str6775, ptr %t380
+ store ptr @.str6816, ptr %t380
%t3886 = load ptr, ptr %t387
%t3887 = getelementptr inbounds %LSlice, ptr %t3886, i32 0, i32 1
%t3888 = getelementptr inbounds %LSlice, ptr %t3886, i32 0, i32 2
@@ -68796,7 +69541,7 @@ grow770:
put771:
%t3902 = load ptr, ptr %t3889
%t3903 = getelementptr inbounds ptr, ptr %t3902, i32 %t3890
- store ptr @.str6776, ptr %t3903
+ store ptr @.str6817, ptr %t3903
%t3904 = add i32 %t3890, 1
store i32 %t3904, ptr %t3887
%t3905 = load ptr, ptr %t387
@@ -68823,17 +69568,17 @@ grow772:
put773:
%t3921 = load ptr, ptr %t3908
%t3922 = getelementptr inbounds ptr, ptr %t3921, i32 %t3909
- store ptr @.str6777, ptr %t3922
+ store ptr @.str6818, ptr %t3922
%t3923 = add i32 %t3909, 1
store i32 %t3923, ptr %t3906
br label %ifend769
ifend769:
%t3924 = load ptr, ptr %t1
- %t3925 = call i32 @fn_str_eq(ptr %t3924, ptr @.str6778)
+ %t3925 = call i32 @lp_str_eq(ptr %t3924, ptr @.str6819)
%t3926 = icmp ne i32 %t3925, 0
br i1 %t3926, label %then774, label %ifend776
then774:
- store ptr @.str6779, ptr %t380
+ store ptr @.str6820, ptr %t380
%t3927 = load ptr, ptr %t387
%t3928 = getelementptr inbounds %LSlice, ptr %t3927, i32 0, i32 1
%t3929 = getelementptr inbounds %LSlice, ptr %t3927, i32 0, i32 2
@@ -68858,7 +69603,7 @@ grow777:
put778:
%t3943 = load ptr, ptr %t3930
%t3944 = getelementptr inbounds ptr, ptr %t3943, i32 %t3931
- store ptr @.str6780, ptr %t3944
+ store ptr @.str6821, ptr %t3944
%t3945 = add i32 %t3931, 1
store i32 %t3945, ptr %t3928
br label %ifend776
@@ -68866,16 +69611,16 @@ ifend776:
br label %ifend745
ifend745:
%t3946 = load ptr, ptr %t0
- %t3947 = call i32 @fn_str_eq(ptr %t3946, ptr @.str6781)
+ %t3947 = call i32 @lp_str_eq(ptr %t3946, ptr @.str6822)
%t3948 = icmp ne i32 %t3947, 0
br i1 %t3948, label %then779, label %ifend781
then779:
%t3949 = load ptr, ptr %t1
- %t3950 = call i32 @fn_str_eq(ptr %t3949, ptr @.str6782)
+ %t3950 = call i32 @lp_str_eq(ptr %t3949, ptr @.str6823)
%t3951 = icmp ne i32 %t3950, 0
br i1 %t3951, label %then782, label %ifend784
then782:
- store ptr @.str6783, ptr %t380
+ store ptr @.str6824, ptr %t380
%t3952 = load ptr, ptr %t387
%t3953 = getelementptr inbounds %LSlice, ptr %t3952, i32 0, i32 1
%t3954 = getelementptr inbounds %LSlice, ptr %t3952, i32 0, i32 2
@@ -68900,7 +69645,7 @@ grow785:
put786:
%t3968 = load ptr, ptr %t3955
%t3969 = getelementptr inbounds ptr, ptr %t3968, i32 %t3956
- store ptr @.str6784, ptr %t3969
+ store ptr @.str6825, ptr %t3969
%t3970 = add i32 %t3956, 1
store i32 %t3970, ptr %t3953
%t3971 = load ptr, ptr %t387
@@ -68927,17 +69672,17 @@ grow787:
put788:
%t3987 = load ptr, ptr %t3974
%t3988 = getelementptr inbounds ptr, ptr %t3987, i32 %t3975
- store ptr @.str6785, ptr %t3988
+ store ptr @.str6826, ptr %t3988
%t3989 = add i32 %t3975, 1
store i32 %t3989, ptr %t3972
br label %ifend784
ifend784:
%t3990 = load ptr, ptr %t1
- %t3991 = call i32 @fn_str_eq(ptr %t3990, ptr @.str6786)
+ %t3991 = call i32 @lp_str_eq(ptr %t3990, ptr @.str6827)
%t3992 = icmp ne i32 %t3991, 0
br i1 %t3992, label %then789, label %ifend791
then789:
- store ptr @.str6787, ptr %t380
+ store ptr @.str6828, ptr %t380
%t3993 = load ptr, ptr %t387
%t3994 = getelementptr inbounds %LSlice, ptr %t3993, i32 0, i32 1
%t3995 = getelementptr inbounds %LSlice, ptr %t3993, i32 0, i32 2
@@ -68962,7 +69707,7 @@ grow792:
put793:
%t4009 = load ptr, ptr %t3996
%t4010 = getelementptr inbounds ptr, ptr %t4009, i32 %t3997
- store ptr @.str6788, ptr %t4010
+ store ptr @.str6829, ptr %t4010
%t4011 = add i32 %t3997, 1
store i32 %t4011, ptr %t3994
%t4012 = load ptr, ptr %t387
@@ -68989,17 +69734,17 @@ grow794:
put795:
%t4028 = load ptr, ptr %t4015
%t4029 = getelementptr inbounds ptr, ptr %t4028, i32 %t4016
- store ptr @.str6789, ptr %t4029
+ store ptr @.str6830, ptr %t4029
%t4030 = add i32 %t4016, 1
store i32 %t4030, ptr %t4013
br label %ifend791
ifend791:
%t4031 = load ptr, ptr %t1
- %t4032 = call i32 @fn_str_eq(ptr %t4031, ptr @.str6790)
+ %t4032 = call i32 @lp_str_eq(ptr %t4031, ptr @.str6831)
%t4033 = icmp ne i32 %t4032, 0
br i1 %t4033, label %then796, label %ifend798
then796:
- store ptr @.str6791, ptr %t380
+ store ptr @.str6832, ptr %t380
%t4034 = load ptr, ptr %t387
%t4035 = getelementptr inbounds %LSlice, ptr %t4034, i32 0, i32 1
%t4036 = getelementptr inbounds %LSlice, ptr %t4034, i32 0, i32 2
@@ -69024,7 +69769,7 @@ grow799:
put800:
%t4050 = load ptr, ptr %t4037
%t4051 = getelementptr inbounds ptr, ptr %t4050, i32 %t4038
- store ptr @.str6792, ptr %t4051
+ store ptr @.str6833, ptr %t4051
%t4052 = add i32 %t4038, 1
store i32 %t4052, ptr %t4035
%t4053 = load ptr, ptr %t387
@@ -69051,17 +69796,17 @@ grow801:
put802:
%t4069 = load ptr, ptr %t4056
%t4070 = getelementptr inbounds ptr, ptr %t4069, i32 %t4057
- store ptr @.str6793, ptr %t4070
+ store ptr @.str6834, ptr %t4070
%t4071 = add i32 %t4057, 1
store i32 %t4071, ptr %t4054
br label %ifend798
ifend798:
%t4072 = load ptr, ptr %t1
- %t4073 = call i32 @fn_str_eq(ptr %t4072, ptr @.str6794)
+ %t4073 = call i32 @lp_str_eq(ptr %t4072, ptr @.str6835)
%t4074 = icmp ne i32 %t4073, 0
br i1 %t4074, label %then803, label %ifend805
then803:
- store ptr @.str6795, ptr %t380
+ store ptr @.str6836, ptr %t380
%t4075 = load ptr, ptr %t387
%t4076 = getelementptr inbounds %LSlice, ptr %t4075, i32 0, i32 1
%t4077 = getelementptr inbounds %LSlice, ptr %t4075, i32 0, i32 2
@@ -69086,7 +69831,7 @@ grow806:
put807:
%t4091 = load ptr, ptr %t4078
%t4092 = getelementptr inbounds ptr, ptr %t4091, i32 %t4079
- store ptr @.str6796, ptr %t4092
+ store ptr @.str6837, ptr %t4092
%t4093 = add i32 %t4079, 1
store i32 %t4093, ptr %t4076
%t4094 = load ptr, ptr %t387
@@ -69113,17 +69858,17 @@ grow808:
put809:
%t4110 = load ptr, ptr %t4097
%t4111 = getelementptr inbounds ptr, ptr %t4110, i32 %t4098
- store ptr @.str6797, ptr %t4111
+ store ptr @.str6838, ptr %t4111
%t4112 = add i32 %t4098, 1
store i32 %t4112, ptr %t4095
br label %ifend805
ifend805:
%t4113 = load ptr, ptr %t1
- %t4114 = call i32 @fn_str_eq(ptr %t4113, ptr @.str6798)
+ %t4114 = call i32 @lp_str_eq(ptr %t4113, ptr @.str6839)
%t4115 = icmp ne i32 %t4114, 0
br i1 %t4115, label %then810, label %ifend812
then810:
- store ptr @.str6799, ptr %t380
+ store ptr @.str6840, ptr %t380
%t4116 = load ptr, ptr %t387
%t4117 = getelementptr inbounds %LSlice, ptr %t4116, i32 0, i32 1
%t4118 = getelementptr inbounds %LSlice, ptr %t4116, i32 0, i32 2
@@ -69148,7 +69893,7 @@ grow813:
put814:
%t4132 = load ptr, ptr %t4119
%t4133 = getelementptr inbounds ptr, ptr %t4132, i32 %t4120
- store ptr @.str6800, ptr %t4133
+ store ptr @.str6841, ptr %t4133
%t4134 = add i32 %t4120, 1
store i32 %t4134, ptr %t4117
%t4135 = load ptr, ptr %t387
@@ -69175,7 +69920,7 @@ grow815:
put816:
%t4151 = load ptr, ptr %t4138
%t4152 = getelementptr inbounds ptr, ptr %t4151, i32 %t4139
- store ptr @.str6801, ptr %t4152
+ store ptr @.str6842, ptr %t4152
%t4153 = add i32 %t4139, 1
store i32 %t4153, ptr %t4136
%t4154 = load ptr, ptr %t387
@@ -69202,17 +69947,17 @@ grow817:
put818:
%t4170 = load ptr, ptr %t4157
%t4171 = getelementptr inbounds ptr, ptr %t4170, i32 %t4158
- store ptr @.str6802, ptr %t4171
+ store ptr @.str6843, ptr %t4171
%t4172 = add i32 %t4158, 1
store i32 %t4172, ptr %t4155
br label %ifend812
ifend812:
%t4173 = load ptr, ptr %t1
- %t4174 = call i32 @fn_str_eq(ptr %t4173, ptr @.str6803)
+ %t4174 = call i32 @lp_str_eq(ptr %t4173, ptr @.str6844)
%t4175 = icmp ne i32 %t4174, 0
br i1 %t4175, label %then819, label %ifend821
then819:
- store ptr @.str6804, ptr %t380
+ store ptr @.str6845, ptr %t380
%t4176 = load ptr, ptr %t387
%t4177 = getelementptr inbounds %LSlice, ptr %t4176, i32 0, i32 1
%t4178 = getelementptr inbounds %LSlice, ptr %t4176, i32 0, i32 2
@@ -69237,17 +69982,17 @@ grow822:
put823:
%t4192 = load ptr, ptr %t4179
%t4193 = getelementptr inbounds ptr, ptr %t4192, i32 %t4180
- store ptr @.str6805, ptr %t4193
+ store ptr @.str6846, ptr %t4193
%t4194 = add i32 %t4180, 1
store i32 %t4194, ptr %t4177
br label %ifend821
ifend821:
%t4195 = load ptr, ptr %t1
- %t4196 = call i32 @fn_str_eq(ptr %t4195, ptr @.str6806)
+ %t4196 = call i32 @lp_str_eq(ptr %t4195, ptr @.str6847)
%t4197 = icmp ne i32 %t4196, 0
br i1 %t4197, label %then824, label %ifend826
then824:
- store ptr @.str6807, ptr %t380
+ store ptr @.str6848, ptr %t380
%t4198 = load ptr, ptr %t387
%t4199 = getelementptr inbounds %LSlice, ptr %t4198, i32 0, i32 1
%t4200 = getelementptr inbounds %LSlice, ptr %t4198, i32 0, i32 2
@@ -69272,7 +70017,7 @@ grow827:
put828:
%t4214 = load ptr, ptr %t4201
%t4215 = getelementptr inbounds ptr, ptr %t4214, i32 %t4202
- store ptr @.str6808, ptr %t4215
+ store ptr @.str6849, ptr %t4215
%t4216 = add i32 %t4202, 1
store i32 %t4216, ptr %t4199
%t4217 = load ptr, ptr %t387
@@ -69299,7 +70044,7 @@ grow829:
put830:
%t4233 = load ptr, ptr %t4220
%t4234 = getelementptr inbounds ptr, ptr %t4233, i32 %t4221
- store ptr @.str6809, ptr %t4234
+ store ptr @.str6850, ptr %t4234
%t4235 = add i32 %t4221, 1
store i32 %t4235, ptr %t4218
%t4236 = load ptr, ptr %t387
@@ -69326,7 +70071,7 @@ grow831:
put832:
%t4252 = load ptr, ptr %t4239
%t4253 = getelementptr inbounds ptr, ptr %t4252, i32 %t4240
- store ptr @.str6810, ptr %t4253
+ store ptr @.str6851, ptr %t4253
%t4254 = add i32 %t4240, 1
store i32 %t4254, ptr %t4237
%t4255 = load ptr, ptr %t387
@@ -69353,7 +70098,7 @@ grow833:
put834:
%t4271 = load ptr, ptr %t4258
%t4272 = getelementptr inbounds ptr, ptr %t4271, i32 %t4259
- store ptr @.str6811, ptr %t4272
+ store ptr @.str6852, ptr %t4272
%t4273 = add i32 %t4259, 1
store i32 %t4273, ptr %t4256
%t4274 = load ptr, ptr %t387
@@ -69380,17 +70125,17 @@ grow835:
put836:
%t4290 = load ptr, ptr %t4277
%t4291 = getelementptr inbounds ptr, ptr %t4290, i32 %t4278
- store ptr @.str6812, ptr %t4291
+ store ptr @.str6853, ptr %t4291
%t4292 = add i32 %t4278, 1
store i32 %t4292, ptr %t4275
br label %ifend826
ifend826:
%t4293 = load ptr, ptr %t1
- %t4294 = call i32 @fn_str_eq(ptr %t4293, ptr @.str6813)
+ %t4294 = call i32 @lp_str_eq(ptr %t4293, ptr @.str6854)
%t4295 = icmp ne i32 %t4294, 0
br i1 %t4295, label %then837, label %ifend839
then837:
- store ptr @.str6814, ptr %t380
+ store ptr @.str6855, ptr %t380
%t4296 = load ptr, ptr %t387
%t4297 = getelementptr inbounds %LSlice, ptr %t4296, i32 0, i32 1
%t4298 = getelementptr inbounds %LSlice, ptr %t4296, i32 0, i32 2
@@ -69415,17 +70160,17 @@ grow840:
put841:
%t4312 = load ptr, ptr %t4299
%t4313 = getelementptr inbounds ptr, ptr %t4312, i32 %t4300
- store ptr @.str6815, ptr %t4313
+ store ptr @.str6856, ptr %t4313
%t4314 = add i32 %t4300, 1
store i32 %t4314, ptr %t4297
br label %ifend839
ifend839:
%t4315 = load ptr, ptr %t1
- %t4316 = call i32 @fn_str_eq(ptr %t4315, ptr @.str6816)
+ %t4316 = call i32 @lp_str_eq(ptr %t4315, ptr @.str6857)
%t4317 = icmp ne i32 %t4316, 0
br i1 %t4317, label %then842, label %ifend844
then842:
- store ptr @.str6817, ptr %t380
+ store ptr @.str6858, ptr %t380
%t4318 = load ptr, ptr %t387
%t4319 = getelementptr inbounds %LSlice, ptr %t4318, i32 0, i32 1
%t4320 = getelementptr inbounds %LSlice, ptr %t4318, i32 0, i32 2
@@ -69450,17 +70195,17 @@ grow845:
put846:
%t4334 = load ptr, ptr %t4321
%t4335 = getelementptr inbounds ptr, ptr %t4334, i32 %t4322
- store ptr @.str6818, ptr %t4335
+ store ptr @.str6859, ptr %t4335
%t4336 = add i32 %t4322, 1
store i32 %t4336, ptr %t4319
br label %ifend844
ifend844:
%t4337 = load ptr, ptr %t1
- %t4338 = call i32 @fn_str_eq(ptr %t4337, ptr @.str6819)
+ %t4338 = call i32 @lp_str_eq(ptr %t4337, ptr @.str6860)
%t4339 = icmp ne i32 %t4338, 0
br i1 %t4339, label %then847, label %ifend849
then847:
- store ptr @.str6820, ptr %t380
+ store ptr @.str6861, ptr %t380
%t4340 = load ptr, ptr %t387
%t4341 = getelementptr inbounds %LSlice, ptr %t4340, i32 0, i32 1
%t4342 = getelementptr inbounds %LSlice, ptr %t4340, i32 0, i32 2
@@ -69485,7 +70230,7 @@ grow850:
put851:
%t4356 = load ptr, ptr %t4343
%t4357 = getelementptr inbounds ptr, ptr %t4356, i32 %t4344
- store ptr @.str6821, ptr %t4357
+ store ptr @.str6862, ptr %t4357
%t4358 = add i32 %t4344, 1
store i32 %t4358, ptr %t4341
%t4359 = load ptr, ptr %t387
@@ -69512,7 +70257,7 @@ grow852:
put853:
%t4375 = load ptr, ptr %t4362
%t4376 = getelementptr inbounds ptr, ptr %t4375, i32 %t4363
- store ptr @.str6822, ptr %t4376
+ store ptr @.str6863, ptr %t4376
%t4377 = add i32 %t4363, 1
store i32 %t4377, ptr %t4360
%t4378 = load ptr, ptr %t387
@@ -69539,17 +70284,17 @@ grow854:
put855:
%t4394 = load ptr, ptr %t4381
%t4395 = getelementptr inbounds ptr, ptr %t4394, i32 %t4382
- store ptr @.str6823, ptr %t4395
+ store ptr @.str6864, ptr %t4395
%t4396 = add i32 %t4382, 1
store i32 %t4396, ptr %t4379
br label %ifend849
ifend849:
%t4397 = load ptr, ptr %t1
- %t4398 = call i32 @fn_str_eq(ptr %t4397, ptr @.str6824)
+ %t4398 = call i32 @lp_str_eq(ptr %t4397, ptr @.str6865)
%t4399 = icmp ne i32 %t4398, 0
br i1 %t4399, label %then856, label %ifend858
then856:
- store ptr @.str6825, ptr %t380
+ store ptr @.str6866, ptr %t380
%t4400 = load ptr, ptr %t387
%t4401 = getelementptr inbounds %LSlice, ptr %t4400, i32 0, i32 1
%t4402 = getelementptr inbounds %LSlice, ptr %t4400, i32 0, i32 2
@@ -69574,7 +70319,7 @@ grow859:
put860:
%t4416 = load ptr, ptr %t4403
%t4417 = getelementptr inbounds ptr, ptr %t4416, i32 %t4404
- store ptr @.str6826, ptr %t4417
+ store ptr @.str6867, ptr %t4417
%t4418 = add i32 %t4404, 1
store i32 %t4418, ptr %t4401
%t4419 = load ptr, ptr %t387
@@ -69601,17 +70346,17 @@ grow861:
put862:
%t4435 = load ptr, ptr %t4422
%t4436 = getelementptr inbounds ptr, ptr %t4435, i32 %t4423
- store ptr @.str6827, ptr %t4436
+ store ptr @.str6868, ptr %t4436
%t4437 = add i32 %t4423, 1
store i32 %t4437, ptr %t4420
br label %ifend858
ifend858:
%t4438 = load ptr, ptr %t1
- %t4439 = call i32 @fn_str_eq(ptr %t4438, ptr @.str6828)
+ %t4439 = call i32 @lp_str_eq(ptr %t4438, ptr @.str6869)
%t4440 = icmp ne i32 %t4439, 0
br i1 %t4440, label %then863, label %ifend865
then863:
- store ptr @.str6829, ptr %t380
+ store ptr @.str6870, ptr %t380
%t4441 = load ptr, ptr %t387
%t4442 = getelementptr inbounds %LSlice, ptr %t4441, i32 0, i32 1
%t4443 = getelementptr inbounds %LSlice, ptr %t4441, i32 0, i32 2
@@ -69636,7 +70381,7 @@ grow866:
put867:
%t4457 = load ptr, ptr %t4444
%t4458 = getelementptr inbounds ptr, ptr %t4457, i32 %t4445
- store ptr @.str6830, ptr %t4458
+ store ptr @.str6871, ptr %t4458
%t4459 = add i32 %t4445, 1
store i32 %t4459, ptr %t4442
%t4460 = load ptr, ptr %t387
@@ -69663,17 +70408,17 @@ grow868:
put869:
%t4476 = load ptr, ptr %t4463
%t4477 = getelementptr inbounds ptr, ptr %t4476, i32 %t4464
- store ptr @.str6831, ptr %t4477
+ store ptr @.str6872, ptr %t4477
%t4478 = add i32 %t4464, 1
store i32 %t4478, ptr %t4461
br label %ifend865
ifend865:
%t4479 = load ptr, ptr %t1
- %t4480 = call i32 @fn_str_eq(ptr %t4479, ptr @.str6832)
+ %t4480 = call i32 @lp_str_eq(ptr %t4479, ptr @.str6873)
%t4481 = icmp ne i32 %t4480, 0
br i1 %t4481, label %then870, label %ifend872
then870:
- store ptr @.str6833, ptr %t380
+ store ptr @.str6874, ptr %t380
%t4482 = load ptr, ptr %t387
%t4483 = getelementptr inbounds %LSlice, ptr %t4482, i32 0, i32 1
%t4484 = getelementptr inbounds %LSlice, ptr %t4482, i32 0, i32 2
@@ -69698,40 +70443,40 @@ grow873:
put874:
%t4498 = load ptr, ptr %t4485
%t4499 = getelementptr inbounds ptr, ptr %t4498, i32 %t4486
- store ptr @.str6834, ptr %t4499
+ store ptr @.str6875, ptr %t4499
%t4500 = add i32 %t4486, 1
store i32 %t4500, ptr %t4483
br label %ifend872
ifend872:
%t4501 = load ptr, ptr %t1
- %t4502 = call i32 @fn_str_eq(ptr %t4501, ptr @.str6835)
+ %t4502 = call i32 @lp_str_eq(ptr %t4501, ptr @.str6876)
%t4503 = icmp ne i32 %t4502, 0
br i1 %t4503, label %then875, label %ifend877
then875:
- store ptr @.str6836, ptr %t380
+ store ptr @.str6877, ptr %t380
br label %ifend877
ifend877:
%t4504 = load ptr, ptr %t1
- %t4505 = call i32 @fn_str_eq(ptr %t4504, ptr @.str6837)
+ %t4505 = call i32 @lp_str_eq(ptr %t4504, ptr @.str6878)
%t4506 = icmp ne i32 %t4505, 0
br i1 %t4506, label %then878, label %ifend880
then878:
- store ptr @.str6838, ptr %t380
+ store ptr @.str6879, ptr %t380
br label %ifend880
ifend880:
br label %ifend781
ifend781:
%t4507 = load ptr, ptr %t0
- %t4508 = call i32 @fn_str_eq(ptr %t4507, ptr @.str6839)
+ %t4508 = call i32 @lp_str_eq(ptr %t4507, ptr @.str6880)
%t4509 = icmp ne i32 %t4508, 0
br i1 %t4509, label %then881, label %ifend883
then881:
%t4510 = load ptr, ptr %t1
- %t4511 = call i32 @fn_str_eq(ptr %t4510, ptr @.str6840)
+ %t4511 = call i32 @lp_str_eq(ptr %t4510, ptr @.str6881)
%t4512 = icmp ne i32 %t4511, 0
br i1 %t4512, label %then884, label %ifend886
then884:
- store ptr @.str6841, ptr %t380
+ store ptr @.str6882, ptr %t380
%t4513 = load ptr, ptr %t387
%t4514 = getelementptr inbounds %LSlice, ptr %t4513, i32 0, i32 1
%t4515 = getelementptr inbounds %LSlice, ptr %t4513, i32 0, i32 2
@@ -69756,7 +70501,7 @@ grow887:
put888:
%t4529 = load ptr, ptr %t4516
%t4530 = getelementptr inbounds ptr, ptr %t4529, i32 %t4517
- store ptr @.str6842, ptr %t4530
+ store ptr @.str6883, ptr %t4530
%t4531 = add i32 %t4517, 1
store i32 %t4531, ptr %t4514
%t4532 = load ptr, ptr %t387
@@ -69783,17 +70528,17 @@ grow889:
put890:
%t4548 = load ptr, ptr %t4535
%t4549 = getelementptr inbounds ptr, ptr %t4548, i32 %t4536
- store ptr @.str6843, ptr %t4549
+ store ptr @.str6884, ptr %t4549
%t4550 = add i32 %t4536, 1
store i32 %t4550, ptr %t4533
br label %ifend886
ifend886:
%t4551 = load ptr, ptr %t1
- %t4552 = call i32 @fn_str_eq(ptr %t4551, ptr @.str6844)
+ %t4552 = call i32 @lp_str_eq(ptr %t4551, ptr @.str6885)
%t4553 = icmp ne i32 %t4552, 0
br i1 %t4553, label %then891, label %ifend893
then891:
- store ptr @.str6845, ptr %t380
+ store ptr @.str6886, ptr %t380
%t4554 = load ptr, ptr %t387
%t4555 = getelementptr inbounds %LSlice, ptr %t4554, i32 0, i32 1
%t4556 = getelementptr inbounds %LSlice, ptr %t4554, i32 0, i32 2
@@ -69818,17 +70563,17 @@ grow894:
put895:
%t4570 = load ptr, ptr %t4557
%t4571 = getelementptr inbounds ptr, ptr %t4570, i32 %t4558
- store ptr @.str6846, ptr %t4571
+ store ptr @.str6887, ptr %t4571
%t4572 = add i32 %t4558, 1
store i32 %t4572, ptr %t4555
br label %ifend893
ifend893:
%t4573 = load ptr, ptr %t1
- %t4574 = call i32 @fn_str_eq(ptr %t4573, ptr @.str6847)
+ %t4574 = call i32 @lp_str_eq(ptr %t4573, ptr @.str6888)
%t4575 = icmp ne i32 %t4574, 0
br i1 %t4575, label %then896, label %ifend898
then896:
- store ptr @.str6848, ptr %t380
+ store ptr @.str6889, ptr %t380
%t4576 = load ptr, ptr %t387
%t4577 = getelementptr inbounds %LSlice, ptr %t4576, i32 0, i32 1
%t4578 = getelementptr inbounds %LSlice, ptr %t4576, i32 0, i32 2
@@ -69853,17 +70598,17 @@ grow899:
put900:
%t4592 = load ptr, ptr %t4579
%t4593 = getelementptr inbounds ptr, ptr %t4592, i32 %t4580
- store ptr @.str6849, ptr %t4593
+ store ptr @.str6890, ptr %t4593
%t4594 = add i32 %t4580, 1
store i32 %t4594, ptr %t4577
br label %ifend898
ifend898:
%t4595 = load ptr, ptr %t1
- %t4596 = call i32 @fn_str_eq(ptr %t4595, ptr @.str6850)
+ %t4596 = call i32 @lp_str_eq(ptr %t4595, ptr @.str6891)
%t4597 = icmp ne i32 %t4596, 0
br i1 %t4597, label %then901, label %ifend903
then901:
- store ptr @.str6851, ptr %t380
+ store ptr @.str6892, ptr %t380
%t4598 = load ptr, ptr %t387
%t4599 = getelementptr inbounds %LSlice, ptr %t4598, i32 0, i32 1
%t4600 = getelementptr inbounds %LSlice, ptr %t4598, i32 0, i32 2
@@ -69888,25 +70633,25 @@ grow904:
put905:
%t4614 = load ptr, ptr %t4601
%t4615 = getelementptr inbounds ptr, ptr %t4614, i32 %t4602
- store ptr @.str6852, ptr %t4615
+ store ptr @.str6893, ptr %t4615
%t4616 = add i32 %t4602, 1
store i32 %t4616, ptr %t4599
br label %ifend903
ifend903:
%t4617 = load ptr, ptr %t1
- %t4618 = call i32 @fn_str_eq(ptr %t4617, ptr @.str6853)
+ %t4618 = call i32 @lp_str_eq(ptr %t4617, ptr @.str6894)
%t4619 = icmp ne i32 %t4618, 0
br i1 %t4619, label %then906, label %ifend908
then906:
- store ptr @.str6854, ptr %t380
+ store ptr @.str6895, ptr %t380
br label %ifend908
ifend908:
%t4620 = load ptr, ptr %t1
- %t4621 = call i32 @fn_str_eq(ptr %t4620, ptr @.str6855)
+ %t4621 = call i32 @lp_str_eq(ptr %t4620, ptr @.str6896)
%t4622 = icmp ne i32 %t4621, 0
br i1 %t4622, label %then909, label %ifend911
then909:
- store ptr @.str6856, ptr %t380
+ store ptr @.str6897, ptr %t380
%t4623 = load ptr, ptr %t387
%t4624 = getelementptr inbounds %LSlice, ptr %t4623, i32 0, i32 1
%t4625 = getelementptr inbounds %LSlice, ptr %t4623, i32 0, i32 2
@@ -69931,40 +70676,40 @@ grow912:
put913:
%t4639 = load ptr, ptr %t4626
%t4640 = getelementptr inbounds ptr, ptr %t4639, i32 %t4627
- store ptr @.str6857, ptr %t4640
+ store ptr @.str6898, ptr %t4640
%t4641 = add i32 %t4627, 1
store i32 %t4641, ptr %t4624
br label %ifend911
ifend911:
%t4642 = load ptr, ptr %t1
- %t4643 = call i32 @fn_str_eq(ptr %t4642, ptr @.str6858)
+ %t4643 = call i32 @lp_str_eq(ptr %t4642, ptr @.str6899)
%t4644 = icmp ne i32 %t4643, 0
br i1 %t4644, label %then914, label %ifend916
then914:
- store ptr @.str6859, ptr %t380
+ store ptr @.str6900, ptr %t380
br label %ifend916
ifend916:
br label %ifend883
ifend883:
%t4645 = load ptr, ptr %t0
- %t4646 = call i32 @fn_str_eq(ptr %t4645, ptr @.str6860)
+ %t4646 = call i32 @lp_str_eq(ptr %t4645, ptr @.str6901)
%t4647 = icmp ne i32 %t4646, 0
br i1 %t4647, label %then917, label %ifend919
then917:
%t4648 = load ptr, ptr %t1
- %t4649 = call i32 @fn_str_eq(ptr %t4648, ptr @.str6861)
+ %t4649 = call i32 @lp_str_eq(ptr %t4648, ptr @.str6902)
%t4650 = icmp ne i32 %t4649, 0
br i1 %t4650, label %then920, label %ifend922
then920:
- store ptr @.str6862, ptr %t380
+ store ptr @.str6903, ptr %t380
br label %ifend922
ifend922:
%t4651 = load ptr, ptr %t1
- %t4652 = call i32 @fn_str_eq(ptr %t4651, ptr @.str6863)
+ %t4652 = call i32 @lp_str_eq(ptr %t4651, ptr @.str6904)
%t4653 = icmp ne i32 %t4652, 0
br i1 %t4653, label %then923, label %ifend925
then923:
- store ptr @.str6864, ptr %t380
+ store ptr @.str6905, ptr %t380
%t4654 = load ptr, ptr %t387
%t4655 = getelementptr inbounds %LSlice, ptr %t4654, i32 0, i32 1
%t4656 = getelementptr inbounds %LSlice, ptr %t4654, i32 0, i32 2
@@ -69989,7 +70734,7 @@ grow926:
put927:
%t4670 = load ptr, ptr %t4657
%t4671 = getelementptr inbounds ptr, ptr %t4670, i32 %t4658
- store ptr @.str6865, ptr %t4671
+ store ptr @.str6906, ptr %t4671
%t4672 = add i32 %t4658, 1
store i32 %t4672, ptr %t4655
%t4673 = load ptr, ptr %t387
@@ -70016,17 +70761,17 @@ grow928:
put929:
%t4689 = load ptr, ptr %t4676
%t4690 = getelementptr inbounds ptr, ptr %t4689, i32 %t4677
- store ptr @.str6866, ptr %t4690
+ store ptr @.str6907, ptr %t4690
%t4691 = add i32 %t4677, 1
store i32 %t4691, ptr %t4674
br label %ifend925
ifend925:
%t4692 = load ptr, ptr %t1
- %t4693 = call i32 @fn_str_eq(ptr %t4692, ptr @.str6867)
+ %t4693 = call i32 @lp_str_eq(ptr %t4692, ptr @.str6908)
%t4694 = icmp ne i32 %t4693, 0
br i1 %t4694, label %then930, label %ifend932
then930:
- store ptr @.str6868, ptr %t380
+ store ptr @.str6909, ptr %t380
%t4695 = load ptr, ptr %t387
%t4696 = getelementptr inbounds %LSlice, ptr %t4695, i32 0, i32 1
%t4697 = getelementptr inbounds %LSlice, ptr %t4695, i32 0, i32 2
@@ -70051,7 +70796,7 @@ grow933:
put934:
%t4711 = load ptr, ptr %t4698
%t4712 = getelementptr inbounds ptr, ptr %t4711, i32 %t4699
- store ptr @.str6869, ptr %t4712
+ store ptr @.str6910, ptr %t4712
%t4713 = add i32 %t4699, 1
store i32 %t4713, ptr %t4696
%t4714 = load ptr, ptr %t387
@@ -70078,7 +70823,7 @@ grow935:
put936:
%t4730 = load ptr, ptr %t4717
%t4731 = getelementptr inbounds ptr, ptr %t4730, i32 %t4718
- store ptr @.str6870, ptr %t4731
+ store ptr @.str6911, ptr %t4731
%t4732 = add i32 %t4718, 1
store i32 %t4732, ptr %t4715
%t4733 = load ptr, ptr %t387
@@ -70105,57 +70850,57 @@ grow937:
put938:
%t4749 = load ptr, ptr %t4736
%t4750 = getelementptr inbounds ptr, ptr %t4749, i32 %t4737
- store ptr @.str6871, ptr %t4750
+ store ptr @.str6912, ptr %t4750
%t4751 = add i32 %t4737, 1
store i32 %t4751, ptr %t4734
br label %ifend932
ifend932:
%t4752 = load ptr, ptr %t1
- %t4753 = call i32 @fn_str_eq(ptr %t4752, ptr @.str6872)
+ %t4753 = call i32 @lp_str_eq(ptr %t4752, ptr @.str6913)
%t4754 = icmp ne i32 %t4753, 0
br i1 %t4754, label %then939, label %ifend941
then939:
- store ptr @.str6873, ptr %t380
+ store ptr @.str6914, ptr %t380
br label %ifend941
ifend941:
%t4755 = load ptr, ptr %t1
- %t4756 = call i32 @fn_str_eq(ptr %t4755, ptr @.str6874)
+ %t4756 = call i32 @lp_str_eq(ptr %t4755, ptr @.str6915)
%t4757 = icmp ne i32 %t4756, 0
br i1 %t4757, label %then942, label %ifend944
then942:
- store ptr @.str6875, ptr %t380
+ store ptr @.str6916, ptr %t380
br label %ifend944
ifend944:
%t4758 = load ptr, ptr %t1
- %t4759 = call i32 @fn_str_eq(ptr %t4758, ptr @.str6876)
+ %t4759 = call i32 @lp_str_eq(ptr %t4758, ptr @.str6917)
%t4760 = icmp ne i32 %t4759, 0
br i1 %t4760, label %then945, label %ifend947
then945:
- store ptr @.str6877, ptr %t380
+ store ptr @.str6918, ptr %t380
br label %ifend947
ifend947:
%t4761 = load ptr, ptr %t1
- %t4762 = call i32 @fn_str_eq(ptr %t4761, ptr @.str6878)
+ %t4762 = call i32 @lp_str_eq(ptr %t4761, ptr @.str6919)
%t4763 = icmp ne i32 %t4762, 0
br i1 %t4763, label %then948, label %ifend950
then948:
- store ptr @.str6879, ptr %t380
+ store ptr @.str6920, ptr %t380
br label %ifend950
ifend950:
%t4764 = load ptr, ptr %t1
- %t4765 = call i32 @fn_str_eq(ptr %t4764, ptr @.str6880)
+ %t4765 = call i32 @lp_str_eq(ptr %t4764, ptr @.str6921)
%t4766 = icmp ne i32 %t4765, 0
br i1 %t4766, label %then951, label %ifend953
then951:
- store ptr @.str6881, ptr %t380
+ store ptr @.str6922, ptr %t380
br label %ifend953
ifend953:
%t4767 = load ptr, ptr %t1
- %t4768 = call i32 @fn_str_eq(ptr %t4767, ptr @.str6882)
+ %t4768 = call i32 @lp_str_eq(ptr %t4767, ptr @.str6923)
%t4769 = icmp ne i32 %t4768, 0
br i1 %t4769, label %then954, label %ifend956
then954:
- store ptr @.str6883, ptr %t380
+ store ptr @.str6924, ptr %t380
%t4770 = load ptr, ptr %t387
%t4771 = getelementptr inbounds %LSlice, ptr %t4770, i32 0, i32 1
%t4772 = getelementptr inbounds %LSlice, ptr %t4770, i32 0, i32 2
@@ -70180,7 +70925,7 @@ grow957:
put958:
%t4786 = load ptr, ptr %t4773
%t4787 = getelementptr inbounds ptr, ptr %t4786, i32 %t4774
- store ptr @.str6884, ptr %t4787
+ store ptr @.str6925, ptr %t4787
%t4788 = add i32 %t4774, 1
store i32 %t4788, ptr %t4771
%t4789 = load ptr, ptr %t387
@@ -70207,17 +70952,17 @@ grow959:
put960:
%t4805 = load ptr, ptr %t4792
%t4806 = getelementptr inbounds ptr, ptr %t4805, i32 %t4793
- store ptr @.str6885, ptr %t4806
+ store ptr @.str6926, ptr %t4806
%t4807 = add i32 %t4793, 1
store i32 %t4807, ptr %t4790
br label %ifend956
ifend956:
%t4808 = load ptr, ptr %t1
- %t4809 = call i32 @fn_str_eq(ptr %t4808, ptr @.str6886)
+ %t4809 = call i32 @lp_str_eq(ptr %t4808, ptr @.str6927)
%t4810 = icmp ne i32 %t4809, 0
br i1 %t4810, label %then961, label %ifend963
then961:
- store ptr @.str6887, ptr %t380
+ store ptr @.str6928, ptr %t380
%t4811 = load ptr, ptr %t387
%t4812 = getelementptr inbounds %LSlice, ptr %t4811, i32 0, i32 1
%t4813 = getelementptr inbounds %LSlice, ptr %t4811, i32 0, i32 2
@@ -70242,7 +70987,7 @@ grow964:
put965:
%t4827 = load ptr, ptr %t4814
%t4828 = getelementptr inbounds ptr, ptr %t4827, i32 %t4815
- store ptr @.str6888, ptr %t4828
+ store ptr @.str6929, ptr %t4828
%t4829 = add i32 %t4815, 1
store i32 %t4829, ptr %t4812
%t4830 = load ptr, ptr %t387
@@ -70269,17 +71014,17 @@ grow966:
put967:
%t4846 = load ptr, ptr %t4833
%t4847 = getelementptr inbounds ptr, ptr %t4846, i32 %t4834
- store ptr @.str6889, ptr %t4847
+ store ptr @.str6930, ptr %t4847
%t4848 = add i32 %t4834, 1
store i32 %t4848, ptr %t4831
br label %ifend963
ifend963:
%t4849 = load ptr, ptr %t1
- %t4850 = call i32 @fn_str_eq(ptr %t4849, ptr @.str6890)
+ %t4850 = call i32 @lp_str_eq(ptr %t4849, ptr @.str6931)
%t4851 = icmp ne i32 %t4850, 0
br i1 %t4851, label %then968, label %ifend970
then968:
- store ptr @.str6891, ptr %t380
+ store ptr @.str6932, ptr %t380
%t4852 = load ptr, ptr %t387
%t4853 = getelementptr inbounds %LSlice, ptr %t4852, i32 0, i32 1
%t4854 = getelementptr inbounds %LSlice, ptr %t4852, i32 0, i32 2
@@ -70304,17 +71049,17 @@ grow971:
put972:
%t4868 = load ptr, ptr %t4855
%t4869 = getelementptr inbounds ptr, ptr %t4868, i32 %t4856
- store ptr @.str6892, ptr %t4869
+ store ptr @.str6933, ptr %t4869
%t4870 = add i32 %t4856, 1
store i32 %t4870, ptr %t4853
br label %ifend970
ifend970:
%t4871 = load ptr, ptr %t1
- %t4872 = call i32 @fn_str_eq(ptr %t4871, ptr @.str6893)
+ %t4872 = call i32 @lp_str_eq(ptr %t4871, ptr @.str6934)
%t4873 = icmp ne i32 %t4872, 0
br i1 %t4873, label %then973, label %ifend975
then973:
- store ptr @.str6894, ptr %t380
+ store ptr @.str6935, ptr %t380
%t4874 = load ptr, ptr %t387
%t4875 = getelementptr inbounds %LSlice, ptr %t4874, i32 0, i32 1
%t4876 = getelementptr inbounds %LSlice, ptr %t4874, i32 0, i32 2
@@ -70339,17 +71084,17 @@ grow976:
put977:
%t4890 = load ptr, ptr %t4877
%t4891 = getelementptr inbounds ptr, ptr %t4890, i32 %t4878
- store ptr @.str6895, ptr %t4891
+ store ptr @.str6936, ptr %t4891
%t4892 = add i32 %t4878, 1
store i32 %t4892, ptr %t4875
br label %ifend975
ifend975:
%t4893 = load ptr, ptr %t1
- %t4894 = call i32 @fn_str_eq(ptr %t4893, ptr @.str6896)
+ %t4894 = call i32 @lp_str_eq(ptr %t4893, ptr @.str6937)
%t4895 = icmp ne i32 %t4894, 0
br i1 %t4895, label %then978, label %ifend980
then978:
- store ptr @.str6897, ptr %t380
+ store ptr @.str6938, ptr %t380
%t4896 = load ptr, ptr %t387
%t4897 = getelementptr inbounds %LSlice, ptr %t4896, i32 0, i32 1
%t4898 = getelementptr inbounds %LSlice, ptr %t4896, i32 0, i32 2
@@ -70374,17 +71119,17 @@ grow981:
put982:
%t4912 = load ptr, ptr %t4899
%t4913 = getelementptr inbounds ptr, ptr %t4912, i32 %t4900
- store ptr @.str6898, ptr %t4913
+ store ptr @.str6939, ptr %t4913
%t4914 = add i32 %t4900, 1
store i32 %t4914, ptr %t4897
br label %ifend980
ifend980:
%t4915 = load ptr, ptr %t1
- %t4916 = call i32 @fn_str_eq(ptr %t4915, ptr @.str6899)
+ %t4916 = call i32 @lp_str_eq(ptr %t4915, ptr @.str6940)
%t4917 = icmp ne i32 %t4916, 0
br i1 %t4917, label %then983, label %ifend985
then983:
- store ptr @.str6900, ptr %t380
+ store ptr @.str6941, ptr %t380
%t4918 = load ptr, ptr %t387
%t4919 = getelementptr inbounds %LSlice, ptr %t4918, i32 0, i32 1
%t4920 = getelementptr inbounds %LSlice, ptr %t4918, i32 0, i32 2
@@ -70409,17 +71154,17 @@ grow986:
put987:
%t4934 = load ptr, ptr %t4921
%t4935 = getelementptr inbounds ptr, ptr %t4934, i32 %t4922
- store ptr @.str6901, ptr %t4935
+ store ptr @.str6942, ptr %t4935
%t4936 = add i32 %t4922, 1
store i32 %t4936, ptr %t4919
br label %ifend985
ifend985:
%t4937 = load ptr, ptr %t1
- %t4938 = call i32 @fn_str_eq(ptr %t4937, ptr @.str6902)
+ %t4938 = call i32 @lp_str_eq(ptr %t4937, ptr @.str6943)
%t4939 = icmp ne i32 %t4938, 0
br i1 %t4939, label %then988, label %ifend990
then988:
- store ptr @.str6903, ptr %t380
+ store ptr @.str6944, ptr %t380
%t4940 = load ptr, ptr %t387
%t4941 = getelementptr inbounds %LSlice, ptr %t4940, i32 0, i32 1
%t4942 = getelementptr inbounds %LSlice, ptr %t4940, i32 0, i32 2
@@ -70444,17 +71189,17 @@ grow991:
put992:
%t4956 = load ptr, ptr %t4943
%t4957 = getelementptr inbounds ptr, ptr %t4956, i32 %t4944
- store ptr @.str6904, ptr %t4957
+ store ptr @.str6945, ptr %t4957
%t4958 = add i32 %t4944, 1
store i32 %t4958, ptr %t4941
br label %ifend990
ifend990:
%t4959 = load ptr, ptr %t1
- %t4960 = call i32 @fn_str_eq(ptr %t4959, ptr @.str6905)
+ %t4960 = call i32 @lp_str_eq(ptr %t4959, ptr @.str6946)
%t4961 = icmp ne i32 %t4960, 0
br i1 %t4961, label %then993, label %ifend995
then993:
- store ptr @.str6906, ptr %t380
+ store ptr @.str6947, ptr %t380
%t4962 = load ptr, ptr %t387
%t4963 = getelementptr inbounds %LSlice, ptr %t4962, i32 0, i32 1
%t4964 = getelementptr inbounds %LSlice, ptr %t4962, i32 0, i32 2
@@ -70479,17 +71224,17 @@ grow996:
put997:
%t4978 = load ptr, ptr %t4965
%t4979 = getelementptr inbounds ptr, ptr %t4978, i32 %t4966
- store ptr @.str6907, ptr %t4979
+ store ptr @.str6948, ptr %t4979
%t4980 = add i32 %t4966, 1
store i32 %t4980, ptr %t4963
br label %ifend995
ifend995:
%t4981 = load ptr, ptr %t1
- %t4982 = call i32 @fn_str_eq(ptr %t4981, ptr @.str6908)
+ %t4982 = call i32 @lp_str_eq(ptr %t4981, ptr @.str6949)
%t4983 = icmp ne i32 %t4982, 0
br i1 %t4983, label %then998, label %ifend1000
then998:
- store ptr @.str6909, ptr %t380
+ store ptr @.str6950, ptr %t380
%t4984 = load ptr, ptr %t387
%t4985 = getelementptr inbounds %LSlice, ptr %t4984, i32 0, i32 1
%t4986 = getelementptr inbounds %LSlice, ptr %t4984, i32 0, i32 2
@@ -70514,17 +71259,17 @@ grow1001:
put1002:
%t5000 = load ptr, ptr %t4987
%t5001 = getelementptr inbounds ptr, ptr %t5000, i32 %t4988
- store ptr @.str6910, ptr %t5001
+ store ptr @.str6951, ptr %t5001
%t5002 = add i32 %t4988, 1
store i32 %t5002, ptr %t4985
br label %ifend1000
ifend1000:
%t5003 = load ptr, ptr %t1
- %t5004 = call i32 @fn_str_eq(ptr %t5003, ptr @.str6911)
+ %t5004 = call i32 @lp_str_eq(ptr %t5003, ptr @.str6952)
%t5005 = icmp ne i32 %t5004, 0
br i1 %t5005, label %then1003, label %ifend1005
then1003:
- store ptr @.str6912, ptr %t380
+ store ptr @.str6953, ptr %t380
%t5006 = load ptr, ptr %t387
%t5007 = getelementptr inbounds %LSlice, ptr %t5006, i32 0, i32 1
%t5008 = getelementptr inbounds %LSlice, ptr %t5006, i32 0, i32 2
@@ -70549,17 +71294,17 @@ grow1006:
put1007:
%t5022 = load ptr, ptr %t5009
%t5023 = getelementptr inbounds ptr, ptr %t5022, i32 %t5010
- store ptr @.str6913, ptr %t5023
+ store ptr @.str6954, ptr %t5023
%t5024 = add i32 %t5010, 1
store i32 %t5024, ptr %t5007
br label %ifend1005
ifend1005:
%t5025 = load ptr, ptr %t1
- %t5026 = call i32 @fn_str_eq(ptr %t5025, ptr @.str6914)
+ %t5026 = call i32 @lp_str_eq(ptr %t5025, ptr @.str6955)
%t5027 = icmp ne i32 %t5026, 0
br i1 %t5027, label %then1008, label %ifend1010
then1008:
- store ptr @.str6915, ptr %t380
+ store ptr @.str6956, ptr %t380
%t5028 = load ptr, ptr %t387
%t5029 = getelementptr inbounds %LSlice, ptr %t5028, i32 0, i32 1
%t5030 = getelementptr inbounds %LSlice, ptr %t5028, i32 0, i32 2
@@ -70584,7 +71329,7 @@ grow1011:
put1012:
%t5044 = load ptr, ptr %t5031
%t5045 = getelementptr inbounds ptr, ptr %t5044, i32 %t5032
- store ptr @.str6916, ptr %t5045
+ store ptr @.str6957, ptr %t5045
%t5046 = add i32 %t5032, 1
store i32 %t5046, ptr %t5029
%t5047 = load ptr, ptr %t387
@@ -70611,17 +71356,17 @@ grow1013:
put1014:
%t5063 = load ptr, ptr %t5050
%t5064 = getelementptr inbounds ptr, ptr %t5063, i32 %t5051
- store ptr @.str6917, ptr %t5064
+ store ptr @.str6958, ptr %t5064
%t5065 = add i32 %t5051, 1
store i32 %t5065, ptr %t5048
br label %ifend1010
ifend1010:
%t5066 = load ptr, ptr %t1
- %t5067 = call i32 @fn_str_eq(ptr %t5066, ptr @.str6918)
+ %t5067 = call i32 @lp_str_eq(ptr %t5066, ptr @.str6959)
%t5068 = icmp ne i32 %t5067, 0
br i1 %t5068, label %then1015, label %ifend1017
then1015:
- store ptr @.str6919, ptr %t380
+ store ptr @.str6960, ptr %t380
%t5069 = load ptr, ptr %t387
%t5070 = getelementptr inbounds %LSlice, ptr %t5069, i32 0, i32 1
%t5071 = getelementptr inbounds %LSlice, ptr %t5069, i32 0, i32 2
@@ -70646,7 +71391,7 @@ grow1018:
put1019:
%t5085 = load ptr, ptr %t5072
%t5086 = getelementptr inbounds ptr, ptr %t5085, i32 %t5073
- store ptr @.str6920, ptr %t5086
+ store ptr @.str6961, ptr %t5086
%t5087 = add i32 %t5073, 1
store i32 %t5087, ptr %t5070
%t5088 = load ptr, ptr %t387
@@ -70673,25 +71418,25 @@ grow1020:
put1021:
%t5104 = load ptr, ptr %t5091
%t5105 = getelementptr inbounds ptr, ptr %t5104, i32 %t5092
- store ptr @.str6921, ptr %t5105
+ store ptr @.str6962, ptr %t5105
%t5106 = add i32 %t5092, 1
store i32 %t5106, ptr %t5089
br label %ifend1017
ifend1017:
%t5107 = load ptr, ptr %t1
- %t5108 = call i32 @fn_str_eq(ptr %t5107, ptr @.str6922)
+ %t5108 = call i32 @lp_str_eq(ptr %t5107, ptr @.str6963)
%t5109 = icmp ne i32 %t5108, 0
br i1 %t5109, label %then1022, label %ifend1024
then1022:
- store ptr @.str6923, ptr %t380
+ store ptr @.str6964, ptr %t380
br label %ifend1024
ifend1024:
%t5110 = load ptr, ptr %t1
- %t5111 = call i32 @fn_str_eq(ptr %t5110, ptr @.str6924)
+ %t5111 = call i32 @lp_str_eq(ptr %t5110, ptr @.str6965)
%t5112 = icmp ne i32 %t5111, 0
br i1 %t5112, label %then1025, label %ifend1027
then1025:
- store ptr @.str6925, ptr %t380
+ store ptr @.str6966, ptr %t380
%t5113 = load ptr, ptr %t387
%t5114 = getelementptr inbounds %LSlice, ptr %t5113, i32 0, i32 1
%t5115 = getelementptr inbounds %LSlice, ptr %t5113, i32 0, i32 2
@@ -70716,7 +71461,7 @@ grow1028:
put1029:
%t5129 = load ptr, ptr %t5116
%t5130 = getelementptr inbounds ptr, ptr %t5129, i32 %t5117
- store ptr @.str6926, ptr %t5130
+ store ptr @.str6967, ptr %t5130
%t5131 = add i32 %t5117, 1
store i32 %t5131, ptr %t5114
%t5132 = load ptr, ptr %t387
@@ -70743,7 +71488,7 @@ grow1030:
put1031:
%t5148 = load ptr, ptr %t5135
%t5149 = getelementptr inbounds ptr, ptr %t5148, i32 %t5136
- store ptr @.str6927, ptr %t5149
+ store ptr @.str6968, ptr %t5149
%t5150 = add i32 %t5136, 1
store i32 %t5150, ptr %t5133
%t5151 = load ptr, ptr %t387
@@ -70770,7 +71515,7 @@ grow1032:
put1033:
%t5167 = load ptr, ptr %t5154
%t5168 = getelementptr inbounds ptr, ptr %t5167, i32 %t5155
- store ptr @.str6928, ptr %t5168
+ store ptr @.str6969, ptr %t5168
%t5169 = add i32 %t5155, 1
store i32 %t5169, ptr %t5152
%t5170 = load ptr, ptr %t387
@@ -70797,17 +71542,17 @@ grow1034:
put1035:
%t5186 = load ptr, ptr %t5173
%t5187 = getelementptr inbounds ptr, ptr %t5186, i32 %t5174
- store ptr @.str6929, ptr %t5187
+ store ptr @.str6970, ptr %t5187
%t5188 = add i32 %t5174, 1
store i32 %t5188, ptr %t5171
br label %ifend1027
ifend1027:
%t5189 = load ptr, ptr %t1
- %t5190 = call i32 @fn_str_eq(ptr %t5189, ptr @.str6930)
+ %t5190 = call i32 @lp_str_eq(ptr %t5189, ptr @.str6971)
%t5191 = icmp ne i32 %t5190, 0
br i1 %t5191, label %then1036, label %ifend1038
then1036:
- store ptr @.str6931, ptr %t380
+ store ptr @.str6972, ptr %t380
%t5192 = load ptr, ptr %t387
%t5193 = getelementptr inbounds %LSlice, ptr %t5192, i32 0, i32 1
%t5194 = getelementptr inbounds %LSlice, ptr %t5192, i32 0, i32 2
@@ -70832,49 +71577,49 @@ grow1039:
put1040:
%t5208 = load ptr, ptr %t5195
%t5209 = getelementptr inbounds ptr, ptr %t5208, i32 %t5196
- store ptr @.str6932, ptr %t5209
+ store ptr @.str6973, ptr %t5209
%t5210 = add i32 %t5196, 1
store i32 %t5210, ptr %t5193
br label %ifend1038
ifend1038:
%t5211 = load ptr, ptr %t1
- %t5212 = call i32 @fn_str_eq(ptr %t5211, ptr @.str6933)
+ %t5212 = call i32 @lp_str_eq(ptr %t5211, ptr @.str6974)
%t5213 = icmp ne i32 %t5212, 0
br i1 %t5213, label %then1041, label %ifend1043
then1041:
- store ptr @.str6934, ptr %t380
+ store ptr @.str6975, ptr %t380
br label %ifend1043
ifend1043:
%t5214 = load ptr, ptr %t1
- %t5215 = call i32 @fn_str_eq(ptr %t5214, ptr @.str6935)
+ %t5215 = call i32 @lp_str_eq(ptr %t5214, ptr @.str6976)
%t5216 = icmp ne i32 %t5215, 0
br i1 %t5216, label %then1044, label %ifend1046
then1044:
- store ptr @.str6936, ptr %t380
+ store ptr @.str6977, ptr %t380
br label %ifend1046
ifend1046:
%t5217 = load ptr, ptr %t1
- %t5218 = call i32 @fn_str_eq(ptr %t5217, ptr @.str6937)
+ %t5218 = call i32 @lp_str_eq(ptr %t5217, ptr @.str6978)
%t5219 = icmp ne i32 %t5218, 0
br i1 %t5219, label %then1047, label %ifend1049
then1047:
- store ptr @.str6938, ptr %t380
+ store ptr @.str6979, ptr %t380
br label %ifend1049
ifend1049:
%t5220 = load ptr, ptr %t1
- %t5221 = call i32 @fn_str_eq(ptr %t5220, ptr @.str6939)
+ %t5221 = call i32 @lp_str_eq(ptr %t5220, ptr @.str6980)
%t5222 = icmp ne i32 %t5221, 0
br i1 %t5222, label %then1050, label %ifend1052
then1050:
- store ptr @.str6940, ptr %t380
+ store ptr @.str6981, ptr %t380
br label %ifend1052
ifend1052:
%t5223 = load ptr, ptr %t1
- %t5224 = call i32 @fn_str_eq(ptr %t5223, ptr @.str6941)
+ %t5224 = call i32 @lp_str_eq(ptr %t5223, ptr @.str6982)
%t5225 = icmp ne i32 %t5224, 0
br i1 %t5225, label %then1053, label %ifend1055
then1053:
- store ptr @.str6942, ptr %t380
+ store ptr @.str6983, ptr %t380
%t5226 = load ptr, ptr %t387
%t5227 = getelementptr inbounds %LSlice, ptr %t5226, i32 0, i32 1
%t5228 = getelementptr inbounds %LSlice, ptr %t5226, i32 0, i32 2
@@ -70899,25 +71644,25 @@ grow1056:
put1057:
%t5242 = load ptr, ptr %t5229
%t5243 = getelementptr inbounds ptr, ptr %t5242, i32 %t5230
- store ptr @.str6943, ptr %t5243
+ store ptr @.str6984, ptr %t5243
%t5244 = add i32 %t5230, 1
store i32 %t5244, ptr %t5227
br label %ifend1055
ifend1055:
%t5245 = load ptr, ptr %t1
- %t5246 = call i32 @fn_str_eq(ptr %t5245, ptr @.str6944)
+ %t5246 = call i32 @lp_str_eq(ptr %t5245, ptr @.str6985)
%t5247 = icmp ne i32 %t5246, 0
br i1 %t5247, label %then1058, label %ifend1060
then1058:
- store ptr @.str6945, ptr %t380
+ store ptr @.str6986, ptr %t380
br label %ifend1060
ifend1060:
%t5248 = load ptr, ptr %t1
- %t5249 = call i32 @fn_str_eq(ptr %t5248, ptr @.str6946)
+ %t5249 = call i32 @lp_str_eq(ptr %t5248, ptr @.str6987)
%t5250 = icmp ne i32 %t5249, 0
br i1 %t5250, label %then1061, label %ifend1063
then1061:
- store ptr @.str6947, ptr %t380
+ store ptr @.str6988, ptr %t380
%t5251 = load ptr, ptr %t387
%t5252 = getelementptr inbounds %LSlice, ptr %t5251, i32 0, i32 1
%t5253 = getelementptr inbounds %LSlice, ptr %t5251, i32 0, i32 2
@@ -70942,7 +71687,7 @@ grow1064:
put1065:
%t5267 = load ptr, ptr %t5254
%t5268 = getelementptr inbounds ptr, ptr %t5267, i32 %t5255
- store ptr @.str6948, ptr %t5268
+ store ptr @.str6989, ptr %t5268
%t5269 = add i32 %t5255, 1
store i32 %t5269, ptr %t5252
%t5270 = load ptr, ptr %t387
@@ -70969,7 +71714,7 @@ grow1066:
put1067:
%t5286 = load ptr, ptr %t5273
%t5287 = getelementptr inbounds ptr, ptr %t5286, i32 %t5274
- store ptr @.str6949, ptr %t5287
+ store ptr @.str6990, ptr %t5287
%t5288 = add i32 %t5274, 1
store i32 %t5288, ptr %t5271
%t5289 = load ptr, ptr %t387
@@ -70996,7 +71741,7 @@ grow1068:
put1069:
%t5305 = load ptr, ptr %t5292
%t5306 = getelementptr inbounds ptr, ptr %t5305, i32 %t5293
- store ptr @.str6950, ptr %t5306
+ store ptr @.str6991, ptr %t5306
%t5307 = add i32 %t5293, 1
store i32 %t5307, ptr %t5290
%t5308 = load ptr, ptr %t387
@@ -71023,17 +71768,17 @@ grow1070:
put1071:
%t5324 = load ptr, ptr %t5311
%t5325 = getelementptr inbounds ptr, ptr %t5324, i32 %t5312
- store ptr @.str6951, ptr %t5325
+ store ptr @.str6992, ptr %t5325
%t5326 = add i32 %t5312, 1
store i32 %t5326, ptr %t5309
br label %ifend1063
ifend1063:
%t5327 = load ptr, ptr %t1
- %t5328 = call i32 @fn_str_eq(ptr %t5327, ptr @.str6952)
+ %t5328 = call i32 @lp_str_eq(ptr %t5327, ptr @.str6993)
%t5329 = icmp ne i32 %t5328, 0
br i1 %t5329, label %then1072, label %ifend1074
then1072:
- store ptr @.str6953, ptr %t380
+ store ptr @.str6994, ptr %t380
%t5330 = load ptr, ptr %t387
%t5331 = getelementptr inbounds %LSlice, ptr %t5330, i32 0, i32 1
%t5332 = getelementptr inbounds %LSlice, ptr %t5330, i32 0, i32 2
@@ -71058,17 +71803,17 @@ grow1075:
put1076:
%t5346 = load ptr, ptr %t5333
%t5347 = getelementptr inbounds ptr, ptr %t5346, i32 %t5334
- store ptr @.str6954, ptr %t5347
+ store ptr @.str6995, ptr %t5347
%t5348 = add i32 %t5334, 1
store i32 %t5348, ptr %t5331
br label %ifend1074
ifend1074:
%t5349 = load ptr, ptr %t1
- %t5350 = call i32 @fn_str_eq(ptr %t5349, ptr @.str6955)
+ %t5350 = call i32 @lp_str_eq(ptr %t5349, ptr @.str6996)
%t5351 = icmp ne i32 %t5350, 0
br i1 %t5351, label %then1077, label %ifend1079
then1077:
- store ptr @.str6956, ptr %t380
+ store ptr @.str6997, ptr %t380
%t5352 = load ptr, ptr %t387
%t5353 = getelementptr inbounds %LSlice, ptr %t5352, i32 0, i32 1
%t5354 = getelementptr inbounds %LSlice, ptr %t5352, i32 0, i32 2
@@ -71093,7 +71838,7 @@ grow1080:
put1081:
%t5368 = load ptr, ptr %t5355
%t5369 = getelementptr inbounds ptr, ptr %t5368, i32 %t5356
- store ptr @.str6957, ptr %t5369
+ store ptr @.str6998, ptr %t5369
%t5370 = add i32 %t5356, 1
store i32 %t5370, ptr %t5353
%t5371 = load ptr, ptr %t387
@@ -71120,17 +71865,17 @@ grow1082:
put1083:
%t5387 = load ptr, ptr %t5374
%t5388 = getelementptr inbounds ptr, ptr %t5387, i32 %t5375
- store ptr @.str6958, ptr %t5388
+ store ptr @.str6999, ptr %t5388
%t5389 = add i32 %t5375, 1
store i32 %t5389, ptr %t5372
br label %ifend1079
ifend1079:
%t5390 = load ptr, ptr %t1
- %t5391 = call i32 @fn_str_eq(ptr %t5390, ptr @.str6959)
+ %t5391 = call i32 @lp_str_eq(ptr %t5390, ptr @.str7000)
%t5392 = icmp ne i32 %t5391, 0
br i1 %t5392, label %then1084, label %ifend1086
then1084:
- store ptr @.str6960, ptr %t380
+ store ptr @.str7001, ptr %t380
%t5393 = load ptr, ptr %t387
%t5394 = getelementptr inbounds %LSlice, ptr %t5393, i32 0, i32 1
%t5395 = getelementptr inbounds %LSlice, ptr %t5393, i32 0, i32 2
@@ -71155,7 +71900,7 @@ grow1087:
put1088:
%t5409 = load ptr, ptr %t5396
%t5410 = getelementptr inbounds ptr, ptr %t5409, i32 %t5397
- store ptr @.str6961, ptr %t5410
+ store ptr @.str7002, ptr %t5410
%t5411 = add i32 %t5397, 1
store i32 %t5411, ptr %t5394
%t5412 = load ptr, ptr %t387
@@ -71182,17 +71927,17 @@ grow1089:
put1090:
%t5428 = load ptr, ptr %t5415
%t5429 = getelementptr inbounds ptr, ptr %t5428, i32 %t5416
- store ptr @.str6962, ptr %t5429
+ store ptr @.str7003, ptr %t5429
%t5430 = add i32 %t5416, 1
store i32 %t5430, ptr %t5413
br label %ifend1086
ifend1086:
%t5431 = load ptr, ptr %t1
- %t5432 = call i32 @fn_str_eq(ptr %t5431, ptr @.str6963)
+ %t5432 = call i32 @lp_str_eq(ptr %t5431, ptr @.str7004)
%t5433 = icmp ne i32 %t5432, 0
br i1 %t5433, label %then1091, label %ifend1093
then1091:
- store ptr @.str6964, ptr %t380
+ store ptr @.str7005, ptr %t380
%t5434 = load ptr, ptr %t387
%t5435 = getelementptr inbounds %LSlice, ptr %t5434, i32 0, i32 1
%t5436 = getelementptr inbounds %LSlice, ptr %t5434, i32 0, i32 2
@@ -71217,7 +71962,7 @@ grow1094:
put1095:
%t5450 = load ptr, ptr %t5437
%t5451 = getelementptr inbounds ptr, ptr %t5450, i32 %t5438
- store ptr @.str6965, ptr %t5451
+ store ptr @.str7006, ptr %t5451
%t5452 = add i32 %t5438, 1
store i32 %t5452, ptr %t5435
%t5453 = load ptr, ptr %t387
@@ -71244,7 +71989,7 @@ grow1096:
put1097:
%t5469 = load ptr, ptr %t5456
%t5470 = getelementptr inbounds ptr, ptr %t5469, i32 %t5457
- store ptr @.str6966, ptr %t5470
+ store ptr @.str7007, ptr %t5470
%t5471 = add i32 %t5457, 1
store i32 %t5471, ptr %t5454
%t5472 = load ptr, ptr %t387
@@ -71271,7 +72016,7 @@ grow1098:
put1099:
%t5488 = load ptr, ptr %t5475
%t5489 = getelementptr inbounds ptr, ptr %t5488, i32 %t5476
- store ptr @.str6967, ptr %t5489
+ store ptr @.str7008, ptr %t5489
%t5490 = add i32 %t5476, 1
store i32 %t5490, ptr %t5473
%t5491 = load ptr, ptr %t387
@@ -71298,7 +72043,7 @@ grow1100:
put1101:
%t5507 = load ptr, ptr %t5494
%t5508 = getelementptr inbounds ptr, ptr %t5507, i32 %t5495
- store ptr @.str6968, ptr %t5508
+ store ptr @.str7009, ptr %t5508
%t5509 = add i32 %t5495, 1
store i32 %t5509, ptr %t5492
%t5510 = load ptr, ptr %t387
@@ -71325,7 +72070,7 @@ grow1102:
put1103:
%t5526 = load ptr, ptr %t5513
%t5527 = getelementptr inbounds ptr, ptr %t5526, i32 %t5514
- store ptr @.str6969, ptr %t5527
+ store ptr @.str7010, ptr %t5527
%t5528 = add i32 %t5514, 1
store i32 %t5528, ptr %t5511
%t5529 = load ptr, ptr %t387
@@ -71352,7 +72097,7 @@ grow1104:
put1105:
%t5545 = load ptr, ptr %t5532
%t5546 = getelementptr inbounds ptr, ptr %t5545, i32 %t5533
- store ptr @.str6970, ptr %t5546
+ store ptr @.str7011, ptr %t5546
%t5547 = add i32 %t5533, 1
store i32 %t5547, ptr %t5530
%t5548 = load ptr, ptr %t387
@@ -71379,25 +72124,25 @@ grow1106:
put1107:
%t5564 = load ptr, ptr %t5551
%t5565 = getelementptr inbounds ptr, ptr %t5564, i32 %t5552
- store ptr @.str6971, ptr %t5565
+ store ptr @.str7012, ptr %t5565
%t5566 = add i32 %t5552, 1
store i32 %t5566, ptr %t5549
br label %ifend1093
ifend1093:
%t5567 = load ptr, ptr %t1
- %t5568 = call i32 @fn_str_eq(ptr %t5567, ptr @.str6972)
+ %t5568 = call i32 @lp_str_eq(ptr %t5567, ptr @.str7013)
%t5569 = icmp ne i32 %t5568, 0
br i1 %t5569, label %then1108, label %ifend1110
then1108:
- store ptr @.str6973, ptr %t380
+ store ptr @.str7014, ptr %t380
br label %ifend1110
ifend1110:
%t5570 = load ptr, ptr %t1
- %t5571 = call i32 @fn_str_eq(ptr %t5570, ptr @.str6974)
+ %t5571 = call i32 @lp_str_eq(ptr %t5570, ptr @.str7015)
%t5572 = icmp ne i32 %t5571, 0
br i1 %t5572, label %then1111, label %ifend1113
then1111:
- store ptr @.str6975, ptr %t380
+ store ptr @.str7016, ptr %t380
%t5573 = load ptr, ptr %t387
%t5574 = getelementptr inbounds %LSlice, ptr %t5573, i32 0, i32 1
%t5575 = getelementptr inbounds %LSlice, ptr %t5573, i32 0, i32 2
@@ -71422,17 +72167,17 @@ grow1114:
put1115:
%t5589 = load ptr, ptr %t5576
%t5590 = getelementptr inbounds ptr, ptr %t5589, i32 %t5577
- store ptr @.str6976, ptr %t5590
+ store ptr @.str7017, ptr %t5590
%t5591 = add i32 %t5577, 1
store i32 %t5591, ptr %t5574
br label %ifend1113
ifend1113:
%t5592 = load ptr, ptr %t1
- %t5593 = call i32 @fn_str_eq(ptr %t5592, ptr @.str6977)
+ %t5593 = call i32 @lp_str_eq(ptr %t5592, ptr @.str7018)
%t5594 = icmp ne i32 %t5593, 0
br i1 %t5594, label %then1116, label %ifend1118
then1116:
- store ptr @.str6978, ptr %t380
+ store ptr @.str7019, ptr %t380
%t5595 = load ptr, ptr %t387
%t5596 = getelementptr inbounds %LSlice, ptr %t5595, i32 0, i32 1
%t5597 = getelementptr inbounds %LSlice, ptr %t5595, i32 0, i32 2
@@ -71457,17 +72202,17 @@ grow1119:
put1120:
%t5611 = load ptr, ptr %t5598
%t5612 = getelementptr inbounds ptr, ptr %t5611, i32 %t5599
- store ptr @.str6979, ptr %t5612
+ store ptr @.str7020, ptr %t5612
%t5613 = add i32 %t5599, 1
store i32 %t5613, ptr %t5596
br label %ifend1118
ifend1118:
%t5614 = load ptr, ptr %t1
- %t5615 = call i32 @fn_str_eq(ptr %t5614, ptr @.str6980)
+ %t5615 = call i32 @lp_str_eq(ptr %t5614, ptr @.str7021)
%t5616 = icmp ne i32 %t5615, 0
br i1 %t5616, label %then1121, label %ifend1123
then1121:
- store ptr @.str6981, ptr %t380
+ store ptr @.str7022, ptr %t380
%t5617 = load ptr, ptr %t387
%t5618 = getelementptr inbounds %LSlice, ptr %t5617, i32 0, i32 1
%t5619 = getelementptr inbounds %LSlice, ptr %t5617, i32 0, i32 2
@@ -71492,7 +72237,7 @@ grow1124:
put1125:
%t5633 = load ptr, ptr %t5620
%t5634 = getelementptr inbounds ptr, ptr %t5633, i32 %t5621
- store ptr @.str6982, ptr %t5634
+ store ptr @.str7023, ptr %t5634
%t5635 = add i32 %t5621, 1
store i32 %t5635, ptr %t5618
%t5636 = load ptr, ptr %t387
@@ -71519,7 +72264,7 @@ grow1126:
put1127:
%t5652 = load ptr, ptr %t5639
%t5653 = getelementptr inbounds ptr, ptr %t5652, i32 %t5640
- store ptr @.str6983, ptr %t5653
+ store ptr @.str7024, ptr %t5653
%t5654 = add i32 %t5640, 1
store i32 %t5654, ptr %t5637
%t5655 = load ptr, ptr %t387
@@ -71546,7 +72291,7 @@ grow1128:
put1129:
%t5671 = load ptr, ptr %t5658
%t5672 = getelementptr inbounds ptr, ptr %t5671, i32 %t5659
- store ptr @.str6984, ptr %t5672
+ store ptr @.str7025, ptr %t5672
%t5673 = add i32 %t5659, 1
store i32 %t5673, ptr %t5656
%t5674 = load ptr, ptr %t387
@@ -71573,17 +72318,17 @@ grow1130:
put1131:
%t5690 = load ptr, ptr %t5677
%t5691 = getelementptr inbounds ptr, ptr %t5690, i32 %t5678
- store ptr @.str6985, ptr %t5691
+ store ptr @.str7026, ptr %t5691
%t5692 = add i32 %t5678, 1
store i32 %t5692, ptr %t5675
br label %ifend1123
ifend1123:
%t5693 = load ptr, ptr %t1
- %t5694 = call i32 @fn_str_eq(ptr %t5693, ptr @.str6986)
+ %t5694 = call i32 @lp_str_eq(ptr %t5693, ptr @.str7027)
%t5695 = icmp ne i32 %t5694, 0
br i1 %t5695, label %then1132, label %ifend1134
then1132:
- store ptr @.str6987, ptr %t380
+ store ptr @.str7028, ptr %t380
%t5696 = load ptr, ptr %t387
%t5697 = getelementptr inbounds %LSlice, ptr %t5696, i32 0, i32 1
%t5698 = getelementptr inbounds %LSlice, ptr %t5696, i32 0, i32 2
@@ -71608,7 +72353,7 @@ grow1135:
put1136:
%t5712 = load ptr, ptr %t5699
%t5713 = getelementptr inbounds ptr, ptr %t5712, i32 %t5700
- store ptr @.str6988, ptr %t5713
+ store ptr @.str7029, ptr %t5713
%t5714 = add i32 %t5700, 1
store i32 %t5714, ptr %t5697
br label %ifend1134
@@ -71616,16 +72361,16 @@ ifend1134:
br label %ifend919
ifend919:
%t5715 = load ptr, ptr %t0
- %t5716 = call i32 @fn_str_eq(ptr %t5715, ptr @.str6989)
+ %t5716 = call i32 @lp_str_eq(ptr %t5715, ptr @.str7030)
%t5717 = icmp ne i32 %t5716, 0
br i1 %t5717, label %then1137, label %ifend1139
then1137:
%t5718 = load ptr, ptr %t1
- %t5719 = call i32 @fn_str_eq(ptr %t5718, ptr @.str6990)
+ %t5719 = call i32 @lp_str_eq(ptr %t5718, ptr @.str7031)
%t5720 = icmp ne i32 %t5719, 0
br i1 %t5720, label %then1140, label %ifend1142
then1140:
- store ptr @.str6991, ptr %t380
+ store ptr @.str7032, ptr %t380
%t5721 = load ptr, ptr %t387
%t5722 = getelementptr inbounds %LSlice, ptr %t5721, i32 0, i32 1
%t5723 = getelementptr inbounds %LSlice, ptr %t5721, i32 0, i32 2
@@ -71650,17 +72395,17 @@ grow1143:
put1144:
%t5737 = load ptr, ptr %t5724
%t5738 = getelementptr inbounds ptr, ptr %t5737, i32 %t5725
- store ptr @.str6992, ptr %t5738
+ store ptr @.str7033, ptr %t5738
%t5739 = add i32 %t5725, 1
store i32 %t5739, ptr %t5722
br label %ifend1142
ifend1142:
%t5740 = load ptr, ptr %t1
- %t5741 = call i32 @fn_str_eq(ptr %t5740, ptr @.str6993)
+ %t5741 = call i32 @lp_str_eq(ptr %t5740, ptr @.str7034)
%t5742 = icmp ne i32 %t5741, 0
br i1 %t5742, label %then1145, label %ifend1147
then1145:
- store ptr @.str6994, ptr %t380
+ store ptr @.str7035, ptr %t380
%t5743 = load ptr, ptr %t387
%t5744 = getelementptr inbounds %LSlice, ptr %t5743, i32 0, i32 1
%t5745 = getelementptr inbounds %LSlice, ptr %t5743, i32 0, i32 2
@@ -71685,7 +72430,7 @@ grow1148:
put1149:
%t5759 = load ptr, ptr %t5746
%t5760 = getelementptr inbounds ptr, ptr %t5759, i32 %t5747
- store ptr @.str6995, ptr %t5760
+ store ptr @.str7036, ptr %t5760
%t5761 = add i32 %t5747, 1
store i32 %t5761, ptr %t5744
%t5762 = load ptr, ptr %t387
@@ -71712,17 +72457,17 @@ grow1150:
put1151:
%t5778 = load ptr, ptr %t5765
%t5779 = getelementptr inbounds ptr, ptr %t5778, i32 %t5766
- store ptr @.str6996, ptr %t5779
+ store ptr @.str7037, ptr %t5779
%t5780 = add i32 %t5766, 1
store i32 %t5780, ptr %t5763
br label %ifend1147
ifend1147:
%t5781 = load ptr, ptr %t1
- %t5782 = call i32 @fn_str_eq(ptr %t5781, ptr @.str6997)
+ %t5782 = call i32 @lp_str_eq(ptr %t5781, ptr @.str7038)
%t5783 = icmp ne i32 %t5782, 0
br i1 %t5783, label %then1152, label %ifend1154
then1152:
- store ptr @.str6998, ptr %t380
+ store ptr @.str7039, ptr %t380
%t5784 = load ptr, ptr %t387
%t5785 = getelementptr inbounds %LSlice, ptr %t5784, i32 0, i32 1
%t5786 = getelementptr inbounds %LSlice, ptr %t5784, i32 0, i32 2
@@ -71747,13 +72492,13 @@ grow1155:
put1156:
%t5800 = load ptr, ptr %t5787
%t5801 = getelementptr inbounds ptr, ptr %t5800, i32 %t5788
- store ptr @.str6999, ptr %t5801
+ store ptr @.str7040, ptr %t5801
%t5802 = add i32 %t5788, 1
store i32 %t5802, ptr %t5785
br label %ifend1154
ifend1154:
%t5803 = load ptr, ptr %t1
- %t5804 = call i32 @fn_str_eq(ptr %t5803, ptr @.str7000)
+ %t5804 = call i32 @lp_str_eq(ptr %t5803, ptr @.str7041)
%t5805 = icmp ne i32 %t5804, 0
br i1 %t5805, label %then1157, label %ifend1159
then1157:
@@ -71762,7 +72507,7 @@ then1157:
%t5808 = icmp ne i32 %t5807, 0
br i1 %t5808, label %then1160, label %else1161
then1160:
- store ptr @.str7001, ptr %t380
+ store ptr @.str7042, ptr %t380
%t5809 = load ptr, ptr %t387
%t5810 = getelementptr inbounds %LSlice, ptr %t5809, i32 0, i32 1
%t5811 = getelementptr inbounds %LSlice, ptr %t5809, i32 0, i32 2
@@ -71787,12 +72532,12 @@ grow1163:
put1164:
%t5825 = load ptr, ptr %t5812
%t5826 = getelementptr inbounds ptr, ptr %t5825, i32 %t5813
- store ptr @.str7002, ptr %t5826
+ store ptr @.str7043, ptr %t5826
%t5827 = add i32 %t5813, 1
store i32 %t5827, ptr %t5810
br label %ifend1162
else1161:
- store ptr @.str7003, ptr %t380
+ store ptr @.str7044, ptr %t380
%t5828 = load ptr, ptr %t387
%t5829 = getelementptr inbounds %LSlice, ptr %t5828, i32 0, i32 1
%t5830 = getelementptr inbounds %LSlice, ptr %t5828, i32 0, i32 2
@@ -71817,7 +72562,7 @@ grow1165:
put1166:
%t5844 = load ptr, ptr %t5831
%t5845 = getelementptr inbounds ptr, ptr %t5844, i32 %t5832
- store ptr @.str7004, ptr %t5845
+ store ptr @.str7045, ptr %t5845
%t5846 = add i32 %t5832, 1
store i32 %t5846, ptr %t5829
br label %ifend1162
@@ -71825,11 +72570,11 @@ ifend1162:
br label %ifend1159
ifend1159:
%t5847 = load ptr, ptr %t1
- %t5848 = call i32 @fn_str_eq(ptr %t5847, ptr @.str7005)
+ %t5848 = call i32 @lp_str_eq(ptr %t5847, ptr @.str7046)
%t5849 = icmp ne i32 %t5848, 0
br i1 %t5849, label %then1167, label %ifend1169
then1167:
- store ptr @.str7006, ptr %t380
+ store ptr @.str7047, ptr %t380
%t5850 = load ptr, ptr %t387
%t5851 = getelementptr inbounds %LSlice, ptr %t5850, i32 0, i32 1
%t5852 = getelementptr inbounds %LSlice, ptr %t5850, i32 0, i32 2
@@ -71854,13 +72599,13 @@ grow1170:
put1171:
%t5866 = load ptr, ptr %t5853
%t5867 = getelementptr inbounds ptr, ptr %t5866, i32 %t5854
- store ptr @.str7007, ptr %t5867
+ store ptr @.str7048, ptr %t5867
%t5868 = add i32 %t5854, 1
store i32 %t5868, ptr %t5851
br label %ifend1169
ifend1169:
%t5869 = load ptr, ptr %t1
- %t5870 = call i32 @fn_str_eq(ptr %t5869, ptr @.str7008)
+ %t5870 = call i32 @lp_str_eq(ptr %t5869, ptr @.str7049)
%t5871 = icmp ne i32 %t5870, 0
br i1 %t5871, label %then1172, label %ifend1174
then1172:
@@ -71869,7 +72614,7 @@ then1172:
%t5874 = icmp ne i32 %t5873, 0
br i1 %t5874, label %then1175, label %else1176
then1175:
- store ptr @.str7009, ptr %t380
+ store ptr @.str7050, ptr %t380
%t5875 = load ptr, ptr %t387
%t5876 = getelementptr inbounds %LSlice, ptr %t5875, i32 0, i32 1
%t5877 = getelementptr inbounds %LSlice, ptr %t5875, i32 0, i32 2
@@ -71894,12 +72639,12 @@ grow1178:
put1179:
%t5891 = load ptr, ptr %t5878
%t5892 = getelementptr inbounds ptr, ptr %t5891, i32 %t5879
- store ptr @.str7010, ptr %t5892
+ store ptr @.str7051, ptr %t5892
%t5893 = add i32 %t5879, 1
store i32 %t5893, ptr %t5876
br label %ifend1177
else1176:
- store ptr @.str7011, ptr %t380
+ store ptr @.str7052, ptr %t380
%t5894 = load ptr, ptr %t387
%t5895 = getelementptr inbounds %LSlice, ptr %t5894, i32 0, i32 1
%t5896 = getelementptr inbounds %LSlice, ptr %t5894, i32 0, i32 2
@@ -71924,7 +72669,7 @@ grow1180:
put1181:
%t5910 = load ptr, ptr %t5897
%t5911 = getelementptr inbounds ptr, ptr %t5910, i32 %t5898
- store ptr @.str7012, ptr %t5911
+ store ptr @.str7053, ptr %t5911
%t5912 = add i32 %t5898, 1
store i32 %t5912, ptr %t5895
br label %ifend1177
@@ -71932,11 +72677,11 @@ ifend1177:
br label %ifend1174
ifend1174:
%t5913 = load ptr, ptr %t1
- %t5914 = call i32 @fn_str_eq(ptr %t5913, ptr @.str7013)
+ %t5914 = call i32 @lp_str_eq(ptr %t5913, ptr @.str7054)
%t5915 = icmp ne i32 %t5914, 0
br i1 %t5915, label %then1182, label %ifend1184
then1182:
- store ptr @.str7014, ptr %t380
+ store ptr @.str7055, ptr %t380
%t5916 = load ptr, ptr %t387
%t5917 = getelementptr inbounds %LSlice, ptr %t5916, i32 0, i32 1
%t5918 = getelementptr inbounds %LSlice, ptr %t5916, i32 0, i32 2
@@ -71961,33 +72706,33 @@ grow1185:
put1186:
%t5932 = load ptr, ptr %t5919
%t5933 = getelementptr inbounds ptr, ptr %t5932, i32 %t5920
- store ptr @.str7015, ptr %t5933
+ store ptr @.str7056, ptr %t5933
%t5934 = add i32 %t5920, 1
store i32 %t5934, ptr %t5917
br label %ifend1184
ifend1184:
%t5935 = load ptr, ptr %t1
- %t5936 = call i32 @fn_str_eq(ptr %t5935, ptr @.str7016)
+ %t5936 = call i32 @lp_str_eq(ptr %t5935, ptr @.str7057)
%t5937 = icmp ne i32 %t5936, 0
br i1 %t5937, label %then1187, label %ifend1189
then1187:
- store ptr @.str7017, ptr %t380
+ store ptr @.str7058, ptr %t380
br label %ifend1189
ifend1189:
%t5938 = load ptr, ptr %t1
- %t5939 = call i32 @fn_str_eq(ptr %t5938, ptr @.str7018)
+ %t5939 = call i32 @lp_str_eq(ptr %t5938, ptr @.str7059)
%t5940 = icmp ne i32 %t5939, 0
br i1 %t5940, label %then1190, label %ifend1192
then1190:
- store ptr @.str7019, ptr %t380
+ store ptr @.str7060, ptr %t380
br label %ifend1192
ifend1192:
%t5941 = load ptr, ptr %t1
- %t5942 = call i32 @fn_str_eq(ptr %t5941, ptr @.str7020)
+ %t5942 = call i32 @lp_str_eq(ptr %t5941, ptr @.str7061)
%t5943 = icmp ne i32 %t5942, 0
br i1 %t5943, label %then1193, label %ifend1195
then1193:
- store ptr @.str7021, ptr %t380
+ store ptr @.str7062, ptr %t380
%t5944 = load ptr, ptr %t387
%t5945 = getelementptr inbounds %LSlice, ptr %t5944, i32 0, i32 1
%t5946 = getelementptr inbounds %LSlice, ptr %t5944, i32 0, i32 2
@@ -72012,17 +72757,17 @@ grow1196:
put1197:
%t5960 = load ptr, ptr %t5947
%t5961 = getelementptr inbounds ptr, ptr %t5960, i32 %t5948
- store ptr @.str7022, ptr %t5961
+ store ptr @.str7063, ptr %t5961
%t5962 = add i32 %t5948, 1
store i32 %t5962, ptr %t5945
br label %ifend1195
ifend1195:
%t5963 = load ptr, ptr %t1
- %t5964 = call i32 @fn_str_eq(ptr %t5963, ptr @.str7023)
+ %t5964 = call i32 @lp_str_eq(ptr %t5963, ptr @.str7064)
%t5965 = icmp ne i32 %t5964, 0
br i1 %t5965, label %then1198, label %ifend1200
then1198:
- store ptr @.str7024, ptr %t380
+ store ptr @.str7065, ptr %t380
%t5966 = load ptr, ptr %t387
%t5967 = getelementptr inbounds %LSlice, ptr %t5966, i32 0, i32 1
%t5968 = getelementptr inbounds %LSlice, ptr %t5966, i32 0, i32 2
@@ -72047,17 +72792,17 @@ grow1201:
put1202:
%t5982 = load ptr, ptr %t5969
%t5983 = getelementptr inbounds ptr, ptr %t5982, i32 %t5970
- store ptr @.str7025, ptr %t5983
+ store ptr @.str7066, ptr %t5983
%t5984 = add i32 %t5970, 1
store i32 %t5984, ptr %t5967
br label %ifend1200
ifend1200:
%t5985 = load ptr, ptr %t1
- %t5986 = call i32 @fn_str_eq(ptr %t5985, ptr @.str7026)
+ %t5986 = call i32 @lp_str_eq(ptr %t5985, ptr @.str7067)
%t5987 = icmp ne i32 %t5986, 0
br i1 %t5987, label %then1203, label %ifend1205
then1203:
- store ptr @.str7027, ptr %t380
+ store ptr @.str7068, ptr %t380
%t5988 = load ptr, ptr %t387
%t5989 = getelementptr inbounds %LSlice, ptr %t5988, i32 0, i32 1
%t5990 = getelementptr inbounds %LSlice, ptr %t5988, i32 0, i32 2
@@ -72082,7 +72827,7 @@ grow1206:
put1207:
%t6004 = load ptr, ptr %t5991
%t6005 = getelementptr inbounds ptr, ptr %t6004, i32 %t5992
- store ptr @.str7028, ptr %t6005
+ store ptr @.str7069, ptr %t6005
%t6006 = add i32 %t5992, 1
store i32 %t6006, ptr %t5989
br label %ifend1205
@@ -72090,16 +72835,16 @@ ifend1205:
br label %ifend1139
ifend1139:
%t6007 = load ptr, ptr %t0
- %t6008 = call i32 @fn_str_eq(ptr %t6007, ptr @.str7029)
+ %t6008 = call i32 @lp_str_eq(ptr %t6007, ptr @.str7070)
%t6009 = icmp ne i32 %t6008, 0
br i1 %t6009, label %then1208, label %ifend1210
then1208:
%t6010 = load ptr, ptr %t1
- %t6011 = call i32 @fn_str_eq(ptr %t6010, ptr @.str7030)
+ %t6011 = call i32 @lp_str_eq(ptr %t6010, ptr @.str7071)
%t6012 = icmp ne i32 %t6011, 0
br i1 %t6012, label %then1211, label %ifend1213
then1211:
- store ptr @.str7031, ptr %t380
+ store ptr @.str7072, ptr %t380
%t6013 = load ptr, ptr %t387
%t6014 = getelementptr inbounds %LSlice, ptr %t6013, i32 0, i32 1
%t6015 = getelementptr inbounds %LSlice, ptr %t6013, i32 0, i32 2
@@ -72124,17 +72869,17 @@ grow1214:
put1215:
%t6029 = load ptr, ptr %t6016
%t6030 = getelementptr inbounds ptr, ptr %t6029, i32 %t6017
- store ptr @.str7032, ptr %t6030
+ store ptr @.str7073, ptr %t6030
%t6031 = add i32 %t6017, 1
store i32 %t6031, ptr %t6014
br label %ifend1213
ifend1213:
%t6032 = load ptr, ptr %t1
- %t6033 = call i32 @fn_str_eq(ptr %t6032, ptr @.str7033)
+ %t6033 = call i32 @lp_str_eq(ptr %t6032, ptr @.str7074)
%t6034 = icmp ne i32 %t6033, 0
br i1 %t6034, label %then1216, label %ifend1218
then1216:
- store ptr @.str7034, ptr %t380
+ store ptr @.str7075, ptr %t380
%t6035 = load ptr, ptr %t387
%t6036 = getelementptr inbounds %LSlice, ptr %t6035, i32 0, i32 1
%t6037 = getelementptr inbounds %LSlice, ptr %t6035, i32 0, i32 2
@@ -72159,7 +72904,7 @@ grow1219:
put1220:
%t6051 = load ptr, ptr %t6038
%t6052 = getelementptr inbounds ptr, ptr %t6051, i32 %t6039
- store ptr @.str7035, ptr %t6052
+ store ptr @.str7076, ptr %t6052
%t6053 = add i32 %t6039, 1
store i32 %t6053, ptr %t6036
%t6054 = load ptr, ptr %t387
@@ -72186,17 +72931,17 @@ grow1221:
put1222:
%t6070 = load ptr, ptr %t6057
%t6071 = getelementptr inbounds ptr, ptr %t6070, i32 %t6058
- store ptr @.str7036, ptr %t6071
+ store ptr @.str7077, ptr %t6071
%t6072 = add i32 %t6058, 1
store i32 %t6072, ptr %t6055
br label %ifend1218
ifend1218:
%t6073 = load ptr, ptr %t1
- %t6074 = call i32 @fn_str_eq(ptr %t6073, ptr @.str7037)
+ %t6074 = call i32 @lp_str_eq(ptr %t6073, ptr @.str7078)
%t6075 = icmp ne i32 %t6074, 0
br i1 %t6075, label %then1223, label %ifend1225
then1223:
- store ptr @.str7038, ptr %t380
+ store ptr @.str7079, ptr %t380
%t6076 = load ptr, ptr %t387
%t6077 = getelementptr inbounds %LSlice, ptr %t6076, i32 0, i32 1
%t6078 = getelementptr inbounds %LSlice, ptr %t6076, i32 0, i32 2
@@ -72221,7 +72966,7 @@ grow1226:
put1227:
%t6092 = load ptr, ptr %t6079
%t6093 = getelementptr inbounds ptr, ptr %t6092, i32 %t6080
- store ptr @.str7039, ptr %t6093
+ store ptr @.str7080, ptr %t6093
%t6094 = add i32 %t6080, 1
store i32 %t6094, ptr %t6077
%t6095 = load ptr, ptr %t387
@@ -72248,7 +72993,7 @@ grow1228:
put1229:
%t6111 = load ptr, ptr %t6098
%t6112 = getelementptr inbounds ptr, ptr %t6111, i32 %t6099
- store ptr @.str7040, ptr %t6112
+ store ptr @.str7081, ptr %t6112
%t6113 = add i32 %t6099, 1
store i32 %t6113, ptr %t6096
%t6114 = load ptr, ptr %t387
@@ -72275,17 +73020,17 @@ grow1230:
put1231:
%t6130 = load ptr, ptr %t6117
%t6131 = getelementptr inbounds ptr, ptr %t6130, i32 %t6118
- store ptr @.str7041, ptr %t6131
+ store ptr @.str7082, ptr %t6131
%t6132 = add i32 %t6118, 1
store i32 %t6132, ptr %t6115
br label %ifend1225
ifend1225:
%t6133 = load ptr, ptr %t1
- %t6134 = call i32 @fn_str_eq(ptr %t6133, ptr @.str7042)
+ %t6134 = call i32 @lp_str_eq(ptr %t6133, ptr @.str7083)
%t6135 = icmp ne i32 %t6134, 0
br i1 %t6135, label %then1232, label %ifend1234
then1232:
- store ptr @.str7043, ptr %t380
+ store ptr @.str7084, ptr %t380
%t6136 = load ptr, ptr %t387
%t6137 = getelementptr inbounds %LSlice, ptr %t6136, i32 0, i32 1
%t6138 = getelementptr inbounds %LSlice, ptr %t6136, i32 0, i32 2
@@ -72310,7 +73055,7 @@ grow1235:
put1236:
%t6152 = load ptr, ptr %t6139
%t6153 = getelementptr inbounds ptr, ptr %t6152, i32 %t6140
- store ptr @.str7044, ptr %t6153
+ store ptr @.str7085, ptr %t6153
%t6154 = add i32 %t6140, 1
store i32 %t6154, ptr %t6137
%t6155 = load ptr, ptr %t387
@@ -72337,17 +73082,17 @@ grow1237:
put1238:
%t6171 = load ptr, ptr %t6158
%t6172 = getelementptr inbounds ptr, ptr %t6171, i32 %t6159
- store ptr @.str7045, ptr %t6172
+ store ptr @.str7086, ptr %t6172
%t6173 = add i32 %t6159, 1
store i32 %t6173, ptr %t6156
br label %ifend1234
ifend1234:
%t6174 = load ptr, ptr %t1
- %t6175 = call i32 @fn_str_eq(ptr %t6174, ptr @.str7046)
+ %t6175 = call i32 @lp_str_eq(ptr %t6174, ptr @.str7087)
%t6176 = icmp ne i32 %t6175, 0
br i1 %t6176, label %then1239, label %ifend1241
then1239:
- store ptr @.str7047, ptr %t380
+ store ptr @.str7088, ptr %t380
%t6177 = load ptr, ptr %t387
%t6178 = getelementptr inbounds %LSlice, ptr %t6177, i32 0, i32 1
%t6179 = getelementptr inbounds %LSlice, ptr %t6177, i32 0, i32 2
@@ -72372,7 +73117,7 @@ grow1242:
put1243:
%t6193 = load ptr, ptr %t6180
%t6194 = getelementptr inbounds ptr, ptr %t6193, i32 %t6181
- store ptr @.str7048, ptr %t6194
+ store ptr @.str7089, ptr %t6194
%t6195 = add i32 %t6181, 1
store i32 %t6195, ptr %t6178
%t6196 = load ptr, ptr %t387
@@ -72399,7 +73144,7 @@ grow1244:
put1245:
%t6212 = load ptr, ptr %t6199
%t6213 = getelementptr inbounds ptr, ptr %t6212, i32 %t6200
- store ptr @.str7049, ptr %t6213
+ store ptr @.str7090, ptr %t6213
%t6214 = add i32 %t6200, 1
store i32 %t6214, ptr %t6197
%t6215 = load ptr, ptr %t387
@@ -72426,17 +73171,17 @@ grow1246:
put1247:
%t6231 = load ptr, ptr %t6218
%t6232 = getelementptr inbounds ptr, ptr %t6231, i32 %t6219
- store ptr @.str7050, ptr %t6232
+ store ptr @.str7091, ptr %t6232
%t6233 = add i32 %t6219, 1
store i32 %t6233, ptr %t6216
br label %ifend1241
ifend1241:
%t6234 = load ptr, ptr %t1
- %t6235 = call i32 @fn_str_eq(ptr %t6234, ptr @.str7051)
+ %t6235 = call i32 @lp_str_eq(ptr %t6234, ptr @.str7092)
%t6236 = icmp ne i32 %t6235, 0
br i1 %t6236, label %then1248, label %ifend1250
then1248:
- store ptr @.str7052, ptr %t380
+ store ptr @.str7093, ptr %t380
%t6237 = load ptr, ptr %t387
%t6238 = getelementptr inbounds %LSlice, ptr %t6237, i32 0, i32 1
%t6239 = getelementptr inbounds %LSlice, ptr %t6237, i32 0, i32 2
@@ -72461,7 +73206,7 @@ grow1251:
put1252:
%t6253 = load ptr, ptr %t6240
%t6254 = getelementptr inbounds ptr, ptr %t6253, i32 %t6241
- store ptr @.str7053, ptr %t6254
+ store ptr @.str7094, ptr %t6254
%t6255 = add i32 %t6241, 1
store i32 %t6255, ptr %t6238
%t6256 = load ptr, ptr %t387
@@ -72488,17 +73233,17 @@ grow1253:
put1254:
%t6272 = load ptr, ptr %t6259
%t6273 = getelementptr inbounds ptr, ptr %t6272, i32 %t6260
- store ptr @.str7054, ptr %t6273
+ store ptr @.str7095, ptr %t6273
%t6274 = add i32 %t6260, 1
store i32 %t6274, ptr %t6257
br label %ifend1250
ifend1250:
%t6275 = load ptr, ptr %t1
- %t6276 = call i32 @fn_str_eq(ptr %t6275, ptr @.str7055)
+ %t6276 = call i32 @lp_str_eq(ptr %t6275, ptr @.str7096)
%t6277 = icmp ne i32 %t6276, 0
br i1 %t6277, label %then1255, label %ifend1257
then1255:
- store ptr @.str7056, ptr %t380
+ store ptr @.str7097, ptr %t380
%t6278 = load ptr, ptr %t387
%t6279 = getelementptr inbounds %LSlice, ptr %t6278, i32 0, i32 1
%t6280 = getelementptr inbounds %LSlice, ptr %t6278, i32 0, i32 2
@@ -72523,7 +73268,7 @@ grow1258:
put1259:
%t6294 = load ptr, ptr %t6281
%t6295 = getelementptr inbounds ptr, ptr %t6294, i32 %t6282
- store ptr @.str7057, ptr %t6295
+ store ptr @.str7098, ptr %t6295
%t6296 = add i32 %t6282, 1
store i32 %t6296, ptr %t6279
%t6297 = load ptr, ptr %t387
@@ -72550,7 +73295,7 @@ grow1260:
put1261:
%t6313 = load ptr, ptr %t6300
%t6314 = getelementptr inbounds ptr, ptr %t6313, i32 %t6301
- store ptr @.str7058, ptr %t6314
+ store ptr @.str7099, ptr %t6314
%t6315 = add i32 %t6301, 1
store i32 %t6315, ptr %t6298
%t6316 = load ptr, ptr %t387
@@ -72577,17 +73322,17 @@ grow1262:
put1263:
%t6332 = load ptr, ptr %t6319
%t6333 = getelementptr inbounds ptr, ptr %t6332, i32 %t6320
- store ptr @.str7059, ptr %t6333
+ store ptr @.str7100, ptr %t6333
%t6334 = add i32 %t6320, 1
store i32 %t6334, ptr %t6317
br label %ifend1257
ifend1257:
%t6335 = load ptr, ptr %t1
- %t6336 = call i32 @fn_str_eq(ptr %t6335, ptr @.str7060)
+ %t6336 = call i32 @lp_str_eq(ptr %t6335, ptr @.str7101)
%t6337 = icmp ne i32 %t6336, 0
br i1 %t6337, label %then1264, label %ifend1266
then1264:
- store ptr @.str7061, ptr %t380
+ store ptr @.str7102, ptr %t380
%t6338 = load ptr, ptr %t387
%t6339 = getelementptr inbounds %LSlice, ptr %t6338, i32 0, i32 1
%t6340 = getelementptr inbounds %LSlice, ptr %t6338, i32 0, i32 2
@@ -72612,17 +73357,17 @@ grow1267:
put1268:
%t6354 = load ptr, ptr %t6341
%t6355 = getelementptr inbounds ptr, ptr %t6354, i32 %t6342
- store ptr @.str7062, ptr %t6355
+ store ptr @.str7103, ptr %t6355
%t6356 = add i32 %t6342, 1
store i32 %t6356, ptr %t6339
br label %ifend1266
ifend1266:
%t6357 = load ptr, ptr %t1
- %t6358 = call i32 @fn_str_eq(ptr %t6357, ptr @.str7063)
+ %t6358 = call i32 @lp_str_eq(ptr %t6357, ptr @.str7104)
%t6359 = icmp ne i32 %t6358, 0
br i1 %t6359, label %then1269, label %ifend1271
then1269:
- store ptr @.str7064, ptr %t380
+ store ptr @.str7105, ptr %t380
%t6360 = load ptr, ptr %t387
%t6361 = getelementptr inbounds %LSlice, ptr %t6360, i32 0, i32 1
%t6362 = getelementptr inbounds %LSlice, ptr %t6360, i32 0, i32 2
@@ -72647,17 +73392,17 @@ grow1272:
put1273:
%t6376 = load ptr, ptr %t6363
%t6377 = getelementptr inbounds ptr, ptr %t6376, i32 %t6364
- store ptr @.str7065, ptr %t6377
+ store ptr @.str7106, ptr %t6377
%t6378 = add i32 %t6364, 1
store i32 %t6378, ptr %t6361
br label %ifend1271
ifend1271:
%t6379 = load ptr, ptr %t1
- %t6380 = call i32 @fn_str_eq(ptr %t6379, ptr @.str7066)
+ %t6380 = call i32 @lp_str_eq(ptr %t6379, ptr @.str7107)
%t6381 = icmp ne i32 %t6380, 0
br i1 %t6381, label %then1274, label %ifend1276
then1274:
- store ptr @.str7067, ptr %t380
+ store ptr @.str7108, ptr %t380
%t6382 = load ptr, ptr %t387
%t6383 = getelementptr inbounds %LSlice, ptr %t6382, i32 0, i32 1
%t6384 = getelementptr inbounds %LSlice, ptr %t6382, i32 0, i32 2
@@ -72682,17 +73427,17 @@ grow1277:
put1278:
%t6398 = load ptr, ptr %t6385
%t6399 = getelementptr inbounds ptr, ptr %t6398, i32 %t6386
- store ptr @.str7068, ptr %t6399
+ store ptr @.str7109, ptr %t6399
%t6400 = add i32 %t6386, 1
store i32 %t6400, ptr %t6383
br label %ifend1276
ifend1276:
%t6401 = load ptr, ptr %t1
- %t6402 = call i32 @fn_str_eq(ptr %t6401, ptr @.str7069)
+ %t6402 = call i32 @lp_str_eq(ptr %t6401, ptr @.str7110)
%t6403 = icmp ne i32 %t6402, 0
br i1 %t6403, label %then1279, label %ifend1281
then1279:
- store ptr @.str7070, ptr %t380
+ store ptr @.str7111, ptr %t380
%t6404 = load ptr, ptr %t387
%t6405 = getelementptr inbounds %LSlice, ptr %t6404, i32 0, i32 1
%t6406 = getelementptr inbounds %LSlice, ptr %t6404, i32 0, i32 2
@@ -72717,17 +73462,17 @@ grow1282:
put1283:
%t6420 = load ptr, ptr %t6407
%t6421 = getelementptr inbounds ptr, ptr %t6420, i32 %t6408
- store ptr @.str7071, ptr %t6421
+ store ptr @.str7112, ptr %t6421
%t6422 = add i32 %t6408, 1
store i32 %t6422, ptr %t6405
br label %ifend1281
ifend1281:
%t6423 = load ptr, ptr %t1
- %t6424 = call i32 @fn_str_eq(ptr %t6423, ptr @.str7072)
+ %t6424 = call i32 @lp_str_eq(ptr %t6423, ptr @.str7113)
%t6425 = icmp ne i32 %t6424, 0
br i1 %t6425, label %then1284, label %ifend1286
then1284:
- store ptr @.str7073, ptr %t380
+ store ptr @.str7114, ptr %t380
%t6426 = load ptr, ptr %t387
%t6427 = getelementptr inbounds %LSlice, ptr %t6426, i32 0, i32 1
%t6428 = getelementptr inbounds %LSlice, ptr %t6426, i32 0, i32 2
@@ -72752,17 +73497,17 @@ grow1287:
put1288:
%t6442 = load ptr, ptr %t6429
%t6443 = getelementptr inbounds ptr, ptr %t6442, i32 %t6430
- store ptr @.str7074, ptr %t6443
+ store ptr @.str7115, ptr %t6443
%t6444 = add i32 %t6430, 1
store i32 %t6444, ptr %t6427
br label %ifend1286
ifend1286:
%t6445 = load ptr, ptr %t1
- %t6446 = call i32 @fn_str_eq(ptr %t6445, ptr @.str7075)
+ %t6446 = call i32 @lp_str_eq(ptr %t6445, ptr @.str7116)
%t6447 = icmp ne i32 %t6446, 0
br i1 %t6447, label %then1289, label %ifend1291
then1289:
- store ptr @.str7076, ptr %t380
+ store ptr @.str7117, ptr %t380
%t6448 = load ptr, ptr %t387
%t6449 = getelementptr inbounds %LSlice, ptr %t6448, i32 0, i32 1
%t6450 = getelementptr inbounds %LSlice, ptr %t6448, i32 0, i32 2
@@ -72787,17 +73532,17 @@ grow1292:
put1293:
%t6464 = load ptr, ptr %t6451
%t6465 = getelementptr inbounds ptr, ptr %t6464, i32 %t6452
- store ptr @.str7077, ptr %t6465
+ store ptr @.str7118, ptr %t6465
%t6466 = add i32 %t6452, 1
store i32 %t6466, ptr %t6449
br label %ifend1291
ifend1291:
%t6467 = load ptr, ptr %t1
- %t6468 = call i32 @fn_str_eq(ptr %t6467, ptr @.str7078)
+ %t6468 = call i32 @lp_str_eq(ptr %t6467, ptr @.str7119)
%t6469 = icmp ne i32 %t6468, 0
br i1 %t6469, label %then1294, label %ifend1296
then1294:
- store ptr @.str7079, ptr %t380
+ store ptr @.str7120, ptr %t380
%t6470 = load ptr, ptr %t387
%t6471 = getelementptr inbounds %LSlice, ptr %t6470, i32 0, i32 1
%t6472 = getelementptr inbounds %LSlice, ptr %t6470, i32 0, i32 2
@@ -72822,7 +73567,7 @@ grow1297:
put1298:
%t6486 = load ptr, ptr %t6473
%t6487 = getelementptr inbounds ptr, ptr %t6486, i32 %t6474
- store ptr @.str7080, ptr %t6487
+ store ptr @.str7121, ptr %t6487
%t6488 = add i32 %t6474, 1
store i32 %t6488, ptr %t6471
%t6489 = load ptr, ptr %t387
@@ -72849,17 +73594,17 @@ grow1299:
put1300:
%t6505 = load ptr, ptr %t6492
%t6506 = getelementptr inbounds ptr, ptr %t6505, i32 %t6493
- store ptr @.str7081, ptr %t6506
+ store ptr @.str7122, ptr %t6506
%t6507 = add i32 %t6493, 1
store i32 %t6507, ptr %t6490
br label %ifend1296
ifend1296:
%t6508 = load ptr, ptr %t1
- %t6509 = call i32 @fn_str_eq(ptr %t6508, ptr @.str7082)
+ %t6509 = call i32 @lp_str_eq(ptr %t6508, ptr @.str7123)
%t6510 = icmp ne i32 %t6509, 0
br i1 %t6510, label %then1301, label %ifend1303
then1301:
- store ptr @.str7083, ptr %t380
+ store ptr @.str7124, ptr %t380
%t6511 = load ptr, ptr %t387
%t6512 = getelementptr inbounds %LSlice, ptr %t6511, i32 0, i32 1
%t6513 = getelementptr inbounds %LSlice, ptr %t6511, i32 0, i32 2
@@ -72884,17 +73629,17 @@ grow1304:
put1305:
%t6527 = load ptr, ptr %t6514
%t6528 = getelementptr inbounds ptr, ptr %t6527, i32 %t6515
- store ptr @.str7084, ptr %t6528
+ store ptr @.str7125, ptr %t6528
%t6529 = add i32 %t6515, 1
store i32 %t6529, ptr %t6512
br label %ifend1303
ifend1303:
%t6530 = load ptr, ptr %t1
- %t6531 = call i32 @fn_str_eq(ptr %t6530, ptr @.str7085)
+ %t6531 = call i32 @lp_str_eq(ptr %t6530, ptr @.str7126)
%t6532 = icmp ne i32 %t6531, 0
br i1 %t6532, label %then1306, label %ifend1308
then1306:
- store ptr @.str7086, ptr %t380
+ store ptr @.str7127, ptr %t380
%t6533 = load ptr, ptr %t387
%t6534 = getelementptr inbounds %LSlice, ptr %t6533, i32 0, i32 1
%t6535 = getelementptr inbounds %LSlice, ptr %t6533, i32 0, i32 2
@@ -72919,7 +73664,7 @@ grow1309:
put1310:
%t6549 = load ptr, ptr %t6536
%t6550 = getelementptr inbounds ptr, ptr %t6549, i32 %t6537
- store ptr @.str7087, ptr %t6550
+ store ptr @.str7128, ptr %t6550
%t6551 = add i32 %t6537, 1
store i32 %t6551, ptr %t6534
%t6552 = load ptr, ptr %t387
@@ -72946,7 +73691,7 @@ grow1311:
put1312:
%t6568 = load ptr, ptr %t6555
%t6569 = getelementptr inbounds ptr, ptr %t6568, i32 %t6556
- store ptr @.str7088, ptr %t6569
+ store ptr @.str7129, ptr %t6569
%t6570 = add i32 %t6556, 1
store i32 %t6570, ptr %t6553
br label %ifend1308
@@ -72954,332 +73699,332 @@ ifend1308:
br label %ifend1210
ifend1210:
%t6571 = load ptr, ptr %t0
- %t6572 = call i32 @fn_str_eq(ptr %t6571, ptr @.str7089)
+ %t6572 = call i32 @lp_str_eq(ptr %t6571, ptr @.str7130)
%t6573 = icmp ne i32 %t6572, 0
br i1 %t6573, label %then1313, label %ifend1315
then1313:
%t6574 = load ptr, ptr %t1
- %t6575 = call i32 @fn_str_eq(ptr %t6574, ptr @.str7090)
+ %t6575 = call i32 @lp_str_eq(ptr %t6574, ptr @.str7131)
%t6576 = icmp ne i32 %t6575, 0
br i1 %t6576, label %then1316, label %ifend1318
then1316:
- store ptr @.str7091, ptr %t380
+ store ptr @.str7132, ptr %t380
br label %ifend1318
ifend1318:
%t6577 = load ptr, ptr %t1
- %t6578 = call i32 @fn_str_eq(ptr %t6577, ptr @.str7092)
+ %t6578 = call i32 @lp_str_eq(ptr %t6577, ptr @.str7133)
%t6579 = icmp ne i32 %t6578, 0
br i1 %t6579, label %then1319, label %ifend1321
then1319:
- store ptr @.str7093, ptr %t380
+ store ptr @.str7134, ptr %t380
br label %ifend1321
ifend1321:
%t6580 = load ptr, ptr %t1
- %t6581 = call i32 @fn_str_eq(ptr %t6580, ptr @.str7094)
+ %t6581 = call i32 @lp_str_eq(ptr %t6580, ptr @.str7135)
%t6582 = icmp ne i32 %t6581, 0
br i1 %t6582, label %then1322, label %ifend1324
then1322:
- store ptr @.str7095, ptr %t380
+ store ptr @.str7136, ptr %t380
br label %ifend1324
ifend1324:
%t6583 = load ptr, ptr %t1
- %t6584 = call i32 @fn_str_eq(ptr %t6583, ptr @.str7096)
+ %t6584 = call i32 @lp_str_eq(ptr %t6583, ptr @.str7137)
%t6585 = icmp ne i32 %t6584, 0
br i1 %t6585, label %then1325, label %ifend1327
then1325:
- store ptr @.str7097, ptr %t380
+ store ptr @.str7138, ptr %t380
br label %ifend1327
ifend1327:
%t6586 = load ptr, ptr %t1
- %t6587 = call i32 @fn_str_eq(ptr %t6586, ptr @.str7098)
+ %t6587 = call i32 @lp_str_eq(ptr %t6586, ptr @.str7139)
%t6588 = icmp ne i32 %t6587, 0
br i1 %t6588, label %then1328, label %ifend1330
then1328:
- store ptr @.str7099, ptr %t380
+ store ptr @.str7140, ptr %t380
br label %ifend1330
ifend1330:
%t6589 = load ptr, ptr %t1
- %t6590 = call i32 @fn_str_eq(ptr %t6589, ptr @.str7100)
+ %t6590 = call i32 @lp_str_eq(ptr %t6589, ptr @.str7141)
%t6591 = icmp ne i32 %t6590, 0
br i1 %t6591, label %then1331, label %ifend1333
then1331:
- store ptr @.str7101, ptr %t380
+ store ptr @.str7142, ptr %t380
br label %ifend1333
ifend1333:
%t6592 = load ptr, ptr %t1
- %t6593 = call i32 @fn_str_eq(ptr %t6592, ptr @.str7102)
+ %t6593 = call i32 @lp_str_eq(ptr %t6592, ptr @.str7143)
%t6594 = icmp ne i32 %t6593, 0
br i1 %t6594, label %then1334, label %ifend1336
then1334:
- store ptr @.str7103, ptr %t380
+ store ptr @.str7144, ptr %t380
br label %ifend1336
ifend1336:
%t6595 = load ptr, ptr %t1
- %t6596 = call i32 @fn_str_eq(ptr %t6595, ptr @.str7104)
+ %t6596 = call i32 @lp_str_eq(ptr %t6595, ptr @.str7145)
%t6597 = icmp ne i32 %t6596, 0
br i1 %t6597, label %then1337, label %ifend1339
then1337:
- store ptr @.str7105, ptr %t380
+ store ptr @.str7146, ptr %t380
br label %ifend1339
ifend1339:
%t6598 = load ptr, ptr %t1
- %t6599 = call i32 @fn_str_eq(ptr %t6598, ptr @.str7106)
+ %t6599 = call i32 @lp_str_eq(ptr %t6598, ptr @.str7147)
%t6600 = icmp ne i32 %t6599, 0
br i1 %t6600, label %then1340, label %ifend1342
then1340:
- store ptr @.str7107, ptr %t380
+ store ptr @.str7148, ptr %t380
br label %ifend1342
ifend1342:
%t6601 = load ptr, ptr %t1
- %t6602 = call i32 @fn_str_eq(ptr %t6601, ptr @.str7108)
+ %t6602 = call i32 @lp_str_eq(ptr %t6601, ptr @.str7149)
%t6603 = icmp ne i32 %t6602, 0
br i1 %t6603, label %then1343, label %ifend1345
then1343:
- store ptr @.str7109, ptr %t380
+ store ptr @.str7150, ptr %t380
br label %ifend1345
ifend1345:
%t6604 = load ptr, ptr %t1
- %t6605 = call i32 @fn_str_eq(ptr %t6604, ptr @.str7110)
+ %t6605 = call i32 @lp_str_eq(ptr %t6604, ptr @.str7151)
%t6606 = icmp ne i32 %t6605, 0
br i1 %t6606, label %then1346, label %ifend1348
then1346:
- store ptr @.str7111, ptr %t380
+ store ptr @.str7152, ptr %t380
br label %ifend1348
ifend1348:
%t6607 = load ptr, ptr %t1
- %t6608 = call i32 @fn_str_eq(ptr %t6607, ptr @.str7112)
+ %t6608 = call i32 @lp_str_eq(ptr %t6607, ptr @.str7153)
%t6609 = icmp ne i32 %t6608, 0
br i1 %t6609, label %then1349, label %ifend1351
then1349:
- store ptr @.str7113, ptr %t380
+ store ptr @.str7154, ptr %t380
br label %ifend1351
ifend1351:
%t6610 = load ptr, ptr %t1
- %t6611 = call i32 @fn_str_eq(ptr %t6610, ptr @.str7114)
+ %t6611 = call i32 @lp_str_eq(ptr %t6610, ptr @.str7155)
%t6612 = icmp ne i32 %t6611, 0
br i1 %t6612, label %then1352, label %ifend1354
then1352:
- store ptr @.str7115, ptr %t380
+ store ptr @.str7156, ptr %t380
br label %ifend1354
ifend1354:
%t6613 = load ptr, ptr %t1
- %t6614 = call i32 @fn_str_eq(ptr %t6613, ptr @.str7116)
+ %t6614 = call i32 @lp_str_eq(ptr %t6613, ptr @.str7157)
%t6615 = icmp ne i32 %t6614, 0
br i1 %t6615, label %then1355, label %ifend1357
then1355:
- store ptr @.str7117, ptr %t380
+ store ptr @.str7158, ptr %t380
br label %ifend1357
ifend1357:
%t6616 = load ptr, ptr %t1
- %t6617 = call i32 @fn_str_eq(ptr %t6616, ptr @.str7118)
+ %t6617 = call i32 @lp_str_eq(ptr %t6616, ptr @.str7159)
%t6618 = icmp ne i32 %t6617, 0
br i1 %t6618, label %then1358, label %ifend1360
then1358:
- store ptr @.str7119, ptr %t380
+ store ptr @.str7160, ptr %t380
br label %ifend1360
ifend1360:
%t6619 = load ptr, ptr %t1
- %t6620 = call i32 @fn_str_eq(ptr %t6619, ptr @.str7120)
+ %t6620 = call i32 @lp_str_eq(ptr %t6619, ptr @.str7161)
%t6621 = icmp ne i32 %t6620, 0
br i1 %t6621, label %then1361, label %ifend1363
then1361:
- store ptr @.str7121, ptr %t380
+ store ptr @.str7162, ptr %t380
br label %ifend1363
ifend1363:
%t6622 = load ptr, ptr %t1
- %t6623 = call i32 @fn_str_eq(ptr %t6622, ptr @.str7122)
+ %t6623 = call i32 @lp_str_eq(ptr %t6622, ptr @.str7163)
%t6624 = icmp ne i32 %t6623, 0
br i1 %t6624, label %then1364, label %ifend1366
then1364:
- store ptr @.str7123, ptr %t380
+ store ptr @.str7164, ptr %t380
br label %ifend1366
ifend1366:
br label %ifend1315
ifend1315:
%t6625 = load ptr, ptr %t0
- %t6626 = call i32 @fn_str_eq(ptr %t6625, ptr @.str7124)
+ %t6626 = call i32 @lp_str_eq(ptr %t6625, ptr @.str7165)
%t6627 = icmp ne i32 %t6626, 0
br i1 %t6627, label %then1367, label %ifend1369
then1367:
%t6628 = load ptr, ptr %t1
- %t6629 = call i32 @fn_str_eq(ptr %t6628, ptr @.str7125)
+ %t6629 = call i32 @lp_str_eq(ptr %t6628, ptr @.str7166)
%t6630 = icmp ne i32 %t6629, 0
br i1 %t6630, label %then1370, label %ifend1372
then1370:
- store ptr @.str7126, ptr %t380
+ store ptr @.str7167, ptr %t380
br label %ifend1372
ifend1372:
%t6631 = load ptr, ptr %t1
- %t6632 = call i32 @fn_str_eq(ptr %t6631, ptr @.str7127)
+ %t6632 = call i32 @lp_str_eq(ptr %t6631, ptr @.str7168)
%t6633 = icmp ne i32 %t6632, 0
br i1 %t6633, label %then1373, label %ifend1375
then1373:
- store ptr @.str7128, ptr %t380
+ store ptr @.str7169, ptr %t380
br label %ifend1375
ifend1375:
%t6634 = load ptr, ptr %t1
- %t6635 = call i32 @fn_str_eq(ptr %t6634, ptr @.str7129)
+ %t6635 = call i32 @lp_str_eq(ptr %t6634, ptr @.str7170)
%t6636 = icmp ne i32 %t6635, 0
br i1 %t6636, label %then1376, label %ifend1378
then1376:
- store ptr @.str7130, ptr %t380
+ store ptr @.str7171, ptr %t380
br label %ifend1378
ifend1378:
%t6637 = load ptr, ptr %t1
- %t6638 = call i32 @fn_str_eq(ptr %t6637, ptr @.str7131)
+ %t6638 = call i32 @lp_str_eq(ptr %t6637, ptr @.str7172)
%t6639 = icmp ne i32 %t6638, 0
br i1 %t6639, label %then1379, label %ifend1381
then1379:
- store ptr @.str7132, ptr %t380
+ store ptr @.str7173, ptr %t380
br label %ifend1381
ifend1381:
%t6640 = load ptr, ptr %t1
- %t6641 = call i32 @fn_str_eq(ptr %t6640, ptr @.str7133)
+ %t6641 = call i32 @lp_str_eq(ptr %t6640, ptr @.str7174)
%t6642 = icmp ne i32 %t6641, 0
br i1 %t6642, label %then1382, label %ifend1384
then1382:
- store ptr @.str7134, ptr %t380
+ store ptr @.str7175, ptr %t380
br label %ifend1384
ifend1384:
%t6643 = load ptr, ptr %t1
- %t6644 = call i32 @fn_str_eq(ptr %t6643, ptr @.str7135)
+ %t6644 = call i32 @lp_str_eq(ptr %t6643, ptr @.str7176)
%t6645 = icmp ne i32 %t6644, 0
br i1 %t6645, label %then1385, label %ifend1387
then1385:
- store ptr @.str7136, ptr %t380
+ store ptr @.str7177, ptr %t380
br label %ifend1387
ifend1387:
%t6646 = load ptr, ptr %t1
- %t6647 = call i32 @fn_str_eq(ptr %t6646, ptr @.str7137)
+ %t6647 = call i32 @lp_str_eq(ptr %t6646, ptr @.str7178)
%t6648 = icmp ne i32 %t6647, 0
br i1 %t6648, label %then1388, label %ifend1390
then1388:
- store ptr @.str7138, ptr %t380
+ store ptr @.str7179, ptr %t380
br label %ifend1390
ifend1390:
%t6649 = load ptr, ptr %t1
- %t6650 = call i32 @fn_str_eq(ptr %t6649, ptr @.str7139)
+ %t6650 = call i32 @lp_str_eq(ptr %t6649, ptr @.str7180)
%t6651 = icmp ne i32 %t6650, 0
br i1 %t6651, label %then1391, label %ifend1393
then1391:
- store ptr @.str7140, ptr %t380
+ store ptr @.str7181, ptr %t380
br label %ifend1393
ifend1393:
%t6652 = load ptr, ptr %t1
- %t6653 = call i32 @fn_str_eq(ptr %t6652, ptr @.str7141)
+ %t6653 = call i32 @lp_str_eq(ptr %t6652, ptr @.str7182)
%t6654 = icmp ne i32 %t6653, 0
br i1 %t6654, label %then1394, label %ifend1396
then1394:
- store ptr @.str7142, ptr %t380
+ store ptr @.str7183, ptr %t380
br label %ifend1396
ifend1396:
br label %ifend1369
ifend1369:
%t6655 = load ptr, ptr %t0
- %t6656 = call i32 @fn_str_eq(ptr %t6655, ptr @.str7143)
+ %t6656 = call i32 @lp_str_eq(ptr %t6655, ptr @.str7184)
%t6657 = icmp ne i32 %t6656, 0
br i1 %t6657, label %then1397, label %ifend1399
then1397:
%t6658 = load ptr, ptr %t1
- %t6659 = call i32 @fn_str_eq(ptr %t6658, ptr @.str7144)
+ %t6659 = call i32 @lp_str_eq(ptr %t6658, ptr @.str7185)
%t6660 = icmp ne i32 %t6659, 0
br i1 %t6660, label %then1400, label %ifend1402
then1400:
- store ptr @.str7145, ptr %t380
+ store ptr @.str7186, ptr %t380
br label %ifend1402
ifend1402:
%t6661 = load ptr, ptr %t1
- %t6662 = call i32 @fn_str_eq(ptr %t6661, ptr @.str7146)
+ %t6662 = call i32 @lp_str_eq(ptr %t6661, ptr @.str7187)
%t6663 = icmp ne i32 %t6662, 0
br i1 %t6663, label %then1403, label %ifend1405
then1403:
- store ptr @.str7147, ptr %t380
+ store ptr @.str7188, ptr %t380
br label %ifend1405
ifend1405:
%t6664 = load ptr, ptr %t1
- %t6665 = call i32 @fn_str_eq(ptr %t6664, ptr @.str7148)
+ %t6665 = call i32 @lp_str_eq(ptr %t6664, ptr @.str7189)
%t6666 = icmp ne i32 %t6665, 0
br i1 %t6666, label %then1406, label %ifend1408
then1406:
- store ptr @.str7149, ptr %t380
+ store ptr @.str7190, ptr %t380
br label %ifend1408
ifend1408:
%t6667 = load ptr, ptr %t1
- %t6668 = call i32 @fn_str_eq(ptr %t6667, ptr @.str7150)
+ %t6668 = call i32 @lp_str_eq(ptr %t6667, ptr @.str7191)
%t6669 = icmp ne i32 %t6668, 0
br i1 %t6669, label %then1409, label %ifend1411
then1409:
- store ptr @.str7151, ptr %t380
+ store ptr @.str7192, ptr %t380
br label %ifend1411
ifend1411:
%t6670 = load ptr, ptr %t1
- %t6671 = call i32 @fn_str_eq(ptr %t6670, ptr @.str7152)
+ %t6671 = call i32 @lp_str_eq(ptr %t6670, ptr @.str7193)
%t6672 = icmp ne i32 %t6671, 0
br i1 %t6672, label %then1412, label %ifend1414
then1412:
- store ptr @.str7153, ptr %t380
+ store ptr @.str7194, ptr %t380
br label %ifend1414
ifend1414:
%t6673 = load ptr, ptr %t1
- %t6674 = call i32 @fn_str_eq(ptr %t6673, ptr @.str7154)
+ %t6674 = call i32 @lp_str_eq(ptr %t6673, ptr @.str7195)
%t6675 = icmp ne i32 %t6674, 0
br i1 %t6675, label %then1415, label %ifend1417
then1415:
- store ptr @.str7155, ptr %t380
+ store ptr @.str7196, ptr %t380
br label %ifend1417
ifend1417:
%t6676 = load ptr, ptr %t1
- %t6677 = call i32 @fn_str_eq(ptr %t6676, ptr @.str7156)
+ %t6677 = call i32 @lp_str_eq(ptr %t6676, ptr @.str7197)
%t6678 = icmp ne i32 %t6677, 0
br i1 %t6678, label %then1418, label %ifend1420
then1418:
- store ptr @.str7157, ptr %t380
+ store ptr @.str7198, ptr %t380
br label %ifend1420
ifend1420:
%t6679 = load ptr, ptr %t1
- %t6680 = call i32 @fn_str_eq(ptr %t6679, ptr @.str7158)
+ %t6680 = call i32 @lp_str_eq(ptr %t6679, ptr @.str7199)
%t6681 = icmp ne i32 %t6680, 0
br i1 %t6681, label %then1421, label %ifend1423
then1421:
- store ptr @.str7159, ptr %t380
+ store ptr @.str7200, ptr %t380
br label %ifend1423
ifend1423:
br label %ifend1399
ifend1399:
%t6682 = load ptr, ptr %t0
- %t6683 = call i32 @fn_str_eq(ptr %t6682, ptr @.str7160)
+ %t6683 = call i32 @lp_str_eq(ptr %t6682, ptr @.str7201)
%t6684 = icmp ne i32 %t6683, 0
br i1 %t6684, label %then1424, label %ifend1426
then1424:
%t6685 = load ptr, ptr %t1
- %t6686 = call i32 @fn_str_eq(ptr %t6685, ptr @.str7161)
+ %t6686 = call i32 @lp_str_eq(ptr %t6685, ptr @.str7202)
%t6687 = icmp ne i32 %t6686, 0
br i1 %t6687, label %then1427, label %ifend1429
then1427:
- store ptr @.str7162, ptr %t380
+ store ptr @.str7203, ptr %t380
br label %ifend1429
ifend1429:
%t6688 = load ptr, ptr %t1
- %t6689 = call i32 @fn_str_eq(ptr %t6688, ptr @.str7163)
+ %t6689 = call i32 @lp_str_eq(ptr %t6688, ptr @.str7204)
%t6690 = icmp ne i32 %t6689, 0
br i1 %t6690, label %then1430, label %ifend1432
then1430:
- store ptr @.str7164, ptr %t380
+ store ptr @.str7205, ptr %t380
br label %ifend1432
ifend1432:
br label %ifend1426
ifend1426:
%t6691 = load ptr, ptr %t0
- %t6692 = call i32 @fn_str_eq(ptr %t6691, ptr @.str7165)
+ %t6692 = call i32 @lp_str_eq(ptr %t6691, ptr @.str7206)
%t6693 = icmp ne i32 %t6692, 0
br i1 %t6693, label %then1433, label %ifend1435
then1433:
%t6694 = load ptr, ptr %t1
- %t6695 = call i32 @fn_str_eq(ptr %t6694, ptr @.str7166)
+ %t6695 = call i32 @lp_str_eq(ptr %t6694, ptr @.str7207)
%t6696 = icmp ne i32 %t6695, 0
br i1 %t6696, label %then1436, label %ifend1438
then1436:
- store ptr @.str7167, ptr %t380
+ store ptr @.str7208, ptr %t380
%t6697 = load ptr, ptr %t387
%t6698 = getelementptr inbounds %LSlice, ptr %t6697, i32 0, i32 1
%t6699 = getelementptr inbounds %LSlice, ptr %t6697, i32 0, i32 2
@@ -73304,17 +74049,17 @@ grow1439:
put1440:
%t6713 = load ptr, ptr %t6700
%t6714 = getelementptr inbounds ptr, ptr %t6713, i32 %t6701
- store ptr @.str7168, ptr %t6714
+ store ptr @.str7209, ptr %t6714
%t6715 = add i32 %t6701, 1
store i32 %t6715, ptr %t6698
br label %ifend1438
ifend1438:
%t6716 = load ptr, ptr %t1
- %t6717 = call i32 @fn_str_eq(ptr %t6716, ptr @.str7169)
+ %t6717 = call i32 @lp_str_eq(ptr %t6716, ptr @.str7210)
%t6718 = icmp ne i32 %t6717, 0
br i1 %t6718, label %then1441, label %ifend1443
then1441:
- store ptr @.str7170, ptr %t380
+ store ptr @.str7211, ptr %t380
%t6719 = load ptr, ptr %t387
%t6720 = getelementptr inbounds %LSlice, ptr %t6719, i32 0, i32 1
%t6721 = getelementptr inbounds %LSlice, ptr %t6719, i32 0, i32 2
@@ -73339,17 +74084,17 @@ grow1444:
put1445:
%t6735 = load ptr, ptr %t6722
%t6736 = getelementptr inbounds ptr, ptr %t6735, i32 %t6723
- store ptr @.str7171, ptr %t6736
+ store ptr @.str7212, ptr %t6736
%t6737 = add i32 %t6723, 1
store i32 %t6737, ptr %t6720
br label %ifend1443
ifend1443:
%t6738 = load ptr, ptr %t1
- %t6739 = call i32 @fn_str_eq(ptr %t6738, ptr @.str7172)
+ %t6739 = call i32 @lp_str_eq(ptr %t6738, ptr @.str7213)
%t6740 = icmp ne i32 %t6739, 0
br i1 %t6740, label %then1446, label %ifend1448
then1446:
- store ptr @.str7173, ptr %t380
+ store ptr @.str7214, ptr %t380
%t6741 = load ptr, ptr %t387
%t6742 = getelementptr inbounds %LSlice, ptr %t6741, i32 0, i32 1
%t6743 = getelementptr inbounds %LSlice, ptr %t6741, i32 0, i32 2
@@ -73374,7 +74119,7 @@ grow1449:
put1450:
%t6757 = load ptr, ptr %t6744
%t6758 = getelementptr inbounds ptr, ptr %t6757, i32 %t6745
- store ptr @.str7174, ptr %t6758
+ store ptr @.str7215, ptr %t6758
%t6759 = add i32 %t6745, 1
store i32 %t6759, ptr %t6742
%t6760 = load ptr, ptr %t387
@@ -73401,17 +74146,17 @@ grow1451:
put1452:
%t6776 = load ptr, ptr %t6763
%t6777 = getelementptr inbounds ptr, ptr %t6776, i32 %t6764
- store ptr @.str7175, ptr %t6777
+ store ptr @.str7216, ptr %t6777
%t6778 = add i32 %t6764, 1
store i32 %t6778, ptr %t6761
br label %ifend1448
ifend1448:
%t6779 = load ptr, ptr %t1
- %t6780 = call i32 @fn_str_eq(ptr %t6779, ptr @.str7176)
+ %t6780 = call i32 @lp_str_eq(ptr %t6779, ptr @.str7217)
%t6781 = icmp ne i32 %t6780, 0
br i1 %t6781, label %then1453, label %ifend1455
then1453:
- store ptr @.str7177, ptr %t380
+ store ptr @.str7218, ptr %t380
%t6782 = load ptr, ptr %t387
%t6783 = getelementptr inbounds %LSlice, ptr %t6782, i32 0, i32 1
%t6784 = getelementptr inbounds %LSlice, ptr %t6782, i32 0, i32 2
@@ -73436,7 +74181,7 @@ grow1456:
put1457:
%t6798 = load ptr, ptr %t6785
%t6799 = getelementptr inbounds ptr, ptr %t6798, i32 %t6786
- store ptr @.str7178, ptr %t6799
+ store ptr @.str7219, ptr %t6799
%t6800 = add i32 %t6786, 1
store i32 %t6800, ptr %t6783
%t6801 = load ptr, ptr %t387
@@ -73463,17 +74208,17 @@ grow1458:
put1459:
%t6817 = load ptr, ptr %t6804
%t6818 = getelementptr inbounds ptr, ptr %t6817, i32 %t6805
- store ptr @.str7179, ptr %t6818
+ store ptr @.str7220, ptr %t6818
%t6819 = add i32 %t6805, 1
store i32 %t6819, ptr %t6802
br label %ifend1455
ifend1455:
%t6820 = load ptr, ptr %t1
- %t6821 = call i32 @fn_str_eq(ptr %t6820, ptr @.str7180)
+ %t6821 = call i32 @lp_str_eq(ptr %t6820, ptr @.str7221)
%t6822 = icmp ne i32 %t6821, 0
br i1 %t6822, label %then1460, label %ifend1462
then1460:
- store ptr @.str7181, ptr %t380
+ store ptr @.str7222, ptr %t380
%t6823 = load ptr, ptr %t387
%t6824 = getelementptr inbounds %LSlice, ptr %t6823, i32 0, i32 1
%t6825 = getelementptr inbounds %LSlice, ptr %t6823, i32 0, i32 2
@@ -73498,7 +74243,7 @@ grow1463:
put1464:
%t6839 = load ptr, ptr %t6826
%t6840 = getelementptr inbounds ptr, ptr %t6839, i32 %t6827
- store ptr @.str7182, ptr %t6840
+ store ptr @.str7223, ptr %t6840
%t6841 = add i32 %t6827, 1
store i32 %t6841, ptr %t6824
%t6842 = load ptr, ptr %t387
@@ -73525,17 +74270,17 @@ grow1465:
put1466:
%t6858 = load ptr, ptr %t6845
%t6859 = getelementptr inbounds ptr, ptr %t6858, i32 %t6846
- store ptr @.str7183, ptr %t6859
+ store ptr @.str7224, ptr %t6859
%t6860 = add i32 %t6846, 1
store i32 %t6860, ptr %t6843
br label %ifend1462
ifend1462:
%t6861 = load ptr, ptr %t1
- %t6862 = call i32 @fn_str_eq(ptr %t6861, ptr @.str7184)
+ %t6862 = call i32 @lp_str_eq(ptr %t6861, ptr @.str7225)
%t6863 = icmp ne i32 %t6862, 0
br i1 %t6863, label %then1467, label %ifend1469
then1467:
- store ptr @.str7185, ptr %t380
+ store ptr @.str7226, ptr %t380
%t6864 = load ptr, ptr %t387
%t6865 = getelementptr inbounds %LSlice, ptr %t6864, i32 0, i32 1
%t6866 = getelementptr inbounds %LSlice, ptr %t6864, i32 0, i32 2
@@ -73560,7 +74305,7 @@ grow1470:
put1471:
%t6880 = load ptr, ptr %t6867
%t6881 = getelementptr inbounds ptr, ptr %t6880, i32 %t6868
- store ptr @.str7186, ptr %t6881
+ store ptr @.str7227, ptr %t6881
%t6882 = add i32 %t6868, 1
store i32 %t6882, ptr %t6865
%t6883 = load ptr, ptr %t387
@@ -73587,17 +74332,17 @@ grow1472:
put1473:
%t6899 = load ptr, ptr %t6886
%t6900 = getelementptr inbounds ptr, ptr %t6899, i32 %t6887
- store ptr @.str7187, ptr %t6900
+ store ptr @.str7228, ptr %t6900
%t6901 = add i32 %t6887, 1
store i32 %t6901, ptr %t6884
br label %ifend1469
ifend1469:
%t6902 = load ptr, ptr %t1
- %t6903 = call i32 @fn_str_eq(ptr %t6902, ptr @.str7188)
+ %t6903 = call i32 @lp_str_eq(ptr %t6902, ptr @.str7229)
%t6904 = icmp ne i32 %t6903, 0
br i1 %t6904, label %then1474, label %ifend1476
then1474:
- store ptr @.str7189, ptr %t380
+ store ptr @.str7230, ptr %t380
%t6905 = load ptr, ptr %t387
%t6906 = getelementptr inbounds %LSlice, ptr %t6905, i32 0, i32 1
%t6907 = getelementptr inbounds %LSlice, ptr %t6905, i32 0, i32 2
@@ -73622,7 +74367,7 @@ grow1477:
put1478:
%t6921 = load ptr, ptr %t6908
%t6922 = getelementptr inbounds ptr, ptr %t6921, i32 %t6909
- store ptr @.str7190, ptr %t6922
+ store ptr @.str7231, ptr %t6922
%t6923 = add i32 %t6909, 1
store i32 %t6923, ptr %t6906
%t6924 = load ptr, ptr %t387
@@ -73649,7 +74394,7 @@ grow1479:
put1480:
%t6940 = load ptr, ptr %t6927
%t6941 = getelementptr inbounds ptr, ptr %t6940, i32 %t6928
- store ptr @.str7191, ptr %t6941
+ store ptr @.str7232, ptr %t6941
%t6942 = add i32 %t6928, 1
store i32 %t6942, ptr %t6925
%t6943 = load ptr, ptr %t387
@@ -73676,17 +74421,17 @@ grow1481:
put1482:
%t6959 = load ptr, ptr %t6946
%t6960 = getelementptr inbounds ptr, ptr %t6959, i32 %t6947
- store ptr @.str7192, ptr %t6960
+ store ptr @.str7233, ptr %t6960
%t6961 = add i32 %t6947, 1
store i32 %t6961, ptr %t6944
br label %ifend1476
ifend1476:
%t6962 = load ptr, ptr %t1
- %t6963 = call i32 @fn_str_eq(ptr %t6962, ptr @.str7193)
+ %t6963 = call i32 @lp_str_eq(ptr %t6962, ptr @.str7234)
%t6964 = icmp ne i32 %t6963, 0
br i1 %t6964, label %then1483, label %ifend1485
then1483:
- store ptr @.str7194, ptr %t380
+ store ptr @.str7235, ptr %t380
%t6965 = load ptr, ptr %t387
%t6966 = getelementptr inbounds %LSlice, ptr %t6965, i32 0, i32 1
%t6967 = getelementptr inbounds %LSlice, ptr %t6965, i32 0, i32 2
@@ -73711,7 +74456,7 @@ grow1486:
put1487:
%t6981 = load ptr, ptr %t6968
%t6982 = getelementptr inbounds ptr, ptr %t6981, i32 %t6969
- store ptr @.str7195, ptr %t6982
+ store ptr @.str7236, ptr %t6982
%t6983 = add i32 %t6969, 1
store i32 %t6983, ptr %t6966
%t6984 = load ptr, ptr %t387
@@ -73738,7 +74483,7 @@ grow1488:
put1489:
%t7000 = load ptr, ptr %t6987
%t7001 = getelementptr inbounds ptr, ptr %t7000, i32 %t6988
- store ptr @.str7196, ptr %t7001
+ store ptr @.str7237, ptr %t7001
%t7002 = add i32 %t6988, 1
store i32 %t7002, ptr %t6985
%t7003 = load ptr, ptr %t387
@@ -73765,17 +74510,17 @@ grow1490:
put1491:
%t7019 = load ptr, ptr %t7006
%t7020 = getelementptr inbounds ptr, ptr %t7019, i32 %t7007
- store ptr @.str7197, ptr %t7020
+ store ptr @.str7238, ptr %t7020
%t7021 = add i32 %t7007, 1
store i32 %t7021, ptr %t7004
br label %ifend1485
ifend1485:
%t7022 = load ptr, ptr %t1
- %t7023 = call i32 @fn_str_eq(ptr %t7022, ptr @.str7198)
+ %t7023 = call i32 @lp_str_eq(ptr %t7022, ptr @.str7239)
%t7024 = icmp ne i32 %t7023, 0
br i1 %t7024, label %then1492, label %ifend1494
then1492:
- store ptr @.str7199, ptr %t380
+ store ptr @.str7240, ptr %t380
%t7025 = load ptr, ptr %t387
%t7026 = getelementptr inbounds %LSlice, ptr %t7025, i32 0, i32 1
%t7027 = getelementptr inbounds %LSlice, ptr %t7025, i32 0, i32 2
@@ -73800,7 +74545,7 @@ grow1495:
put1496:
%t7041 = load ptr, ptr %t7028
%t7042 = getelementptr inbounds ptr, ptr %t7041, i32 %t7029
- store ptr @.str7200, ptr %t7042
+ store ptr @.str7241, ptr %t7042
%t7043 = add i32 %t7029, 1
store i32 %t7043, ptr %t7026
%t7044 = load ptr, ptr %t387
@@ -73827,17 +74572,17 @@ grow1497:
put1498:
%t7060 = load ptr, ptr %t7047
%t7061 = getelementptr inbounds ptr, ptr %t7060, i32 %t7048
- store ptr @.str7201, ptr %t7061
+ store ptr @.str7242, ptr %t7061
%t7062 = add i32 %t7048, 1
store i32 %t7062, ptr %t7045
br label %ifend1494
ifend1494:
%t7063 = load ptr, ptr %t1
- %t7064 = call i32 @fn_str_eq(ptr %t7063, ptr @.str7202)
+ %t7064 = call i32 @lp_str_eq(ptr %t7063, ptr @.str7243)
%t7065 = icmp ne i32 %t7064, 0
br i1 %t7065, label %then1499, label %ifend1501
then1499:
- store ptr @.str7203, ptr %t380
+ store ptr @.str7244, ptr %t380
%t7066 = load ptr, ptr %t387
%t7067 = getelementptr inbounds %LSlice, ptr %t7066, i32 0, i32 1
%t7068 = getelementptr inbounds %LSlice, ptr %t7066, i32 0, i32 2
@@ -73862,17 +74607,17 @@ grow1502:
put1503:
%t7082 = load ptr, ptr %t7069
%t7083 = getelementptr inbounds ptr, ptr %t7082, i32 %t7070
- store ptr @.str7204, ptr %t7083
+ store ptr @.str7245, ptr %t7083
%t7084 = add i32 %t7070, 1
store i32 %t7084, ptr %t7067
br label %ifend1501
ifend1501:
%t7085 = load ptr, ptr %t1
- %t7086 = call i32 @fn_str_eq(ptr %t7085, ptr @.str7205)
+ %t7086 = call i32 @lp_str_eq(ptr %t7085, ptr @.str7246)
%t7087 = icmp ne i32 %t7086, 0
br i1 %t7087, label %then1504, label %ifend1506
then1504:
- store ptr @.str7206, ptr %t380
+ store ptr @.str7247, ptr %t380
%t7088 = load ptr, ptr %t387
%t7089 = getelementptr inbounds %LSlice, ptr %t7088, i32 0, i32 1
%t7090 = getelementptr inbounds %LSlice, ptr %t7088, i32 0, i32 2
@@ -73897,7 +74642,7 @@ grow1507:
put1508:
%t7104 = load ptr, ptr %t7091
%t7105 = getelementptr inbounds ptr, ptr %t7104, i32 %t7092
- store ptr @.str7207, ptr %t7105
+ store ptr @.str7248, ptr %t7105
%t7106 = add i32 %t7092, 1
store i32 %t7106, ptr %t7089
%t7107 = load ptr, ptr %t387
@@ -73924,17 +74669,17 @@ grow1509:
put1510:
%t7123 = load ptr, ptr %t7110
%t7124 = getelementptr inbounds ptr, ptr %t7123, i32 %t7111
- store ptr @.str7208, ptr %t7124
+ store ptr @.str7249, ptr %t7124
%t7125 = add i32 %t7111, 1
store i32 %t7125, ptr %t7108
br label %ifend1506
ifend1506:
%t7126 = load ptr, ptr %t1
- %t7127 = call i32 @fn_str_eq(ptr %t7126, ptr @.str7209)
+ %t7127 = call i32 @lp_str_eq(ptr %t7126, ptr @.str7250)
%t7128 = icmp ne i32 %t7127, 0
br i1 %t7128, label %then1511, label %ifend1513
then1511:
- store ptr @.str7210, ptr %t380
+ store ptr @.str7251, ptr %t380
%t7129 = load ptr, ptr %t387
%t7130 = getelementptr inbounds %LSlice, ptr %t7129, i32 0, i32 1
%t7131 = getelementptr inbounds %LSlice, ptr %t7129, i32 0, i32 2
@@ -73959,7 +74704,7 @@ grow1514:
put1515:
%t7145 = load ptr, ptr %t7132
%t7146 = getelementptr inbounds ptr, ptr %t7145, i32 %t7133
- store ptr @.str7211, ptr %t7146
+ store ptr @.str7252, ptr %t7146
%t7147 = add i32 %t7133, 1
store i32 %t7147, ptr %t7130
%t7148 = load ptr, ptr %t387
@@ -73986,17 +74731,17 @@ grow1516:
put1517:
%t7164 = load ptr, ptr %t7151
%t7165 = getelementptr inbounds ptr, ptr %t7164, i32 %t7152
- store ptr @.str7212, ptr %t7165
+ store ptr @.str7253, ptr %t7165
%t7166 = add i32 %t7152, 1
store i32 %t7166, ptr %t7149
br label %ifend1513
ifend1513:
%t7167 = load ptr, ptr %t1
- %t7168 = call i32 @fn_str_eq(ptr %t7167, ptr @.str7213)
+ %t7168 = call i32 @lp_str_eq(ptr %t7167, ptr @.str7254)
%t7169 = icmp ne i32 %t7168, 0
br i1 %t7169, label %then1518, label %ifend1520
then1518:
- store ptr @.str7214, ptr %t380
+ store ptr @.str7255, ptr %t380
%t7170 = load ptr, ptr %t387
%t7171 = getelementptr inbounds %LSlice, ptr %t7170, i32 0, i32 1
%t7172 = getelementptr inbounds %LSlice, ptr %t7170, i32 0, i32 2
@@ -74021,7 +74766,7 @@ grow1521:
put1522:
%t7186 = load ptr, ptr %t7173
%t7187 = getelementptr inbounds ptr, ptr %t7186, i32 %t7174
- store ptr @.str7215, ptr %t7187
+ store ptr @.str7256, ptr %t7187
%t7188 = add i32 %t7174, 1
store i32 %t7188, ptr %t7171
br label %ifend1520
@@ -74029,16 +74774,16 @@ ifend1520:
br label %ifend1435
ifend1435:
%t7189 = load ptr, ptr %t0
- %t7190 = call i32 @fn_str_eq(ptr %t7189, ptr @.str7216)
+ %t7190 = call i32 @lp_str_eq(ptr %t7189, ptr @.str7257)
%t7191 = icmp ne i32 %t7190, 0
br i1 %t7191, label %then1523, label %ifend1525
then1523:
%t7192 = load ptr, ptr %t1
- %t7193 = call i32 @fn_str_eq(ptr %t7192, ptr @.str7217)
+ %t7193 = call i32 @lp_str_eq(ptr %t7192, ptr @.str7258)
%t7194 = icmp ne i32 %t7193, 0
br i1 %t7194, label %then1526, label %ifend1528
then1526:
- store ptr @.str7218, ptr %t380
+ store ptr @.str7259, ptr %t380
%t7195 = load ptr, ptr %t387
%t7196 = getelementptr inbounds %LSlice, ptr %t7195, i32 0, i32 1
%t7197 = getelementptr inbounds %LSlice, ptr %t7195, i32 0, i32 2
@@ -74063,17 +74808,17 @@ grow1529:
put1530:
%t7211 = load ptr, ptr %t7198
%t7212 = getelementptr inbounds ptr, ptr %t7211, i32 %t7199
- store ptr @.str7219, ptr %t7212
+ store ptr @.str7260, ptr %t7212
%t7213 = add i32 %t7199, 1
store i32 %t7213, ptr %t7196
br label %ifend1528
ifend1528:
%t7214 = load ptr, ptr %t1
- %t7215 = call i32 @fn_str_eq(ptr %t7214, ptr @.str7220)
+ %t7215 = call i32 @lp_str_eq(ptr %t7214, ptr @.str7261)
%t7216 = icmp ne i32 %t7215, 0
br i1 %t7216, label %then1531, label %ifend1533
then1531:
- store ptr @.str7221, ptr %t380
+ store ptr @.str7262, ptr %t380
%t7217 = load ptr, ptr %t387
%t7218 = getelementptr inbounds %LSlice, ptr %t7217, i32 0, i32 1
%t7219 = getelementptr inbounds %LSlice, ptr %t7217, i32 0, i32 2
@@ -74098,17 +74843,17 @@ grow1534:
put1535:
%t7233 = load ptr, ptr %t7220
%t7234 = getelementptr inbounds ptr, ptr %t7233, i32 %t7221
- store ptr @.str7222, ptr %t7234
+ store ptr @.str7263, ptr %t7234
%t7235 = add i32 %t7221, 1
store i32 %t7235, ptr %t7218
br label %ifend1533
ifend1533:
%t7236 = load ptr, ptr %t1
- %t7237 = call i32 @fn_str_eq(ptr %t7236, ptr @.str7223)
+ %t7237 = call i32 @lp_str_eq(ptr %t7236, ptr @.str7264)
%t7238 = icmp ne i32 %t7237, 0
br i1 %t7238, label %then1536, label %ifend1538
then1536:
- store ptr @.str7224, ptr %t380
+ store ptr @.str7265, ptr %t380
%t7239 = load ptr, ptr %t387
%t7240 = getelementptr inbounds %LSlice, ptr %t7239, i32 0, i32 1
%t7241 = getelementptr inbounds %LSlice, ptr %t7239, i32 0, i32 2
@@ -74133,7 +74878,7 @@ grow1539:
put1540:
%t7255 = load ptr, ptr %t7242
%t7256 = getelementptr inbounds ptr, ptr %t7255, i32 %t7243
- store ptr @.str7225, ptr %t7256
+ store ptr @.str7266, ptr %t7256
%t7257 = add i32 %t7243, 1
store i32 %t7257, ptr %t7240
%t7258 = load ptr, ptr %t387
@@ -74160,17 +74905,17 @@ grow1541:
put1542:
%t7274 = load ptr, ptr %t7261
%t7275 = getelementptr inbounds ptr, ptr %t7274, i32 %t7262
- store ptr @.str7226, ptr %t7275
+ store ptr @.str7267, ptr %t7275
%t7276 = add i32 %t7262, 1
store i32 %t7276, ptr %t7259
br label %ifend1538
ifend1538:
%t7277 = load ptr, ptr %t1
- %t7278 = call i32 @fn_str_eq(ptr %t7277, ptr @.str7227)
+ %t7278 = call i32 @lp_str_eq(ptr %t7277, ptr @.str7268)
%t7279 = icmp ne i32 %t7278, 0
br i1 %t7279, label %then1543, label %ifend1545
then1543:
- store ptr @.str7228, ptr %t380
+ store ptr @.str7269, ptr %t380
%t7280 = load ptr, ptr %t387
%t7281 = getelementptr inbounds %LSlice, ptr %t7280, i32 0, i32 1
%t7282 = getelementptr inbounds %LSlice, ptr %t7280, i32 0, i32 2
@@ -74195,7 +74940,7 @@ grow1546:
put1547:
%t7296 = load ptr, ptr %t7283
%t7297 = getelementptr inbounds ptr, ptr %t7296, i32 %t7284
- store ptr @.str7229, ptr %t7297
+ store ptr @.str7270, ptr %t7297
%t7298 = add i32 %t7284, 1
store i32 %t7298, ptr %t7281
%t7299 = load ptr, ptr %t387
@@ -74222,17 +74967,17 @@ grow1548:
put1549:
%t7315 = load ptr, ptr %t7302
%t7316 = getelementptr inbounds ptr, ptr %t7315, i32 %t7303
- store ptr @.str7230, ptr %t7316
+ store ptr @.str7271, ptr %t7316
%t7317 = add i32 %t7303, 1
store i32 %t7317, ptr %t7300
br label %ifend1545
ifend1545:
%t7318 = load ptr, ptr %t1
- %t7319 = call i32 @fn_str_eq(ptr %t7318, ptr @.str7231)
+ %t7319 = call i32 @lp_str_eq(ptr %t7318, ptr @.str7272)
%t7320 = icmp ne i32 %t7319, 0
br i1 %t7320, label %then1550, label %ifend1552
then1550:
- store ptr @.str7232, ptr %t380
+ store ptr @.str7273, ptr %t380
%t7321 = load ptr, ptr %t387
%t7322 = getelementptr inbounds %LSlice, ptr %t7321, i32 0, i32 1
%t7323 = getelementptr inbounds %LSlice, ptr %t7321, i32 0, i32 2
@@ -74257,7 +75002,7 @@ grow1553:
put1554:
%t7337 = load ptr, ptr %t7324
%t7338 = getelementptr inbounds ptr, ptr %t7337, i32 %t7325
- store ptr @.str7233, ptr %t7338
+ store ptr @.str7274, ptr %t7338
%t7339 = add i32 %t7325, 1
store i32 %t7339, ptr %t7322
%t7340 = load ptr, ptr %t387
@@ -74284,17 +75029,17 @@ grow1555:
put1556:
%t7356 = load ptr, ptr %t7343
%t7357 = getelementptr inbounds ptr, ptr %t7356, i32 %t7344
- store ptr @.str7234, ptr %t7357
+ store ptr @.str7275, ptr %t7357
%t7358 = add i32 %t7344, 1
store i32 %t7358, ptr %t7341
br label %ifend1552
ifend1552:
%t7359 = load ptr, ptr %t1
- %t7360 = call i32 @fn_str_eq(ptr %t7359, ptr @.str7235)
+ %t7360 = call i32 @lp_str_eq(ptr %t7359, ptr @.str7276)
%t7361 = icmp ne i32 %t7360, 0
br i1 %t7361, label %then1557, label %ifend1559
then1557:
- store ptr @.str7236, ptr %t380
+ store ptr @.str7277, ptr %t380
%t7362 = load ptr, ptr %t387
%t7363 = getelementptr inbounds %LSlice, ptr %t7362, i32 0, i32 1
%t7364 = getelementptr inbounds %LSlice, ptr %t7362, i32 0, i32 2
@@ -74319,17 +75064,17 @@ grow1560:
put1561:
%t7378 = load ptr, ptr %t7365
%t7379 = getelementptr inbounds ptr, ptr %t7378, i32 %t7366
- store ptr @.str7237, ptr %t7379
+ store ptr @.str7278, ptr %t7379
%t7380 = add i32 %t7366, 1
store i32 %t7380, ptr %t7363
br label %ifend1559
ifend1559:
%t7381 = load ptr, ptr %t1
- %t7382 = call i32 @fn_str_eq(ptr %t7381, ptr @.str7238)
+ %t7382 = call i32 @lp_str_eq(ptr %t7381, ptr @.str7279)
%t7383 = icmp ne i32 %t7382, 0
br i1 %t7383, label %then1562, label %ifend1564
then1562:
- store ptr @.str7239, ptr %t380
+ store ptr @.str7280, ptr %t380
%t7384 = load ptr, ptr %t387
%t7385 = getelementptr inbounds %LSlice, ptr %t7384, i32 0, i32 1
%t7386 = getelementptr inbounds %LSlice, ptr %t7384, i32 0, i32 2
@@ -74354,7 +75099,7 @@ grow1565:
put1566:
%t7400 = load ptr, ptr %t7387
%t7401 = getelementptr inbounds ptr, ptr %t7400, i32 %t7388
- store ptr @.str7240, ptr %t7401
+ store ptr @.str7281, ptr %t7401
%t7402 = add i32 %t7388, 1
store i32 %t7402, ptr %t7385
%t7403 = load ptr, ptr %t387
@@ -74381,17 +75126,17 @@ grow1567:
put1568:
%t7419 = load ptr, ptr %t7406
%t7420 = getelementptr inbounds ptr, ptr %t7419, i32 %t7407
- store ptr @.str7241, ptr %t7420
+ store ptr @.str7282, ptr %t7420
%t7421 = add i32 %t7407, 1
store i32 %t7421, ptr %t7404
br label %ifend1564
ifend1564:
%t7422 = load ptr, ptr %t1
- %t7423 = call i32 @fn_str_eq(ptr %t7422, ptr @.str7242)
+ %t7423 = call i32 @lp_str_eq(ptr %t7422, ptr @.str7283)
%t7424 = icmp ne i32 %t7423, 0
br i1 %t7424, label %then1569, label %ifend1571
then1569:
- store ptr @.str7243, ptr %t380
+ store ptr @.str7284, ptr %t380
%t7425 = load ptr, ptr %t387
%t7426 = getelementptr inbounds %LSlice, ptr %t7425, i32 0, i32 1
%t7427 = getelementptr inbounds %LSlice, ptr %t7425, i32 0, i32 2
@@ -74416,7 +75161,7 @@ grow1572:
put1573:
%t7441 = load ptr, ptr %t7428
%t7442 = getelementptr inbounds ptr, ptr %t7441, i32 %t7429
- store ptr @.str7244, ptr %t7442
+ store ptr @.str7285, ptr %t7442
%t7443 = add i32 %t7429, 1
store i32 %t7443, ptr %t7426
%t7444 = load ptr, ptr %t387
@@ -74443,17 +75188,17 @@ grow1574:
put1575:
%t7460 = load ptr, ptr %t7447
%t7461 = getelementptr inbounds ptr, ptr %t7460, i32 %t7448
- store ptr @.str7245, ptr %t7461
+ store ptr @.str7286, ptr %t7461
%t7462 = add i32 %t7448, 1
store i32 %t7462, ptr %t7445
br label %ifend1571
ifend1571:
%t7463 = load ptr, ptr %t1
- %t7464 = call i32 @fn_str_eq(ptr %t7463, ptr @.str7246)
+ %t7464 = call i32 @lp_str_eq(ptr %t7463, ptr @.str7287)
%t7465 = icmp ne i32 %t7464, 0
br i1 %t7465, label %then1576, label %ifend1578
then1576:
- store ptr @.str7247, ptr %t380
+ store ptr @.str7288, ptr %t380
%t7466 = load ptr, ptr %t387
%t7467 = getelementptr inbounds %LSlice, ptr %t7466, i32 0, i32 1
%t7468 = getelementptr inbounds %LSlice, ptr %t7466, i32 0, i32 2
@@ -74478,7 +75223,7 @@ grow1579:
put1580:
%t7482 = load ptr, ptr %t7469
%t7483 = getelementptr inbounds ptr, ptr %t7482, i32 %t7470
- store ptr @.str7248, ptr %t7483
+ store ptr @.str7289, ptr %t7483
%t7484 = add i32 %t7470, 1
store i32 %t7484, ptr %t7467
%t7485 = load ptr, ptr %t387
@@ -74505,17 +75250,17 @@ grow1581:
put1582:
%t7501 = load ptr, ptr %t7488
%t7502 = getelementptr inbounds ptr, ptr %t7501, i32 %t7489
- store ptr @.str7249, ptr %t7502
+ store ptr @.str7290, ptr %t7502
%t7503 = add i32 %t7489, 1
store i32 %t7503, ptr %t7486
br label %ifend1578
ifend1578:
%t7504 = load ptr, ptr %t1
- %t7505 = call i32 @fn_str_eq(ptr %t7504, ptr @.str7250)
+ %t7505 = call i32 @lp_str_eq(ptr %t7504, ptr @.str7291)
%t7506 = icmp ne i32 %t7505, 0
br i1 %t7506, label %then1583, label %ifend1585
then1583:
- store ptr @.str7251, ptr %t380
+ store ptr @.str7292, ptr %t380
%t7507 = load ptr, ptr %t387
%t7508 = getelementptr inbounds %LSlice, ptr %t7507, i32 0, i32 1
%t7509 = getelementptr inbounds %LSlice, ptr %t7507, i32 0, i32 2
@@ -74540,7 +75285,7 @@ grow1586:
put1587:
%t7523 = load ptr, ptr %t7510
%t7524 = getelementptr inbounds ptr, ptr %t7523, i32 %t7511
- store ptr @.str7252, ptr %t7524
+ store ptr @.str7293, ptr %t7524
%t7525 = add i32 %t7511, 1
store i32 %t7525, ptr %t7508
%t7526 = load ptr, ptr %t387
@@ -74567,17 +75312,17 @@ grow1588:
put1589:
%t7542 = load ptr, ptr %t7529
%t7543 = getelementptr inbounds ptr, ptr %t7542, i32 %t7530
- store ptr @.str7253, ptr %t7543
+ store ptr @.str7294, ptr %t7543
%t7544 = add i32 %t7530, 1
store i32 %t7544, ptr %t7527
br label %ifend1585
ifend1585:
%t7545 = load ptr, ptr %t1
- %t7546 = call i32 @fn_str_eq(ptr %t7545, ptr @.str7254)
+ %t7546 = call i32 @lp_str_eq(ptr %t7545, ptr @.str7295)
%t7547 = icmp ne i32 %t7546, 0
br i1 %t7547, label %then1590, label %ifend1592
then1590:
- store ptr @.str7255, ptr %t380
+ store ptr @.str7296, ptr %t380
%t7548 = load ptr, ptr %t387
%t7549 = getelementptr inbounds %LSlice, ptr %t7548, i32 0, i32 1
%t7550 = getelementptr inbounds %LSlice, ptr %t7548, i32 0, i32 2
@@ -74602,7 +75347,7 @@ grow1593:
put1594:
%t7564 = load ptr, ptr %t7551
%t7565 = getelementptr inbounds ptr, ptr %t7564, i32 %t7552
- store ptr @.str7256, ptr %t7565
+ store ptr @.str7297, ptr %t7565
%t7566 = add i32 %t7552, 1
store i32 %t7566, ptr %t7549
%t7567 = load ptr, ptr %t387
@@ -74629,17 +75374,17 @@ grow1595:
put1596:
%t7583 = load ptr, ptr %t7570
%t7584 = getelementptr inbounds ptr, ptr %t7583, i32 %t7571
- store ptr @.str7257, ptr %t7584
+ store ptr @.str7298, ptr %t7584
%t7585 = add i32 %t7571, 1
store i32 %t7585, ptr %t7568
br label %ifend1592
ifend1592:
%t7586 = load ptr, ptr %t1
- %t7587 = call i32 @fn_str_eq(ptr %t7586, ptr @.str7258)
+ %t7587 = call i32 @lp_str_eq(ptr %t7586, ptr @.str7299)
%t7588 = icmp ne i32 %t7587, 0
br i1 %t7588, label %then1597, label %ifend1599
then1597:
- store ptr @.str7259, ptr %t380
+ store ptr @.str7300, ptr %t380
%t7589 = load ptr, ptr %t387
%t7590 = getelementptr inbounds %LSlice, ptr %t7589, i32 0, i32 1
%t7591 = getelementptr inbounds %LSlice, ptr %t7589, i32 0, i32 2
@@ -74664,17 +75409,17 @@ grow1600:
put1601:
%t7605 = load ptr, ptr %t7592
%t7606 = getelementptr inbounds ptr, ptr %t7605, i32 %t7593
- store ptr @.str7260, ptr %t7606
+ store ptr @.str7301, ptr %t7606
%t7607 = add i32 %t7593, 1
store i32 %t7607, ptr %t7590
br label %ifend1599
ifend1599:
%t7608 = load ptr, ptr %t1
- %t7609 = call i32 @fn_str_eq(ptr %t7608, ptr @.str7261)
+ %t7609 = call i32 @lp_str_eq(ptr %t7608, ptr @.str7302)
%t7610 = icmp ne i32 %t7609, 0
br i1 %t7610, label %then1602, label %ifend1604
then1602:
- store ptr @.str7262, ptr %t380
+ store ptr @.str7303, ptr %t380
%t7611 = load ptr, ptr %t387
%t7612 = getelementptr inbounds %LSlice, ptr %t7611, i32 0, i32 1
%t7613 = getelementptr inbounds %LSlice, ptr %t7611, i32 0, i32 2
@@ -74699,17 +75444,17 @@ grow1605:
put1606:
%t7627 = load ptr, ptr %t7614
%t7628 = getelementptr inbounds ptr, ptr %t7627, i32 %t7615
- store ptr @.str7263, ptr %t7628
+ store ptr @.str7304, ptr %t7628
%t7629 = add i32 %t7615, 1
store i32 %t7629, ptr %t7612
br label %ifend1604
ifend1604:
%t7630 = load ptr, ptr %t1
- %t7631 = call i32 @fn_str_eq(ptr %t7630, ptr @.str7264)
+ %t7631 = call i32 @lp_str_eq(ptr %t7630, ptr @.str7305)
%t7632 = icmp ne i32 %t7631, 0
br i1 %t7632, label %then1607, label %ifend1609
then1607:
- store ptr @.str7265, ptr %t380
+ store ptr @.str7306, ptr %t380
%t7633 = load ptr, ptr %t387
%t7634 = getelementptr inbounds %LSlice, ptr %t7633, i32 0, i32 1
%t7635 = getelementptr inbounds %LSlice, ptr %t7633, i32 0, i32 2
@@ -74734,7 +75479,7 @@ grow1610:
put1611:
%t7649 = load ptr, ptr %t7636
%t7650 = getelementptr inbounds ptr, ptr %t7649, i32 %t7637
- store ptr @.str7266, ptr %t7650
+ store ptr @.str7307, ptr %t7650
%t7651 = add i32 %t7637, 1
store i32 %t7651, ptr %t7634
br label %ifend1609
@@ -74742,16 +75487,16 @@ ifend1609:
br label %ifend1525
ifend1525:
%t7652 = load ptr, ptr %t0
- %t7653 = call i32 @fn_str_eq(ptr %t7652, ptr @.str7267)
+ %t7653 = call i32 @lp_str_eq(ptr %t7652, ptr @.str7308)
%t7654 = icmp ne i32 %t7653, 0
br i1 %t7654, label %then1612, label %ifend1614
then1612:
%t7655 = load ptr, ptr %t1
- %t7656 = call i32 @fn_str_eq(ptr %t7655, ptr @.str7268)
+ %t7656 = call i32 @lp_str_eq(ptr %t7655, ptr @.str7309)
%t7657 = icmp ne i32 %t7656, 0
br i1 %t7657, label %then1615, label %ifend1617
then1615:
- store ptr @.str7269, ptr %t380
+ store ptr @.str7310, ptr %t380
%t7658 = load ptr, ptr %t387
%t7659 = getelementptr inbounds %LSlice, ptr %t7658, i32 0, i32 1
%t7660 = getelementptr inbounds %LSlice, ptr %t7658, i32 0, i32 2
@@ -74776,17 +75521,17 @@ grow1618:
put1619:
%t7674 = load ptr, ptr %t7661
%t7675 = getelementptr inbounds ptr, ptr %t7674, i32 %t7662
- store ptr @.str7270, ptr %t7675
+ store ptr @.str7311, ptr %t7675
%t7676 = add i32 %t7662, 1
store i32 %t7676, ptr %t7659
br label %ifend1617
ifend1617:
%t7677 = load ptr, ptr %t1
- %t7678 = call i32 @fn_str_eq(ptr %t7677, ptr @.str7271)
+ %t7678 = call i32 @lp_str_eq(ptr %t7677, ptr @.str7312)
%t7679 = icmp ne i32 %t7678, 0
br i1 %t7679, label %then1620, label %ifend1622
then1620:
- store ptr @.str7272, ptr %t380
+ store ptr @.str7313, ptr %t380
%t7680 = load ptr, ptr %t387
%t7681 = getelementptr inbounds %LSlice, ptr %t7680, i32 0, i32 1
%t7682 = getelementptr inbounds %LSlice, ptr %t7680, i32 0, i32 2
@@ -74811,17 +75556,17 @@ grow1623:
put1624:
%t7696 = load ptr, ptr %t7683
%t7697 = getelementptr inbounds ptr, ptr %t7696, i32 %t7684
- store ptr @.str7273, ptr %t7697
+ store ptr @.str7314, ptr %t7697
%t7698 = add i32 %t7684, 1
store i32 %t7698, ptr %t7681
br label %ifend1622
ifend1622:
%t7699 = load ptr, ptr %t1
- %t7700 = call i32 @fn_str_eq(ptr %t7699, ptr @.str7274)
+ %t7700 = call i32 @lp_str_eq(ptr %t7699, ptr @.str7315)
%t7701 = icmp ne i32 %t7700, 0
br i1 %t7701, label %then1625, label %ifend1627
then1625:
- store ptr @.str7275, ptr %t380
+ store ptr @.str7316, ptr %t380
%t7702 = load ptr, ptr %t387
%t7703 = getelementptr inbounds %LSlice, ptr %t7702, i32 0, i32 1
%t7704 = getelementptr inbounds %LSlice, ptr %t7702, i32 0, i32 2
@@ -74846,7 +75591,7 @@ grow1628:
put1629:
%t7718 = load ptr, ptr %t7705
%t7719 = getelementptr inbounds ptr, ptr %t7718, i32 %t7706
- store ptr @.str7276, ptr %t7719
+ store ptr @.str7317, ptr %t7719
%t7720 = add i32 %t7706, 1
store i32 %t7720, ptr %t7703
%t7721 = load ptr, ptr %t387
@@ -74873,17 +75618,17 @@ grow1630:
put1631:
%t7737 = load ptr, ptr %t7724
%t7738 = getelementptr inbounds ptr, ptr %t7737, i32 %t7725
- store ptr @.str7277, ptr %t7738
+ store ptr @.str7318, ptr %t7738
%t7739 = add i32 %t7725, 1
store i32 %t7739, ptr %t7722
br label %ifend1627
ifend1627:
%t7740 = load ptr, ptr %t1
- %t7741 = call i32 @fn_str_eq(ptr %t7740, ptr @.str7278)
+ %t7741 = call i32 @lp_str_eq(ptr %t7740, ptr @.str7319)
%t7742 = icmp ne i32 %t7741, 0
br i1 %t7742, label %then1632, label %ifend1634
then1632:
- store ptr @.str7279, ptr %t380
+ store ptr @.str7320, ptr %t380
%t7743 = load ptr, ptr %t387
%t7744 = getelementptr inbounds %LSlice, ptr %t7743, i32 0, i32 1
%t7745 = getelementptr inbounds %LSlice, ptr %t7743, i32 0, i32 2
@@ -74908,7 +75653,7 @@ grow1635:
put1636:
%t7759 = load ptr, ptr %t7746
%t7760 = getelementptr inbounds ptr, ptr %t7759, i32 %t7747
- store ptr @.str7280, ptr %t7760
+ store ptr @.str7321, ptr %t7760
%t7761 = add i32 %t7747, 1
store i32 %t7761, ptr %t7744
%t7762 = load ptr, ptr %t387
@@ -74935,17 +75680,17 @@ grow1637:
put1638:
%t7778 = load ptr, ptr %t7765
%t7779 = getelementptr inbounds ptr, ptr %t7778, i32 %t7766
- store ptr @.str7281, ptr %t7779
+ store ptr @.str7322, ptr %t7779
%t7780 = add i32 %t7766, 1
store i32 %t7780, ptr %t7763
br label %ifend1634
ifend1634:
%t7781 = load ptr, ptr %t1
- %t7782 = call i32 @fn_str_eq(ptr %t7781, ptr @.str7282)
+ %t7782 = call i32 @lp_str_eq(ptr %t7781, ptr @.str7323)
%t7783 = icmp ne i32 %t7782, 0
br i1 %t7783, label %then1639, label %ifend1641
then1639:
- store ptr @.str7283, ptr %t380
+ store ptr @.str7324, ptr %t380
%t7784 = load ptr, ptr %t387
%t7785 = getelementptr inbounds %LSlice, ptr %t7784, i32 0, i32 1
%t7786 = getelementptr inbounds %LSlice, ptr %t7784, i32 0, i32 2
@@ -74970,7 +75715,7 @@ grow1642:
put1643:
%t7800 = load ptr, ptr %t7787
%t7801 = getelementptr inbounds ptr, ptr %t7800, i32 %t7788
- store ptr @.str7284, ptr %t7801
+ store ptr @.str7325, ptr %t7801
%t7802 = add i32 %t7788, 1
store i32 %t7802, ptr %t7785
%t7803 = load ptr, ptr %t387
@@ -74997,17 +75742,17 @@ grow1644:
put1645:
%t7819 = load ptr, ptr %t7806
%t7820 = getelementptr inbounds ptr, ptr %t7819, i32 %t7807
- store ptr @.str7285, ptr %t7820
+ store ptr @.str7326, ptr %t7820
%t7821 = add i32 %t7807, 1
store i32 %t7821, ptr %t7804
br label %ifend1641
ifend1641:
%t7822 = load ptr, ptr %t1
- %t7823 = call i32 @fn_str_eq(ptr %t7822, ptr @.str7286)
+ %t7823 = call i32 @lp_str_eq(ptr %t7822, ptr @.str7327)
%t7824 = icmp ne i32 %t7823, 0
br i1 %t7824, label %then1646, label %ifend1648
then1646:
- store ptr @.str7287, ptr %t380
+ store ptr @.str7328, ptr %t380
%t7825 = load ptr, ptr %t387
%t7826 = getelementptr inbounds %LSlice, ptr %t7825, i32 0, i32 1
%t7827 = getelementptr inbounds %LSlice, ptr %t7825, i32 0, i32 2
@@ -75032,17 +75777,17 @@ grow1649:
put1650:
%t7841 = load ptr, ptr %t7828
%t7842 = getelementptr inbounds ptr, ptr %t7841, i32 %t7829
- store ptr @.str7288, ptr %t7842
+ store ptr @.str7329, ptr %t7842
%t7843 = add i32 %t7829, 1
store i32 %t7843, ptr %t7826
br label %ifend1648
ifend1648:
%t7844 = load ptr, ptr %t1
- %t7845 = call i32 @fn_str_eq(ptr %t7844, ptr @.str7289)
+ %t7845 = call i32 @lp_str_eq(ptr %t7844, ptr @.str7330)
%t7846 = icmp ne i32 %t7845, 0
br i1 %t7846, label %then1651, label %ifend1653
then1651:
- store ptr @.str7290, ptr %t380
+ store ptr @.str7331, ptr %t380
%t7847 = load ptr, ptr %t387
%t7848 = getelementptr inbounds %LSlice, ptr %t7847, i32 0, i32 1
%t7849 = getelementptr inbounds %LSlice, ptr %t7847, i32 0, i32 2
@@ -75067,7 +75812,7 @@ grow1654:
put1655:
%t7863 = load ptr, ptr %t7850
%t7864 = getelementptr inbounds ptr, ptr %t7863, i32 %t7851
- store ptr @.str7291, ptr %t7864
+ store ptr @.str7332, ptr %t7864
%t7865 = add i32 %t7851, 1
store i32 %t7865, ptr %t7848
%t7866 = load ptr, ptr %t387
@@ -75094,17 +75839,17 @@ grow1656:
put1657:
%t7882 = load ptr, ptr %t7869
%t7883 = getelementptr inbounds ptr, ptr %t7882, i32 %t7870
- store ptr @.str7292, ptr %t7883
+ store ptr @.str7333, ptr %t7883
%t7884 = add i32 %t7870, 1
store i32 %t7884, ptr %t7867
br label %ifend1653
ifend1653:
%t7885 = load ptr, ptr %t1
- %t7886 = call i32 @fn_str_eq(ptr %t7885, ptr @.str7293)
+ %t7886 = call i32 @lp_str_eq(ptr %t7885, ptr @.str7334)
%t7887 = icmp ne i32 %t7886, 0
br i1 %t7887, label %then1658, label %ifend1660
then1658:
- store ptr @.str7294, ptr %t380
+ store ptr @.str7335, ptr %t380
%t7888 = load ptr, ptr %t387
%t7889 = getelementptr inbounds %LSlice, ptr %t7888, i32 0, i32 1
%t7890 = getelementptr inbounds %LSlice, ptr %t7888, i32 0, i32 2
@@ -75129,7 +75874,7 @@ grow1661:
put1662:
%t7904 = load ptr, ptr %t7891
%t7905 = getelementptr inbounds ptr, ptr %t7904, i32 %t7892
- store ptr @.str7295, ptr %t7905
+ store ptr @.str7336, ptr %t7905
%t7906 = add i32 %t7892, 1
store i32 %t7906, ptr %t7889
%t7907 = load ptr, ptr %t387
@@ -75156,17 +75901,17 @@ grow1663:
put1664:
%t7923 = load ptr, ptr %t7910
%t7924 = getelementptr inbounds ptr, ptr %t7923, i32 %t7911
- store ptr @.str7296, ptr %t7924
+ store ptr @.str7337, ptr %t7924
%t7925 = add i32 %t7911, 1
store i32 %t7925, ptr %t7908
br label %ifend1660
ifend1660:
%t7926 = load ptr, ptr %t1
- %t7927 = call i32 @fn_str_eq(ptr %t7926, ptr @.str7297)
+ %t7927 = call i32 @lp_str_eq(ptr %t7926, ptr @.str7338)
%t7928 = icmp ne i32 %t7927, 0
br i1 %t7928, label %then1665, label %ifend1667
then1665:
- store ptr @.str7298, ptr %t380
+ store ptr @.str7339, ptr %t380
%t7929 = load ptr, ptr %t387
%t7930 = getelementptr inbounds %LSlice, ptr %t7929, i32 0, i32 1
%t7931 = getelementptr inbounds %LSlice, ptr %t7929, i32 0, i32 2
@@ -75191,17 +75936,17 @@ grow1668:
put1669:
%t7945 = load ptr, ptr %t7932
%t7946 = getelementptr inbounds ptr, ptr %t7945, i32 %t7933
- store ptr @.str7299, ptr %t7946
+ store ptr @.str7340, ptr %t7946
%t7947 = add i32 %t7933, 1
store i32 %t7947, ptr %t7930
br label %ifend1667
ifend1667:
%t7948 = load ptr, ptr %t1
- %t7949 = call i32 @fn_str_eq(ptr %t7948, ptr @.str7300)
+ %t7949 = call i32 @lp_str_eq(ptr %t7948, ptr @.str7341)
%t7950 = icmp ne i32 %t7949, 0
br i1 %t7950, label %then1670, label %ifend1672
then1670:
- store ptr @.str7301, ptr %t380
+ store ptr @.str7342, ptr %t380
%t7951 = load ptr, ptr %t387
%t7952 = getelementptr inbounds %LSlice, ptr %t7951, i32 0, i32 1
%t7953 = getelementptr inbounds %LSlice, ptr %t7951, i32 0, i32 2
@@ -75226,7 +75971,7 @@ grow1673:
put1674:
%t7967 = load ptr, ptr %t7954
%t7968 = getelementptr inbounds ptr, ptr %t7967, i32 %t7955
- store ptr @.str7302, ptr %t7968
+ store ptr @.str7343, ptr %t7968
%t7969 = add i32 %t7955, 1
store i32 %t7969, ptr %t7952
%t7970 = load ptr, ptr %t387
@@ -75253,17 +75998,17 @@ grow1675:
put1676:
%t7986 = load ptr, ptr %t7973
%t7987 = getelementptr inbounds ptr, ptr %t7986, i32 %t7974
- store ptr @.str7303, ptr %t7987
+ store ptr @.str7344, ptr %t7987
%t7988 = add i32 %t7974, 1
store i32 %t7988, ptr %t7971
br label %ifend1672
ifend1672:
%t7989 = load ptr, ptr %t1
- %t7990 = call i32 @fn_str_eq(ptr %t7989, ptr @.str7304)
+ %t7990 = call i32 @lp_str_eq(ptr %t7989, ptr @.str7345)
%t7991 = icmp ne i32 %t7990, 0
br i1 %t7991, label %then1677, label %ifend1679
then1677:
- store ptr @.str7305, ptr %t380
+ store ptr @.str7346, ptr %t380
%t7992 = load ptr, ptr %t387
%t7993 = getelementptr inbounds %LSlice, ptr %t7992, i32 0, i32 1
%t7994 = getelementptr inbounds %LSlice, ptr %t7992, i32 0, i32 2
@@ -75288,7 +76033,7 @@ grow1680:
put1681:
%t8008 = load ptr, ptr %t7995
%t8009 = getelementptr inbounds ptr, ptr %t8008, i32 %t7996
- store ptr @.str7306, ptr %t8009
+ store ptr @.str7347, ptr %t8009
%t8010 = add i32 %t7996, 1
store i32 %t8010, ptr %t7993
br label %ifend1679
@@ -75296,24 +76041,24 @@ ifend1679:
br label %ifend1614
ifend1614:
%t8011 = load ptr, ptr %t0
- %t8012 = call i32 @fn_str_eq(ptr %t8011, ptr @.str7307)
+ %t8012 = call i32 @lp_str_eq(ptr %t8011, ptr @.str7348)
%t8013 = icmp ne i32 %t8012, 0
br i1 %t8013, label %then1682, label %ifend1684
then1682:
%t8014 = load ptr, ptr %t1
- %t8015 = call i32 @fn_str_eq(ptr %t8014, ptr @.str7308)
+ %t8015 = call i32 @lp_str_eq(ptr %t8014, ptr @.str7349)
%t8016 = icmp ne i32 %t8015, 0
br i1 %t8016, label %then1685, label %ifend1687
then1685:
- store ptr @.str7309, ptr %t380
+ store ptr @.str7350, ptr %t380
br label %ifend1687
ifend1687:
%t8017 = load ptr, ptr %t1
- %t8018 = call i32 @fn_str_eq(ptr %t8017, ptr @.str7310)
+ %t8018 = call i32 @lp_str_eq(ptr %t8017, ptr @.str7351)
%t8019 = icmp ne i32 %t8018, 0
br i1 %t8019, label %then1688, label %ifend1690
then1688:
- store ptr @.str7311, ptr %t380
+ store ptr @.str7352, ptr %t380
%t8020 = load ptr, ptr %t387
%t8021 = getelementptr inbounds %LSlice, ptr %t8020, i32 0, i32 1
%t8022 = getelementptr inbounds %LSlice, ptr %t8020, i32 0, i32 2
@@ -75338,7 +76083,7 @@ grow1691:
put1692:
%t8036 = load ptr, ptr %t8023
%t8037 = getelementptr inbounds ptr, ptr %t8036, i32 %t8024
- store ptr @.str7312, ptr %t8037
+ store ptr @.str7353, ptr %t8037
%t8038 = add i32 %t8024, 1
store i32 %t8038, ptr %t8021
%t8039 = load ptr, ptr %t387
@@ -75365,7 +76110,7 @@ grow1693:
put1694:
%t8055 = load ptr, ptr %t8042
%t8056 = getelementptr inbounds ptr, ptr %t8055, i32 %t8043
- store ptr @.str7313, ptr %t8056
+ store ptr @.str7354, ptr %t8056
%t8057 = add i32 %t8043, 1
store i32 %t8057, ptr %t8040
%t8058 = load ptr, ptr %t387
@@ -75392,17 +76137,17 @@ grow1695:
put1696:
%t8074 = load ptr, ptr %t8061
%t8075 = getelementptr inbounds ptr, ptr %t8074, i32 %t8062
- store ptr @.str7314, ptr %t8075
+ store ptr @.str7355, ptr %t8075
%t8076 = add i32 %t8062, 1
store i32 %t8076, ptr %t8059
br label %ifend1690
ifend1690:
%t8077 = load ptr, ptr %t1
- %t8078 = call i32 @fn_str_eq(ptr %t8077, ptr @.str7315)
+ %t8078 = call i32 @lp_str_eq(ptr %t8077, ptr @.str7356)
%t8079 = icmp ne i32 %t8078, 0
br i1 %t8079, label %then1697, label %ifend1699
then1697:
- store ptr @.str7316, ptr %t380
+ store ptr @.str7357, ptr %t380
%t8080 = load ptr, ptr %t387
%t8081 = getelementptr inbounds %LSlice, ptr %t8080, i32 0, i32 1
%t8082 = getelementptr inbounds %LSlice, ptr %t8080, i32 0, i32 2
@@ -75427,7 +76172,7 @@ grow1700:
put1701:
%t8096 = load ptr, ptr %t8083
%t8097 = getelementptr inbounds ptr, ptr %t8096, i32 %t8084
- store ptr @.str7317, ptr %t8097
+ store ptr @.str7358, ptr %t8097
%t8098 = add i32 %t8084, 1
store i32 %t8098, ptr %t8081
%t8099 = load ptr, ptr %t387
@@ -75454,17 +76199,17 @@ grow1702:
put1703:
%t8115 = load ptr, ptr %t8102
%t8116 = getelementptr inbounds ptr, ptr %t8115, i32 %t8103
- store ptr @.str7318, ptr %t8116
+ store ptr @.str7359, ptr %t8116
%t8117 = add i32 %t8103, 1
store i32 %t8117, ptr %t8100
br label %ifend1699
ifend1699:
%t8118 = load ptr, ptr %t1
- %t8119 = call i32 @fn_str_eq(ptr %t8118, ptr @.str7319)
+ %t8119 = call i32 @lp_str_eq(ptr %t8118, ptr @.str7360)
%t8120 = icmp ne i32 %t8119, 0
br i1 %t8120, label %then1704, label %ifend1706
then1704:
- store ptr @.str7320, ptr %t380
+ store ptr @.str7361, ptr %t380
%t8121 = load ptr, ptr %t387
%t8122 = getelementptr inbounds %LSlice, ptr %t8121, i32 0, i32 1
%t8123 = getelementptr inbounds %LSlice, ptr %t8121, i32 0, i32 2
@@ -75489,7 +76234,7 @@ grow1707:
put1708:
%t8137 = load ptr, ptr %t8124
%t8138 = getelementptr inbounds ptr, ptr %t8137, i32 %t8125
- store ptr @.str7321, ptr %t8138
+ store ptr @.str7362, ptr %t8138
%t8139 = add i32 %t8125, 1
store i32 %t8139, ptr %t8122
%t8140 = load ptr, ptr %t387
@@ -75516,7 +76261,7 @@ grow1709:
put1710:
%t8156 = load ptr, ptr %t8143
%t8157 = getelementptr inbounds ptr, ptr %t8156, i32 %t8144
- store ptr @.str7322, ptr %t8157
+ store ptr @.str7363, ptr %t8157
%t8158 = add i32 %t8144, 1
store i32 %t8158, ptr %t8141
%t8159 = load ptr, ptr %t387
@@ -75543,17 +76288,17 @@ grow1711:
put1712:
%t8175 = load ptr, ptr %t8162
%t8176 = getelementptr inbounds ptr, ptr %t8175, i32 %t8163
- store ptr @.str7323, ptr %t8176
+ store ptr @.str7364, ptr %t8176
%t8177 = add i32 %t8163, 1
store i32 %t8177, ptr %t8160
br label %ifend1706
ifend1706:
%t8178 = load ptr, ptr %t1
- %t8179 = call i32 @fn_str_eq(ptr %t8178, ptr @.str7324)
+ %t8179 = call i32 @lp_str_eq(ptr %t8178, ptr @.str7365)
%t8180 = icmp ne i32 %t8179, 0
br i1 %t8180, label %then1713, label %ifend1715
then1713:
- store ptr @.str7325, ptr %t380
+ store ptr @.str7366, ptr %t380
%t8181 = load ptr, ptr %t387
%t8182 = getelementptr inbounds %LSlice, ptr %t8181, i32 0, i32 1
%t8183 = getelementptr inbounds %LSlice, ptr %t8181, i32 0, i32 2
@@ -75578,7 +76323,7 @@ grow1716:
put1717:
%t8197 = load ptr, ptr %t8184
%t8198 = getelementptr inbounds ptr, ptr %t8197, i32 %t8185
- store ptr @.str7326, ptr %t8198
+ store ptr @.str7367, ptr %t8198
%t8199 = add i32 %t8185, 1
store i32 %t8199, ptr %t8182
%t8200 = load ptr, ptr %t387
@@ -75605,17 +76350,17 @@ grow1718:
put1719:
%t8216 = load ptr, ptr %t8203
%t8217 = getelementptr inbounds ptr, ptr %t8216, i32 %t8204
- store ptr @.str7327, ptr %t8217
+ store ptr @.str7368, ptr %t8217
%t8218 = add i32 %t8204, 1
store i32 %t8218, ptr %t8201
br label %ifend1715
ifend1715:
%t8219 = load ptr, ptr %t1
- %t8220 = call i32 @fn_str_eq(ptr %t8219, ptr @.str7328)
+ %t8220 = call i32 @lp_str_eq(ptr %t8219, ptr @.str7369)
%t8221 = icmp ne i32 %t8220, 0
br i1 %t8221, label %then1720, label %ifend1722
then1720:
- store ptr @.str7329, ptr %t380
+ store ptr @.str7370, ptr %t380
%t8222 = load ptr, ptr %t387
%t8223 = getelementptr inbounds %LSlice, ptr %t8222, i32 0, i32 1
%t8224 = getelementptr inbounds %LSlice, ptr %t8222, i32 0, i32 2
@@ -75640,7 +76385,7 @@ grow1723:
put1724:
%t8238 = load ptr, ptr %t8225
%t8239 = getelementptr inbounds ptr, ptr %t8238, i32 %t8226
- store ptr @.str7330, ptr %t8239
+ store ptr @.str7371, ptr %t8239
%t8240 = add i32 %t8226, 1
store i32 %t8240, ptr %t8223
%t8241 = load ptr, ptr %t387
@@ -75667,17 +76412,17 @@ grow1725:
put1726:
%t8257 = load ptr, ptr %t8244
%t8258 = getelementptr inbounds ptr, ptr %t8257, i32 %t8245
- store ptr @.str7331, ptr %t8258
+ store ptr @.str7372, ptr %t8258
%t8259 = add i32 %t8245, 1
store i32 %t8259, ptr %t8242
br label %ifend1722
ifend1722:
%t8260 = load ptr, ptr %t1
- %t8261 = call i32 @fn_str_eq(ptr %t8260, ptr @.str7332)
+ %t8261 = call i32 @lp_str_eq(ptr %t8260, ptr @.str7373)
%t8262 = icmp ne i32 %t8261, 0
br i1 %t8262, label %then1727, label %ifend1729
then1727:
- store ptr @.str7333, ptr %t380
+ store ptr @.str7374, ptr %t380
%t8263 = load ptr, ptr %t387
%t8264 = getelementptr inbounds %LSlice, ptr %t8263, i32 0, i32 1
%t8265 = getelementptr inbounds %LSlice, ptr %t8263, i32 0, i32 2
@@ -75702,17 +76447,17 @@ grow1730:
put1731:
%t8279 = load ptr, ptr %t8266
%t8280 = getelementptr inbounds ptr, ptr %t8279, i32 %t8267
- store ptr @.str7334, ptr %t8280
+ store ptr @.str7375, ptr %t8280
%t8281 = add i32 %t8267, 1
store i32 %t8281, ptr %t8264
br label %ifend1729
ifend1729:
%t8282 = load ptr, ptr %t1
- %t8283 = call i32 @fn_str_eq(ptr %t8282, ptr @.str7335)
+ %t8283 = call i32 @lp_str_eq(ptr %t8282, ptr @.str7376)
%t8284 = icmp ne i32 %t8283, 0
br i1 %t8284, label %then1732, label %ifend1734
then1732:
- store ptr @.str7336, ptr %t380
+ store ptr @.str7377, ptr %t380
%t8285 = load ptr, ptr %t387
%t8286 = getelementptr inbounds %LSlice, ptr %t8285, i32 0, i32 1
%t8287 = getelementptr inbounds %LSlice, ptr %t8285, i32 0, i32 2
@@ -75737,17 +76482,17 @@ grow1735:
put1736:
%t8301 = load ptr, ptr %t8288
%t8302 = getelementptr inbounds ptr, ptr %t8301, i32 %t8289
- store ptr @.str7337, ptr %t8302
+ store ptr @.str7378, ptr %t8302
%t8303 = add i32 %t8289, 1
store i32 %t8303, ptr %t8286
br label %ifend1734
ifend1734:
%t8304 = load ptr, ptr %t1
- %t8305 = call i32 @fn_str_eq(ptr %t8304, ptr @.str7338)
+ %t8305 = call i32 @lp_str_eq(ptr %t8304, ptr @.str7379)
%t8306 = icmp ne i32 %t8305, 0
br i1 %t8306, label %then1737, label %ifend1739
then1737:
- store ptr @.str7339, ptr %t380
+ store ptr @.str7380, ptr %t380
%t8307 = load ptr, ptr %t387
%t8308 = getelementptr inbounds %LSlice, ptr %t8307, i32 0, i32 1
%t8309 = getelementptr inbounds %LSlice, ptr %t8307, i32 0, i32 2
@@ -75772,7 +76517,7 @@ grow1740:
put1741:
%t8323 = load ptr, ptr %t8310
%t8324 = getelementptr inbounds ptr, ptr %t8323, i32 %t8311
- store ptr @.str7340, ptr %t8324
+ store ptr @.str7381, ptr %t8324
%t8325 = add i32 %t8311, 1
store i32 %t8325, ptr %t8308
br label %ifend1739
@@ -75780,24 +76525,24 @@ ifend1739:
br label %ifend1684
ifend1684:
%t8326 = load ptr, ptr %t0
- %t8327 = call i32 @fn_str_eq(ptr %t8326, ptr @.str7341)
+ %t8327 = call i32 @lp_str_eq(ptr %t8326, ptr @.str7382)
%t8328 = icmp ne i32 %t8327, 0
br i1 %t8328, label %then1742, label %ifend1744
then1742:
%t8329 = load ptr, ptr %t1
- %t8330 = call i32 @fn_str_eq(ptr %t8329, ptr @.str7342)
+ %t8330 = call i32 @lp_str_eq(ptr %t8329, ptr @.str7383)
%t8331 = icmp ne i32 %t8330, 0
br i1 %t8331, label %then1745, label %ifend1747
then1745:
- store ptr @.str7343, ptr %t380
+ store ptr @.str7384, ptr %t380
br label %ifend1747
ifend1747:
%t8332 = load ptr, ptr %t1
- %t8333 = call i32 @fn_str_eq(ptr %t8332, ptr @.str7344)
+ %t8333 = call i32 @lp_str_eq(ptr %t8332, ptr @.str7385)
%t8334 = icmp ne i32 %t8333, 0
br i1 %t8334, label %then1748, label %ifend1750
then1748:
- store ptr @.str7345, ptr %t380
+ store ptr @.str7386, ptr %t380
%t8335 = load ptr, ptr %t387
%t8336 = getelementptr inbounds %LSlice, ptr %t8335, i32 0, i32 1
%t8337 = getelementptr inbounds %LSlice, ptr %t8335, i32 0, i32 2
@@ -75822,7 +76567,7 @@ grow1751:
put1752:
%t8351 = load ptr, ptr %t8338
%t8352 = getelementptr inbounds ptr, ptr %t8351, i32 %t8339
- store ptr @.str7346, ptr %t8352
+ store ptr @.str7387, ptr %t8352
%t8353 = add i32 %t8339, 1
store i32 %t8353, ptr %t8336
%t8354 = load ptr, ptr %t387
@@ -75849,17 +76594,17 @@ grow1753:
put1754:
%t8370 = load ptr, ptr %t8357
%t8371 = getelementptr inbounds ptr, ptr %t8370, i32 %t8358
- store ptr @.str7347, ptr %t8371
+ store ptr @.str7388, ptr %t8371
%t8372 = add i32 %t8358, 1
store i32 %t8372, ptr %t8355
br label %ifend1750
ifend1750:
%t8373 = load ptr, ptr %t1
- %t8374 = call i32 @fn_str_eq(ptr %t8373, ptr @.str7348)
+ %t8374 = call i32 @lp_str_eq(ptr %t8373, ptr @.str7389)
%t8375 = icmp ne i32 %t8374, 0
br i1 %t8375, label %then1755, label %ifend1757
then1755:
- store ptr @.str7349, ptr %t380
+ store ptr @.str7390, ptr %t380
%t8376 = load ptr, ptr %t387
%t8377 = getelementptr inbounds %LSlice, ptr %t8376, i32 0, i32 1
%t8378 = getelementptr inbounds %LSlice, ptr %t8376, i32 0, i32 2
@@ -75884,7 +76629,7 @@ grow1758:
put1759:
%t8392 = load ptr, ptr %t8379
%t8393 = getelementptr inbounds ptr, ptr %t8392, i32 %t8380
- store ptr @.str7350, ptr %t8393
+ store ptr @.str7391, ptr %t8393
%t8394 = add i32 %t8380, 1
store i32 %t8394, ptr %t8377
%t8395 = load ptr, ptr %t387
@@ -75911,17 +76656,17 @@ grow1760:
put1761:
%t8411 = load ptr, ptr %t8398
%t8412 = getelementptr inbounds ptr, ptr %t8411, i32 %t8399
- store ptr @.str7351, ptr %t8412
+ store ptr @.str7392, ptr %t8412
%t8413 = add i32 %t8399, 1
store i32 %t8413, ptr %t8396
br label %ifend1757
ifend1757:
%t8414 = load ptr, ptr %t1
- %t8415 = call i32 @fn_str_eq(ptr %t8414, ptr @.str7352)
+ %t8415 = call i32 @lp_str_eq(ptr %t8414, ptr @.str7393)
%t8416 = icmp ne i32 %t8415, 0
br i1 %t8416, label %then1762, label %ifend1764
then1762:
- store ptr @.str7353, ptr %t380
+ store ptr @.str7394, ptr %t380
%t8417 = load ptr, ptr %t387
%t8418 = getelementptr inbounds %LSlice, ptr %t8417, i32 0, i32 1
%t8419 = getelementptr inbounds %LSlice, ptr %t8417, i32 0, i32 2
@@ -75946,7 +76691,7 @@ grow1765:
put1766:
%t8433 = load ptr, ptr %t8420
%t8434 = getelementptr inbounds ptr, ptr %t8433, i32 %t8421
- store ptr @.str7354, ptr %t8434
+ store ptr @.str7395, ptr %t8434
%t8435 = add i32 %t8421, 1
store i32 %t8435, ptr %t8418
%t8436 = load ptr, ptr %t387
@@ -75973,17 +76718,17 @@ grow1767:
put1768:
%t8452 = load ptr, ptr %t8439
%t8453 = getelementptr inbounds ptr, ptr %t8452, i32 %t8440
- store ptr @.str7355, ptr %t8453
+ store ptr @.str7396, ptr %t8453
%t8454 = add i32 %t8440, 1
store i32 %t8454, ptr %t8437
br label %ifend1764
ifend1764:
%t8455 = load ptr, ptr %t1
- %t8456 = call i32 @fn_str_eq(ptr %t8455, ptr @.str7356)
+ %t8456 = call i32 @lp_str_eq(ptr %t8455, ptr @.str7397)
%t8457 = icmp ne i32 %t8456, 0
br i1 %t8457, label %then1769, label %ifend1771
then1769:
- store ptr @.str7357, ptr %t380
+ store ptr @.str7398, ptr %t380
%t8458 = load ptr, ptr %t387
%t8459 = getelementptr inbounds %LSlice, ptr %t8458, i32 0, i32 1
%t8460 = getelementptr inbounds %LSlice, ptr %t8458, i32 0, i32 2
@@ -76008,17 +76753,17 @@ grow1772:
put1773:
%t8474 = load ptr, ptr %t8461
%t8475 = getelementptr inbounds ptr, ptr %t8474, i32 %t8462
- store ptr @.str7358, ptr %t8475
+ store ptr @.str7399, ptr %t8475
%t8476 = add i32 %t8462, 1
store i32 %t8476, ptr %t8459
br label %ifend1771
ifend1771:
%t8477 = load ptr, ptr %t1
- %t8478 = call i32 @fn_str_eq(ptr %t8477, ptr @.str7359)
+ %t8478 = call i32 @lp_str_eq(ptr %t8477, ptr @.str7400)
%t8479 = icmp ne i32 %t8478, 0
br i1 %t8479, label %then1774, label %ifend1776
then1774:
- store ptr @.str7360, ptr %t380
+ store ptr @.str7401, ptr %t380
%t8480 = load ptr, ptr %t387
%t8481 = getelementptr inbounds %LSlice, ptr %t8480, i32 0, i32 1
%t8482 = getelementptr inbounds %LSlice, ptr %t8480, i32 0, i32 2
@@ -76043,17 +76788,17 @@ grow1777:
put1778:
%t8496 = load ptr, ptr %t8483
%t8497 = getelementptr inbounds ptr, ptr %t8496, i32 %t8484
- store ptr @.str7361, ptr %t8497
+ store ptr @.str7402, ptr %t8497
%t8498 = add i32 %t8484, 1
store i32 %t8498, ptr %t8481
br label %ifend1776
ifend1776:
%t8499 = load ptr, ptr %t1
- %t8500 = call i32 @fn_str_eq(ptr %t8499, ptr @.str7362)
+ %t8500 = call i32 @lp_str_eq(ptr %t8499, ptr @.str7403)
%t8501 = icmp ne i32 %t8500, 0
br i1 %t8501, label %then1779, label %ifend1781
then1779:
- store ptr @.str7363, ptr %t380
+ store ptr @.str7404, ptr %t380
%t8502 = load ptr, ptr %t387
%t8503 = getelementptr inbounds %LSlice, ptr %t8502, i32 0, i32 1
%t8504 = getelementptr inbounds %LSlice, ptr %t8502, i32 0, i32 2
@@ -76078,7 +76823,7 @@ grow1782:
put1783:
%t8518 = load ptr, ptr %t8505
%t8519 = getelementptr inbounds ptr, ptr %t8518, i32 %t8506
- store ptr @.str7364, ptr %t8519
+ store ptr @.str7405, ptr %t8519
%t8520 = add i32 %t8506, 1
store i32 %t8520, ptr %t8503
br label %ifend1781
@@ -76086,24 +76831,24 @@ ifend1781:
br label %ifend1744
ifend1744:
%t8521 = load ptr, ptr %t0
- %t8522 = call i32 @fn_str_eq(ptr %t8521, ptr @.str7365)
+ %t8522 = call i32 @lp_str_eq(ptr %t8521, ptr @.str7406)
%t8523 = icmp ne i32 %t8522, 0
br i1 %t8523, label %then1784, label %ifend1786
then1784:
%t8524 = load ptr, ptr %t1
- %t8525 = call i32 @fn_str_eq(ptr %t8524, ptr @.str7366)
+ %t8525 = call i32 @lp_str_eq(ptr %t8524, ptr @.str7407)
%t8526 = icmp ne i32 %t8525, 0
br i1 %t8526, label %then1787, label %ifend1789
then1787:
- store ptr @.str7367, ptr %t380
+ store ptr @.str7408, ptr %t380
br label %ifend1789
ifend1789:
%t8527 = load ptr, ptr %t1
- %t8528 = call i32 @fn_str_eq(ptr %t8527, ptr @.str7368)
+ %t8528 = call i32 @lp_str_eq(ptr %t8527, ptr @.str7409)
%t8529 = icmp ne i32 %t8528, 0
br i1 %t8529, label %then1790, label %ifend1792
then1790:
- store ptr @.str7369, ptr %t380
+ store ptr @.str7410, ptr %t380
%t8530 = load ptr, ptr %t387
%t8531 = getelementptr inbounds %LSlice, ptr %t8530, i32 0, i32 1
%t8532 = getelementptr inbounds %LSlice, ptr %t8530, i32 0, i32 2
@@ -76128,7 +76873,7 @@ grow1793:
put1794:
%t8546 = load ptr, ptr %t8533
%t8547 = getelementptr inbounds ptr, ptr %t8546, i32 %t8534
- store ptr @.str7370, ptr %t8547
+ store ptr @.str7411, ptr %t8547
%t8548 = add i32 %t8534, 1
store i32 %t8548, ptr %t8531
%t8549 = load ptr, ptr %t387
@@ -76155,17 +76900,17 @@ grow1795:
put1796:
%t8565 = load ptr, ptr %t8552
%t8566 = getelementptr inbounds ptr, ptr %t8565, i32 %t8553
- store ptr @.str7371, ptr %t8566
+ store ptr @.str7412, ptr %t8566
%t8567 = add i32 %t8553, 1
store i32 %t8567, ptr %t8550
br label %ifend1792
ifend1792:
%t8568 = load ptr, ptr %t1
- %t8569 = call i32 @fn_str_eq(ptr %t8568, ptr @.str7372)
+ %t8569 = call i32 @lp_str_eq(ptr %t8568, ptr @.str7413)
%t8570 = icmp ne i32 %t8569, 0
br i1 %t8570, label %then1797, label %ifend1799
then1797:
- store ptr @.str7373, ptr %t380
+ store ptr @.str7414, ptr %t380
%t8571 = load ptr, ptr %t387
%t8572 = getelementptr inbounds %LSlice, ptr %t8571, i32 0, i32 1
%t8573 = getelementptr inbounds %LSlice, ptr %t8571, i32 0, i32 2
@@ -76190,7 +76935,7 @@ grow1800:
put1801:
%t8587 = load ptr, ptr %t8574
%t8588 = getelementptr inbounds ptr, ptr %t8587, i32 %t8575
- store ptr @.str7374, ptr %t8588
+ store ptr @.str7415, ptr %t8588
%t8589 = add i32 %t8575, 1
store i32 %t8589, ptr %t8572
%t8590 = load ptr, ptr %t387
@@ -76217,17 +76962,17 @@ grow1802:
put1803:
%t8606 = load ptr, ptr %t8593
%t8607 = getelementptr inbounds ptr, ptr %t8606, i32 %t8594
- store ptr @.str7375, ptr %t8607
+ store ptr @.str7416, ptr %t8607
%t8608 = add i32 %t8594, 1
store i32 %t8608, ptr %t8591
br label %ifend1799
ifend1799:
%t8609 = load ptr, ptr %t1
- %t8610 = call i32 @fn_str_eq(ptr %t8609, ptr @.str7376)
+ %t8610 = call i32 @lp_str_eq(ptr %t8609, ptr @.str7417)
%t8611 = icmp ne i32 %t8610, 0
br i1 %t8611, label %then1804, label %ifend1806
then1804:
- store ptr @.str7377, ptr %t380
+ store ptr @.str7418, ptr %t380
%t8612 = load ptr, ptr %t387
%t8613 = getelementptr inbounds %LSlice, ptr %t8612, i32 0, i32 1
%t8614 = getelementptr inbounds %LSlice, ptr %t8612, i32 0, i32 2
@@ -76252,7 +76997,7 @@ grow1807:
put1808:
%t8628 = load ptr, ptr %t8615
%t8629 = getelementptr inbounds ptr, ptr %t8628, i32 %t8616
- store ptr @.str7378, ptr %t8629
+ store ptr @.str7419, ptr %t8629
%t8630 = add i32 %t8616, 1
store i32 %t8630, ptr %t8613
%t8631 = load ptr, ptr %t387
@@ -76279,17 +77024,17 @@ grow1809:
put1810:
%t8647 = load ptr, ptr %t8634
%t8648 = getelementptr inbounds ptr, ptr %t8647, i32 %t8635
- store ptr @.str7379, ptr %t8648
+ store ptr @.str7420, ptr %t8648
%t8649 = add i32 %t8635, 1
store i32 %t8649, ptr %t8632
br label %ifend1806
ifend1806:
%t8650 = load ptr, ptr %t1
- %t8651 = call i32 @fn_str_eq(ptr %t8650, ptr @.str7380)
+ %t8651 = call i32 @lp_str_eq(ptr %t8650, ptr @.str7421)
%t8652 = icmp ne i32 %t8651, 0
br i1 %t8652, label %then1811, label %ifend1813
then1811:
- store ptr @.str7381, ptr %t380
+ store ptr @.str7422, ptr %t380
%t8653 = load ptr, ptr %t387
%t8654 = getelementptr inbounds %LSlice, ptr %t8653, i32 0, i32 1
%t8655 = getelementptr inbounds %LSlice, ptr %t8653, i32 0, i32 2
@@ -76314,17 +77059,17 @@ grow1814:
put1815:
%t8669 = load ptr, ptr %t8656
%t8670 = getelementptr inbounds ptr, ptr %t8669, i32 %t8657
- store ptr @.str7382, ptr %t8670
+ store ptr @.str7423, ptr %t8670
%t8671 = add i32 %t8657, 1
store i32 %t8671, ptr %t8654
br label %ifend1813
ifend1813:
%t8672 = load ptr, ptr %t1
- %t8673 = call i32 @fn_str_eq(ptr %t8672, ptr @.str7383)
+ %t8673 = call i32 @lp_str_eq(ptr %t8672, ptr @.str7424)
%t8674 = icmp ne i32 %t8673, 0
br i1 %t8674, label %then1816, label %ifend1818
then1816:
- store ptr @.str7384, ptr %t380
+ store ptr @.str7425, ptr %t380
%t8675 = load ptr, ptr %t387
%t8676 = getelementptr inbounds %LSlice, ptr %t8675, i32 0, i32 1
%t8677 = getelementptr inbounds %LSlice, ptr %t8675, i32 0, i32 2
@@ -76349,17 +77094,17 @@ grow1819:
put1820:
%t8691 = load ptr, ptr %t8678
%t8692 = getelementptr inbounds ptr, ptr %t8691, i32 %t8679
- store ptr @.str7385, ptr %t8692
+ store ptr @.str7426, ptr %t8692
%t8693 = add i32 %t8679, 1
store i32 %t8693, ptr %t8676
br label %ifend1818
ifend1818:
%t8694 = load ptr, ptr %t1
- %t8695 = call i32 @fn_str_eq(ptr %t8694, ptr @.str7386)
+ %t8695 = call i32 @lp_str_eq(ptr %t8694, ptr @.str7427)
%t8696 = icmp ne i32 %t8695, 0
br i1 %t8696, label %then1821, label %ifend1823
then1821:
- store ptr @.str7387, ptr %t380
+ store ptr @.str7428, ptr %t380
%t8697 = load ptr, ptr %t387
%t8698 = getelementptr inbounds %LSlice, ptr %t8697, i32 0, i32 1
%t8699 = getelementptr inbounds %LSlice, ptr %t8697, i32 0, i32 2
@@ -76384,17 +77129,17 @@ grow1824:
put1825:
%t8713 = load ptr, ptr %t8700
%t8714 = getelementptr inbounds ptr, ptr %t8713, i32 %t8701
- store ptr @.str7388, ptr %t8714
+ store ptr @.str7429, ptr %t8714
%t8715 = add i32 %t8701, 1
store i32 %t8715, ptr %t8698
br label %ifend1823
ifend1823:
%t8716 = load ptr, ptr %t1
- %t8717 = call i32 @fn_str_eq(ptr %t8716, ptr @.str7389)
+ %t8717 = call i32 @lp_str_eq(ptr %t8716, ptr @.str7430)
%t8718 = icmp ne i32 %t8717, 0
br i1 %t8718, label %then1826, label %ifend1828
then1826:
- store ptr @.str7390, ptr %t380
+ store ptr @.str7431, ptr %t380
%t8719 = load ptr, ptr %t387
%t8720 = getelementptr inbounds %LSlice, ptr %t8719, i32 0, i32 1
%t8721 = getelementptr inbounds %LSlice, ptr %t8719, i32 0, i32 2
@@ -76419,17 +77164,17 @@ grow1829:
put1830:
%t8735 = load ptr, ptr %t8722
%t8736 = getelementptr inbounds ptr, ptr %t8735, i32 %t8723
- store ptr @.str7391, ptr %t8736
+ store ptr @.str7432, ptr %t8736
%t8737 = add i32 %t8723, 1
store i32 %t8737, ptr %t8720
br label %ifend1828
ifend1828:
%t8738 = load ptr, ptr %t1
- %t8739 = call i32 @fn_str_eq(ptr %t8738, ptr @.str7392)
+ %t8739 = call i32 @lp_str_eq(ptr %t8738, ptr @.str7433)
%t8740 = icmp ne i32 %t8739, 0
br i1 %t8740, label %then1831, label %ifend1833
then1831:
- store ptr @.str7393, ptr %t380
+ store ptr @.str7434, ptr %t380
%t8741 = load ptr, ptr %t387
%t8742 = getelementptr inbounds %LSlice, ptr %t8741, i32 0, i32 1
%t8743 = getelementptr inbounds %LSlice, ptr %t8741, i32 0, i32 2
@@ -76454,17 +77199,17 @@ grow1834:
put1835:
%t8757 = load ptr, ptr %t8744
%t8758 = getelementptr inbounds ptr, ptr %t8757, i32 %t8745
- store ptr @.str7394, ptr %t8758
+ store ptr @.str7435, ptr %t8758
%t8759 = add i32 %t8745, 1
store i32 %t8759, ptr %t8742
br label %ifend1833
ifend1833:
%t8760 = load ptr, ptr %t1
- %t8761 = call i32 @fn_str_eq(ptr %t8760, ptr @.str7395)
+ %t8761 = call i32 @lp_str_eq(ptr %t8760, ptr @.str7436)
%t8762 = icmp ne i32 %t8761, 0
br i1 %t8762, label %then1836, label %ifend1838
then1836:
- store ptr @.str7396, ptr %t380
+ store ptr @.str7437, ptr %t380
%t8763 = load ptr, ptr %t387
%t8764 = getelementptr inbounds %LSlice, ptr %t8763, i32 0, i32 1
%t8765 = getelementptr inbounds %LSlice, ptr %t8763, i32 0, i32 2
@@ -76489,17 +77234,17 @@ grow1839:
put1840:
%t8779 = load ptr, ptr %t8766
%t8780 = getelementptr inbounds ptr, ptr %t8779, i32 %t8767
- store ptr @.str7397, ptr %t8780
+ store ptr @.str7438, ptr %t8780
%t8781 = add i32 %t8767, 1
store i32 %t8781, ptr %t8764
br label %ifend1838
ifend1838:
%t8782 = load ptr, ptr %t1
- %t8783 = call i32 @fn_str_eq(ptr %t8782, ptr @.str7398)
+ %t8783 = call i32 @lp_str_eq(ptr %t8782, ptr @.str7439)
%t8784 = icmp ne i32 %t8783, 0
br i1 %t8784, label %then1841, label %ifend1843
then1841:
- store ptr @.str7399, ptr %t380
+ store ptr @.str7440, ptr %t380
%t8785 = load ptr, ptr %t387
%t8786 = getelementptr inbounds %LSlice, ptr %t8785, i32 0, i32 1
%t8787 = getelementptr inbounds %LSlice, ptr %t8785, i32 0, i32 2
@@ -76524,17 +77269,17 @@ grow1844:
put1845:
%t8801 = load ptr, ptr %t8788
%t8802 = getelementptr inbounds ptr, ptr %t8801, i32 %t8789
- store ptr @.str7400, ptr %t8802
+ store ptr @.str7441, ptr %t8802
%t8803 = add i32 %t8789, 1
store i32 %t8803, ptr %t8786
br label %ifend1843
ifend1843:
%t8804 = load ptr, ptr %t1
- %t8805 = call i32 @fn_str_eq(ptr %t8804, ptr @.str7401)
+ %t8805 = call i32 @lp_str_eq(ptr %t8804, ptr @.str7442)
%t8806 = icmp ne i32 %t8805, 0
br i1 %t8806, label %then1846, label %ifend1848
then1846:
- store ptr @.str7402, ptr %t380
+ store ptr @.str7443, ptr %t380
%t8807 = load ptr, ptr %t387
%t8808 = getelementptr inbounds %LSlice, ptr %t8807, i32 0, i32 1
%t8809 = getelementptr inbounds %LSlice, ptr %t8807, i32 0, i32 2
@@ -76559,25 +77304,25 @@ grow1849:
put1850:
%t8823 = load ptr, ptr %t8810
%t8824 = getelementptr inbounds ptr, ptr %t8823, i32 %t8811
- store ptr @.str7403, ptr %t8824
+ store ptr @.str7444, ptr %t8824
%t8825 = add i32 %t8811, 1
store i32 %t8825, ptr %t8808
br label %ifend1848
ifend1848:
%t8826 = load ptr, ptr %t1
- %t8827 = call i32 @fn_str_eq(ptr %t8826, ptr @.str7404)
+ %t8827 = call i32 @lp_str_eq(ptr %t8826, ptr @.str7445)
%t8828 = icmp ne i32 %t8827, 0
br i1 %t8828, label %then1851, label %ifend1853
then1851:
- store ptr @.str7405, ptr %t380
+ store ptr @.str7446, ptr %t380
br label %ifend1853
ifend1853:
%t8829 = load ptr, ptr %t1
- %t8830 = call i32 @fn_str_eq(ptr %t8829, ptr @.str7406)
+ %t8830 = call i32 @lp_str_eq(ptr %t8829, ptr @.str7447)
%t8831 = icmp ne i32 %t8830, 0
br i1 %t8831, label %then1854, label %ifend1856
then1854:
- store ptr @.str7407, ptr %t380
+ store ptr @.str7448, ptr %t380
%t8832 = load ptr, ptr %t387
%t8833 = getelementptr inbounds %LSlice, ptr %t8832, i32 0, i32 1
%t8834 = getelementptr inbounds %LSlice, ptr %t8832, i32 0, i32 2
@@ -76602,7 +77347,7 @@ grow1857:
put1858:
%t8848 = load ptr, ptr %t8835
%t8849 = getelementptr inbounds ptr, ptr %t8848, i32 %t8836
- store ptr @.str7408, ptr %t8849
+ store ptr @.str7449, ptr %t8849
%t8850 = add i32 %t8836, 1
store i32 %t8850, ptr %t8833
br label %ifend1856
@@ -76610,16 +77355,16 @@ ifend1856:
br label %ifend1786
ifend1786:
%t8851 = load ptr, ptr %t0
- %t8852 = call i32 @fn_str_eq(ptr %t8851, ptr @.str7409)
+ %t8852 = call i32 @lp_str_eq(ptr %t8851, ptr @.str7450)
%t8853 = icmp ne i32 %t8852, 0
br i1 %t8853, label %then1859, label %ifend1861
then1859:
%t8854 = load ptr, ptr %t1
- %t8855 = call i32 @fn_str_eq(ptr %t8854, ptr @.str7410)
+ %t8855 = call i32 @lp_str_eq(ptr %t8854, ptr @.str7451)
%t8856 = icmp ne i32 %t8855, 0
br i1 %t8856, label %then1862, label %ifend1864
then1862:
- store ptr @.str7411, ptr %t380
+ store ptr @.str7452, ptr %t380
%t8857 = load ptr, ptr %t387
%t8858 = getelementptr inbounds %LSlice, ptr %t8857, i32 0, i32 1
%t8859 = getelementptr inbounds %LSlice, ptr %t8857, i32 0, i32 2
@@ -76644,17 +77389,17 @@ grow1865:
put1866:
%t8873 = load ptr, ptr %t8860
%t8874 = getelementptr inbounds ptr, ptr %t8873, i32 %t8861
- store ptr @.str7412, ptr %t8874
+ store ptr @.str7453, ptr %t8874
%t8875 = add i32 %t8861, 1
store i32 %t8875, ptr %t8858
br label %ifend1864
ifend1864:
%t8876 = load ptr, ptr %t1
- %t8877 = call i32 @fn_str_eq(ptr %t8876, ptr @.str7413)
+ %t8877 = call i32 @lp_str_eq(ptr %t8876, ptr @.str7454)
%t8878 = icmp ne i32 %t8877, 0
br i1 %t8878, label %then1867, label %ifend1869
then1867:
- store ptr @.str7414, ptr %t380
+ store ptr @.str7455, ptr %t380
%t8879 = load ptr, ptr %t387
%t8880 = getelementptr inbounds %LSlice, ptr %t8879, i32 0, i32 1
%t8881 = getelementptr inbounds %LSlice, ptr %t8879, i32 0, i32 2
@@ -76679,17 +77424,17 @@ grow1870:
put1871:
%t8895 = load ptr, ptr %t8882
%t8896 = getelementptr inbounds ptr, ptr %t8895, i32 %t8883
- store ptr @.str7415, ptr %t8896
+ store ptr @.str7456, ptr %t8896
%t8897 = add i32 %t8883, 1
store i32 %t8897, ptr %t8880
br label %ifend1869
ifend1869:
%t8898 = load ptr, ptr %t1
- %t8899 = call i32 @fn_str_eq(ptr %t8898, ptr @.str7416)
+ %t8899 = call i32 @lp_str_eq(ptr %t8898, ptr @.str7457)
%t8900 = icmp ne i32 %t8899, 0
br i1 %t8900, label %then1872, label %ifend1874
then1872:
- store ptr @.str7417, ptr %t380
+ store ptr @.str7458, ptr %t380
%t8901 = load ptr, ptr %t387
%t8902 = getelementptr inbounds %LSlice, ptr %t8901, i32 0, i32 1
%t8903 = getelementptr inbounds %LSlice, ptr %t8901, i32 0, i32 2
@@ -76714,17 +77459,17 @@ grow1875:
put1876:
%t8917 = load ptr, ptr %t8904
%t8918 = getelementptr inbounds ptr, ptr %t8917, i32 %t8905
- store ptr @.str7418, ptr %t8918
+ store ptr @.str7459, ptr %t8918
%t8919 = add i32 %t8905, 1
store i32 %t8919, ptr %t8902
br label %ifend1874
ifend1874:
%t8920 = load ptr, ptr %t1
- %t8921 = call i32 @fn_str_eq(ptr %t8920, ptr @.str7419)
+ %t8921 = call i32 @lp_str_eq(ptr %t8920, ptr @.str7460)
%t8922 = icmp ne i32 %t8921, 0
br i1 %t8922, label %then1877, label %ifend1879
then1877:
- store ptr @.str7420, ptr %t380
+ store ptr @.str7461, ptr %t380
%t8923 = load ptr, ptr %t387
%t8924 = getelementptr inbounds %LSlice, ptr %t8923, i32 0, i32 1
%t8925 = getelementptr inbounds %LSlice, ptr %t8923, i32 0, i32 2
@@ -76749,7 +77494,7 @@ grow1880:
put1881:
%t8939 = load ptr, ptr %t8926
%t8940 = getelementptr inbounds ptr, ptr %t8939, i32 %t8927
- store ptr @.str7421, ptr %t8940
+ store ptr @.str7462, ptr %t8940
%t8941 = add i32 %t8927, 1
store i32 %t8941, ptr %t8924
br label %ifend1879
@@ -76757,24 +77502,24 @@ ifend1879:
br label %ifend1861
ifend1861:
%t8942 = load ptr, ptr %t0
- %t8943 = call i32 @fn_str_eq(ptr %t8942, ptr @.str7422)
+ %t8943 = call i32 @lp_str_eq(ptr %t8942, ptr @.str7463)
%t8944 = icmp ne i32 %t8943, 0
br i1 %t8944, label %then1882, label %ifend1884
then1882:
%t8945 = load ptr, ptr %t1
- %t8946 = call i32 @fn_str_eq(ptr %t8945, ptr @.str7423)
+ %t8946 = call i32 @lp_str_eq(ptr %t8945, ptr @.str7464)
%t8947 = icmp ne i32 %t8946, 0
br i1 %t8947, label %then1885, label %ifend1887
then1885:
- store ptr @.str7424, ptr %t380
+ store ptr @.str7465, ptr %t380
br label %ifend1887
ifend1887:
%t8948 = load ptr, ptr %t1
- %t8949 = call i32 @fn_str_eq(ptr %t8948, ptr @.str7425)
+ %t8949 = call i32 @lp_str_eq(ptr %t8948, ptr @.str7466)
%t8950 = icmp ne i32 %t8949, 0
br i1 %t8950, label %then1888, label %ifend1890
then1888:
- store ptr @.str7426, ptr %t380
+ store ptr @.str7467, ptr %t380
%t8951 = load ptr, ptr %t387
%t8952 = getelementptr inbounds %LSlice, ptr %t8951, i32 0, i32 1
%t8953 = getelementptr inbounds %LSlice, ptr %t8951, i32 0, i32 2
@@ -76799,17 +77544,17 @@ grow1891:
put1892:
%t8967 = load ptr, ptr %t8954
%t8968 = getelementptr inbounds ptr, ptr %t8967, i32 %t8955
- store ptr @.str7427, ptr %t8968
+ store ptr @.str7468, ptr %t8968
%t8969 = add i32 %t8955, 1
store i32 %t8969, ptr %t8952
br label %ifend1890
ifend1890:
%t8970 = load ptr, ptr %t1
- %t8971 = call i32 @fn_str_eq(ptr %t8970, ptr @.str7428)
+ %t8971 = call i32 @lp_str_eq(ptr %t8970, ptr @.str7469)
%t8972 = icmp ne i32 %t8971, 0
br i1 %t8972, label %then1893, label %ifend1895
then1893:
- store ptr @.str7429, ptr %t380
+ store ptr @.str7470, ptr %t380
%t8973 = load ptr, ptr %t387
%t8974 = getelementptr inbounds %LSlice, ptr %t8973, i32 0, i32 1
%t8975 = getelementptr inbounds %LSlice, ptr %t8973, i32 0, i32 2
@@ -76834,17 +77579,17 @@ grow1896:
put1897:
%t8989 = load ptr, ptr %t8976
%t8990 = getelementptr inbounds ptr, ptr %t8989, i32 %t8977
- store ptr @.str7430, ptr %t8990
+ store ptr @.str7471, ptr %t8990
%t8991 = add i32 %t8977, 1
store i32 %t8991, ptr %t8974
br label %ifend1895
ifend1895:
%t8992 = load ptr, ptr %t1
- %t8993 = call i32 @fn_str_eq(ptr %t8992, ptr @.str7431)
+ %t8993 = call i32 @lp_str_eq(ptr %t8992, ptr @.str7472)
%t8994 = icmp ne i32 %t8993, 0
br i1 %t8994, label %then1898, label %ifend1900
then1898:
- store ptr @.str7432, ptr %t380
+ store ptr @.str7473, ptr %t380
%t8995 = load ptr, ptr %t387
%t8996 = getelementptr inbounds %LSlice, ptr %t8995, i32 0, i32 1
%t8997 = getelementptr inbounds %LSlice, ptr %t8995, i32 0, i32 2
@@ -76869,25 +77614,25 @@ grow1901:
put1902:
%t9011 = load ptr, ptr %t8998
%t9012 = getelementptr inbounds ptr, ptr %t9011, i32 %t8999
- store ptr @.str7433, ptr %t9012
+ store ptr @.str7474, ptr %t9012
%t9013 = add i32 %t8999, 1
store i32 %t9013, ptr %t8996
br label %ifend1900
ifend1900:
%t9014 = load ptr, ptr %t1
- %t9015 = call i32 @fn_str_eq(ptr %t9014, ptr @.str7434)
+ %t9015 = call i32 @lp_str_eq(ptr %t9014, ptr @.str7475)
%t9016 = icmp ne i32 %t9015, 0
br i1 %t9016, label %then1903, label %ifend1905
then1903:
- store ptr @.str7435, ptr %t380
+ store ptr @.str7476, ptr %t380
br label %ifend1905
ifend1905:
%t9017 = load ptr, ptr %t1
- %t9018 = call i32 @fn_str_eq(ptr %t9017, ptr @.str7436)
+ %t9018 = call i32 @lp_str_eq(ptr %t9017, ptr @.str7477)
%t9019 = icmp ne i32 %t9018, 0
br i1 %t9019, label %then1906, label %ifend1908
then1906:
- store ptr @.str7437, ptr %t380
+ store ptr @.str7478, ptr %t380
%t9020 = load ptr, ptr %t387
%t9021 = getelementptr inbounds %LSlice, ptr %t9020, i32 0, i32 1
%t9022 = getelementptr inbounds %LSlice, ptr %t9020, i32 0, i32 2
@@ -76912,17 +77657,17 @@ grow1909:
put1910:
%t9036 = load ptr, ptr %t9023
%t9037 = getelementptr inbounds ptr, ptr %t9036, i32 %t9024
- store ptr @.str7438, ptr %t9037
+ store ptr @.str7479, ptr %t9037
%t9038 = add i32 %t9024, 1
store i32 %t9038, ptr %t9021
br label %ifend1908
ifend1908:
%t9039 = load ptr, ptr %t1
- %t9040 = call i32 @fn_str_eq(ptr %t9039, ptr @.str7439)
+ %t9040 = call i32 @lp_str_eq(ptr %t9039, ptr @.str7480)
%t9041 = icmp ne i32 %t9040, 0
br i1 %t9041, label %then1911, label %ifend1913
then1911:
- store ptr @.str7440, ptr %t380
+ store ptr @.str7481, ptr %t380
%t9042 = load ptr, ptr %t387
%t9043 = getelementptr inbounds %LSlice, ptr %t9042, i32 0, i32 1
%t9044 = getelementptr inbounds %LSlice, ptr %t9042, i32 0, i32 2
@@ -76947,7 +77692,7 @@ grow1914:
put1915:
%t9058 = load ptr, ptr %t9045
%t9059 = getelementptr inbounds ptr, ptr %t9058, i32 %t9046
- store ptr @.str7441, ptr %t9059
+ store ptr @.str7482, ptr %t9059
%t9060 = add i32 %t9046, 1
store i32 %t9060, ptr %t9043
%t9061 = load ptr, ptr %t387
@@ -76974,17 +77719,17 @@ grow1916:
put1917:
%t9077 = load ptr, ptr %t9064
%t9078 = getelementptr inbounds ptr, ptr %t9077, i32 %t9065
- store ptr @.str7442, ptr %t9078
+ store ptr @.str7483, ptr %t9078
%t9079 = add i32 %t9065, 1
store i32 %t9079, ptr %t9062
br label %ifend1913
ifend1913:
%t9080 = load ptr, ptr %t1
- %t9081 = call i32 @fn_str_eq(ptr %t9080, ptr @.str7443)
+ %t9081 = call i32 @lp_str_eq(ptr %t9080, ptr @.str7484)
%t9082 = icmp ne i32 %t9081, 0
br i1 %t9082, label %then1918, label %ifend1920
then1918:
- store ptr @.str7444, ptr %t380
+ store ptr @.str7485, ptr %t380
%t9083 = load ptr, ptr %t387
%t9084 = getelementptr inbounds %LSlice, ptr %t9083, i32 0, i32 1
%t9085 = getelementptr inbounds %LSlice, ptr %t9083, i32 0, i32 2
@@ -77009,7 +77754,7 @@ grow1921:
put1922:
%t9099 = load ptr, ptr %t9086
%t9100 = getelementptr inbounds ptr, ptr %t9099, i32 %t9087
- store ptr @.str7445, ptr %t9100
+ store ptr @.str7486, ptr %t9100
%t9101 = add i32 %t9087, 1
store i32 %t9101, ptr %t9084
%t9102 = load ptr, ptr %t387
@@ -77036,17 +77781,17 @@ grow1923:
put1924:
%t9118 = load ptr, ptr %t9105
%t9119 = getelementptr inbounds ptr, ptr %t9118, i32 %t9106
- store ptr @.str7446, ptr %t9119
+ store ptr @.str7487, ptr %t9119
%t9120 = add i32 %t9106, 1
store i32 %t9120, ptr %t9103
br label %ifend1920
ifend1920:
%t9121 = load ptr, ptr %t1
- %t9122 = call i32 @fn_str_eq(ptr %t9121, ptr @.str7447)
+ %t9122 = call i32 @lp_str_eq(ptr %t9121, ptr @.str7488)
%t9123 = icmp ne i32 %t9122, 0
br i1 %t9123, label %then1925, label %ifend1927
then1925:
- store ptr @.str7448, ptr %t380
+ store ptr @.str7489, ptr %t380
%t9124 = load ptr, ptr %t387
%t9125 = getelementptr inbounds %LSlice, ptr %t9124, i32 0, i32 1
%t9126 = getelementptr inbounds %LSlice, ptr %t9124, i32 0, i32 2
@@ -77071,7 +77816,7 @@ grow1928:
put1929:
%t9140 = load ptr, ptr %t9127
%t9141 = getelementptr inbounds ptr, ptr %t9140, i32 %t9128
- store ptr @.str7449, ptr %t9141
+ store ptr @.str7490, ptr %t9141
%t9142 = add i32 %t9128, 1
store i32 %t9142, ptr %t9125
%t9143 = load ptr, ptr %t387
@@ -77098,7 +77843,7 @@ grow1930:
put1931:
%t9159 = load ptr, ptr %t9146
%t9160 = getelementptr inbounds ptr, ptr %t9159, i32 %t9147
- store ptr @.str7450, ptr %t9160
+ store ptr @.str7491, ptr %t9160
%t9161 = add i32 %t9147, 1
store i32 %t9161, ptr %t9144
%t9162 = load ptr, ptr %t387
@@ -77125,25 +77870,25 @@ grow1932:
put1933:
%t9178 = load ptr, ptr %t9165
%t9179 = getelementptr inbounds ptr, ptr %t9178, i32 %t9166
- store ptr @.str7451, ptr %t9179
+ store ptr @.str7492, ptr %t9179
%t9180 = add i32 %t9166, 1
store i32 %t9180, ptr %t9163
br label %ifend1927
ifend1927:
%t9181 = load ptr, ptr %t1
- %t9182 = call i32 @fn_str_eq(ptr %t9181, ptr @.str7452)
+ %t9182 = call i32 @lp_str_eq(ptr %t9181, ptr @.str7493)
%t9183 = icmp ne i32 %t9182, 0
br i1 %t9183, label %then1934, label %ifend1936
then1934:
- store ptr @.str7453, ptr %t380
+ store ptr @.str7494, ptr %t380
br label %ifend1936
ifend1936:
%t9184 = load ptr, ptr %t1
- %t9185 = call i32 @fn_str_eq(ptr %t9184, ptr @.str7454)
+ %t9185 = call i32 @lp_str_eq(ptr %t9184, ptr @.str7495)
%t9186 = icmp ne i32 %t9185, 0
br i1 %t9186, label %then1937, label %ifend1939
then1937:
- store ptr @.str7455, ptr %t380
+ store ptr @.str7496, ptr %t380
%t9187 = load ptr, ptr %t387
%t9188 = getelementptr inbounds %LSlice, ptr %t9187, i32 0, i32 1
%t9189 = getelementptr inbounds %LSlice, ptr %t9187, i32 0, i32 2
@@ -77168,7 +77913,7 @@ grow1940:
put1941:
%t9203 = load ptr, ptr %t9190
%t9204 = getelementptr inbounds ptr, ptr %t9203, i32 %t9191
- store ptr @.str7456, ptr %t9204
+ store ptr @.str7497, ptr %t9204
%t9205 = add i32 %t9191, 1
store i32 %t9205, ptr %t9188
%t9206 = load ptr, ptr %t387
@@ -77195,17 +77940,17 @@ grow1942:
put1943:
%t9222 = load ptr, ptr %t9209
%t9223 = getelementptr inbounds ptr, ptr %t9222, i32 %t9210
- store ptr @.str7457, ptr %t9223
+ store ptr @.str7498, ptr %t9223
%t9224 = add i32 %t9210, 1
store i32 %t9224, ptr %t9207
br label %ifend1939
ifend1939:
%t9225 = load ptr, ptr %t1
- %t9226 = call i32 @fn_str_eq(ptr %t9225, ptr @.str7458)
+ %t9226 = call i32 @lp_str_eq(ptr %t9225, ptr @.str7499)
%t9227 = icmp ne i32 %t9226, 0
br i1 %t9227, label %then1944, label %ifend1946
then1944:
- store ptr @.str7459, ptr %t380
+ store ptr @.str7500, ptr %t380
%t9228 = load ptr, ptr %t387
%t9229 = getelementptr inbounds %LSlice, ptr %t9228, i32 0, i32 1
%t9230 = getelementptr inbounds %LSlice, ptr %t9228, i32 0, i32 2
@@ -77230,17 +77975,17 @@ grow1947:
put1948:
%t9244 = load ptr, ptr %t9231
%t9245 = getelementptr inbounds ptr, ptr %t9244, i32 %t9232
- store ptr @.str7460, ptr %t9245
+ store ptr @.str7501, ptr %t9245
%t9246 = add i32 %t9232, 1
store i32 %t9246, ptr %t9229
br label %ifend1946
ifend1946:
%t9247 = load ptr, ptr %t1
- %t9248 = call i32 @fn_str_eq(ptr %t9247, ptr @.str7461)
+ %t9248 = call i32 @lp_str_eq(ptr %t9247, ptr @.str7502)
%t9249 = icmp ne i32 %t9248, 0
br i1 %t9249, label %then1949, label %ifend1951
then1949:
- store ptr @.str7462, ptr %t380
+ store ptr @.str7503, ptr %t380
%t9250 = load ptr, ptr %t387
%t9251 = getelementptr inbounds %LSlice, ptr %t9250, i32 0, i32 1
%t9252 = getelementptr inbounds %LSlice, ptr %t9250, i32 0, i32 2
@@ -77265,17 +78010,17 @@ grow1952:
put1953:
%t9266 = load ptr, ptr %t9253
%t9267 = getelementptr inbounds ptr, ptr %t9266, i32 %t9254
- store ptr @.str7463, ptr %t9267
+ store ptr @.str7504, ptr %t9267
%t9268 = add i32 %t9254, 1
store i32 %t9268, ptr %t9251
br label %ifend1951
ifend1951:
%t9269 = load ptr, ptr %t1
- %t9270 = call i32 @fn_str_eq(ptr %t9269, ptr @.str7464)
+ %t9270 = call i32 @lp_str_eq(ptr %t9269, ptr @.str7505)
%t9271 = icmp ne i32 %t9270, 0
br i1 %t9271, label %then1954, label %ifend1956
then1954:
- store ptr @.str7465, ptr %t380
+ store ptr @.str7506, ptr %t380
%t9272 = load ptr, ptr %t387
%t9273 = getelementptr inbounds %LSlice, ptr %t9272, i32 0, i32 1
%t9274 = getelementptr inbounds %LSlice, ptr %t9272, i32 0, i32 2
@@ -77300,32 +78045,32 @@ grow1957:
put1958:
%t9288 = load ptr, ptr %t9275
%t9289 = getelementptr inbounds ptr, ptr %t9288, i32 %t9276
- store ptr @.str7466, ptr %t9289
+ store ptr @.str7507, ptr %t9289
%t9290 = add i32 %t9276, 1
store i32 %t9290, ptr %t9273
br label %ifend1956
ifend1956:
%t9291 = load ptr, ptr %t1
- %t9292 = call i32 @fn_str_eq(ptr %t9291, ptr @.str7467)
+ %t9292 = call i32 @lp_str_eq(ptr %t9291, ptr @.str7508)
%t9293 = icmp ne i32 %t9292, 0
br i1 %t9293, label %then1959, label %ifend1961
then1959:
- store ptr @.str7468, ptr %t380
+ store ptr @.str7509, ptr %t380
br label %ifend1961
ifend1961:
br label %ifend1884
ifend1884:
%t9294 = load ptr, ptr %t0
- %t9295 = call i32 @fn_str_eq(ptr %t9294, ptr @.str7469)
+ %t9295 = call i32 @lp_str_eq(ptr %t9294, ptr @.str7510)
%t9296 = icmp ne i32 %t9295, 0
br i1 %t9296, label %then1962, label %ifend1964
then1962:
%t9297 = load ptr, ptr %t1
- %t9298 = call i32 @fn_str_eq(ptr %t9297, ptr @.str7470)
+ %t9298 = call i32 @lp_str_eq(ptr %t9297, ptr @.str7511)
%t9299 = icmp ne i32 %t9298, 0
br i1 %t9299, label %then1965, label %ifend1967
then1965:
- store ptr @.str7471, ptr %t380
+ store ptr @.str7512, ptr %t380
%t9300 = load ptr, ptr %t387
%t9301 = getelementptr inbounds %LSlice, ptr %t9300, i32 0, i32 1
%t9302 = getelementptr inbounds %LSlice, ptr %t9300, i32 0, i32 2
@@ -77350,17 +78095,17 @@ grow1968:
put1969:
%t9316 = load ptr, ptr %t9303
%t9317 = getelementptr inbounds ptr, ptr %t9316, i32 %t9304
- store ptr @.str7472, ptr %t9317
+ store ptr @.str7513, ptr %t9317
%t9318 = add i32 %t9304, 1
store i32 %t9318, ptr %t9301
br label %ifend1967
ifend1967:
%t9319 = load ptr, ptr %t1
- %t9320 = call i32 @fn_str_eq(ptr %t9319, ptr @.str7473)
+ %t9320 = call i32 @lp_str_eq(ptr %t9319, ptr @.str7514)
%t9321 = icmp ne i32 %t9320, 0
br i1 %t9321, label %then1970, label %ifend1972
then1970:
- store ptr @.str7474, ptr %t380
+ store ptr @.str7515, ptr %t380
%t9322 = load ptr, ptr %t387
%t9323 = getelementptr inbounds %LSlice, ptr %t9322, i32 0, i32 1
%t9324 = getelementptr inbounds %LSlice, ptr %t9322, i32 0, i32 2
@@ -77385,7 +78130,7 @@ grow1973:
put1974:
%t9338 = load ptr, ptr %t9325
%t9339 = getelementptr inbounds ptr, ptr %t9338, i32 %t9326
- store ptr @.str7475, ptr %t9339
+ store ptr @.str7516, ptr %t9339
%t9340 = add i32 %t9326, 1
store i32 %t9340, ptr %t9323
%t9341 = load ptr, ptr %t387
@@ -77412,17 +78157,17 @@ grow1975:
put1976:
%t9357 = load ptr, ptr %t9344
%t9358 = getelementptr inbounds ptr, ptr %t9357, i32 %t9345
- store ptr @.str7476, ptr %t9358
+ store ptr @.str7517, ptr %t9358
%t9359 = add i32 %t9345, 1
store i32 %t9359, ptr %t9342
br label %ifend1972
ifend1972:
%t9360 = load ptr, ptr %t1
- %t9361 = call i32 @fn_str_eq(ptr %t9360, ptr @.str7477)
+ %t9361 = call i32 @lp_str_eq(ptr %t9360, ptr @.str7518)
%t9362 = icmp ne i32 %t9361, 0
br i1 %t9362, label %then1977, label %ifend1979
then1977:
- store ptr @.str7478, ptr %t380
+ store ptr @.str7519, ptr %t380
%t9363 = load ptr, ptr %t387
%t9364 = getelementptr inbounds %LSlice, ptr %t9363, i32 0, i32 1
%t9365 = getelementptr inbounds %LSlice, ptr %t9363, i32 0, i32 2
@@ -77447,7 +78192,7 @@ grow1980:
put1981:
%t9379 = load ptr, ptr %t9366
%t9380 = getelementptr inbounds ptr, ptr %t9379, i32 %t9367
- store ptr @.str7479, ptr %t9380
+ store ptr @.str7520, ptr %t9380
%t9381 = add i32 %t9367, 1
store i32 %t9381, ptr %t9364
%t9382 = load ptr, ptr %t387
@@ -77474,17 +78219,17 @@ grow1982:
put1983:
%t9398 = load ptr, ptr %t9385
%t9399 = getelementptr inbounds ptr, ptr %t9398, i32 %t9386
- store ptr @.str7480, ptr %t9399
+ store ptr @.str7521, ptr %t9399
%t9400 = add i32 %t9386, 1
store i32 %t9400, ptr %t9383
br label %ifend1979
ifend1979:
%t9401 = load ptr, ptr %t1
- %t9402 = call i32 @fn_str_eq(ptr %t9401, ptr @.str7481)
+ %t9402 = call i32 @lp_str_eq(ptr %t9401, ptr @.str7522)
%t9403 = icmp ne i32 %t9402, 0
br i1 %t9403, label %then1984, label %ifend1986
then1984:
- store ptr @.str7482, ptr %t380
+ store ptr @.str7523, ptr %t380
%t9404 = load ptr, ptr %t387
%t9405 = getelementptr inbounds %LSlice, ptr %t9404, i32 0, i32 1
%t9406 = getelementptr inbounds %LSlice, ptr %t9404, i32 0, i32 2
@@ -77509,7 +78254,7 @@ grow1987:
put1988:
%t9420 = load ptr, ptr %t9407
%t9421 = getelementptr inbounds ptr, ptr %t9420, i32 %t9408
- store ptr @.str7483, ptr %t9421
+ store ptr @.str7524, ptr %t9421
%t9422 = add i32 %t9408, 1
store i32 %t9422, ptr %t9405
%t9423 = load ptr, ptr %t387
@@ -77536,17 +78281,17 @@ grow1989:
put1990:
%t9439 = load ptr, ptr %t9426
%t9440 = getelementptr inbounds ptr, ptr %t9439, i32 %t9427
- store ptr @.str7484, ptr %t9440
+ store ptr @.str7525, ptr %t9440
%t9441 = add i32 %t9427, 1
store i32 %t9441, ptr %t9424
br label %ifend1986
ifend1986:
%t9442 = load ptr, ptr %t1
- %t9443 = call i32 @fn_str_eq(ptr %t9442, ptr @.str7485)
+ %t9443 = call i32 @lp_str_eq(ptr %t9442, ptr @.str7526)
%t9444 = icmp ne i32 %t9443, 0
br i1 %t9444, label %then1991, label %ifend1993
then1991:
- store ptr @.str7486, ptr %t380
+ store ptr @.str7527, ptr %t380
%t9445 = load ptr, ptr %t387
%t9446 = getelementptr inbounds %LSlice, ptr %t9445, i32 0, i32 1
%t9447 = getelementptr inbounds %LSlice, ptr %t9445, i32 0, i32 2
@@ -77571,17 +78316,17 @@ grow1994:
put1995:
%t9461 = load ptr, ptr %t9448
%t9462 = getelementptr inbounds ptr, ptr %t9461, i32 %t9449
- store ptr @.str7487, ptr %t9462
+ store ptr @.str7528, ptr %t9462
%t9463 = add i32 %t9449, 1
store i32 %t9463, ptr %t9446
br label %ifend1993
ifend1993:
%t9464 = load ptr, ptr %t1
- %t9465 = call i32 @fn_str_eq(ptr %t9464, ptr @.str7488)
+ %t9465 = call i32 @lp_str_eq(ptr %t9464, ptr @.str7529)
%t9466 = icmp ne i32 %t9465, 0
br i1 %t9466, label %then1996, label %ifend1998
then1996:
- store ptr @.str7489, ptr %t380
+ store ptr @.str7530, ptr %t380
%t9467 = load ptr, ptr %t387
%t9468 = getelementptr inbounds %LSlice, ptr %t9467, i32 0, i32 1
%t9469 = getelementptr inbounds %LSlice, ptr %t9467, i32 0, i32 2
@@ -77606,7 +78351,7 @@ grow1999:
put2000:
%t9483 = load ptr, ptr %t9470
%t9484 = getelementptr inbounds ptr, ptr %t9483, i32 %t9471
- store ptr @.str7490, ptr %t9484
+ store ptr @.str7531, ptr %t9484
%t9485 = add i32 %t9471, 1
store i32 %t9485, ptr %t9468
%t9486 = load ptr, ptr %t387
@@ -77633,17 +78378,17 @@ grow2001:
put2002:
%t9502 = load ptr, ptr %t9489
%t9503 = getelementptr inbounds ptr, ptr %t9502, i32 %t9490
- store ptr @.str7491, ptr %t9503
+ store ptr @.str7532, ptr %t9503
%t9504 = add i32 %t9490, 1
store i32 %t9504, ptr %t9487
br label %ifend1998
ifend1998:
%t9505 = load ptr, ptr %t1
- %t9506 = call i32 @fn_str_eq(ptr %t9505, ptr @.str7492)
+ %t9506 = call i32 @lp_str_eq(ptr %t9505, ptr @.str7533)
%t9507 = icmp ne i32 %t9506, 0
br i1 %t9507, label %then2003, label %ifend2005
then2003:
- store ptr @.str7493, ptr %t380
+ store ptr @.str7534, ptr %t380
%t9508 = load ptr, ptr %t387
%t9509 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 1
%t9510 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 2
@@ -77668,17 +78413,17 @@ grow2006:
put2007:
%t9524 = load ptr, ptr %t9511
%t9525 = getelementptr inbounds ptr, ptr %t9524, i32 %t9512
- store ptr @.str7494, ptr %t9525
+ store ptr @.str7535, ptr %t9525
%t9526 = add i32 %t9512, 1
store i32 %t9526, ptr %t9509
br label %ifend2005
ifend2005:
%t9527 = load ptr, ptr %t1
- %t9528 = call i32 @fn_str_eq(ptr %t9527, ptr @.str7495)
+ %t9528 = call i32 @lp_str_eq(ptr %t9527, ptr @.str7536)
%t9529 = icmp ne i32 %t9528, 0
br i1 %t9529, label %then2008, label %ifend2010
then2008:
- store ptr @.str7496, ptr %t380
+ store ptr @.str7537, ptr %t380
%t9530 = load ptr, ptr %t387
%t9531 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 1
%t9532 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 2
@@ -77703,17 +78448,17 @@ grow2011:
put2012:
%t9546 = load ptr, ptr %t9533
%t9547 = getelementptr inbounds ptr, ptr %t9546, i32 %t9534
- store ptr @.str7497, ptr %t9547
+ store ptr @.str7538, ptr %t9547
%t9548 = add i32 %t9534, 1
store i32 %t9548, ptr %t9531
br label %ifend2010
ifend2010:
%t9549 = load ptr, ptr %t1
- %t9550 = call i32 @fn_str_eq(ptr %t9549, ptr @.str7498)
+ %t9550 = call i32 @lp_str_eq(ptr %t9549, ptr @.str7539)
%t9551 = icmp ne i32 %t9550, 0
br i1 %t9551, label %then2013, label %ifend2015
then2013:
- store ptr @.str7499, ptr %t380
+ store ptr @.str7540, ptr %t380
%t9552 = load ptr, ptr %t387
%t9553 = getelementptr inbounds %LSlice, ptr %t9552, i32 0, i32 1
%t9554 = getelementptr inbounds %LSlice, ptr %t9552, i32 0, i32 2
@@ -77738,17 +78483,17 @@ grow2016:
put2017:
%t9568 = load ptr, ptr %t9555
%t9569 = getelementptr inbounds ptr, ptr %t9568, i32 %t9556
- store ptr @.str7500, ptr %t9569
+ store ptr @.str7541, ptr %t9569
%t9570 = add i32 %t9556, 1
store i32 %t9570, ptr %t9553
br label %ifend2015
ifend2015:
%t9571 = load ptr, ptr %t1
- %t9572 = call i32 @fn_str_eq(ptr %t9571, ptr @.str7501)
+ %t9572 = call i32 @lp_str_eq(ptr %t9571, ptr @.str7542)
%t9573 = icmp ne i32 %t9572, 0
br i1 %t9573, label %then2018, label %ifend2020
then2018:
- store ptr @.str7502, ptr %t380
+ store ptr @.str7543, ptr %t380
%t9574 = load ptr, ptr %t387
%t9575 = getelementptr inbounds %LSlice, ptr %t9574, i32 0, i32 1
%t9576 = getelementptr inbounds %LSlice, ptr %t9574, i32 0, i32 2
@@ -77773,7 +78518,7 @@ grow2021:
put2022:
%t9590 = load ptr, ptr %t9577
%t9591 = getelementptr inbounds ptr, ptr %t9590, i32 %t9578
- store ptr @.str7503, ptr %t9591
+ store ptr @.str7544, ptr %t9591
%t9592 = add i32 %t9578, 1
store i32 %t9592, ptr %t9575
br label %ifend2020
@@ -77781,16 +78526,16 @@ ifend2020:
br label %ifend1964
ifend1964:
%t9593 = load ptr, ptr %t0
- %t9594 = call i32 @fn_str_eq(ptr %t9593, ptr @.str7504)
+ %t9594 = call i32 @lp_str_eq(ptr %t9593, ptr @.str7545)
%t9595 = icmp ne i32 %t9594, 0
br i1 %t9595, label %then2023, label %ifend2025
then2023:
%t9596 = load ptr, ptr %t1
- %t9597 = call i32 @fn_str_eq(ptr %t9596, ptr @.str7505)
+ %t9597 = call i32 @lp_str_eq(ptr %t9596, ptr @.str7546)
%t9598 = icmp ne i32 %t9597, 0
br i1 %t9598, label %then2026, label %ifend2028
then2026:
- store ptr @.str7506, ptr %t380
+ store ptr @.str7547, ptr %t380
%t9599 = load ptr, ptr %t387
%t9600 = getelementptr inbounds %LSlice, ptr %t9599, i32 0, i32 1
%t9601 = getelementptr inbounds %LSlice, ptr %t9599, i32 0, i32 2
@@ -77815,17 +78560,17 @@ grow2029:
put2030:
%t9615 = load ptr, ptr %t9602
%t9616 = getelementptr inbounds ptr, ptr %t9615, i32 %t9603
- store ptr @.str7507, ptr %t9616
+ store ptr @.str7548, ptr %t9616
%t9617 = add i32 %t9603, 1
store i32 %t9617, ptr %t9600
br label %ifend2028
ifend2028:
%t9618 = load ptr, ptr %t1
- %t9619 = call i32 @fn_str_eq(ptr %t9618, ptr @.str7508)
+ %t9619 = call i32 @lp_str_eq(ptr %t9618, ptr @.str7549)
%t9620 = icmp ne i32 %t9619, 0
br i1 %t9620, label %then2031, label %ifend2033
then2031:
- store ptr @.str7509, ptr %t380
+ store ptr @.str7550, ptr %t380
%t9621 = load ptr, ptr %t387
%t9622 = getelementptr inbounds %LSlice, ptr %t9621, i32 0, i32 1
%t9623 = getelementptr inbounds %LSlice, ptr %t9621, i32 0, i32 2
@@ -77850,17 +78595,17 @@ grow2034:
put2035:
%t9637 = load ptr, ptr %t9624
%t9638 = getelementptr inbounds ptr, ptr %t9637, i32 %t9625
- store ptr @.str7510, ptr %t9638
+ store ptr @.str7551, ptr %t9638
%t9639 = add i32 %t9625, 1
store i32 %t9639, ptr %t9622
br label %ifend2033
ifend2033:
%t9640 = load ptr, ptr %t1
- %t9641 = call i32 @fn_str_eq(ptr %t9640, ptr @.str7511)
+ %t9641 = call i32 @lp_str_eq(ptr %t9640, ptr @.str7552)
%t9642 = icmp ne i32 %t9641, 0
br i1 %t9642, label %then2036, label %ifend2038
then2036:
- store ptr @.str7512, ptr %t380
+ store ptr @.str7553, ptr %t380
%t9643 = load ptr, ptr %t387
%t9644 = getelementptr inbounds %LSlice, ptr %t9643, i32 0, i32 1
%t9645 = getelementptr inbounds %LSlice, ptr %t9643, i32 0, i32 2
@@ -77885,17 +78630,17 @@ grow2039:
put2040:
%t9659 = load ptr, ptr %t9646
%t9660 = getelementptr inbounds ptr, ptr %t9659, i32 %t9647
- store ptr @.str7513, ptr %t9660
+ store ptr @.str7554, ptr %t9660
%t9661 = add i32 %t9647, 1
store i32 %t9661, ptr %t9644
br label %ifend2038
ifend2038:
%t9662 = load ptr, ptr %t1
- %t9663 = call i32 @fn_str_eq(ptr %t9662, ptr @.str7514)
+ %t9663 = call i32 @lp_str_eq(ptr %t9662, ptr @.str7555)
%t9664 = icmp ne i32 %t9663, 0
br i1 %t9664, label %then2041, label %ifend2043
then2041:
- store ptr @.str7515, ptr %t380
+ store ptr @.str7556, ptr %t380
%t9665 = load ptr, ptr %t387
%t9666 = getelementptr inbounds %LSlice, ptr %t9665, i32 0, i32 1
%t9667 = getelementptr inbounds %LSlice, ptr %t9665, i32 0, i32 2
@@ -77920,17 +78665,17 @@ grow2044:
put2045:
%t9681 = load ptr, ptr %t9668
%t9682 = getelementptr inbounds ptr, ptr %t9681, i32 %t9669
- store ptr @.str7516, ptr %t9682
+ store ptr @.str7557, ptr %t9682
%t9683 = add i32 %t9669, 1
store i32 %t9683, ptr %t9666
br label %ifend2043
ifend2043:
%t9684 = load ptr, ptr %t1
- %t9685 = call i32 @fn_str_eq(ptr %t9684, ptr @.str7517)
+ %t9685 = call i32 @lp_str_eq(ptr %t9684, ptr @.str7558)
%t9686 = icmp ne i32 %t9685, 0
br i1 %t9686, label %then2046, label %ifend2048
then2046:
- store ptr @.str7518, ptr %t380
+ store ptr @.str7559, ptr %t380
%t9687 = load ptr, ptr %t387
%t9688 = getelementptr inbounds %LSlice, ptr %t9687, i32 0, i32 1
%t9689 = getelementptr inbounds %LSlice, ptr %t9687, i32 0, i32 2
@@ -77955,17 +78700,17 @@ grow2049:
put2050:
%t9703 = load ptr, ptr %t9690
%t9704 = getelementptr inbounds ptr, ptr %t9703, i32 %t9691
- store ptr @.str7519, ptr %t9704
+ store ptr @.str7560, ptr %t9704
%t9705 = add i32 %t9691, 1
store i32 %t9705, ptr %t9688
br label %ifend2048
ifend2048:
%t9706 = load ptr, ptr %t1
- %t9707 = call i32 @fn_str_eq(ptr %t9706, ptr @.str7520)
+ %t9707 = call i32 @lp_str_eq(ptr %t9706, ptr @.str7561)
%t9708 = icmp ne i32 %t9707, 0
br i1 %t9708, label %then2051, label %ifend2053
then2051:
- store ptr @.str7521, ptr %t380
+ store ptr @.str7562, ptr %t380
%t9709 = load ptr, ptr %t387
%t9710 = getelementptr inbounds %LSlice, ptr %t9709, i32 0, i32 1
%t9711 = getelementptr inbounds %LSlice, ptr %t9709, i32 0, i32 2
@@ -77990,7 +78735,7 @@ grow2054:
put2055:
%t9725 = load ptr, ptr %t9712
%t9726 = getelementptr inbounds ptr, ptr %t9725, i32 %t9713
- store ptr @.str7522, ptr %t9726
+ store ptr @.str7563, ptr %t9726
%t9727 = add i32 %t9713, 1
store i32 %t9727, ptr %t9710
%t9728 = load ptr, ptr %t387
@@ -78017,17 +78762,17 @@ grow2056:
put2057:
%t9744 = load ptr, ptr %t9731
%t9745 = getelementptr inbounds ptr, ptr %t9744, i32 %t9732
- store ptr @.str7523, ptr %t9745
+ store ptr @.str7564, ptr %t9745
%t9746 = add i32 %t9732, 1
store i32 %t9746, ptr %t9729
br label %ifend2053
ifend2053:
%t9747 = load ptr, ptr %t1
- %t9748 = call i32 @fn_str_eq(ptr %t9747, ptr @.str7524)
+ %t9748 = call i32 @lp_str_eq(ptr %t9747, ptr @.str7565)
%t9749 = icmp ne i32 %t9748, 0
br i1 %t9749, label %then2058, label %ifend2060
then2058:
- store ptr @.str7525, ptr %t380
+ store ptr @.str7566, ptr %t380
%t9750 = load ptr, ptr %t387
%t9751 = getelementptr inbounds %LSlice, ptr %t9750, i32 0, i32 1
%t9752 = getelementptr inbounds %LSlice, ptr %t9750, i32 0, i32 2
@@ -78052,7 +78797,7 @@ grow2061:
put2062:
%t9766 = load ptr, ptr %t9753
%t9767 = getelementptr inbounds ptr, ptr %t9766, i32 %t9754
- store ptr @.str7526, ptr %t9767
+ store ptr @.str7567, ptr %t9767
%t9768 = add i32 %t9754, 1
store i32 %t9768, ptr %t9751
%t9769 = load ptr, ptr %t387
@@ -78079,17 +78824,17 @@ grow2063:
put2064:
%t9785 = load ptr, ptr %t9772
%t9786 = getelementptr inbounds ptr, ptr %t9785, i32 %t9773
- store ptr @.str7527, ptr %t9786
+ store ptr @.str7568, ptr %t9786
%t9787 = add i32 %t9773, 1
store i32 %t9787, ptr %t9770
br label %ifend2060
ifend2060:
%t9788 = load ptr, ptr %t1
- %t9789 = call i32 @fn_str_eq(ptr %t9788, ptr @.str7528)
+ %t9789 = call i32 @lp_str_eq(ptr %t9788, ptr @.str7569)
%t9790 = icmp ne i32 %t9789, 0
br i1 %t9790, label %then2065, label %ifend2067
then2065:
- store ptr @.str7529, ptr %t380
+ store ptr @.str7570, ptr %t380
%t9791 = load ptr, ptr %t387
%t9792 = getelementptr inbounds %LSlice, ptr %t9791, i32 0, i32 1
%t9793 = getelementptr inbounds %LSlice, ptr %t9791, i32 0, i32 2
@@ -78114,7 +78859,7 @@ grow2068:
put2069:
%t9807 = load ptr, ptr %t9794
%t9808 = getelementptr inbounds ptr, ptr %t9807, i32 %t9795
- store ptr @.str7530, ptr %t9808
+ store ptr @.str7571, ptr %t9808
%t9809 = add i32 %t9795, 1
store i32 %t9809, ptr %t9792
%t9810 = load ptr, ptr %t387
@@ -78141,17 +78886,17 @@ grow2070:
put2071:
%t9826 = load ptr, ptr %t9813
%t9827 = getelementptr inbounds ptr, ptr %t9826, i32 %t9814
- store ptr @.str7531, ptr %t9827
+ store ptr @.str7572, ptr %t9827
%t9828 = add i32 %t9814, 1
store i32 %t9828, ptr %t9811
br label %ifend2067
ifend2067:
%t9829 = load ptr, ptr %t1
- %t9830 = call i32 @fn_str_eq(ptr %t9829, ptr @.str7532)
+ %t9830 = call i32 @lp_str_eq(ptr %t9829, ptr @.str7573)
%t9831 = icmp ne i32 %t9830, 0
br i1 %t9831, label %then2072, label %ifend2074
then2072:
- store ptr @.str7533, ptr %t380
+ store ptr @.str7574, ptr %t380
%t9832 = load ptr, ptr %t387
%t9833 = getelementptr inbounds %LSlice, ptr %t9832, i32 0, i32 1
%t9834 = getelementptr inbounds %LSlice, ptr %t9832, i32 0, i32 2
@@ -78176,7 +78921,7 @@ grow2075:
put2076:
%t9848 = load ptr, ptr %t9835
%t9849 = getelementptr inbounds ptr, ptr %t9848, i32 %t9836
- store ptr @.str7534, ptr %t9849
+ store ptr @.str7575, ptr %t9849
%t9850 = add i32 %t9836, 1
store i32 %t9850, ptr %t9833
%t9851 = load ptr, ptr %t387
@@ -78203,7 +78948,7 @@ grow2077:
put2078:
%t9867 = load ptr, ptr %t9854
%t9868 = getelementptr inbounds ptr, ptr %t9867, i32 %t9855
- store ptr @.str7535, ptr %t9868
+ store ptr @.str7576, ptr %t9868
%t9869 = add i32 %t9855, 1
store i32 %t9869, ptr %t9852
%t9870 = load ptr, ptr %t387
@@ -78230,7 +78975,7 @@ grow2079:
put2080:
%t9886 = load ptr, ptr %t9873
%t9887 = getelementptr inbounds ptr, ptr %t9886, i32 %t9874
- store ptr @.str7536, ptr %t9887
+ store ptr @.str7577, ptr %t9887
%t9888 = add i32 %t9874, 1
store i32 %t9888, ptr %t9871
br label %ifend2074
@@ -78238,16 +78983,16 @@ ifend2074:
br label %ifend2025
ifend2025:
%t9889 = load ptr, ptr %t0
- %t9890 = call i32 @fn_str_eq(ptr %t9889, ptr @.str7537)
+ %t9890 = call i32 @lp_str_eq(ptr %t9889, ptr @.str7578)
%t9891 = icmp ne i32 %t9890, 0
br i1 %t9891, label %then2081, label %ifend2083
then2081:
%t9892 = load ptr, ptr %t1
- %t9893 = call i32 @fn_str_eq(ptr %t9892, ptr @.str7538)
+ %t9893 = call i32 @lp_str_eq(ptr %t9892, ptr @.str7579)
%t9894 = icmp ne i32 %t9893, 0
br i1 %t9894, label %then2084, label %ifend2086
then2084:
- store ptr @.str7539, ptr %t380
+ store ptr @.str7580, ptr %t380
%t9895 = load ptr, ptr %t387
%t9896 = getelementptr inbounds %LSlice, ptr %t9895, i32 0, i32 1
%t9897 = getelementptr inbounds %LSlice, ptr %t9895, i32 0, i32 2
@@ -78272,17 +79017,17 @@ grow2087:
put2088:
%t9911 = load ptr, ptr %t9898
%t9912 = getelementptr inbounds ptr, ptr %t9911, i32 %t9899
- store ptr @.str7540, ptr %t9912
+ store ptr @.str7581, ptr %t9912
%t9913 = add i32 %t9899, 1
store i32 %t9913, ptr %t9896
br label %ifend2086
ifend2086:
%t9914 = load ptr, ptr %t1
- %t9915 = call i32 @fn_str_eq(ptr %t9914, ptr @.str7541)
+ %t9915 = call i32 @lp_str_eq(ptr %t9914, ptr @.str7582)
%t9916 = icmp ne i32 %t9915, 0
br i1 %t9916, label %then2089, label %ifend2091
then2089:
- store ptr @.str7542, ptr %t380
+ store ptr @.str7583, ptr %t380
%t9917 = load ptr, ptr %t387
%t9918 = getelementptr inbounds %LSlice, ptr %t9917, i32 0, i32 1
%t9919 = getelementptr inbounds %LSlice, ptr %t9917, i32 0, i32 2
@@ -78307,7 +79052,7 @@ grow2092:
put2093:
%t9933 = load ptr, ptr %t9920
%t9934 = getelementptr inbounds ptr, ptr %t9933, i32 %t9921
- store ptr @.str7543, ptr %t9934
+ store ptr @.str7584, ptr %t9934
%t9935 = add i32 %t9921, 1
store i32 %t9935, ptr %t9918
%t9936 = load ptr, ptr %t387
@@ -78334,17 +79079,17 @@ grow2094:
put2095:
%t9952 = load ptr, ptr %t9939
%t9953 = getelementptr inbounds ptr, ptr %t9952, i32 %t9940
- store ptr @.str7544, ptr %t9953
+ store ptr @.str7585, ptr %t9953
%t9954 = add i32 %t9940, 1
store i32 %t9954, ptr %t9937
br label %ifend2091
ifend2091:
%t9955 = load ptr, ptr %t1
- %t9956 = call i32 @fn_str_eq(ptr %t9955, ptr @.str7545)
+ %t9956 = call i32 @lp_str_eq(ptr %t9955, ptr @.str7586)
%t9957 = icmp ne i32 %t9956, 0
br i1 %t9957, label %then2096, label %ifend2098
then2096:
- store ptr @.str7546, ptr %t380
+ store ptr @.str7587, ptr %t380
%t9958 = load ptr, ptr %t387
%t9959 = getelementptr inbounds %LSlice, ptr %t9958, i32 0, i32 1
%t9960 = getelementptr inbounds %LSlice, ptr %t9958, i32 0, i32 2
@@ -78369,7 +79114,7 @@ grow2099:
put2100:
%t9974 = load ptr, ptr %t9961
%t9975 = getelementptr inbounds ptr, ptr %t9974, i32 %t9962
- store ptr @.str7547, ptr %t9975
+ store ptr @.str7588, ptr %t9975
%t9976 = add i32 %t9962, 1
store i32 %t9976, ptr %t9959
%t9977 = load ptr, ptr %t387
@@ -78396,7 +79141,7 @@ grow2101:
put2102:
%t9993 = load ptr, ptr %t9980
%t9994 = getelementptr inbounds ptr, ptr %t9993, i32 %t9981
- store ptr @.str7548, ptr %t9994
+ store ptr @.str7589, ptr %t9994
%t9995 = add i32 %t9981, 1
store i32 %t9995, ptr %t9978
%t9996 = load ptr, ptr %t387
@@ -78423,17 +79168,17 @@ grow2103:
put2104:
%t10012 = load ptr, ptr %t9999
%t10013 = getelementptr inbounds ptr, ptr %t10012, i32 %t10000
- store ptr @.str7549, ptr %t10013
+ store ptr @.str7590, ptr %t10013
%t10014 = add i32 %t10000, 1
store i32 %t10014, ptr %t9997
br label %ifend2098
ifend2098:
%t10015 = load ptr, ptr %t1
- %t10016 = call i32 @fn_str_eq(ptr %t10015, ptr @.str7550)
+ %t10016 = call i32 @lp_str_eq(ptr %t10015, ptr @.str7591)
%t10017 = icmp ne i32 %t10016, 0
br i1 %t10017, label %then2105, label %ifend2107
then2105:
- store ptr @.str7551, ptr %t380
+ store ptr @.str7592, ptr %t380
%t10018 = load ptr, ptr %t387
%t10019 = getelementptr inbounds %LSlice, ptr %t10018, i32 0, i32 1
%t10020 = getelementptr inbounds %LSlice, ptr %t10018, i32 0, i32 2
@@ -78458,7 +79203,7 @@ grow2108:
put2109:
%t10034 = load ptr, ptr %t10021
%t10035 = getelementptr inbounds ptr, ptr %t10034, i32 %t10022
- store ptr @.str7552, ptr %t10035
+ store ptr @.str7593, ptr %t10035
%t10036 = add i32 %t10022, 1
store i32 %t10036, ptr %t10019
%t10037 = load ptr, ptr %t387
@@ -78485,7 +79230,7 @@ grow2110:
put2111:
%t10053 = load ptr, ptr %t10040
%t10054 = getelementptr inbounds ptr, ptr %t10053, i32 %t10041
- store ptr @.str7553, ptr %t10054
+ store ptr @.str7594, ptr %t10054
%t10055 = add i32 %t10041, 1
store i32 %t10055, ptr %t10038
br label %ifend2107
@@ -78493,16 +79238,16 @@ ifend2107:
br label %ifend2083
ifend2083:
%t10056 = load ptr, ptr %t0
- %t10057 = call i32 @fn_str_eq(ptr %t10056, ptr @.str7554)
+ %t10057 = call i32 @lp_str_eq(ptr %t10056, ptr @.str7595)
%t10058 = icmp ne i32 %t10057, 0
br i1 %t10058, label %then2112, label %ifend2114
then2112:
%t10059 = load ptr, ptr %t1
- %t10060 = call i32 @fn_str_eq(ptr %t10059, ptr @.str7555)
+ %t10060 = call i32 @lp_str_eq(ptr %t10059, ptr @.str7596)
%t10061 = icmp ne i32 %t10060, 0
br i1 %t10061, label %then2115, label %ifend2117
then2115:
- store ptr @.str7556, ptr %t380
+ store ptr @.str7597, ptr %t380
%t10062 = load ptr, ptr %t387
%t10063 = getelementptr inbounds %LSlice, ptr %t10062, i32 0, i32 1
%t10064 = getelementptr inbounds %LSlice, ptr %t10062, i32 0, i32 2
@@ -78527,7 +79272,7 @@ grow2118:
put2119:
%t10078 = load ptr, ptr %t10065
%t10079 = getelementptr inbounds ptr, ptr %t10078, i32 %t10066
- store ptr @.str7557, ptr %t10079
+ store ptr @.str7598, ptr %t10079
%t10080 = add i32 %t10066, 1
store i32 %t10080, ptr %t10063
%t10081 = load ptr, ptr %t387
@@ -78554,7 +79299,7 @@ grow2120:
put2121:
%t10097 = load ptr, ptr %t10084
%t10098 = getelementptr inbounds ptr, ptr %t10097, i32 %t10085
- store ptr @.str7558, ptr %t10098
+ store ptr @.str7599, ptr %t10098
%t10099 = add i32 %t10085, 1
store i32 %t10099, ptr %t10082
%t10100 = load ptr, ptr %t387
@@ -78581,7 +79326,7 @@ grow2122:
put2123:
%t10116 = load ptr, ptr %t10103
%t10117 = getelementptr inbounds ptr, ptr %t10116, i32 %t10104
- store ptr @.str7559, ptr %t10117
+ store ptr @.str7600, ptr %t10117
%t10118 = add i32 %t10104, 1
store i32 %t10118, ptr %t10101
%t10119 = load ptr, ptr %t387
@@ -78608,17 +79353,17 @@ grow2124:
put2125:
%t10135 = load ptr, ptr %t10122
%t10136 = getelementptr inbounds ptr, ptr %t10135, i32 %t10123
- store ptr @.str7560, ptr %t10136
+ store ptr @.str7601, ptr %t10136
%t10137 = add i32 %t10123, 1
store i32 %t10137, ptr %t10120
br label %ifend2117
ifend2117:
%t10138 = load ptr, ptr %t1
- %t10139 = call i32 @fn_str_eq(ptr %t10138, ptr @.str7561)
+ %t10139 = call i32 @lp_str_eq(ptr %t10138, ptr @.str7602)
%t10140 = icmp ne i32 %t10139, 0
br i1 %t10140, label %then2126, label %ifend2128
then2126:
- store ptr @.str7562, ptr %t380
+ store ptr @.str7603, ptr %t380
%t10141 = load ptr, ptr %t387
%t10142 = getelementptr inbounds %LSlice, ptr %t10141, i32 0, i32 1
%t10143 = getelementptr inbounds %LSlice, ptr %t10141, i32 0, i32 2
@@ -78643,7 +79388,7 @@ grow2129:
put2130:
%t10157 = load ptr, ptr %t10144
%t10158 = getelementptr inbounds ptr, ptr %t10157, i32 %t10145
- store ptr @.str7563, ptr %t10158
+ store ptr @.str7604, ptr %t10158
%t10159 = add i32 %t10145, 1
store i32 %t10159, ptr %t10142
%t10160 = load ptr, ptr %t387
@@ -78670,7 +79415,7 @@ grow2131:
put2132:
%t10176 = load ptr, ptr %t10163
%t10177 = getelementptr inbounds ptr, ptr %t10176, i32 %t10164
- store ptr @.str7564, ptr %t10177
+ store ptr @.str7605, ptr %t10177
%t10178 = add i32 %t10164, 1
store i32 %t10178, ptr %t10161
%t10179 = load ptr, ptr %t387
@@ -78697,17 +79442,17 @@ grow2133:
put2134:
%t10195 = load ptr, ptr %t10182
%t10196 = getelementptr inbounds ptr, ptr %t10195, i32 %t10183
- store ptr @.str7565, ptr %t10196
+ store ptr @.str7606, ptr %t10196
%t10197 = add i32 %t10183, 1
store i32 %t10197, ptr %t10180
br label %ifend2128
ifend2128:
%t10198 = load ptr, ptr %t1
- %t10199 = call i32 @fn_str_eq(ptr %t10198, ptr @.str7566)
+ %t10199 = call i32 @lp_str_eq(ptr %t10198, ptr @.str7607)
%t10200 = icmp ne i32 %t10199, 0
br i1 %t10200, label %then2135, label %ifend2137
then2135:
- store ptr @.str7567, ptr %t380
+ store ptr @.str7608, ptr %t380
%t10201 = load ptr, ptr %t387
%t10202 = getelementptr inbounds %LSlice, ptr %t10201, i32 0, i32 1
%t10203 = getelementptr inbounds %LSlice, ptr %t10201, i32 0, i32 2
@@ -78732,7 +79477,7 @@ grow2138:
put2139:
%t10217 = load ptr, ptr %t10204
%t10218 = getelementptr inbounds ptr, ptr %t10217, i32 %t10205
- store ptr @.str7568, ptr %t10218
+ store ptr @.str7609, ptr %t10218
%t10219 = add i32 %t10205, 1
store i32 %t10219, ptr %t10202
%t10220 = load ptr, ptr %t387
@@ -78759,7 +79504,7 @@ grow2140:
put2141:
%t10236 = load ptr, ptr %t10223
%t10237 = getelementptr inbounds ptr, ptr %t10236, i32 %t10224
- store ptr @.str7569, ptr %t10237
+ store ptr @.str7610, ptr %t10237
%t10238 = add i32 %t10224, 1
store i32 %t10238, ptr %t10221
%t10239 = load ptr, ptr %t387
@@ -78786,7 +79531,7 @@ grow2142:
put2143:
%t10255 = load ptr, ptr %t10242
%t10256 = getelementptr inbounds ptr, ptr %t10255, i32 %t10243
- store ptr @.str7570, ptr %t10256
+ store ptr @.str7611, ptr %t10256
%t10257 = add i32 %t10243, 1
store i32 %t10257, ptr %t10240
%t10258 = load ptr, ptr %t387
@@ -78813,7 +79558,7 @@ grow2144:
put2145:
%t10274 = load ptr, ptr %t10261
%t10275 = getelementptr inbounds ptr, ptr %t10274, i32 %t10262
- store ptr @.str7571, ptr %t10275
+ store ptr @.str7612, ptr %t10275
%t10276 = add i32 %t10262, 1
store i32 %t10276, ptr %t10259
%t10277 = load ptr, ptr %t387
@@ -78840,17 +79585,17 @@ grow2146:
put2147:
%t10293 = load ptr, ptr %t10280
%t10294 = getelementptr inbounds ptr, ptr %t10293, i32 %t10281
- store ptr @.str7572, ptr %t10294
+ store ptr @.str7613, ptr %t10294
%t10295 = add i32 %t10281, 1
store i32 %t10295, ptr %t10278
br label %ifend2137
ifend2137:
%t10296 = load ptr, ptr %t1
- %t10297 = call i32 @fn_str_eq(ptr %t10296, ptr @.str7573)
+ %t10297 = call i32 @lp_str_eq(ptr %t10296, ptr @.str7614)
%t10298 = icmp ne i32 %t10297, 0
br i1 %t10298, label %then2148, label %ifend2150
then2148:
- store ptr @.str7574, ptr %t380
+ store ptr @.str7615, ptr %t380
%t10299 = load ptr, ptr %t387
%t10300 = getelementptr inbounds %LSlice, ptr %t10299, i32 0, i32 1
%t10301 = getelementptr inbounds %LSlice, ptr %t10299, i32 0, i32 2
@@ -78875,7 +79620,7 @@ grow2151:
put2152:
%t10315 = load ptr, ptr %t10302
%t10316 = getelementptr inbounds ptr, ptr %t10315, i32 %t10303
- store ptr @.str7575, ptr %t10316
+ store ptr @.str7616, ptr %t10316
%t10317 = add i32 %t10303, 1
store i32 %t10317, ptr %t10300
%t10318 = load ptr, ptr %t387
@@ -78902,7 +79647,7 @@ grow2153:
put2154:
%t10334 = load ptr, ptr %t10321
%t10335 = getelementptr inbounds ptr, ptr %t10334, i32 %t10322
- store ptr @.str7576, ptr %t10335
+ store ptr @.str7617, ptr %t10335
%t10336 = add i32 %t10322, 1
store i32 %t10336, ptr %t10319
%t10337 = load ptr, ptr %t387
@@ -78929,17 +79674,17 @@ grow2155:
put2156:
%t10353 = load ptr, ptr %t10340
%t10354 = getelementptr inbounds ptr, ptr %t10353, i32 %t10341
- store ptr @.str7577, ptr %t10354
+ store ptr @.str7618, ptr %t10354
%t10355 = add i32 %t10341, 1
store i32 %t10355, ptr %t10338
br label %ifend2150
ifend2150:
%t10356 = load ptr, ptr %t1
- %t10357 = call i32 @fn_str_eq(ptr %t10356, ptr @.str7578)
+ %t10357 = call i32 @lp_str_eq(ptr %t10356, ptr @.str7619)
%t10358 = icmp ne i32 %t10357, 0
br i1 %t10358, label %then2157, label %ifend2159
then2157:
- store ptr @.str7579, ptr %t380
+ store ptr @.str7620, ptr %t380
%t10359 = load ptr, ptr %t387
%t10360 = getelementptr inbounds %LSlice, ptr %t10359, i32 0, i32 1
%t10361 = getelementptr inbounds %LSlice, ptr %t10359, i32 0, i32 2
@@ -78964,7 +79709,7 @@ grow2160:
put2161:
%t10375 = load ptr, ptr %t10362
%t10376 = getelementptr inbounds ptr, ptr %t10375, i32 %t10363
- store ptr @.str7580, ptr %t10376
+ store ptr @.str7621, ptr %t10376
%t10377 = add i32 %t10363, 1
store i32 %t10377, ptr %t10360
%t10378 = load ptr, ptr %t387
@@ -78991,7 +79736,7 @@ grow2162:
put2163:
%t10394 = load ptr, ptr %t10381
%t10395 = getelementptr inbounds ptr, ptr %t10394, i32 %t10382
- store ptr @.str7581, ptr %t10395
+ store ptr @.str7622, ptr %t10395
%t10396 = add i32 %t10382, 1
store i32 %t10396, ptr %t10379
%t10397 = load ptr, ptr %t387
@@ -79018,7 +79763,7 @@ grow2164:
put2165:
%t10413 = load ptr, ptr %t10400
%t10414 = getelementptr inbounds ptr, ptr %t10413, i32 %t10401
- store ptr @.str7582, ptr %t10414
+ store ptr @.str7623, ptr %t10414
%t10415 = add i32 %t10401, 1
store i32 %t10415, ptr %t10398
%t10416 = load ptr, ptr %t387
@@ -79045,7 +79790,7 @@ grow2166:
put2167:
%t10432 = load ptr, ptr %t10419
%t10433 = getelementptr inbounds ptr, ptr %t10432, i32 %t10420
- store ptr @.str7583, ptr %t10433
+ store ptr @.str7624, ptr %t10433
%t10434 = add i32 %t10420, 1
store i32 %t10434, ptr %t10417
%t10435 = load ptr, ptr %t387
@@ -79072,7 +79817,7 @@ grow2168:
put2169:
%t10451 = load ptr, ptr %t10438
%t10452 = getelementptr inbounds ptr, ptr %t10451, i32 %t10439
- store ptr @.str7584, ptr %t10452
+ store ptr @.str7625, ptr %t10452
%t10453 = add i32 %t10439, 1
store i32 %t10453, ptr %t10436
br label %ifend2159
@@ -79080,16 +79825,16 @@ ifend2159:
br label %ifend2114
ifend2114:
%t10454 = load ptr, ptr %t0
- %t10455 = call i32 @fn_str_eq(ptr %t10454, ptr @.str7585)
+ %t10455 = call i32 @lp_str_eq(ptr %t10454, ptr @.str7626)
%t10456 = icmp ne i32 %t10455, 0
br i1 %t10456, label %then2170, label %ifend2172
then2170:
%t10457 = load ptr, ptr %t1
- %t10458 = call i32 @fn_str_eq(ptr %t10457, ptr @.str7586)
+ %t10458 = call i32 @lp_str_eq(ptr %t10457, ptr @.str7627)
%t10459 = icmp ne i32 %t10458, 0
br i1 %t10459, label %then2173, label %ifend2175
then2173:
- store ptr @.str7587, ptr %t380
+ store ptr @.str7628, ptr %t380
%t10460 = load ptr, ptr %t387
%t10461 = getelementptr inbounds %LSlice, ptr %t10460, i32 0, i32 1
%t10462 = getelementptr inbounds %LSlice, ptr %t10460, i32 0, i32 2
@@ -79114,17 +79859,17 @@ grow2176:
put2177:
%t10476 = load ptr, ptr %t10463
%t10477 = getelementptr inbounds ptr, ptr %t10476, i32 %t10464
- store ptr @.str7588, ptr %t10477
+ store ptr @.str7629, ptr %t10477
%t10478 = add i32 %t10464, 1
store i32 %t10478, ptr %t10461
br label %ifend2175
ifend2175:
%t10479 = load ptr, ptr %t1
- %t10480 = call i32 @fn_str_eq(ptr %t10479, ptr @.str7589)
+ %t10480 = call i32 @lp_str_eq(ptr %t10479, ptr @.str7630)
%t10481 = icmp ne i32 %t10480, 0
br i1 %t10481, label %then2178, label %ifend2180
then2178:
- store ptr @.str7590, ptr %t380
+ store ptr @.str7631, ptr %t380
%t10482 = load ptr, ptr %t387
%t10483 = getelementptr inbounds %LSlice, ptr %t10482, i32 0, i32 1
%t10484 = getelementptr inbounds %LSlice, ptr %t10482, i32 0, i32 2
@@ -79149,7 +79894,7 @@ grow2181:
put2182:
%t10498 = load ptr, ptr %t10485
%t10499 = getelementptr inbounds ptr, ptr %t10498, i32 %t10486
- store ptr @.str7591, ptr %t10499
+ store ptr @.str7632, ptr %t10499
%t10500 = add i32 %t10486, 1
store i32 %t10500, ptr %t10483
%t10501 = load ptr, ptr %t387
@@ -79176,7 +79921,7 @@ grow2183:
put2184:
%t10517 = load ptr, ptr %t10504
%t10518 = getelementptr inbounds ptr, ptr %t10517, i32 %t10505
- store ptr @.str7592, ptr %t10518
+ store ptr @.str7633, ptr %t10518
%t10519 = add i32 %t10505, 1
store i32 %t10519, ptr %t10502
%t10520 = load ptr, ptr %t387
@@ -79203,7 +79948,7 @@ grow2185:
put2186:
%t10536 = load ptr, ptr %t10523
%t10537 = getelementptr inbounds ptr, ptr %t10536, i32 %t10524
- store ptr @.str7593, ptr %t10537
+ store ptr @.str7634, ptr %t10537
%t10538 = add i32 %t10524, 1
store i32 %t10538, ptr %t10521
%t10539 = load ptr, ptr %t387
@@ -79230,7 +79975,7 @@ grow2187:
put2188:
%t10555 = load ptr, ptr %t10542
%t10556 = getelementptr inbounds ptr, ptr %t10555, i32 %t10543
- store ptr @.str7594, ptr %t10556
+ store ptr @.str7635, ptr %t10556
%t10557 = add i32 %t10543, 1
store i32 %t10557, ptr %t10540
%t10558 = load ptr, ptr %t387
@@ -79257,17 +80002,17 @@ grow2189:
put2190:
%t10574 = load ptr, ptr %t10561
%t10575 = getelementptr inbounds ptr, ptr %t10574, i32 %t10562
- store ptr @.str7595, ptr %t10575
+ store ptr @.str7636, ptr %t10575
%t10576 = add i32 %t10562, 1
store i32 %t10576, ptr %t10559
br label %ifend2180
ifend2180:
%t10577 = load ptr, ptr %t1
- %t10578 = call i32 @fn_str_eq(ptr %t10577, ptr @.str7596)
+ %t10578 = call i32 @lp_str_eq(ptr %t10577, ptr @.str7637)
%t10579 = icmp ne i32 %t10578, 0
br i1 %t10579, label %then2191, label %ifend2193
then2191:
- store ptr @.str7597, ptr %t380
+ store ptr @.str7638, ptr %t380
%t10580 = load ptr, ptr %t387
%t10581 = getelementptr inbounds %LSlice, ptr %t10580, i32 0, i32 1
%t10582 = getelementptr inbounds %LSlice, ptr %t10580, i32 0, i32 2
@@ -79292,7 +80037,7 @@ grow2194:
put2195:
%t10596 = load ptr, ptr %t10583
%t10597 = getelementptr inbounds ptr, ptr %t10596, i32 %t10584
- store ptr @.str7598, ptr %t10597
+ store ptr @.str7639, ptr %t10597
%t10598 = add i32 %t10584, 1
store i32 %t10598, ptr %t10581
%t10599 = load ptr, ptr %t387
@@ -79319,7 +80064,7 @@ grow2196:
put2197:
%t10615 = load ptr, ptr %t10602
%t10616 = getelementptr inbounds ptr, ptr %t10615, i32 %t10603
- store ptr @.str7599, ptr %t10616
+ store ptr @.str7640, ptr %t10616
%t10617 = add i32 %t10603, 1
store i32 %t10617, ptr %t10600
%t10618 = load ptr, ptr %t387
@@ -79346,7 +80091,7 @@ grow2198:
put2199:
%t10634 = load ptr, ptr %t10621
%t10635 = getelementptr inbounds ptr, ptr %t10634, i32 %t10622
- store ptr @.str7600, ptr %t10635
+ store ptr @.str7641, ptr %t10635
%t10636 = add i32 %t10622, 1
store i32 %t10636, ptr %t10619
%t10637 = load ptr, ptr %t387
@@ -79373,7 +80118,7 @@ grow2200:
put2201:
%t10653 = load ptr, ptr %t10640
%t10654 = getelementptr inbounds ptr, ptr %t10653, i32 %t10641
- store ptr @.str7601, ptr %t10654
+ store ptr @.str7642, ptr %t10654
%t10655 = add i32 %t10641, 1
store i32 %t10655, ptr %t10638
%t10656 = load ptr, ptr %t387
@@ -79400,7 +80145,7 @@ grow2202:
put2203:
%t10672 = load ptr, ptr %t10659
%t10673 = getelementptr inbounds ptr, ptr %t10672, i32 %t10660
- store ptr @.str7602, ptr %t10673
+ store ptr @.str7643, ptr %t10673
%t10674 = add i32 %t10660, 1
store i32 %t10674, ptr %t10657
%t10675 = load ptr, ptr %t387
@@ -79427,7 +80172,7 @@ grow2204:
put2205:
%t10691 = load ptr, ptr %t10678
%t10692 = getelementptr inbounds ptr, ptr %t10691, i32 %t10679
- store ptr @.str7603, ptr %t10692
+ store ptr @.str7644, ptr %t10692
%t10693 = add i32 %t10679, 1
store i32 %t10693, ptr %t10676
%t10694 = load ptr, ptr %t387
@@ -79454,17 +80199,17 @@ grow2206:
put2207:
%t10710 = load ptr, ptr %t10697
%t10711 = getelementptr inbounds ptr, ptr %t10710, i32 %t10698
- store ptr @.str7604, ptr %t10711
+ store ptr @.str7645, ptr %t10711
%t10712 = add i32 %t10698, 1
store i32 %t10712, ptr %t10695
br label %ifend2193
ifend2193:
%t10713 = load ptr, ptr %t1
- %t10714 = call i32 @fn_str_eq(ptr %t10713, ptr @.str7605)
+ %t10714 = call i32 @lp_str_eq(ptr %t10713, ptr @.str7646)
%t10715 = icmp ne i32 %t10714, 0
br i1 %t10715, label %then2208, label %ifend2210
then2208:
- store ptr @.str7606, ptr %t380
+ store ptr @.str7647, ptr %t380
%t10716 = load ptr, ptr %t387
%t10717 = getelementptr inbounds %LSlice, ptr %t10716, i32 0, i32 1
%t10718 = getelementptr inbounds %LSlice, ptr %t10716, i32 0, i32 2
@@ -79489,7 +80234,7 @@ grow2211:
put2212:
%t10732 = load ptr, ptr %t10719
%t10733 = getelementptr inbounds ptr, ptr %t10732, i32 %t10720
- store ptr @.str7607, ptr %t10733
+ store ptr @.str7648, ptr %t10733
%t10734 = add i32 %t10720, 1
store i32 %t10734, ptr %t10717
%t10735 = load ptr, ptr %t387
@@ -79516,7 +80261,7 @@ grow2213:
put2214:
%t10751 = load ptr, ptr %t10738
%t10752 = getelementptr inbounds ptr, ptr %t10751, i32 %t10739
- store ptr @.str7608, ptr %t10752
+ store ptr @.str7649, ptr %t10752
%t10753 = add i32 %t10739, 1
store i32 %t10753, ptr %t10736
%t10754 = load ptr, ptr %t387
@@ -79543,7 +80288,7 @@ grow2215:
put2216:
%t10770 = load ptr, ptr %t10757
%t10771 = getelementptr inbounds ptr, ptr %t10770, i32 %t10758
- store ptr @.str7609, ptr %t10771
+ store ptr @.str7650, ptr %t10771
%t10772 = add i32 %t10758, 1
store i32 %t10772, ptr %t10755
%t10773 = load ptr, ptr %t387
@@ -79570,25 +80315,25 @@ grow2217:
put2218:
%t10789 = load ptr, ptr %t10776
%t10790 = getelementptr inbounds ptr, ptr %t10789, i32 %t10777
- store ptr @.str7610, ptr %t10790
+ store ptr @.str7651, ptr %t10790
%t10791 = add i32 %t10777, 1
store i32 %t10791, ptr %t10774
br label %ifend2210
ifend2210:
%t10792 = load ptr, ptr %t1
- %t10793 = call i32 @fn_str_eq(ptr %t10792, ptr @.str7611)
+ %t10793 = call i32 @lp_str_eq(ptr %t10792, ptr @.str7652)
%t10794 = icmp ne i32 %t10793, 0
br i1 %t10794, label %then2219, label %ifend2221
then2219:
- store ptr @.str7612, ptr %t380
+ store ptr @.str7653, ptr %t380
br label %ifend2221
ifend2221:
%t10795 = load ptr, ptr %t1
- %t10796 = call i32 @fn_str_eq(ptr %t10795, ptr @.str7613)
+ %t10796 = call i32 @lp_str_eq(ptr %t10795, ptr @.str7654)
%t10797 = icmp ne i32 %t10796, 0
br i1 %t10797, label %then2222, label %ifend2224
then2222:
- store ptr @.str7614, ptr %t380
+ store ptr @.str7655, ptr %t380
%t10798 = load ptr, ptr %t387
%t10799 = getelementptr inbounds %LSlice, ptr %t10798, i32 0, i32 1
%t10800 = getelementptr inbounds %LSlice, ptr %t10798, i32 0, i32 2
@@ -79613,17 +80358,17 @@ grow2225:
put2226:
%t10814 = load ptr, ptr %t10801
%t10815 = getelementptr inbounds ptr, ptr %t10814, i32 %t10802
- store ptr @.str7615, ptr %t10815
+ store ptr @.str7656, ptr %t10815
%t10816 = add i32 %t10802, 1
store i32 %t10816, ptr %t10799
br label %ifend2224
ifend2224:
%t10817 = load ptr, ptr %t1
- %t10818 = call i32 @fn_str_eq(ptr %t10817, ptr @.str7616)
+ %t10818 = call i32 @lp_str_eq(ptr %t10817, ptr @.str7657)
%t10819 = icmp ne i32 %t10818, 0
br i1 %t10819, label %then2227, label %ifend2229
then2227:
- store ptr @.str7617, ptr %t380
+ store ptr @.str7658, ptr %t380
%t10820 = load ptr, ptr %t387
%t10821 = getelementptr inbounds %LSlice, ptr %t10820, i32 0, i32 1
%t10822 = getelementptr inbounds %LSlice, ptr %t10820, i32 0, i32 2
@@ -79648,17 +80393,17 @@ grow2230:
put2231:
%t10836 = load ptr, ptr %t10823
%t10837 = getelementptr inbounds ptr, ptr %t10836, i32 %t10824
- store ptr @.str7618, ptr %t10837
+ store ptr @.str7659, ptr %t10837
%t10838 = add i32 %t10824, 1
store i32 %t10838, ptr %t10821
br label %ifend2229
ifend2229:
%t10839 = load ptr, ptr %t1
- %t10840 = call i32 @fn_str_eq(ptr %t10839, ptr @.str7619)
+ %t10840 = call i32 @lp_str_eq(ptr %t10839, ptr @.str7660)
%t10841 = icmp ne i32 %t10840, 0
br i1 %t10841, label %then2232, label %ifend2234
then2232:
- store ptr @.str7620, ptr %t380
+ store ptr @.str7661, ptr %t380
%t10842 = load ptr, ptr %t387
%t10843 = getelementptr inbounds %LSlice, ptr %t10842, i32 0, i32 1
%t10844 = getelementptr inbounds %LSlice, ptr %t10842, i32 0, i32 2
@@ -79683,25 +80428,25 @@ grow2235:
put2236:
%t10858 = load ptr, ptr %t10845
%t10859 = getelementptr inbounds ptr, ptr %t10858, i32 %t10846
- store ptr @.str7621, ptr %t10859
+ store ptr @.str7662, ptr %t10859
%t10860 = add i32 %t10846, 1
store i32 %t10860, ptr %t10843
br label %ifend2234
ifend2234:
%t10861 = load ptr, ptr %t1
- %t10862 = call i32 @fn_str_eq(ptr %t10861, ptr @.str7622)
+ %t10862 = call i32 @lp_str_eq(ptr %t10861, ptr @.str7663)
%t10863 = icmp ne i32 %t10862, 0
br i1 %t10863, label %then2237, label %ifend2239
then2237:
- store ptr @.str7623, ptr %t380
+ store ptr @.str7664, ptr %t380
br label %ifend2239
ifend2239:
%t10864 = load ptr, ptr %t1
- %t10865 = call i32 @fn_str_eq(ptr %t10864, ptr @.str7624)
+ %t10865 = call i32 @lp_str_eq(ptr %t10864, ptr @.str7665)
%t10866 = icmp ne i32 %t10865, 0
br i1 %t10866, label %then2240, label %ifend2242
then2240:
- store ptr @.str7625, ptr %t380
+ store ptr @.str7666, ptr %t380
%t10867 = load ptr, ptr %t387
%t10868 = getelementptr inbounds %LSlice, ptr %t10867, i32 0, i32 1
%t10869 = getelementptr inbounds %LSlice, ptr %t10867, i32 0, i32 2
@@ -79726,17 +80471,17 @@ grow2243:
put2244:
%t10883 = load ptr, ptr %t10870
%t10884 = getelementptr inbounds ptr, ptr %t10883, i32 %t10871
- store ptr @.str7626, ptr %t10884
+ store ptr @.str7667, ptr %t10884
%t10885 = add i32 %t10871, 1
store i32 %t10885, ptr %t10868
br label %ifend2242
ifend2242:
%t10886 = load ptr, ptr %t1
- %t10887 = call i32 @fn_str_eq(ptr %t10886, ptr @.str7627)
+ %t10887 = call i32 @lp_str_eq(ptr %t10886, ptr @.str7668)
%t10888 = icmp ne i32 %t10887, 0
br i1 %t10888, label %then2245, label %ifend2247
then2245:
- store ptr @.str7628, ptr %t380
+ store ptr @.str7669, ptr %t380
%t10889 = load ptr, ptr %t387
%t10890 = getelementptr inbounds %LSlice, ptr %t10889, i32 0, i32 1
%t10891 = getelementptr inbounds %LSlice, ptr %t10889, i32 0, i32 2
@@ -79761,7 +80506,7 @@ grow2248:
put2249:
%t10905 = load ptr, ptr %t10892
%t10906 = getelementptr inbounds ptr, ptr %t10905, i32 %t10893
- store ptr @.str7629, ptr %t10906
+ store ptr @.str7670, ptr %t10906
%t10907 = add i32 %t10893, 1
store i32 %t10907, ptr %t10890
%t10908 = load ptr, ptr %t387
@@ -79788,7 +80533,7 @@ grow2250:
put2251:
%t10924 = load ptr, ptr %t10911
%t10925 = getelementptr inbounds ptr, ptr %t10924, i32 %t10912
- store ptr @.str7630, ptr %t10925
+ store ptr @.str7671, ptr %t10925
%t10926 = add i32 %t10912, 1
store i32 %t10926, ptr %t10909
%t10927 = load ptr, ptr %t387
@@ -79815,7 +80560,7 @@ grow2252:
put2253:
%t10943 = load ptr, ptr %t10930
%t10944 = getelementptr inbounds ptr, ptr %t10943, i32 %t10931
- store ptr @.str7631, ptr %t10944
+ store ptr @.str7672, ptr %t10944
%t10945 = add i32 %t10931, 1
store i32 %t10945, ptr %t10928
%t10946 = load ptr, ptr %t387
@@ -79842,7 +80587,7 @@ grow2254:
put2255:
%t10962 = load ptr, ptr %t10949
%t10963 = getelementptr inbounds ptr, ptr %t10962, i32 %t10950
- store ptr @.str7632, ptr %t10963
+ store ptr @.str7673, ptr %t10963
%t10964 = add i32 %t10950, 1
store i32 %t10964, ptr %t10947
%t10965 = load ptr, ptr %t387
@@ -79869,7 +80614,7 @@ grow2256:
put2257:
%t10981 = load ptr, ptr %t10968
%t10982 = getelementptr inbounds ptr, ptr %t10981, i32 %t10969
- store ptr @.str7633, ptr %t10982
+ store ptr @.str7674, ptr %t10982
%t10983 = add i32 %t10969, 1
store i32 %t10983, ptr %t10966
%t10984 = load ptr, ptr %t387
@@ -79896,25 +80641,25 @@ grow2258:
put2259:
%t11000 = load ptr, ptr %t10987
%t11001 = getelementptr inbounds ptr, ptr %t11000, i32 %t10988
- store ptr @.str7634, ptr %t11001
+ store ptr @.str7675, ptr %t11001
%t11002 = add i32 %t10988, 1
store i32 %t11002, ptr %t10985
br label %ifend2247
ifend2247:
%t11003 = load ptr, ptr %t1
- %t11004 = call i32 @fn_str_eq(ptr %t11003, ptr @.str7635)
+ %t11004 = call i32 @lp_str_eq(ptr %t11003, ptr @.str7676)
%t11005 = icmp ne i32 %t11004, 0
br i1 %t11005, label %then2260, label %ifend2262
then2260:
- store ptr @.str7636, ptr %t380
+ store ptr @.str7677, ptr %t380
br label %ifend2262
ifend2262:
%t11006 = load ptr, ptr %t1
- %t11007 = call i32 @fn_str_eq(ptr %t11006, ptr @.str7637)
+ %t11007 = call i32 @lp_str_eq(ptr %t11006, ptr @.str7678)
%t11008 = icmp ne i32 %t11007, 0
br i1 %t11008, label %then2263, label %ifend2265
then2263:
- store ptr @.str7638, ptr %t380
+ store ptr @.str7679, ptr %t380
%t11009 = load ptr, ptr %t387
%t11010 = getelementptr inbounds %LSlice, ptr %t11009, i32 0, i32 1
%t11011 = getelementptr inbounds %LSlice, ptr %t11009, i32 0, i32 2
@@ -79939,7 +80684,7 @@ grow2266:
put2267:
%t11025 = load ptr, ptr %t11012
%t11026 = getelementptr inbounds ptr, ptr %t11025, i32 %t11013
- store ptr @.str7639, ptr %t11026
+ store ptr @.str7680, ptr %t11026
%t11027 = add i32 %t11013, 1
store i32 %t11027, ptr %t11010
br label %ifend2265
@@ -79947,16 +80692,16 @@ ifend2265:
br label %ifend2172
ifend2172:
%t11028 = load ptr, ptr %t0
- %t11029 = call i32 @fn_str_eq(ptr %t11028, ptr @.str7640)
+ %t11029 = call i32 @lp_str_eq(ptr %t11028, ptr @.str7681)
%t11030 = icmp ne i32 %t11029, 0
br i1 %t11030, label %then2268, label %ifend2270
then2268:
%t11031 = load ptr, ptr %t1
- %t11032 = call i32 @fn_str_eq(ptr %t11031, ptr @.str7641)
+ %t11032 = call i32 @lp_str_eq(ptr %t11031, ptr @.str7682)
%t11033 = icmp ne i32 %t11032, 0
br i1 %t11033, label %then2271, label %ifend2273
then2271:
- store ptr @.str7642, ptr %t380
+ store ptr @.str7683, ptr %t380
%t11034 = load ptr, ptr %t387
%t11035 = getelementptr inbounds %LSlice, ptr %t11034, i32 0, i32 1
%t11036 = getelementptr inbounds %LSlice, ptr %t11034, i32 0, i32 2
@@ -79981,7 +80726,7 @@ grow2274:
put2275:
%t11050 = load ptr, ptr %t11037
%t11051 = getelementptr inbounds ptr, ptr %t11050, i32 %t11038
- store ptr @.str7643, ptr %t11051
+ store ptr @.str7684, ptr %t11051
%t11052 = add i32 %t11038, 1
store i32 %t11052, ptr %t11035
%t11053 = load ptr, ptr %t387
@@ -80008,7 +80753,7 @@ grow2276:
put2277:
%t11069 = load ptr, ptr %t11056
%t11070 = getelementptr inbounds ptr, ptr %t11069, i32 %t11057
- store ptr @.str7644, ptr %t11070
+ store ptr @.str7685, ptr %t11070
%t11071 = add i32 %t11057, 1
store i32 %t11071, ptr %t11054
%t11072 = load ptr, ptr %t387
@@ -80035,7 +80780,7 @@ grow2278:
put2279:
%t11088 = load ptr, ptr %t11075
%t11089 = getelementptr inbounds ptr, ptr %t11088, i32 %t11076
- store ptr @.str7645, ptr %t11089
+ store ptr @.str7686, ptr %t11089
%t11090 = add i32 %t11076, 1
store i32 %t11090, ptr %t11073
%t11091 = load ptr, ptr %t387
@@ -80062,17 +80807,17 @@ grow2280:
put2281:
%t11107 = load ptr, ptr %t11094
%t11108 = getelementptr inbounds ptr, ptr %t11107, i32 %t11095
- store ptr @.str7646, ptr %t11108
+ store ptr @.str7687, ptr %t11108
%t11109 = add i32 %t11095, 1
store i32 %t11109, ptr %t11092
br label %ifend2273
ifend2273:
%t11110 = load ptr, ptr %t1
- %t11111 = call i32 @fn_str_eq(ptr %t11110, ptr @.str7647)
+ %t11111 = call i32 @lp_str_eq(ptr %t11110, ptr @.str7688)
%t11112 = icmp ne i32 %t11111, 0
br i1 %t11112, label %then2282, label %ifend2284
then2282:
- store ptr @.str7648, ptr %t380
+ store ptr @.str7689, ptr %t380
%t11113 = load ptr, ptr %t387
%t11114 = getelementptr inbounds %LSlice, ptr %t11113, i32 0, i32 1
%t11115 = getelementptr inbounds %LSlice, ptr %t11113, i32 0, i32 2
@@ -80097,7 +80842,7 @@ grow2285:
put2286:
%t11129 = load ptr, ptr %t11116
%t11130 = getelementptr inbounds ptr, ptr %t11129, i32 %t11117
- store ptr @.str7649, ptr %t11130
+ store ptr @.str7690, ptr %t11130
%t11131 = add i32 %t11117, 1
store i32 %t11131, ptr %t11114
%t11132 = load ptr, ptr %t387
@@ -80124,17 +80869,17 @@ grow2287:
put2288:
%t11148 = load ptr, ptr %t11135
%t11149 = getelementptr inbounds ptr, ptr %t11148, i32 %t11136
- store ptr @.str7650, ptr %t11149
+ store ptr @.str7691, ptr %t11149
%t11150 = add i32 %t11136, 1
store i32 %t11150, ptr %t11133
br label %ifend2284
ifend2284:
%t11151 = load ptr, ptr %t1
- %t11152 = call i32 @fn_str_eq(ptr %t11151, ptr @.str7651)
+ %t11152 = call i32 @lp_str_eq(ptr %t11151, ptr @.str7692)
%t11153 = icmp ne i32 %t11152, 0
br i1 %t11153, label %then2289, label %ifend2291
then2289:
- store ptr @.str7652, ptr %t380
+ store ptr @.str7693, ptr %t380
%t11154 = load ptr, ptr %t387
%t11155 = getelementptr inbounds %LSlice, ptr %t11154, i32 0, i32 1
%t11156 = getelementptr inbounds %LSlice, ptr %t11154, i32 0, i32 2
@@ -80159,13 +80904,13 @@ grow2292:
put2293:
%t11170 = load ptr, ptr %t11157
%t11171 = getelementptr inbounds ptr, ptr %t11170, i32 %t11158
- store ptr @.str7653, ptr %t11171
+ store ptr @.str7694, ptr %t11171
%t11172 = add i32 %t11158, 1
store i32 %t11172, ptr %t11155
br label %ifend2291
ifend2291:
%t11173 = load ptr, ptr %t1
- %t11174 = call i32 @fn_str_eq(ptr %t11173, ptr @.str7654)
+ %t11174 = call i32 @lp_str_eq(ptr %t11173, ptr @.str7695)
%t11175 = icmp ne i32 %t11174, 0
br i1 %t11175, label %then2294, label %ifend2296
then2294:
@@ -80179,7 +80924,7 @@ then2294:
%t11183 = icmp ne i32 %t11182, 0
br i1 %t11183, label %then2297, label %else2298
then2297:
- store ptr @.str7655, ptr %t380
+ store ptr @.str7696, ptr %t380
%t11184 = load ptr, ptr %t387
%t11185 = getelementptr inbounds %LSlice, ptr %t11184, i32 0, i32 1
%t11186 = getelementptr inbounds %LSlice, ptr %t11184, i32 0, i32 2
@@ -80204,7 +80949,7 @@ grow2300:
put2301:
%t11200 = load ptr, ptr %t11187
%t11201 = getelementptr inbounds ptr, ptr %t11200, i32 %t11188
- store ptr @.str7656, ptr %t11201
+ store ptr @.str7697, ptr %t11201
%t11202 = add i32 %t11188, 1
store i32 %t11202, ptr %t11185
%t11203 = load ptr, ptr %t387
@@ -80231,12 +80976,12 @@ grow2302:
put2303:
%t11219 = load ptr, ptr %t11206
%t11220 = getelementptr inbounds ptr, ptr %t11219, i32 %t11207
- store ptr @.str7657, ptr %t11220
+ store ptr @.str7698, ptr %t11220
%t11221 = add i32 %t11207, 1
store i32 %t11221, ptr %t11204
br label %ifend2299
else2298:
- store ptr @.str7658, ptr %t380
+ store ptr @.str7699, ptr %t380
%t11222 = load ptr, ptr %t387
%t11223 = getelementptr inbounds %LSlice, ptr %t11222, i32 0, i32 1
%t11224 = getelementptr inbounds %LSlice, ptr %t11222, i32 0, i32 2
@@ -80261,7 +81006,7 @@ grow2304:
put2305:
%t11238 = load ptr, ptr %t11225
%t11239 = getelementptr inbounds ptr, ptr %t11238, i32 %t11226
- store ptr @.str7659, ptr %t11239
+ store ptr @.str7700, ptr %t11239
%t11240 = add i32 %t11226, 1
store i32 %t11240, ptr %t11223
%t11241 = load ptr, ptr %t387
@@ -80288,7 +81033,7 @@ grow2306:
put2307:
%t11257 = load ptr, ptr %t11244
%t11258 = getelementptr inbounds ptr, ptr %t11257, i32 %t11245
- store ptr @.str7660, ptr %t11258
+ store ptr @.str7701, ptr %t11258
%t11259 = add i32 %t11245, 1
store i32 %t11259, ptr %t11242
%t11260 = load ptr, ptr %t387
@@ -80315,7 +81060,7 @@ grow2308:
put2309:
%t11276 = load ptr, ptr %t11263
%t11277 = getelementptr inbounds ptr, ptr %t11276, i32 %t11264
- store ptr @.str7661, ptr %t11277
+ store ptr @.str7702, ptr %t11277
%t11278 = add i32 %t11264, 1
store i32 %t11278, ptr %t11261
%t11279 = load ptr, ptr %t387
@@ -80342,7 +81087,7 @@ grow2310:
put2311:
%t11295 = load ptr, ptr %t11282
%t11296 = getelementptr inbounds ptr, ptr %t11295, i32 %t11283
- store ptr @.str7662, ptr %t11296
+ store ptr @.str7703, ptr %t11296
%t11297 = add i32 %t11283, 1
store i32 %t11297, ptr %t11280
br label %ifend2299
@@ -80352,16 +81097,16 @@ ifend2296:
br label %ifend2270
ifend2270:
%t11298 = load ptr, ptr %t0
- %t11299 = call i32 @fn_str_eq(ptr %t11298, ptr @.str7663)
+ %t11299 = call i32 @lp_str_eq(ptr %t11298, ptr @.str7704)
%t11300 = icmp ne i32 %t11299, 0
br i1 %t11300, label %then2312, label %ifend2314
then2312:
%t11301 = load ptr, ptr %t1
- %t11302 = call i32 @fn_str_eq(ptr %t11301, ptr @.str7664)
+ %t11302 = call i32 @lp_str_eq(ptr %t11301, ptr @.str7705)
%t11303 = icmp ne i32 %t11302, 0
br i1 %t11303, label %then2315, label %ifend2317
then2315:
- store ptr @.str7665, ptr %t380
+ store ptr @.str7706, ptr %t380
%t11304 = load ptr, ptr %t387
%t11305 = getelementptr inbounds %LSlice, ptr %t11304, i32 0, i32 1
%t11306 = getelementptr inbounds %LSlice, ptr %t11304, i32 0, i32 2
@@ -80386,7 +81131,7 @@ grow2318:
put2319:
%t11320 = load ptr, ptr %t11307
%t11321 = getelementptr inbounds ptr, ptr %t11320, i32 %t11308
- store ptr @.str7666, ptr %t11321
+ store ptr @.str7707, ptr %t11321
%t11322 = add i32 %t11308, 1
store i32 %t11322, ptr %t11305
%t11323 = load ptr, ptr %t387
@@ -80413,7 +81158,7 @@ grow2320:
put2321:
%t11339 = load ptr, ptr %t11326
%t11340 = getelementptr inbounds ptr, ptr %t11339, i32 %t11327
- store ptr @.str7667, ptr %t11340
+ store ptr @.str7708, ptr %t11340
%t11341 = add i32 %t11327, 1
store i32 %t11341, ptr %t11324
%t11342 = load ptr, ptr %t387
@@ -80440,7 +81185,7 @@ grow2322:
put2323:
%t11358 = load ptr, ptr %t11345
%t11359 = getelementptr inbounds ptr, ptr %t11358, i32 %t11346
- store ptr @.str7668, ptr %t11359
+ store ptr @.str7709, ptr %t11359
%t11360 = add i32 %t11346, 1
store i32 %t11360, ptr %t11343
%t11361 = load ptr, ptr %t387
@@ -80467,7 +81212,7 @@ grow2324:
put2325:
%t11377 = load ptr, ptr %t11364
%t11378 = getelementptr inbounds ptr, ptr %t11377, i32 %t11365
- store ptr @.str7669, ptr %t11378
+ store ptr @.str7710, ptr %t11378
%t11379 = add i32 %t11365, 1
store i32 %t11379, ptr %t11362
%t11380 = load ptr, ptr %t387
@@ -80494,7 +81239,7 @@ grow2326:
put2327:
%t11396 = load ptr, ptr %t11383
%t11397 = getelementptr inbounds ptr, ptr %t11396, i32 %t11384
- store ptr @.str7670, ptr %t11397
+ store ptr @.str7711, ptr %t11397
%t11398 = add i32 %t11384, 1
store i32 %t11398, ptr %t11381
br label %ifend2317
@@ -80502,16 +81247,16 @@ ifend2317:
br label %ifend2314
ifend2314:
%t11399 = load ptr, ptr %t0
- %t11400 = call i32 @fn_str_eq(ptr %t11399, ptr @.str7671)
+ %t11400 = call i32 @lp_str_eq(ptr %t11399, ptr @.str7712)
%t11401 = icmp ne i32 %t11400, 0
br i1 %t11401, label %then2328, label %ifend2330
then2328:
%t11402 = load ptr, ptr %t1
- %t11403 = call i32 @fn_str_eq(ptr %t11402, ptr @.str7672)
+ %t11403 = call i32 @lp_str_eq(ptr %t11402, ptr @.str7713)
%t11404 = icmp ne i32 %t11403, 0
br i1 %t11404, label %then2331, label %ifend2333
then2331:
- store ptr @.str7673, ptr %t380
+ store ptr @.str7714, ptr %t380
%t11405 = load ptr, ptr %t387
%t11406 = getelementptr inbounds %LSlice, ptr %t11405, i32 0, i32 1
%t11407 = getelementptr inbounds %LSlice, ptr %t11405, i32 0, i32 2
@@ -80536,7 +81281,7 @@ grow2334:
put2335:
%t11421 = load ptr, ptr %t11408
%t11422 = getelementptr inbounds ptr, ptr %t11421, i32 %t11409
- store ptr @.str7674, ptr %t11422
+ store ptr @.str7715, ptr %t11422
%t11423 = add i32 %t11409, 1
store i32 %t11423, ptr %t11406
%t11424 = load ptr, ptr %t387
@@ -80563,7 +81308,7 @@ grow2336:
put2337:
%t11440 = load ptr, ptr %t11427
%t11441 = getelementptr inbounds ptr, ptr %t11440, i32 %t11428
- store ptr @.str7675, ptr %t11441
+ store ptr @.str7716, ptr %t11441
%t11442 = add i32 %t11428, 1
store i32 %t11442, ptr %t11425
%t11443 = load ptr, ptr %t387
@@ -80590,7 +81335,7 @@ grow2338:
put2339:
%t11459 = load ptr, ptr %t11446
%t11460 = getelementptr inbounds ptr, ptr %t11459, i32 %t11447
- store ptr @.str7676, ptr %t11460
+ store ptr @.str7717, ptr %t11460
%t11461 = add i32 %t11447, 1
store i32 %t11461, ptr %t11444
%t11462 = load ptr, ptr %t387
@@ -80617,17 +81362,17 @@ grow2340:
put2341:
%t11478 = load ptr, ptr %t11465
%t11479 = getelementptr inbounds ptr, ptr %t11478, i32 %t11466
- store ptr @.str7677, ptr %t11479
+ store ptr @.str7718, ptr %t11479
%t11480 = add i32 %t11466, 1
store i32 %t11480, ptr %t11463
br label %ifend2333
ifend2333:
%t11481 = load ptr, ptr %t1
- %t11482 = call i32 @fn_str_eq(ptr %t11481, ptr @.str7678)
+ %t11482 = call i32 @lp_str_eq(ptr %t11481, ptr @.str7719)
%t11483 = icmp ne i32 %t11482, 0
br i1 %t11483, label %then2342, label %ifend2344
then2342:
- store ptr @.str7679, ptr %t380
+ store ptr @.str7720, ptr %t380
%t11484 = load ptr, ptr %t387
%t11485 = getelementptr inbounds %LSlice, ptr %t11484, i32 0, i32 1
%t11486 = getelementptr inbounds %LSlice, ptr %t11484, i32 0, i32 2
@@ -80652,7 +81397,7 @@ grow2345:
put2346:
%t11500 = load ptr, ptr %t11487
%t11501 = getelementptr inbounds ptr, ptr %t11500, i32 %t11488
- store ptr @.str7680, ptr %t11501
+ store ptr @.str7721, ptr %t11501
%t11502 = add i32 %t11488, 1
store i32 %t11502, ptr %t11485
%t11503 = load ptr, ptr %t387
@@ -80679,7 +81424,7 @@ grow2347:
put2348:
%t11519 = load ptr, ptr %t11506
%t11520 = getelementptr inbounds ptr, ptr %t11519, i32 %t11507
- store ptr @.str7681, ptr %t11520
+ store ptr @.str7722, ptr %t11520
%t11521 = add i32 %t11507, 1
store i32 %t11521, ptr %t11504
%t11522 = load ptr, ptr %t387
@@ -80706,7 +81451,7 @@ grow2349:
put2350:
%t11538 = load ptr, ptr %t11525
%t11539 = getelementptr inbounds ptr, ptr %t11538, i32 %t11526
- store ptr @.str7682, ptr %t11539
+ store ptr @.str7723, ptr %t11539
%t11540 = add i32 %t11526, 1
store i32 %t11540, ptr %t11523
%t11541 = load ptr, ptr %t387
@@ -80733,17 +81478,17 @@ grow2351:
put2352:
%t11557 = load ptr, ptr %t11544
%t11558 = getelementptr inbounds ptr, ptr %t11557, i32 %t11545
- store ptr @.str7683, ptr %t11558
+ store ptr @.str7724, ptr %t11558
%t11559 = add i32 %t11545, 1
store i32 %t11559, ptr %t11542
br label %ifend2344
ifend2344:
%t11560 = load ptr, ptr %t1
- %t11561 = call i32 @fn_str_eq(ptr %t11560, ptr @.str7684)
+ %t11561 = call i32 @lp_str_eq(ptr %t11560, ptr @.str7725)
%t11562 = icmp ne i32 %t11561, 0
br i1 %t11562, label %then2353, label %ifend2355
then2353:
- store ptr @.str7685, ptr %t380
+ store ptr @.str7726, ptr %t380
%t11563 = load ptr, ptr %t387
%t11564 = getelementptr inbounds %LSlice, ptr %t11563, i32 0, i32 1
%t11565 = getelementptr inbounds %LSlice, ptr %t11563, i32 0, i32 2
@@ -80768,7 +81513,7 @@ grow2356:
put2357:
%t11579 = load ptr, ptr %t11566
%t11580 = getelementptr inbounds ptr, ptr %t11579, i32 %t11567
- store ptr @.str7686, ptr %t11580
+ store ptr @.str7727, ptr %t11580
%t11581 = add i32 %t11567, 1
store i32 %t11581, ptr %t11564
%t11582 = load ptr, ptr %t387
@@ -80795,17 +81540,17 @@ grow2358:
put2359:
%t11598 = load ptr, ptr %t11585
%t11599 = getelementptr inbounds ptr, ptr %t11598, i32 %t11586
- store ptr @.str7687, ptr %t11599
+ store ptr @.str7728, ptr %t11599
%t11600 = add i32 %t11586, 1
store i32 %t11600, ptr %t11583
br label %ifend2355
ifend2355:
%t11601 = load ptr, ptr %t1
- %t11602 = call i32 @fn_str_eq(ptr %t11601, ptr @.str7688)
+ %t11602 = call i32 @lp_str_eq(ptr %t11601, ptr @.str7729)
%t11603 = icmp ne i32 %t11602, 0
br i1 %t11603, label %then2360, label %ifend2362
then2360:
- store ptr @.str7689, ptr %t380
+ store ptr @.str7730, ptr %t380
%t11604 = load ptr, ptr %t387
%t11605 = getelementptr inbounds %LSlice, ptr %t11604, i32 0, i32 1
%t11606 = getelementptr inbounds %LSlice, ptr %t11604, i32 0, i32 2
@@ -80830,17 +81575,17 @@ grow2363:
put2364:
%t11620 = load ptr, ptr %t11607
%t11621 = getelementptr inbounds ptr, ptr %t11620, i32 %t11608
- store ptr @.str7690, ptr %t11621
+ store ptr @.str7731, ptr %t11621
%t11622 = add i32 %t11608, 1
store i32 %t11622, ptr %t11605
br label %ifend2362
ifend2362:
%t11623 = load ptr, ptr %t1
- %t11624 = call i32 @fn_str_eq(ptr %t11623, ptr @.str7691)
+ %t11624 = call i32 @lp_str_eq(ptr %t11623, ptr @.str7732)
%t11625 = icmp ne i32 %t11624, 0
br i1 %t11625, label %then2365, label %ifend2367
then2365:
- store ptr @.str7692, ptr %t380
+ store ptr @.str7733, ptr %t380
%t11626 = load ptr, ptr %t387
%t11627 = getelementptr inbounds %LSlice, ptr %t11626, i32 0, i32 1
%t11628 = getelementptr inbounds %LSlice, ptr %t11626, i32 0, i32 2
@@ -80865,17 +81610,17 @@ grow2368:
put2369:
%t11642 = load ptr, ptr %t11629
%t11643 = getelementptr inbounds ptr, ptr %t11642, i32 %t11630
- store ptr @.str7693, ptr %t11643
+ store ptr @.str7734, ptr %t11643
%t11644 = add i32 %t11630, 1
store i32 %t11644, ptr %t11627
br label %ifend2367
ifend2367:
%t11645 = load ptr, ptr %t1
- %t11646 = call i32 @fn_str_eq(ptr %t11645, ptr @.str7694)
+ %t11646 = call i32 @lp_str_eq(ptr %t11645, ptr @.str7735)
%t11647 = icmp ne i32 %t11646, 0
br i1 %t11647, label %then2370, label %ifend2372
then2370:
- store ptr @.str7695, ptr %t380
+ store ptr @.str7736, ptr %t380
%t11648 = load ptr, ptr %t387
%t11649 = getelementptr inbounds %LSlice, ptr %t11648, i32 0, i32 1
%t11650 = getelementptr inbounds %LSlice, ptr %t11648, i32 0, i32 2
@@ -80900,7 +81645,7 @@ grow2373:
put2374:
%t11664 = load ptr, ptr %t11651
%t11665 = getelementptr inbounds ptr, ptr %t11664, i32 %t11652
- store ptr @.str7696, ptr %t11665
+ store ptr @.str7737, ptr %t11665
%t11666 = add i32 %t11652, 1
store i32 %t11666, ptr %t11649
%t11667 = load ptr, ptr %t387
@@ -80927,7 +81672,7 @@ grow2375:
put2376:
%t11683 = load ptr, ptr %t11670
%t11684 = getelementptr inbounds ptr, ptr %t11683, i32 %t11671
- store ptr @.str7697, ptr %t11684
+ store ptr @.str7738, ptr %t11684
%t11685 = add i32 %t11671, 1
store i32 %t11685, ptr %t11668
br label %ifend2372
@@ -80935,16 +81680,16 @@ ifend2372:
br label %ifend2330
ifend2330:
%t11686 = load ptr, ptr %t0
- %t11687 = call i32 @fn_str_eq(ptr %t11686, ptr @.str7698)
+ %t11687 = call i32 @lp_str_eq(ptr %t11686, ptr @.str7739)
%t11688 = icmp ne i32 %t11687, 0
br i1 %t11688, label %then2377, label %ifend2379
then2377:
%t11689 = load ptr, ptr %t1
- %t11690 = call i32 @fn_str_eq(ptr %t11689, ptr @.str7699)
+ %t11690 = call i32 @lp_str_eq(ptr %t11689, ptr @.str7740)
%t11691 = icmp ne i32 %t11690, 0
br i1 %t11691, label %then2380, label %ifend2382
then2380:
- store ptr @.str7700, ptr %t380
+ store ptr @.str7741, ptr %t380
%t11692 = load ptr, ptr %t387
%t11693 = getelementptr inbounds %LSlice, ptr %t11692, i32 0, i32 1
%t11694 = getelementptr inbounds %LSlice, ptr %t11692, i32 0, i32 2
@@ -80969,17 +81714,17 @@ grow2383:
put2384:
%t11708 = load ptr, ptr %t11695
%t11709 = getelementptr inbounds ptr, ptr %t11708, i32 %t11696
- store ptr @.str7701, ptr %t11709
+ store ptr @.str7742, ptr %t11709
%t11710 = add i32 %t11696, 1
store i32 %t11710, ptr %t11693
br label %ifend2382
ifend2382:
%t11711 = load ptr, ptr %t1
- %t11712 = call i32 @fn_str_eq(ptr %t11711, ptr @.str7702)
+ %t11712 = call i32 @lp_str_eq(ptr %t11711, ptr @.str7743)
%t11713 = icmp ne i32 %t11712, 0
br i1 %t11713, label %then2385, label %ifend2387
then2385:
- store ptr @.str7703, ptr %t380
+ store ptr @.str7744, ptr %t380
%t11714 = load ptr, ptr %t387
%t11715 = getelementptr inbounds %LSlice, ptr %t11714, i32 0, i32 1
%t11716 = getelementptr inbounds %LSlice, ptr %t11714, i32 0, i32 2
@@ -81004,17 +81749,17 @@ grow2388:
put2389:
%t11730 = load ptr, ptr %t11717
%t11731 = getelementptr inbounds ptr, ptr %t11730, i32 %t11718
- store ptr @.str7704, ptr %t11731
+ store ptr @.str7745, ptr %t11731
%t11732 = add i32 %t11718, 1
store i32 %t11732, ptr %t11715
br label %ifend2387
ifend2387:
%t11733 = load ptr, ptr %t1
- %t11734 = call i32 @fn_str_eq(ptr %t11733, ptr @.str7705)
+ %t11734 = call i32 @lp_str_eq(ptr %t11733, ptr @.str7746)
%t11735 = icmp ne i32 %t11734, 0
br i1 %t11735, label %then2390, label %ifend2392
then2390:
- store ptr @.str7706, ptr %t380
+ store ptr @.str7747, ptr %t380
%t11736 = load ptr, ptr %t387
%t11737 = getelementptr inbounds %LSlice, ptr %t11736, i32 0, i32 1
%t11738 = getelementptr inbounds %LSlice, ptr %t11736, i32 0, i32 2
@@ -81039,7 +81784,7 @@ grow2393:
put2394:
%t11752 = load ptr, ptr %t11739
%t11753 = getelementptr inbounds ptr, ptr %t11752, i32 %t11740
- store ptr @.str7707, ptr %t11753
+ store ptr @.str7748, ptr %t11753
%t11754 = add i32 %t11740, 1
store i32 %t11754, ptr %t11737
%t11755 = load ptr, ptr %t387
@@ -81066,7 +81811,7 @@ grow2395:
put2396:
%t11771 = load ptr, ptr %t11758
%t11772 = getelementptr inbounds ptr, ptr %t11771, i32 %t11759
- store ptr @.str7708, ptr %t11772
+ store ptr @.str7749, ptr %t11772
%t11773 = add i32 %t11759, 1
store i32 %t11773, ptr %t11756
%t11774 = load ptr, ptr %t387
@@ -81093,7 +81838,7 @@ grow2397:
put2398:
%t11790 = load ptr, ptr %t11777
%t11791 = getelementptr inbounds ptr, ptr %t11790, i32 %t11778
- store ptr @.str7709, ptr %t11791
+ store ptr @.str7750, ptr %t11791
%t11792 = add i32 %t11778, 1
store i32 %t11792, ptr %t11775
%t11793 = load ptr, ptr %t387
@@ -81120,7 +81865,7 @@ grow2399:
put2400:
%t11809 = load ptr, ptr %t11796
%t11810 = getelementptr inbounds ptr, ptr %t11809, i32 %t11797
- store ptr @.str7710, ptr %t11810
+ store ptr @.str7751, ptr %t11810
%t11811 = add i32 %t11797, 1
store i32 %t11811, ptr %t11794
%t11812 = load ptr, ptr %t387
@@ -81147,7 +81892,7 @@ grow2401:
put2402:
%t11828 = load ptr, ptr %t11815
%t11829 = getelementptr inbounds ptr, ptr %t11828, i32 %t11816
- store ptr @.str7711, ptr %t11829
+ store ptr @.str7752, ptr %t11829
%t11830 = add i32 %t11816, 1
store i32 %t11830, ptr %t11813
%t11831 = load ptr, ptr %t387
@@ -81174,17 +81919,17 @@ grow2403:
put2404:
%t11847 = load ptr, ptr %t11834
%t11848 = getelementptr inbounds ptr, ptr %t11847, i32 %t11835
- store ptr @.str7712, ptr %t11848
+ store ptr @.str7753, ptr %t11848
%t11849 = add i32 %t11835, 1
store i32 %t11849, ptr %t11832
br label %ifend2392
ifend2392:
%t11850 = load ptr, ptr %t1
- %t11851 = call i32 @fn_str_eq(ptr %t11850, ptr @.str7713)
+ %t11851 = call i32 @lp_str_eq(ptr %t11850, ptr @.str7754)
%t11852 = icmp ne i32 %t11851, 0
br i1 %t11852, label %then2405, label %ifend2407
then2405:
- store ptr @.str7714, ptr %t380
+ store ptr @.str7755, ptr %t380
%t11853 = load ptr, ptr %t387
%t11854 = getelementptr inbounds %LSlice, ptr %t11853, i32 0, i32 1
%t11855 = getelementptr inbounds %LSlice, ptr %t11853, i32 0, i32 2
@@ -81209,7 +81954,7 @@ grow2408:
put2409:
%t11869 = load ptr, ptr %t11856
%t11870 = getelementptr inbounds ptr, ptr %t11869, i32 %t11857
- store ptr @.str7715, ptr %t11870
+ store ptr @.str7756, ptr %t11870
%t11871 = add i32 %t11857, 1
store i32 %t11871, ptr %t11854
%t11872 = load ptr, ptr %t387
@@ -81236,7 +81981,7 @@ grow2410:
put2411:
%t11888 = load ptr, ptr %t11875
%t11889 = getelementptr inbounds ptr, ptr %t11888, i32 %t11876
- store ptr @.str7716, ptr %t11889
+ store ptr @.str7757, ptr %t11889
%t11890 = add i32 %t11876, 1
store i32 %t11890, ptr %t11873
%t11891 = load ptr, ptr %t387
@@ -81263,7 +82008,7 @@ grow2412:
put2413:
%t11907 = load ptr, ptr %t11894
%t11908 = getelementptr inbounds ptr, ptr %t11907, i32 %t11895
- store ptr @.str7717, ptr %t11908
+ store ptr @.str7758, ptr %t11908
%t11909 = add i32 %t11895, 1
store i32 %t11909, ptr %t11892
%t11910 = load ptr, ptr %t387
@@ -81290,7 +82035,7 @@ grow2414:
put2415:
%t11926 = load ptr, ptr %t11913
%t11927 = getelementptr inbounds ptr, ptr %t11926, i32 %t11914
- store ptr @.str7718, ptr %t11927
+ store ptr @.str7759, ptr %t11927
%t11928 = add i32 %t11914, 1
store i32 %t11928, ptr %t11911
%t11929 = load ptr, ptr %t387
@@ -81317,7 +82062,7 @@ grow2416:
put2417:
%t11945 = load ptr, ptr %t11932
%t11946 = getelementptr inbounds ptr, ptr %t11945, i32 %t11933
- store ptr @.str7719, ptr %t11946
+ store ptr @.str7760, ptr %t11946
%t11947 = add i32 %t11933, 1
store i32 %t11947, ptr %t11930
%t11948 = load ptr, ptr %t387
@@ -81344,7 +82089,7 @@ grow2418:
put2419:
%t11964 = load ptr, ptr %t11951
%t11965 = getelementptr inbounds ptr, ptr %t11964, i32 %t11952
- store ptr @.str7720, ptr %t11965
+ store ptr @.str7761, ptr %t11965
%t11966 = add i32 %t11952, 1
store i32 %t11966, ptr %t11949
%t11967 = load ptr, ptr %t387
@@ -81371,7 +82116,7 @@ grow2420:
put2421:
%t11983 = load ptr, ptr %t11970
%t11984 = getelementptr inbounds ptr, ptr %t11983, i32 %t11971
- store ptr @.str7721, ptr %t11984
+ store ptr @.str7762, ptr %t11984
%t11985 = add i32 %t11971, 1
store i32 %t11985, ptr %t11968
br label %ifend2407
@@ -81379,16 +82124,16 @@ ifend2407:
br label %ifend2379
ifend2379:
%t11986 = load ptr, ptr %t0
- %t11987 = call i32 @fn_str_eq(ptr %t11986, ptr @.str7722)
+ %t11987 = call i32 @lp_str_eq(ptr %t11986, ptr @.str7763)
%t11988 = icmp ne i32 %t11987, 0
br i1 %t11988, label %then2422, label %ifend2424
then2422:
%t11989 = load ptr, ptr %t1
- %t11990 = call i32 @fn_str_eq(ptr %t11989, ptr @.str7723)
+ %t11990 = call i32 @lp_str_eq(ptr %t11989, ptr @.str7764)
%t11991 = icmp ne i32 %t11990, 0
br i1 %t11991, label %then2425, label %ifend2427
then2425:
- store ptr @.str7724, ptr %t380
+ store ptr @.str7765, ptr %t380
%t11992 = load ptr, ptr %t387
%t11993 = getelementptr inbounds %LSlice, ptr %t11992, i32 0, i32 1
%t11994 = getelementptr inbounds %LSlice, ptr %t11992, i32 0, i32 2
@@ -81413,17 +82158,17 @@ grow2428:
put2429:
%t12008 = load ptr, ptr %t11995
%t12009 = getelementptr inbounds ptr, ptr %t12008, i32 %t11996
- store ptr @.str7725, ptr %t12009
+ store ptr @.str7766, ptr %t12009
%t12010 = add i32 %t11996, 1
store i32 %t12010, ptr %t11993
br label %ifend2427
ifend2427:
%t12011 = load ptr, ptr %t1
- %t12012 = call i32 @fn_str_eq(ptr %t12011, ptr @.str7726)
+ %t12012 = call i32 @lp_str_eq(ptr %t12011, ptr @.str7767)
%t12013 = icmp ne i32 %t12012, 0
br i1 %t12013, label %then2430, label %ifend2432
then2430:
- store ptr @.str7727, ptr %t380
+ store ptr @.str7768, ptr %t380
%t12014 = load ptr, ptr %t387
%t12015 = getelementptr inbounds %LSlice, ptr %t12014, i32 0, i32 1
%t12016 = getelementptr inbounds %LSlice, ptr %t12014, i32 0, i32 2
@@ -81448,7 +82193,7 @@ grow2433:
put2434:
%t12030 = load ptr, ptr %t12017
%t12031 = getelementptr inbounds ptr, ptr %t12030, i32 %t12018
- store ptr @.str7728, ptr %t12031
+ store ptr @.str7769, ptr %t12031
%t12032 = add i32 %t12018, 1
store i32 %t12032, ptr %t12015
%t12033 = load ptr, ptr %t387
@@ -81475,25 +82220,25 @@ grow2435:
put2436:
%t12049 = load ptr, ptr %t12036
%t12050 = getelementptr inbounds ptr, ptr %t12049, i32 %t12037
- store ptr @.str7729, ptr %t12050
+ store ptr @.str7770, ptr %t12050
%t12051 = add i32 %t12037, 1
store i32 %t12051, ptr %t12034
br label %ifend2432
ifend2432:
%t12052 = load ptr, ptr %t1
- %t12053 = call i32 @fn_str_eq(ptr %t12052, ptr @.str7730)
+ %t12053 = call i32 @lp_str_eq(ptr %t12052, ptr @.str7771)
%t12054 = icmp ne i32 %t12053, 0
br i1 %t12054, label %then2437, label %ifend2439
then2437:
- store ptr @.str7731, ptr %t380
+ store ptr @.str7772, ptr %t380
br label %ifend2439
ifend2439:
%t12055 = load ptr, ptr %t1
- %t12056 = call i32 @fn_str_eq(ptr %t12055, ptr @.str7732)
+ %t12056 = call i32 @lp_str_eq(ptr %t12055, ptr @.str7773)
%t12057 = icmp ne i32 %t12056, 0
br i1 %t12057, label %then2440, label %ifend2442
then2440:
- store ptr @.str7733, ptr %t380
+ store ptr @.str7774, ptr %t380
%t12058 = load ptr, ptr %t387
%t12059 = getelementptr inbounds %LSlice, ptr %t12058, i32 0, i32 1
%t12060 = getelementptr inbounds %LSlice, ptr %t12058, i32 0, i32 2
@@ -81518,17 +82263,17 @@ grow2443:
put2444:
%t12074 = load ptr, ptr %t12061
%t12075 = getelementptr inbounds ptr, ptr %t12074, i32 %t12062
- store ptr @.str7734, ptr %t12075
+ store ptr @.str7775, ptr %t12075
%t12076 = add i32 %t12062, 1
store i32 %t12076, ptr %t12059
br label %ifend2442
ifend2442:
%t12077 = load ptr, ptr %t1
- %t12078 = call i32 @fn_str_eq(ptr %t12077, ptr @.str7735)
+ %t12078 = call i32 @lp_str_eq(ptr %t12077, ptr @.str7776)
%t12079 = icmp ne i32 %t12078, 0
br i1 %t12079, label %then2445, label %ifend2447
then2445:
- store ptr @.str7736, ptr %t380
+ store ptr @.str7777, ptr %t380
%t12080 = load ptr, ptr %t387
%t12081 = getelementptr inbounds %LSlice, ptr %t12080, i32 0, i32 1
%t12082 = getelementptr inbounds %LSlice, ptr %t12080, i32 0, i32 2
@@ -81553,17 +82298,17 @@ grow2448:
put2449:
%t12096 = load ptr, ptr %t12083
%t12097 = getelementptr inbounds ptr, ptr %t12096, i32 %t12084
- store ptr @.str7737, ptr %t12097
+ store ptr @.str7778, ptr %t12097
%t12098 = add i32 %t12084, 1
store i32 %t12098, ptr %t12081
br label %ifend2447
ifend2447:
%t12099 = load ptr, ptr %t1
- %t12100 = call i32 @fn_str_eq(ptr %t12099, ptr @.str7738)
+ %t12100 = call i32 @lp_str_eq(ptr %t12099, ptr @.str7779)
%t12101 = icmp ne i32 %t12100, 0
br i1 %t12101, label %then2450, label %ifend2452
then2450:
- store ptr @.str7739, ptr %t380
+ store ptr @.str7780, ptr %t380
%t12102 = load ptr, ptr %t387
%t12103 = getelementptr inbounds %LSlice, ptr %t12102, i32 0, i32 1
%t12104 = getelementptr inbounds %LSlice, ptr %t12102, i32 0, i32 2
@@ -81588,7 +82333,7 @@ grow2453:
put2454:
%t12118 = load ptr, ptr %t12105
%t12119 = getelementptr inbounds ptr, ptr %t12118, i32 %t12106
- store ptr @.str7740, ptr %t12119
+ store ptr @.str7781, ptr %t12119
%t12120 = add i32 %t12106, 1
store i32 %t12120, ptr %t12103
%t12121 = load ptr, ptr %t387
@@ -81615,17 +82360,17 @@ grow2455:
put2456:
%t12137 = load ptr, ptr %t12124
%t12138 = getelementptr inbounds ptr, ptr %t12137, i32 %t12125
- store ptr @.str7741, ptr %t12138
+ store ptr @.str7782, ptr %t12138
%t12139 = add i32 %t12125, 1
store i32 %t12139, ptr %t12122
br label %ifend2452
ifend2452:
%t12140 = load ptr, ptr %t1
- %t12141 = call i32 @fn_str_eq(ptr %t12140, ptr @.str7742)
+ %t12141 = call i32 @lp_str_eq(ptr %t12140, ptr @.str7783)
%t12142 = icmp ne i32 %t12141, 0
br i1 %t12142, label %then2457, label %ifend2459
then2457:
- store ptr @.str7743, ptr %t380
+ store ptr @.str7784, ptr %t380
%t12143 = load ptr, ptr %t387
%t12144 = getelementptr inbounds %LSlice, ptr %t12143, i32 0, i32 1
%t12145 = getelementptr inbounds %LSlice, ptr %t12143, i32 0, i32 2
@@ -81650,7 +82395,7 @@ grow2460:
put2461:
%t12159 = load ptr, ptr %t12146
%t12160 = getelementptr inbounds ptr, ptr %t12159, i32 %t12147
- store ptr @.str7744, ptr %t12160
+ store ptr @.str7785, ptr %t12160
%t12161 = add i32 %t12147, 1
store i32 %t12161, ptr %t12144
%t12162 = load ptr, ptr %t387
@@ -81677,17 +82422,17 @@ grow2462:
put2463:
%t12178 = load ptr, ptr %t12165
%t12179 = getelementptr inbounds ptr, ptr %t12178, i32 %t12166
- store ptr @.str7745, ptr %t12179
+ store ptr @.str7786, ptr %t12179
%t12180 = add i32 %t12166, 1
store i32 %t12180, ptr %t12163
br label %ifend2459
ifend2459:
%t12181 = load ptr, ptr %t1
- %t12182 = call i32 @fn_str_eq(ptr %t12181, ptr @.str7746)
+ %t12182 = call i32 @lp_str_eq(ptr %t12181, ptr @.str7787)
%t12183 = icmp ne i32 %t12182, 0
br i1 %t12183, label %then2464, label %ifend2466
then2464:
- store ptr @.str7747, ptr %t380
+ store ptr @.str7788, ptr %t380
%t12184 = load ptr, ptr %t387
%t12185 = getelementptr inbounds %LSlice, ptr %t12184, i32 0, i32 1
%t12186 = getelementptr inbounds %LSlice, ptr %t12184, i32 0, i32 2
@@ -81712,7 +82457,7 @@ grow2467:
put2468:
%t12200 = load ptr, ptr %t12187
%t12201 = getelementptr inbounds ptr, ptr %t12200, i32 %t12188
- store ptr @.str7748, ptr %t12201
+ store ptr @.str7789, ptr %t12201
%t12202 = add i32 %t12188, 1
store i32 %t12202, ptr %t12185
%t12203 = load ptr, ptr %t387
@@ -81739,7 +82484,7 @@ grow2469:
put2470:
%t12219 = load ptr, ptr %t12206
%t12220 = getelementptr inbounds ptr, ptr %t12219, i32 %t12207
- store ptr @.str7749, ptr %t12220
+ store ptr @.str7790, ptr %t12220
%t12221 = add i32 %t12207, 1
store i32 %t12221, ptr %t12204
%t12222 = load ptr, ptr %t387
@@ -81766,17 +82511,17 @@ grow2471:
put2472:
%t12238 = load ptr, ptr %t12225
%t12239 = getelementptr inbounds ptr, ptr %t12238, i32 %t12226
- store ptr @.str7750, ptr %t12239
+ store ptr @.str7791, ptr %t12239
%t12240 = add i32 %t12226, 1
store i32 %t12240, ptr %t12223
br label %ifend2466
ifend2466:
%t12241 = load ptr, ptr %t1
- %t12242 = call i32 @fn_str_eq(ptr %t12241, ptr @.str7751)
+ %t12242 = call i32 @lp_str_eq(ptr %t12241, ptr @.str7792)
%t12243 = icmp ne i32 %t12242, 0
br i1 %t12243, label %then2473, label %ifend2475
then2473:
- store ptr @.str7752, ptr %t380
+ store ptr @.str7793, ptr %t380
%t12244 = load ptr, ptr %t387
%t12245 = getelementptr inbounds %LSlice, ptr %t12244, i32 0, i32 1
%t12246 = getelementptr inbounds %LSlice, ptr %t12244, i32 0, i32 2
@@ -81801,7 +82546,7 @@ grow2476:
put2477:
%t12260 = load ptr, ptr %t12247
%t12261 = getelementptr inbounds ptr, ptr %t12260, i32 %t12248
- store ptr @.str7753, ptr %t12261
+ store ptr @.str7794, ptr %t12261
%t12262 = add i32 %t12248, 1
store i32 %t12262, ptr %t12245
%t12263 = load ptr, ptr %t387
@@ -81828,7 +82573,7 @@ grow2478:
put2479:
%t12279 = load ptr, ptr %t12266
%t12280 = getelementptr inbounds ptr, ptr %t12279, i32 %t12267
- store ptr @.str7754, ptr %t12280
+ store ptr @.str7795, ptr %t12280
%t12281 = add i32 %t12267, 1
store i32 %t12281, ptr %t12264
%t12282 = load ptr, ptr %t387
@@ -81855,7 +82600,7 @@ grow2480:
put2481:
%t12298 = load ptr, ptr %t12285
%t12299 = getelementptr inbounds ptr, ptr %t12298, i32 %t12286
- store ptr @.str7755, ptr %t12299
+ store ptr @.str7796, ptr %t12299
%t12300 = add i32 %t12286, 1
store i32 %t12300, ptr %t12283
%t12301 = load ptr, ptr %t387
@@ -81882,17 +82627,17 @@ grow2482:
put2483:
%t12317 = load ptr, ptr %t12304
%t12318 = getelementptr inbounds ptr, ptr %t12317, i32 %t12305
- store ptr @.str7756, ptr %t12318
+ store ptr @.str7797, ptr %t12318
%t12319 = add i32 %t12305, 1
store i32 %t12319, ptr %t12302
br label %ifend2475
ifend2475:
%t12320 = load ptr, ptr %t1
- %t12321 = call i32 @fn_str_eq(ptr %t12320, ptr @.str7757)
+ %t12321 = call i32 @lp_str_eq(ptr %t12320, ptr @.str7798)
%t12322 = icmp ne i32 %t12321, 0
br i1 %t12322, label %then2484, label %ifend2486
then2484:
- store ptr @.str7758, ptr %t380
+ store ptr @.str7799, ptr %t380
%t12323 = load ptr, ptr %t387
%t12324 = getelementptr inbounds %LSlice, ptr %t12323, i32 0, i32 1
%t12325 = getelementptr inbounds %LSlice, ptr %t12323, i32 0, i32 2
@@ -81917,7 +82662,7 @@ grow2487:
put2488:
%t12339 = load ptr, ptr %t12326
%t12340 = getelementptr inbounds ptr, ptr %t12339, i32 %t12327
- store ptr @.str7759, ptr %t12340
+ store ptr @.str7800, ptr %t12340
%t12341 = add i32 %t12327, 1
store i32 %t12341, ptr %t12324
%t12342 = load ptr, ptr %t387
@@ -81944,17 +82689,17 @@ grow2489:
put2490:
%t12358 = load ptr, ptr %t12345
%t12359 = getelementptr inbounds ptr, ptr %t12358, i32 %t12346
- store ptr @.str7760, ptr %t12359
+ store ptr @.str7801, ptr %t12359
%t12360 = add i32 %t12346, 1
store i32 %t12360, ptr %t12343
br label %ifend2486
ifend2486:
%t12361 = load ptr, ptr %t1
- %t12362 = call i32 @fn_str_eq(ptr %t12361, ptr @.str7761)
+ %t12362 = call i32 @lp_str_eq(ptr %t12361, ptr @.str7802)
%t12363 = icmp ne i32 %t12362, 0
br i1 %t12363, label %then2491, label %ifend2493
then2491:
- store ptr @.str7762, ptr %t380
+ store ptr @.str7803, ptr %t380
%t12364 = load ptr, ptr %t387
%t12365 = getelementptr inbounds %LSlice, ptr %t12364, i32 0, i32 1
%t12366 = getelementptr inbounds %LSlice, ptr %t12364, i32 0, i32 2
@@ -81979,17 +82724,17 @@ grow2494:
put2495:
%t12380 = load ptr, ptr %t12367
%t12381 = getelementptr inbounds ptr, ptr %t12380, i32 %t12368
- store ptr @.str7763, ptr %t12381
+ store ptr @.str7804, ptr %t12381
%t12382 = add i32 %t12368, 1
store i32 %t12382, ptr %t12365
br label %ifend2493
ifend2493:
%t12383 = load ptr, ptr %t1
- %t12384 = call i32 @fn_str_eq(ptr %t12383, ptr @.str7764)
+ %t12384 = call i32 @lp_str_eq(ptr %t12383, ptr @.str7805)
%t12385 = icmp ne i32 %t12384, 0
br i1 %t12385, label %then2496, label %ifend2498
then2496:
- store ptr @.str7765, ptr %t380
+ store ptr @.str7806, ptr %t380
%t12386 = load ptr, ptr %t387
%t12387 = getelementptr inbounds %LSlice, ptr %t12386, i32 0, i32 1
%t12388 = getelementptr inbounds %LSlice, ptr %t12386, i32 0, i32 2
@@ -82014,17 +82759,17 @@ grow2499:
put2500:
%t12402 = load ptr, ptr %t12389
%t12403 = getelementptr inbounds ptr, ptr %t12402, i32 %t12390
- store ptr @.str7766, ptr %t12403
+ store ptr @.str7807, ptr %t12403
%t12404 = add i32 %t12390, 1
store i32 %t12404, ptr %t12387
br label %ifend2498
ifend2498:
%t12405 = load ptr, ptr %t1
- %t12406 = call i32 @fn_str_eq(ptr %t12405, ptr @.str7767)
+ %t12406 = call i32 @lp_str_eq(ptr %t12405, ptr @.str7808)
%t12407 = icmp ne i32 %t12406, 0
br i1 %t12407, label %then2501, label %ifend2503
then2501:
- store ptr @.str7768, ptr %t380
+ store ptr @.str7809, ptr %t380
%t12408 = load ptr, ptr %t387
%t12409 = getelementptr inbounds %LSlice, ptr %t12408, i32 0, i32 1
%t12410 = getelementptr inbounds %LSlice, ptr %t12408, i32 0, i32 2
@@ -82049,17 +82794,17 @@ grow2504:
put2505:
%t12424 = load ptr, ptr %t12411
%t12425 = getelementptr inbounds ptr, ptr %t12424, i32 %t12412
- store ptr @.str7769, ptr %t12425
+ store ptr @.str7810, ptr %t12425
%t12426 = add i32 %t12412, 1
store i32 %t12426, ptr %t12409
br label %ifend2503
ifend2503:
%t12427 = load ptr, ptr %t1
- %t12428 = call i32 @fn_str_eq(ptr %t12427, ptr @.str7770)
+ %t12428 = call i32 @lp_str_eq(ptr %t12427, ptr @.str7811)
%t12429 = icmp ne i32 %t12428, 0
br i1 %t12429, label %then2506, label %ifend2508
then2506:
- store ptr @.str7771, ptr %t380
+ store ptr @.str7812, ptr %t380
%t12430 = load ptr, ptr %t387
%t12431 = getelementptr inbounds %LSlice, ptr %t12430, i32 0, i32 1
%t12432 = getelementptr inbounds %LSlice, ptr %t12430, i32 0, i32 2
@@ -82084,7 +82829,7 @@ grow2509:
put2510:
%t12446 = load ptr, ptr %t12433
%t12447 = getelementptr inbounds ptr, ptr %t12446, i32 %t12434
- store ptr @.str7772, ptr %t12447
+ store ptr @.str7813, ptr %t12447
%t12448 = add i32 %t12434, 1
store i32 %t12448, ptr %t12431
%t12449 = load ptr, ptr %t387
@@ -82111,7 +82856,7 @@ grow2511:
put2512:
%t12465 = load ptr, ptr %t12452
%t12466 = getelementptr inbounds ptr, ptr %t12465, i32 %t12453
- store ptr @.str7773, ptr %t12466
+ store ptr @.str7814, ptr %t12466
%t12467 = add i32 %t12453, 1
store i32 %t12467, ptr %t12450
br label %ifend2508
@@ -82119,24 +82864,24 @@ ifend2508:
br label %ifend2424
ifend2424:
%t12468 = load ptr, ptr %t0
- %t12469 = call i32 @fn_str_eq(ptr %t12468, ptr @.str7774)
+ %t12469 = call i32 @lp_str_eq(ptr %t12468, ptr @.str7815)
%t12470 = icmp ne i32 %t12469, 0
br i1 %t12470, label %then2513, label %ifend2515
then2513:
%t12471 = load ptr, ptr %t1
- %t12472 = call i32 @fn_str_eq(ptr %t12471, ptr @.str7775)
+ %t12472 = call i32 @lp_str_eq(ptr %t12471, ptr @.str7816)
%t12473 = icmp ne i32 %t12472, 0
br i1 %t12473, label %then2516, label %ifend2518
then2516:
- store ptr @.str7776, ptr %t380
+ store ptr @.str7817, ptr %t380
br label %ifend2518
ifend2518:
%t12474 = load ptr, ptr %t1
- %t12475 = call i32 @fn_str_eq(ptr %t12474, ptr @.str7777)
+ %t12475 = call i32 @lp_str_eq(ptr %t12474, ptr @.str7818)
%t12476 = icmp ne i32 %t12475, 0
br i1 %t12476, label %then2519, label %ifend2521
then2519:
- store ptr @.str7778, ptr %t380
+ store ptr @.str7819, ptr %t380
%t12477 = load ptr, ptr %t387
%t12478 = getelementptr inbounds %LSlice, ptr %t12477, i32 0, i32 1
%t12479 = getelementptr inbounds %LSlice, ptr %t12477, i32 0, i32 2
@@ -82161,17 +82906,17 @@ grow2522:
put2523:
%t12493 = load ptr, ptr %t12480
%t12494 = getelementptr inbounds ptr, ptr %t12493, i32 %t12481
- store ptr @.str7779, ptr %t12494
+ store ptr @.str7820, ptr %t12494
%t12495 = add i32 %t12481, 1
store i32 %t12495, ptr %t12478
br label %ifend2521
ifend2521:
%t12496 = load ptr, ptr %t1
- %t12497 = call i32 @fn_str_eq(ptr %t12496, ptr @.str7780)
+ %t12497 = call i32 @lp_str_eq(ptr %t12496, ptr @.str7821)
%t12498 = icmp ne i32 %t12497, 0
br i1 %t12498, label %then2524, label %ifend2526
then2524:
- store ptr @.str7781, ptr %t380
+ store ptr @.str7822, ptr %t380
%t12499 = load ptr, ptr %t387
%t12500 = getelementptr inbounds %LSlice, ptr %t12499, i32 0, i32 1
%t12501 = getelementptr inbounds %LSlice, ptr %t12499, i32 0, i32 2
@@ -82196,17 +82941,17 @@ grow2527:
put2528:
%t12515 = load ptr, ptr %t12502
%t12516 = getelementptr inbounds ptr, ptr %t12515, i32 %t12503
- store ptr @.str7782, ptr %t12516
+ store ptr @.str7823, ptr %t12516
%t12517 = add i32 %t12503, 1
store i32 %t12517, ptr %t12500
br label %ifend2526
ifend2526:
%t12518 = load ptr, ptr %t1
- %t12519 = call i32 @fn_str_eq(ptr %t12518, ptr @.str7783)
+ %t12519 = call i32 @lp_str_eq(ptr %t12518, ptr @.str7824)
%t12520 = icmp ne i32 %t12519, 0
br i1 %t12520, label %then2529, label %ifend2531
then2529:
- store ptr @.str7784, ptr %t380
+ store ptr @.str7825, ptr %t380
%t12521 = load ptr, ptr %t387
%t12522 = getelementptr inbounds %LSlice, ptr %t12521, i32 0, i32 1
%t12523 = getelementptr inbounds %LSlice, ptr %t12521, i32 0, i32 2
@@ -82231,17 +82976,17 @@ grow2532:
put2533:
%t12537 = load ptr, ptr %t12524
%t12538 = getelementptr inbounds ptr, ptr %t12537, i32 %t12525
- store ptr @.str7785, ptr %t12538
+ store ptr @.str7826, ptr %t12538
%t12539 = add i32 %t12525, 1
store i32 %t12539, ptr %t12522
br label %ifend2531
ifend2531:
%t12540 = load ptr, ptr %t1
- %t12541 = call i32 @fn_str_eq(ptr %t12540, ptr @.str7786)
+ %t12541 = call i32 @lp_str_eq(ptr %t12540, ptr @.str7827)
%t12542 = icmp ne i32 %t12541, 0
br i1 %t12542, label %then2534, label %ifend2536
then2534:
- store ptr @.str7787, ptr %t380
+ store ptr @.str7828, ptr %t380
%t12543 = load ptr, ptr %t387
%t12544 = getelementptr inbounds %LSlice, ptr %t12543, i32 0, i32 1
%t12545 = getelementptr inbounds %LSlice, ptr %t12543, i32 0, i32 2
@@ -82266,33 +83011,33 @@ grow2537:
put2538:
%t12559 = load ptr, ptr %t12546
%t12560 = getelementptr inbounds ptr, ptr %t12559, i32 %t12547
- store ptr @.str7788, ptr %t12560
+ store ptr @.str7829, ptr %t12560
%t12561 = add i32 %t12547, 1
store i32 %t12561, ptr %t12544
br label %ifend2536
ifend2536:
%t12562 = load ptr, ptr %t1
- %t12563 = call i32 @fn_str_eq(ptr %t12562, ptr @.str7789)
+ %t12563 = call i32 @lp_str_eq(ptr %t12562, ptr @.str7830)
%t12564 = icmp ne i32 %t12563, 0
br i1 %t12564, label %then2539, label %ifend2541
then2539:
- store ptr @.str7790, ptr %t380
+ store ptr @.str7831, ptr %t380
br label %ifend2541
ifend2541:
%t12565 = load ptr, ptr %t1
- %t12566 = call i32 @fn_str_eq(ptr %t12565, ptr @.str7791)
+ %t12566 = call i32 @lp_str_eq(ptr %t12565, ptr @.str7832)
%t12567 = icmp ne i32 %t12566, 0
br i1 %t12567, label %then2542, label %ifend2544
then2542:
- store ptr @.str7792, ptr %t380
+ store ptr @.str7833, ptr %t380
br label %ifend2544
ifend2544:
%t12568 = load ptr, ptr %t1
- %t12569 = call i32 @fn_str_eq(ptr %t12568, ptr @.str7793)
+ %t12569 = call i32 @lp_str_eq(ptr %t12568, ptr @.str7834)
%t12570 = icmp ne i32 %t12569, 0
br i1 %t12570, label %then2545, label %ifend2547
then2545:
- store ptr @.str7794, ptr %t380
+ store ptr @.str7835, ptr %t380
%t12571 = load ptr, ptr %t387
%t12572 = getelementptr inbounds %LSlice, ptr %t12571, i32 0, i32 1
%t12573 = getelementptr inbounds %LSlice, ptr %t12571, i32 0, i32 2
@@ -82317,7 +83062,7 @@ grow2548:
put2549:
%t12587 = load ptr, ptr %t12574
%t12588 = getelementptr inbounds ptr, ptr %t12587, i32 %t12575
- store ptr @.str7795, ptr %t12588
+ store ptr @.str7836, ptr %t12588
%t12589 = add i32 %t12575, 1
store i32 %t12589, ptr %t12572
%t12590 = load ptr, ptr %t387
@@ -82344,17 +83089,17 @@ grow2550:
put2551:
%t12606 = load ptr, ptr %t12593
%t12607 = getelementptr inbounds ptr, ptr %t12606, i32 %t12594
- store ptr @.str7796, ptr %t12607
+ store ptr @.str7837, ptr %t12607
%t12608 = add i32 %t12594, 1
store i32 %t12608, ptr %t12591
br label %ifend2547
ifend2547:
%t12609 = load ptr, ptr %t1
- %t12610 = call i32 @fn_str_eq(ptr %t12609, ptr @.str7797)
+ %t12610 = call i32 @lp_str_eq(ptr %t12609, ptr @.str7838)
%t12611 = icmp ne i32 %t12610, 0
br i1 %t12611, label %then2552, label %ifend2554
then2552:
- store ptr @.str7798, ptr %t380
+ store ptr @.str7839, ptr %t380
%t12612 = load ptr, ptr %t387
%t12613 = getelementptr inbounds %LSlice, ptr %t12612, i32 0, i32 1
%t12614 = getelementptr inbounds %LSlice, ptr %t12612, i32 0, i32 2
@@ -82379,7 +83124,7 @@ grow2555:
put2556:
%t12628 = load ptr, ptr %t12615
%t12629 = getelementptr inbounds ptr, ptr %t12628, i32 %t12616
- store ptr @.str7799, ptr %t12629
+ store ptr @.str7840, ptr %t12629
%t12630 = add i32 %t12616, 1
store i32 %t12630, ptr %t12613
%t12631 = load ptr, ptr %t387
@@ -82406,7 +83151,7 @@ grow2557:
put2558:
%t12647 = load ptr, ptr %t12634
%t12648 = getelementptr inbounds ptr, ptr %t12647, i32 %t12635
- store ptr @.str7800, ptr %t12648
+ store ptr @.str7841, ptr %t12648
%t12649 = add i32 %t12635, 1
store i32 %t12649, ptr %t12632
%t12650 = load ptr, ptr %t387
@@ -82433,17 +83178,17 @@ grow2559:
put2560:
%t12666 = load ptr, ptr %t12653
%t12667 = getelementptr inbounds ptr, ptr %t12666, i32 %t12654
- store ptr @.str7801, ptr %t12667
+ store ptr @.str7842, ptr %t12667
%t12668 = add i32 %t12654, 1
store i32 %t12668, ptr %t12651
br label %ifend2554
ifend2554:
%t12669 = load ptr, ptr %t1
- %t12670 = call i32 @fn_str_eq(ptr %t12669, ptr @.str7802)
+ %t12670 = call i32 @lp_str_eq(ptr %t12669, ptr @.str7843)
%t12671 = icmp ne i32 %t12670, 0
br i1 %t12671, label %then2561, label %ifend2563
then2561:
- store ptr @.str7803, ptr %t380
+ store ptr @.str7844, ptr %t380
%t12672 = load ptr, ptr %t387
%t12673 = getelementptr inbounds %LSlice, ptr %t12672, i32 0, i32 1
%t12674 = getelementptr inbounds %LSlice, ptr %t12672, i32 0, i32 2
@@ -82468,7 +83213,7 @@ grow2564:
put2565:
%t12688 = load ptr, ptr %t12675
%t12689 = getelementptr inbounds ptr, ptr %t12688, i32 %t12676
- store ptr @.str7804, ptr %t12689
+ store ptr @.str7845, ptr %t12689
%t12690 = add i32 %t12676, 1
store i32 %t12690, ptr %t12673
%t12691 = load ptr, ptr %t387
@@ -82495,17 +83240,17 @@ grow2566:
put2567:
%t12707 = load ptr, ptr %t12694
%t12708 = getelementptr inbounds ptr, ptr %t12707, i32 %t12695
- store ptr @.str7805, ptr %t12708
+ store ptr @.str7846, ptr %t12708
%t12709 = add i32 %t12695, 1
store i32 %t12709, ptr %t12692
br label %ifend2563
ifend2563:
%t12710 = load ptr, ptr %t1
- %t12711 = call i32 @fn_str_eq(ptr %t12710, ptr @.str7806)
+ %t12711 = call i32 @lp_str_eq(ptr %t12710, ptr @.str7847)
%t12712 = icmp ne i32 %t12711, 0
br i1 %t12712, label %then2568, label %ifend2570
then2568:
- store ptr @.str7807, ptr %t380
+ store ptr @.str7848, ptr %t380
%t12713 = load ptr, ptr %t387
%t12714 = getelementptr inbounds %LSlice, ptr %t12713, i32 0, i32 1
%t12715 = getelementptr inbounds %LSlice, ptr %t12713, i32 0, i32 2
@@ -82530,7 +83275,7 @@ grow2571:
put2572:
%t12729 = load ptr, ptr %t12716
%t12730 = getelementptr inbounds ptr, ptr %t12729, i32 %t12717
- store ptr @.str7808, ptr %t12730
+ store ptr @.str7849, ptr %t12730
%t12731 = add i32 %t12717, 1
store i32 %t12731, ptr %t12714
%t12732 = load ptr, ptr %t387
@@ -82557,17 +83302,17 @@ grow2573:
put2574:
%t12748 = load ptr, ptr %t12735
%t12749 = getelementptr inbounds ptr, ptr %t12748, i32 %t12736
- store ptr @.str7809, ptr %t12749
+ store ptr @.str7850, ptr %t12749
%t12750 = add i32 %t12736, 1
store i32 %t12750, ptr %t12733
br label %ifend2570
ifend2570:
%t12751 = load ptr, ptr %t1
- %t12752 = call i32 @fn_str_eq(ptr %t12751, ptr @.str7810)
+ %t12752 = call i32 @lp_str_eq(ptr %t12751, ptr @.str7851)
%t12753 = icmp ne i32 %t12752, 0
br i1 %t12753, label %then2575, label %ifend2577
then2575:
- store ptr @.str7811, ptr %t380
+ store ptr @.str7852, ptr %t380
%t12754 = load ptr, ptr %t387
%t12755 = getelementptr inbounds %LSlice, ptr %t12754, i32 0, i32 1
%t12756 = getelementptr inbounds %LSlice, ptr %t12754, i32 0, i32 2
@@ -82592,7 +83337,7 @@ grow2578:
put2579:
%t12770 = load ptr, ptr %t12757
%t12771 = getelementptr inbounds ptr, ptr %t12770, i32 %t12758
- store ptr @.str7812, ptr %t12771
+ store ptr @.str7853, ptr %t12771
%t12772 = add i32 %t12758, 1
store i32 %t12772, ptr %t12755
%t12773 = load ptr, ptr %t387
@@ -82619,17 +83364,17 @@ grow2580:
put2581:
%t12789 = load ptr, ptr %t12776
%t12790 = getelementptr inbounds ptr, ptr %t12789, i32 %t12777
- store ptr @.str7813, ptr %t12790
+ store ptr @.str7854, ptr %t12790
%t12791 = add i32 %t12777, 1
store i32 %t12791, ptr %t12774
br label %ifend2577
ifend2577:
%t12792 = load ptr, ptr %t1
- %t12793 = call i32 @fn_str_eq(ptr %t12792, ptr @.str7814)
+ %t12793 = call i32 @lp_str_eq(ptr %t12792, ptr @.str7855)
%t12794 = icmp ne i32 %t12793, 0
br i1 %t12794, label %then2582, label %ifend2584
then2582:
- store ptr @.str7815, ptr %t380
+ store ptr @.str7856, ptr %t380
%t12795 = load ptr, ptr %t387
%t12796 = getelementptr inbounds %LSlice, ptr %t12795, i32 0, i32 1
%t12797 = getelementptr inbounds %LSlice, ptr %t12795, i32 0, i32 2
@@ -82654,7 +83399,7 @@ grow2585:
put2586:
%t12811 = load ptr, ptr %t12798
%t12812 = getelementptr inbounds ptr, ptr %t12811, i32 %t12799
- store ptr @.str7816, ptr %t12812
+ store ptr @.str7857, ptr %t12812
%t12813 = add i32 %t12799, 1
store i32 %t12813, ptr %t12796
%t12814 = load ptr, ptr %t387
@@ -82681,17 +83426,17 @@ grow2587:
put2588:
%t12830 = load ptr, ptr %t12817
%t12831 = getelementptr inbounds ptr, ptr %t12830, i32 %t12818
- store ptr @.str7817, ptr %t12831
+ store ptr @.str7858, ptr %t12831
%t12832 = add i32 %t12818, 1
store i32 %t12832, ptr %t12815
br label %ifend2584
ifend2584:
%t12833 = load ptr, ptr %t1
- %t12834 = call i32 @fn_str_eq(ptr %t12833, ptr @.str7818)
+ %t12834 = call i32 @lp_str_eq(ptr %t12833, ptr @.str7859)
%t12835 = icmp ne i32 %t12834, 0
br i1 %t12835, label %then2589, label %ifend2591
then2589:
- store ptr @.str7819, ptr %t380
+ store ptr @.str7860, ptr %t380
%t12836 = load ptr, ptr %t387
%t12837 = getelementptr inbounds %LSlice, ptr %t12836, i32 0, i32 1
%t12838 = getelementptr inbounds %LSlice, ptr %t12836, i32 0, i32 2
@@ -82716,17 +83461,17 @@ grow2592:
put2593:
%t12852 = load ptr, ptr %t12839
%t12853 = getelementptr inbounds ptr, ptr %t12852, i32 %t12840
- store ptr @.str7820, ptr %t12853
+ store ptr @.str7861, ptr %t12853
%t12854 = add i32 %t12840, 1
store i32 %t12854, ptr %t12837
br label %ifend2591
ifend2591:
%t12855 = load ptr, ptr %t1
- %t12856 = call i32 @fn_str_eq(ptr %t12855, ptr @.str7821)
+ %t12856 = call i32 @lp_str_eq(ptr %t12855, ptr @.str7862)
%t12857 = icmp ne i32 %t12856, 0
br i1 %t12857, label %then2594, label %ifend2596
then2594:
- store ptr @.str7822, ptr %t380
+ store ptr @.str7863, ptr %t380
%t12858 = load ptr, ptr %t387
%t12859 = getelementptr inbounds %LSlice, ptr %t12858, i32 0, i32 1
%t12860 = getelementptr inbounds %LSlice, ptr %t12858, i32 0, i32 2
@@ -82751,17 +83496,17 @@ grow2597:
put2598:
%t12874 = load ptr, ptr %t12861
%t12875 = getelementptr inbounds ptr, ptr %t12874, i32 %t12862
- store ptr @.str7823, ptr %t12875
+ store ptr @.str7864, ptr %t12875
%t12876 = add i32 %t12862, 1
store i32 %t12876, ptr %t12859
br label %ifend2596
ifend2596:
%t12877 = load ptr, ptr %t1
- %t12878 = call i32 @fn_str_eq(ptr %t12877, ptr @.str7824)
+ %t12878 = call i32 @lp_str_eq(ptr %t12877, ptr @.str7865)
%t12879 = icmp ne i32 %t12878, 0
br i1 %t12879, label %then2599, label %ifend2601
then2599:
- store ptr @.str7825, ptr %t380
+ store ptr @.str7866, ptr %t380
%t12880 = load ptr, ptr %t387
%t12881 = getelementptr inbounds %LSlice, ptr %t12880, i32 0, i32 1
%t12882 = getelementptr inbounds %LSlice, ptr %t12880, i32 0, i32 2
@@ -82786,17 +83531,17 @@ grow2602:
put2603:
%t12896 = load ptr, ptr %t12883
%t12897 = getelementptr inbounds ptr, ptr %t12896, i32 %t12884
- store ptr @.str7826, ptr %t12897
+ store ptr @.str7867, ptr %t12897
%t12898 = add i32 %t12884, 1
store i32 %t12898, ptr %t12881
br label %ifend2601
ifend2601:
%t12899 = load ptr, ptr %t1
- %t12900 = call i32 @fn_str_eq(ptr %t12899, ptr @.str7827)
+ %t12900 = call i32 @lp_str_eq(ptr %t12899, ptr @.str7868)
%t12901 = icmp ne i32 %t12900, 0
br i1 %t12901, label %then2604, label %ifend2606
then2604:
- store ptr @.str7828, ptr %t380
+ store ptr @.str7869, ptr %t380
%t12902 = load ptr, ptr %t387
%t12903 = getelementptr inbounds %LSlice, ptr %t12902, i32 0, i32 1
%t12904 = getelementptr inbounds %LSlice, ptr %t12902, i32 0, i32 2
@@ -82821,7 +83566,7 @@ grow2607:
put2608:
%t12918 = load ptr, ptr %t12905
%t12919 = getelementptr inbounds ptr, ptr %t12918, i32 %t12906
- store ptr @.str7829, ptr %t12919
+ store ptr @.str7870, ptr %t12919
%t12920 = add i32 %t12906, 1
store i32 %t12920, ptr %t12903
br label %ifend2606
@@ -82829,16 +83574,16 @@ ifend2606:
br label %ifend2515
ifend2515:
%t12921 = load ptr, ptr %t0
- %t12922 = call i32 @fn_str_eq(ptr %t12921, ptr @.str7830)
+ %t12922 = call i32 @lp_str_eq(ptr %t12921, ptr @.str7871)
%t12923 = icmp ne i32 %t12922, 0
br i1 %t12923, label %then2609, label %ifend2611
then2609:
%t12924 = load ptr, ptr %t1
- %t12925 = call i32 @fn_str_eq(ptr %t12924, ptr @.str7831)
+ %t12925 = call i32 @lp_str_eq(ptr %t12924, ptr @.str7872)
%t12926 = icmp ne i32 %t12925, 0
br i1 %t12926, label %then2612, label %ifend2614
then2612:
- store ptr @.str7832, ptr %t380
+ store ptr @.str7873, ptr %t380
%t12927 = load ptr, ptr %t387
%t12928 = getelementptr inbounds %LSlice, ptr %t12927, i32 0, i32 1
%t12929 = getelementptr inbounds %LSlice, ptr %t12927, i32 0, i32 2
@@ -82863,17 +83608,17 @@ grow2615:
put2616:
%t12943 = load ptr, ptr %t12930
%t12944 = getelementptr inbounds ptr, ptr %t12943, i32 %t12931
- store ptr @.str7833, ptr %t12944
+ store ptr @.str7874, ptr %t12944
%t12945 = add i32 %t12931, 1
store i32 %t12945, ptr %t12928
br label %ifend2614
ifend2614:
%t12946 = load ptr, ptr %t1
- %t12947 = call i32 @fn_str_eq(ptr %t12946, ptr @.str7834)
+ %t12947 = call i32 @lp_str_eq(ptr %t12946, ptr @.str7875)
%t12948 = icmp ne i32 %t12947, 0
br i1 %t12948, label %then2617, label %ifend2619
then2617:
- store ptr @.str7835, ptr %t380
+ store ptr @.str7876, ptr %t380
%t12949 = load ptr, ptr %t387
%t12950 = getelementptr inbounds %LSlice, ptr %t12949, i32 0, i32 1
%t12951 = getelementptr inbounds %LSlice, ptr %t12949, i32 0, i32 2
@@ -82898,7 +83643,7 @@ grow2620:
put2621:
%t12965 = load ptr, ptr %t12952
%t12966 = getelementptr inbounds ptr, ptr %t12965, i32 %t12953
- store ptr @.str7836, ptr %t12966
+ store ptr @.str7877, ptr %t12966
%t12967 = add i32 %t12953, 1
store i32 %t12967, ptr %t12950
br label %ifend2619
@@ -82906,16 +83651,16 @@ ifend2619:
br label %ifend2611
ifend2611:
%t12968 = load ptr, ptr %t0
- %t12969 = call i32 @fn_str_eq(ptr %t12968, ptr @.str7837)
+ %t12969 = call i32 @lp_str_eq(ptr %t12968, ptr @.str7878)
%t12970 = icmp ne i32 %t12969, 0
br i1 %t12970, label %then2622, label %ifend2624
then2622:
%t12971 = load ptr, ptr %t1
- %t12972 = call i32 @fn_str_eq(ptr %t12971, ptr @.str7838)
+ %t12972 = call i32 @lp_str_eq(ptr %t12971, ptr @.str7879)
%t12973 = icmp ne i32 %t12972, 0
br i1 %t12973, label %then2625, label %ifend2627
then2625:
- store ptr @.str7839, ptr %t380
+ store ptr @.str7880, ptr %t380
%t12974 = load ptr, ptr %t387
%t12975 = getelementptr inbounds %LSlice, ptr %t12974, i32 0, i32 1
%t12976 = getelementptr inbounds %LSlice, ptr %t12974, i32 0, i32 2
@@ -82940,17 +83685,17 @@ grow2628:
put2629:
%t12990 = load ptr, ptr %t12977
%t12991 = getelementptr inbounds ptr, ptr %t12990, i32 %t12978
- store ptr @.str7840, ptr %t12991
+ store ptr @.str7881, ptr %t12991
%t12992 = add i32 %t12978, 1
store i32 %t12992, ptr %t12975
br label %ifend2627
ifend2627:
%t12993 = load ptr, ptr %t1
- %t12994 = call i32 @fn_str_eq(ptr %t12993, ptr @.str7841)
+ %t12994 = call i32 @lp_str_eq(ptr %t12993, ptr @.str7882)
%t12995 = icmp ne i32 %t12994, 0
br i1 %t12995, label %then2630, label %ifend2632
then2630:
- store ptr @.str7842, ptr %t380
+ store ptr @.str7883, ptr %t380
%t12996 = load ptr, ptr %t387
%t12997 = getelementptr inbounds %LSlice, ptr %t12996, i32 0, i32 1
%t12998 = getelementptr inbounds %LSlice, ptr %t12996, i32 0, i32 2
@@ -82975,17 +83720,17 @@ grow2633:
put2634:
%t13012 = load ptr, ptr %t12999
%t13013 = getelementptr inbounds ptr, ptr %t13012, i32 %t13000
- store ptr @.str7843, ptr %t13013
+ store ptr @.str7884, ptr %t13013
%t13014 = add i32 %t13000, 1
store i32 %t13014, ptr %t12997
br label %ifend2632
ifend2632:
%t13015 = load ptr, ptr %t1
- %t13016 = call i32 @fn_str_eq(ptr %t13015, ptr @.str7844)
+ %t13016 = call i32 @lp_str_eq(ptr %t13015, ptr @.str7885)
%t13017 = icmp ne i32 %t13016, 0
br i1 %t13017, label %then2635, label %ifend2637
then2635:
- store ptr @.str7845, ptr %t380
+ store ptr @.str7886, ptr %t380
%t13018 = load ptr, ptr %t387
%t13019 = getelementptr inbounds %LSlice, ptr %t13018, i32 0, i32 1
%t13020 = getelementptr inbounds %LSlice, ptr %t13018, i32 0, i32 2
@@ -83010,17 +83755,17 @@ grow2638:
put2639:
%t13034 = load ptr, ptr %t13021
%t13035 = getelementptr inbounds ptr, ptr %t13034, i32 %t13022
- store ptr @.str7846, ptr %t13035
+ store ptr @.str7887, ptr %t13035
%t13036 = add i32 %t13022, 1
store i32 %t13036, ptr %t13019
br label %ifend2637
ifend2637:
%t13037 = load ptr, ptr %t1
- %t13038 = call i32 @fn_str_eq(ptr %t13037, ptr @.str7847)
+ %t13038 = call i32 @lp_str_eq(ptr %t13037, ptr @.str7888)
%t13039 = icmp ne i32 %t13038, 0
br i1 %t13039, label %then2640, label %ifend2642
then2640:
- store ptr @.str7848, ptr %t380
+ store ptr @.str7889, ptr %t380
%t13040 = load ptr, ptr %t387
%t13041 = getelementptr inbounds %LSlice, ptr %t13040, i32 0, i32 1
%t13042 = getelementptr inbounds %LSlice, ptr %t13040, i32 0, i32 2
@@ -83045,7 +83790,7 @@ grow2643:
put2644:
%t13056 = load ptr, ptr %t13043
%t13057 = getelementptr inbounds ptr, ptr %t13056, i32 %t13044
- store ptr @.str7849, ptr %t13057
+ store ptr @.str7890, ptr %t13057
%t13058 = add i32 %t13044, 1
store i32 %t13058, ptr %t13041
%t13059 = load ptr, ptr %t387
@@ -83072,17 +83817,17 @@ grow2645:
put2646:
%t13075 = load ptr, ptr %t13062
%t13076 = getelementptr inbounds ptr, ptr %t13075, i32 %t13063
- store ptr @.str7850, ptr %t13076
+ store ptr @.str7891, ptr %t13076
%t13077 = add i32 %t13063, 1
store i32 %t13077, ptr %t13060
br label %ifend2642
ifend2642:
%t13078 = load ptr, ptr %t1
- %t13079 = call i32 @fn_str_eq(ptr %t13078, ptr @.str7851)
+ %t13079 = call i32 @lp_str_eq(ptr %t13078, ptr @.str7892)
%t13080 = icmp ne i32 %t13079, 0
br i1 %t13080, label %then2647, label %ifend2649
then2647:
- store ptr @.str7852, ptr %t380
+ store ptr @.str7893, ptr %t380
%t13081 = load ptr, ptr %t387
%t13082 = getelementptr inbounds %LSlice, ptr %t13081, i32 0, i32 1
%t13083 = getelementptr inbounds %LSlice, ptr %t13081, i32 0, i32 2
@@ -83107,7 +83852,7 @@ grow2650:
put2651:
%t13097 = load ptr, ptr %t13084
%t13098 = getelementptr inbounds ptr, ptr %t13097, i32 %t13085
- store ptr @.str7853, ptr %t13098
+ store ptr @.str7894, ptr %t13098
%t13099 = add i32 %t13085, 1
store i32 %t13099, ptr %t13082
%t13100 = load ptr, ptr %t387
@@ -83134,7 +83879,7 @@ grow2652:
put2653:
%t13116 = load ptr, ptr %t13103
%t13117 = getelementptr inbounds ptr, ptr %t13116, i32 %t13104
- store ptr @.str7854, ptr %t13117
+ store ptr @.str7895, ptr %t13117
%t13118 = add i32 %t13104, 1
store i32 %t13118, ptr %t13101
%t13119 = load ptr, ptr %t387
@@ -83161,17 +83906,17 @@ grow2654:
put2655:
%t13135 = load ptr, ptr %t13122
%t13136 = getelementptr inbounds ptr, ptr %t13135, i32 %t13123
- store ptr @.str7855, ptr %t13136
+ store ptr @.str7896, ptr %t13136
%t13137 = add i32 %t13123, 1
store i32 %t13137, ptr %t13120
br label %ifend2649
ifend2649:
%t13138 = load ptr, ptr %t1
- %t13139 = call i32 @fn_str_eq(ptr %t13138, ptr @.str7856)
+ %t13139 = call i32 @lp_str_eq(ptr %t13138, ptr @.str7897)
%t13140 = icmp ne i32 %t13139, 0
br i1 %t13140, label %then2656, label %ifend2658
then2656:
- store ptr @.str7857, ptr %t380
+ store ptr @.str7898, ptr %t380
%t13141 = load ptr, ptr %t387
%t13142 = getelementptr inbounds %LSlice, ptr %t13141, i32 0, i32 1
%t13143 = getelementptr inbounds %LSlice, ptr %t13141, i32 0, i32 2
@@ -83196,7 +83941,7 @@ grow2659:
put2660:
%t13157 = load ptr, ptr %t13144
%t13158 = getelementptr inbounds ptr, ptr %t13157, i32 %t13145
- store ptr @.str7858, ptr %t13158
+ store ptr @.str7899, ptr %t13158
%t13159 = add i32 %t13145, 1
store i32 %t13159, ptr %t13142
%t13160 = load ptr, ptr %t387
@@ -83223,17 +83968,17 @@ grow2661:
put2662:
%t13176 = load ptr, ptr %t13163
%t13177 = getelementptr inbounds ptr, ptr %t13176, i32 %t13164
- store ptr @.str7859, ptr %t13177
+ store ptr @.str7900, ptr %t13177
%t13178 = add i32 %t13164, 1
store i32 %t13178, ptr %t13161
br label %ifend2658
ifend2658:
%t13179 = load ptr, ptr %t1
- %t13180 = call i32 @fn_str_eq(ptr %t13179, ptr @.str7860)
+ %t13180 = call i32 @lp_str_eq(ptr %t13179, ptr @.str7901)
%t13181 = icmp ne i32 %t13180, 0
br i1 %t13181, label %then2663, label %ifend2665
then2663:
- store ptr @.str7861, ptr %t380
+ store ptr @.str7902, ptr %t380
%t13182 = load ptr, ptr %t387
%t13183 = getelementptr inbounds %LSlice, ptr %t13182, i32 0, i32 1
%t13184 = getelementptr inbounds %LSlice, ptr %t13182, i32 0, i32 2
@@ -83258,17 +84003,17 @@ grow2666:
put2667:
%t13198 = load ptr, ptr %t13185
%t13199 = getelementptr inbounds ptr, ptr %t13198, i32 %t13186
- store ptr @.str7862, ptr %t13199
+ store ptr @.str7903, ptr %t13199
%t13200 = add i32 %t13186, 1
store i32 %t13200, ptr %t13183
br label %ifend2665
ifend2665:
%t13201 = load ptr, ptr %t1
- %t13202 = call i32 @fn_str_eq(ptr %t13201, ptr @.str7863)
+ %t13202 = call i32 @lp_str_eq(ptr %t13201, ptr @.str7904)
%t13203 = icmp ne i32 %t13202, 0
br i1 %t13203, label %then2668, label %ifend2670
then2668:
- store ptr @.str7864, ptr %t380
+ store ptr @.str7905, ptr %t380
%t13204 = load ptr, ptr %t387
%t13205 = getelementptr inbounds %LSlice, ptr %t13204, i32 0, i32 1
%t13206 = getelementptr inbounds %LSlice, ptr %t13204, i32 0, i32 2
@@ -83293,17 +84038,17 @@ grow2671:
put2672:
%t13220 = load ptr, ptr %t13207
%t13221 = getelementptr inbounds ptr, ptr %t13220, i32 %t13208
- store ptr @.str7865, ptr %t13221
+ store ptr @.str7906, ptr %t13221
%t13222 = add i32 %t13208, 1
store i32 %t13222, ptr %t13205
br label %ifend2670
ifend2670:
%t13223 = load ptr, ptr %t1
- %t13224 = call i32 @fn_str_eq(ptr %t13223, ptr @.str7866)
+ %t13224 = call i32 @lp_str_eq(ptr %t13223, ptr @.str7907)
%t13225 = icmp ne i32 %t13224, 0
br i1 %t13225, label %then2673, label %ifend2675
then2673:
- store ptr @.str7867, ptr %t380
+ store ptr @.str7908, ptr %t380
%t13226 = load ptr, ptr %t387
%t13227 = getelementptr inbounds %LSlice, ptr %t13226, i32 0, i32 1
%t13228 = getelementptr inbounds %LSlice, ptr %t13226, i32 0, i32 2
@@ -83328,7 +84073,7 @@ grow2676:
put2677:
%t13242 = load ptr, ptr %t13229
%t13243 = getelementptr inbounds ptr, ptr %t13242, i32 %t13230
- store ptr @.str7868, ptr %t13243
+ store ptr @.str7909, ptr %t13243
%t13244 = add i32 %t13230, 1
store i32 %t13244, ptr %t13227
%t13245 = load ptr, ptr %t387
@@ -83355,17 +84100,17 @@ grow2678:
put2679:
%t13261 = load ptr, ptr %t13248
%t13262 = getelementptr inbounds ptr, ptr %t13261, i32 %t13249
- store ptr @.str7869, ptr %t13262
+ store ptr @.str7910, ptr %t13262
%t13263 = add i32 %t13249, 1
store i32 %t13263, ptr %t13246
br label %ifend2675
ifend2675:
%t13264 = load ptr, ptr %t1
- %t13265 = call i32 @fn_str_eq(ptr %t13264, ptr @.str7870)
+ %t13265 = call i32 @lp_str_eq(ptr %t13264, ptr @.str7911)
%t13266 = icmp ne i32 %t13265, 0
br i1 %t13266, label %then2680, label %ifend2682
then2680:
- store ptr @.str7871, ptr %t380
+ store ptr @.str7912, ptr %t380
%t13267 = load ptr, ptr %t387
%t13268 = getelementptr inbounds %LSlice, ptr %t13267, i32 0, i32 1
%t13269 = getelementptr inbounds %LSlice, ptr %t13267, i32 0, i32 2
@@ -83390,7 +84135,7 @@ grow2683:
put2684:
%t13283 = load ptr, ptr %t13270
%t13284 = getelementptr inbounds ptr, ptr %t13283, i32 %t13271
- store ptr @.str7872, ptr %t13284
+ store ptr @.str7913, ptr %t13284
%t13285 = add i32 %t13271, 1
store i32 %t13285, ptr %t13268
%t13286 = load ptr, ptr %t387
@@ -83417,17 +84162,17 @@ grow2685:
put2686:
%t13302 = load ptr, ptr %t13289
%t13303 = getelementptr inbounds ptr, ptr %t13302, i32 %t13290
- store ptr @.str7873, ptr %t13303
+ store ptr @.str7914, ptr %t13303
%t13304 = add i32 %t13290, 1
store i32 %t13304, ptr %t13287
br label %ifend2682
ifend2682:
%t13305 = load ptr, ptr %t1
- %t13306 = call i32 @fn_str_eq(ptr %t13305, ptr @.str7874)
+ %t13306 = call i32 @lp_str_eq(ptr %t13305, ptr @.str7915)
%t13307 = icmp ne i32 %t13306, 0
br i1 %t13307, label %then2687, label %ifend2689
then2687:
- store ptr @.str7875, ptr %t380
+ store ptr @.str7916, ptr %t380
%t13308 = load ptr, ptr %t387
%t13309 = getelementptr inbounds %LSlice, ptr %t13308, i32 0, i32 1
%t13310 = getelementptr inbounds %LSlice, ptr %t13308, i32 0, i32 2
@@ -83452,7 +84197,7 @@ grow2690:
put2691:
%t13324 = load ptr, ptr %t13311
%t13325 = getelementptr inbounds ptr, ptr %t13324, i32 %t13312
- store ptr @.str7876, ptr %t13325
+ store ptr @.str7917, ptr %t13325
%t13326 = add i32 %t13312, 1
store i32 %t13326, ptr %t13309
%t13327 = load ptr, ptr %t387
@@ -83479,7 +84224,7 @@ grow2692:
put2693:
%t13343 = load ptr, ptr %t13330
%t13344 = getelementptr inbounds ptr, ptr %t13343, i32 %t13331
- store ptr @.str7877, ptr %t13344
+ store ptr @.str7918, ptr %t13344
%t13345 = add i32 %t13331, 1
store i32 %t13345, ptr %t13328
br label %ifend2689
@@ -83487,16 +84232,16 @@ ifend2689:
br label %ifend2624
ifend2624:
%t13346 = load ptr, ptr %t0
- %t13347 = call i32 @fn_str_eq(ptr %t13346, ptr @.str7878)
+ %t13347 = call i32 @lp_str_eq(ptr %t13346, ptr @.str7919)
%t13348 = icmp ne i32 %t13347, 0
br i1 %t13348, label %then2694, label %ifend2696
then2694:
%t13349 = load ptr, ptr %t1
- %t13350 = call i32 @fn_str_eq(ptr %t13349, ptr @.str7879)
+ %t13350 = call i32 @lp_str_eq(ptr %t13349, ptr @.str7920)
%t13351 = icmp ne i32 %t13350, 0
br i1 %t13351, label %then2697, label %ifend2699
then2697:
- store ptr @.str7880, ptr %t380
+ store ptr @.str7921, ptr %t380
%t13352 = load ptr, ptr %t387
%t13353 = getelementptr inbounds %LSlice, ptr %t13352, i32 0, i32 1
%t13354 = getelementptr inbounds %LSlice, ptr %t13352, i32 0, i32 2
@@ -83521,17 +84266,17 @@ grow2700:
put2701:
%t13368 = load ptr, ptr %t13355
%t13369 = getelementptr inbounds ptr, ptr %t13368, i32 %t13356
- store ptr @.str7881, ptr %t13369
+ store ptr @.str7922, ptr %t13369
%t13370 = add i32 %t13356, 1
store i32 %t13370, ptr %t13353
br label %ifend2699
ifend2699:
%t13371 = load ptr, ptr %t1
- %t13372 = call i32 @fn_str_eq(ptr %t13371, ptr @.str7882)
+ %t13372 = call i32 @lp_str_eq(ptr %t13371, ptr @.str7923)
%t13373 = icmp ne i32 %t13372, 0
br i1 %t13373, label %then2702, label %ifend2704
then2702:
- store ptr @.str7883, ptr %t380
+ store ptr @.str7924, ptr %t380
%t13374 = load ptr, ptr %t387
%t13375 = getelementptr inbounds %LSlice, ptr %t13374, i32 0, i32 1
%t13376 = getelementptr inbounds %LSlice, ptr %t13374, i32 0, i32 2
@@ -83556,7 +84301,7 @@ grow2705:
put2706:
%t13390 = load ptr, ptr %t13377
%t13391 = getelementptr inbounds ptr, ptr %t13390, i32 %t13378
- store ptr @.str7884, ptr %t13391
+ store ptr @.str7925, ptr %t13391
%t13392 = add i32 %t13378, 1
store i32 %t13392, ptr %t13375
br label %ifend2704
@@ -83564,16 +84309,16 @@ ifend2704:
br label %ifend2696
ifend2696:
%t13393 = load ptr, ptr %t0
- %t13394 = call i32 @fn_str_eq(ptr %t13393, ptr @.str7885)
+ %t13394 = call i32 @lp_str_eq(ptr %t13393, ptr @.str7926)
%t13395 = icmp ne i32 %t13394, 0
br i1 %t13395, label %then2707, label %ifend2709
then2707:
%t13396 = load ptr, ptr %t1
- %t13397 = call i32 @fn_str_eq(ptr %t13396, ptr @.str7886)
+ %t13397 = call i32 @lp_str_eq(ptr %t13396, ptr @.str7927)
%t13398 = icmp ne i32 %t13397, 0
br i1 %t13398, label %then2710, label %ifend2712
then2710:
- store ptr @.str7887, ptr %t380
+ store ptr @.str7928, ptr %t380
%t13399 = load ptr, ptr %t387
%t13400 = getelementptr inbounds %LSlice, ptr %t13399, i32 0, i32 1
%t13401 = getelementptr inbounds %LSlice, ptr %t13399, i32 0, i32 2
@@ -83598,17 +84343,17 @@ grow2713:
put2714:
%t13415 = load ptr, ptr %t13402
%t13416 = getelementptr inbounds ptr, ptr %t13415, i32 %t13403
- store ptr @.str7888, ptr %t13416
+ store ptr @.str7929, ptr %t13416
%t13417 = add i32 %t13403, 1
store i32 %t13417, ptr %t13400
br label %ifend2712
ifend2712:
%t13418 = load ptr, ptr %t1
- %t13419 = call i32 @fn_str_eq(ptr %t13418, ptr @.str7889)
+ %t13419 = call i32 @lp_str_eq(ptr %t13418, ptr @.str7930)
%t13420 = icmp ne i32 %t13419, 0
br i1 %t13420, label %then2715, label %ifend2717
then2715:
- store ptr @.str7890, ptr %t380
+ store ptr @.str7931, ptr %t380
%t13421 = load ptr, ptr %t387
%t13422 = getelementptr inbounds %LSlice, ptr %t13421, i32 0, i32 1
%t13423 = getelementptr inbounds %LSlice, ptr %t13421, i32 0, i32 2
@@ -83633,17 +84378,17 @@ grow2718:
put2719:
%t13437 = load ptr, ptr %t13424
%t13438 = getelementptr inbounds ptr, ptr %t13437, i32 %t13425
- store ptr @.str7891, ptr %t13438
+ store ptr @.str7932, ptr %t13438
%t13439 = add i32 %t13425, 1
store i32 %t13439, ptr %t13422
br label %ifend2717
ifend2717:
%t13440 = load ptr, ptr %t1
- %t13441 = call i32 @fn_str_eq(ptr %t13440, ptr @.str7892)
+ %t13441 = call i32 @lp_str_eq(ptr %t13440, ptr @.str7933)
%t13442 = icmp ne i32 %t13441, 0
br i1 %t13442, label %then2720, label %ifend2722
then2720:
- store ptr @.str7893, ptr %t380
+ store ptr @.str7934, ptr %t380
%t13443 = load ptr, ptr %t387
%t13444 = getelementptr inbounds %LSlice, ptr %t13443, i32 0, i32 1
%t13445 = getelementptr inbounds %LSlice, ptr %t13443, i32 0, i32 2
@@ -83668,17 +84413,17 @@ grow2723:
put2724:
%t13459 = load ptr, ptr %t13446
%t13460 = getelementptr inbounds ptr, ptr %t13459, i32 %t13447
- store ptr @.str7894, ptr %t13460
+ store ptr @.str7935, ptr %t13460
%t13461 = add i32 %t13447, 1
store i32 %t13461, ptr %t13444
br label %ifend2722
ifend2722:
%t13462 = load ptr, ptr %t1
- %t13463 = call i32 @fn_str_eq(ptr %t13462, ptr @.str7895)
+ %t13463 = call i32 @lp_str_eq(ptr %t13462, ptr @.str7936)
%t13464 = icmp ne i32 %t13463, 0
br i1 %t13464, label %then2725, label %ifend2727
then2725:
- store ptr @.str7896, ptr %t380
+ store ptr @.str7937, ptr %t380
%t13465 = load ptr, ptr %t387
%t13466 = getelementptr inbounds %LSlice, ptr %t13465, i32 0, i32 1
%t13467 = getelementptr inbounds %LSlice, ptr %t13465, i32 0, i32 2
@@ -83703,7 +84448,7 @@ grow2728:
put2729:
%t13481 = load ptr, ptr %t13468
%t13482 = getelementptr inbounds ptr, ptr %t13481, i32 %t13469
- store ptr @.str7897, ptr %t13482
+ store ptr @.str7938, ptr %t13482
%t13483 = add i32 %t13469, 1
store i32 %t13483, ptr %t13466
%t13484 = load ptr, ptr %t387
@@ -83730,7 +84475,7 @@ grow2730:
put2731:
%t13500 = load ptr, ptr %t13487
%t13501 = getelementptr inbounds ptr, ptr %t13500, i32 %t13488
- store ptr @.str7898, ptr %t13501
+ store ptr @.str7939, ptr %t13501
%t13502 = add i32 %t13488, 1
store i32 %t13502, ptr %t13485
%t13503 = load ptr, ptr %t387
@@ -83757,7 +84502,7 @@ grow2732:
put2733:
%t13519 = load ptr, ptr %t13506
%t13520 = getelementptr inbounds ptr, ptr %t13519, i32 %t13507
- store ptr @.str7899, ptr %t13520
+ store ptr @.str7940, ptr %t13520
%t13521 = add i32 %t13507, 1
store i32 %t13521, ptr %t13504
%t13522 = load ptr, ptr %t387
@@ -83784,17 +84529,17 @@ grow2734:
put2735:
%t13538 = load ptr, ptr %t13525
%t13539 = getelementptr inbounds ptr, ptr %t13538, i32 %t13526
- store ptr @.str7900, ptr %t13539
+ store ptr @.str7941, ptr %t13539
%t13540 = add i32 %t13526, 1
store i32 %t13540, ptr %t13523
br label %ifend2727
ifend2727:
%t13541 = load ptr, ptr %t1
- %t13542 = call i32 @fn_str_eq(ptr %t13541, ptr @.str7901)
+ %t13542 = call i32 @lp_str_eq(ptr %t13541, ptr @.str7942)
%t13543 = icmp ne i32 %t13542, 0
br i1 %t13543, label %then2736, label %ifend2738
then2736:
- store ptr @.str7902, ptr %t380
+ store ptr @.str7943, ptr %t380
%t13544 = load ptr, ptr %t387
%t13545 = getelementptr inbounds %LSlice, ptr %t13544, i32 0, i32 1
%t13546 = getelementptr inbounds %LSlice, ptr %t13544, i32 0, i32 2
@@ -83819,7 +84564,7 @@ grow2739:
put2740:
%t13560 = load ptr, ptr %t13547
%t13561 = getelementptr inbounds ptr, ptr %t13560, i32 %t13548
- store ptr @.str7903, ptr %t13561
+ store ptr @.str7944, ptr %t13561
%t13562 = add i32 %t13548, 1
store i32 %t13562, ptr %t13545
%t13563 = load ptr, ptr %t387
@@ -83846,17 +84591,17 @@ grow2741:
put2742:
%t13579 = load ptr, ptr %t13566
%t13580 = getelementptr inbounds ptr, ptr %t13579, i32 %t13567
- store ptr @.str7904, ptr %t13580
+ store ptr @.str7945, ptr %t13580
%t13581 = add i32 %t13567, 1
store i32 %t13581, ptr %t13564
br label %ifend2738
ifend2738:
%t13582 = load ptr, ptr %t1
- %t13583 = call i32 @fn_str_eq(ptr %t13582, ptr @.str7905)
+ %t13583 = call i32 @lp_str_eq(ptr %t13582, ptr @.str7946)
%t13584 = icmp ne i32 %t13583, 0
br i1 %t13584, label %then2743, label %ifend2745
then2743:
- store ptr @.str7906, ptr %t380
+ store ptr @.str7947, ptr %t380
%t13585 = load ptr, ptr %t387
%t13586 = getelementptr inbounds %LSlice, ptr %t13585, i32 0, i32 1
%t13587 = getelementptr inbounds %LSlice, ptr %t13585, i32 0, i32 2
@@ -83881,17 +84626,17 @@ grow2746:
put2747:
%t13601 = load ptr, ptr %t13588
%t13602 = getelementptr inbounds ptr, ptr %t13601, i32 %t13589
- store ptr @.str7907, ptr %t13602
+ store ptr @.str7948, ptr %t13602
%t13603 = add i32 %t13589, 1
store i32 %t13603, ptr %t13586
br label %ifend2745
ifend2745:
%t13604 = load ptr, ptr %t1
- %t13605 = call i32 @fn_str_eq(ptr %t13604, ptr @.str7908)
+ %t13605 = call i32 @lp_str_eq(ptr %t13604, ptr @.str7949)
%t13606 = icmp ne i32 %t13605, 0
br i1 %t13606, label %then2748, label %ifend2750
then2748:
- store ptr @.str7909, ptr %t380
+ store ptr @.str7950, ptr %t380
%t13607 = load ptr, ptr %t387
%t13608 = getelementptr inbounds %LSlice, ptr %t13607, i32 0, i32 1
%t13609 = getelementptr inbounds %LSlice, ptr %t13607, i32 0, i32 2
@@ -83916,17 +84661,17 @@ grow2751:
put2752:
%t13623 = load ptr, ptr %t13610
%t13624 = getelementptr inbounds ptr, ptr %t13623, i32 %t13611
- store ptr @.str7910, ptr %t13624
+ store ptr @.str7951, ptr %t13624
%t13625 = add i32 %t13611, 1
store i32 %t13625, ptr %t13608
br label %ifend2750
ifend2750:
%t13626 = load ptr, ptr %t1
- %t13627 = call i32 @fn_str_eq(ptr %t13626, ptr @.str7911)
+ %t13627 = call i32 @lp_str_eq(ptr %t13626, ptr @.str7952)
%t13628 = icmp ne i32 %t13627, 0
br i1 %t13628, label %then2753, label %ifend2755
then2753:
- store ptr @.str7912, ptr %t380
+ store ptr @.str7953, ptr %t380
%t13629 = load ptr, ptr %t387
%t13630 = getelementptr inbounds %LSlice, ptr %t13629, i32 0, i32 1
%t13631 = getelementptr inbounds %LSlice, ptr %t13629, i32 0, i32 2
@@ -83951,17 +84696,17 @@ grow2756:
put2757:
%t13645 = load ptr, ptr %t13632
%t13646 = getelementptr inbounds ptr, ptr %t13645, i32 %t13633
- store ptr @.str7913, ptr %t13646
+ store ptr @.str7954, ptr %t13646
%t13647 = add i32 %t13633, 1
store i32 %t13647, ptr %t13630
br label %ifend2755
ifend2755:
%t13648 = load ptr, ptr %t1
- %t13649 = call i32 @fn_str_eq(ptr %t13648, ptr @.str7914)
+ %t13649 = call i32 @lp_str_eq(ptr %t13648, ptr @.str7955)
%t13650 = icmp ne i32 %t13649, 0
br i1 %t13650, label %then2758, label %ifend2760
then2758:
- store ptr @.str7915, ptr %t380
+ store ptr @.str7956, ptr %t380
%t13651 = load ptr, ptr %t387
%t13652 = getelementptr inbounds %LSlice, ptr %t13651, i32 0, i32 1
%t13653 = getelementptr inbounds %LSlice, ptr %t13651, i32 0, i32 2
@@ -83986,7 +84731,7 @@ grow2761:
put2762:
%t13667 = load ptr, ptr %t13654
%t13668 = getelementptr inbounds ptr, ptr %t13667, i32 %t13655
- store ptr @.str7916, ptr %t13668
+ store ptr @.str7957, ptr %t13668
%t13669 = add i32 %t13655, 1
store i32 %t13669, ptr %t13652
%t13670 = load ptr, ptr %t387
@@ -84013,17 +84758,17 @@ grow2763:
put2764:
%t13686 = load ptr, ptr %t13673
%t13687 = getelementptr inbounds ptr, ptr %t13686, i32 %t13674
- store ptr @.str7917, ptr %t13687
+ store ptr @.str7958, ptr %t13687
%t13688 = add i32 %t13674, 1
store i32 %t13688, ptr %t13671
br label %ifend2760
ifend2760:
%t13689 = load ptr, ptr %t1
- %t13690 = call i32 @fn_str_eq(ptr %t13689, ptr @.str7918)
+ %t13690 = call i32 @lp_str_eq(ptr %t13689, ptr @.str7959)
%t13691 = icmp ne i32 %t13690, 0
br i1 %t13691, label %then2765, label %ifend2767
then2765:
- store ptr @.str7919, ptr %t380
+ store ptr @.str7960, ptr %t380
%t13692 = load ptr, ptr %t387
%t13693 = getelementptr inbounds %LSlice, ptr %t13692, i32 0, i32 1
%t13694 = getelementptr inbounds %LSlice, ptr %t13692, i32 0, i32 2
@@ -84048,7 +84793,7 @@ grow2768:
put2769:
%t13708 = load ptr, ptr %t13695
%t13709 = getelementptr inbounds ptr, ptr %t13708, i32 %t13696
- store ptr @.str7920, ptr %t13709
+ store ptr @.str7961, ptr %t13709
%t13710 = add i32 %t13696, 1
store i32 %t13710, ptr %t13693
%t13711 = load ptr, ptr %t387
@@ -84075,7 +84820,7 @@ grow2770:
put2771:
%t13727 = load ptr, ptr %t13714
%t13728 = getelementptr inbounds ptr, ptr %t13727, i32 %t13715
- store ptr @.str7921, ptr %t13728
+ store ptr @.str7962, ptr %t13728
%t13729 = add i32 %t13715, 1
store i32 %t13729, ptr %t13712
%t13730 = load ptr, ptr %t387
@@ -84102,17 +84847,17 @@ grow2772:
put2773:
%t13746 = load ptr, ptr %t13733
%t13747 = getelementptr inbounds ptr, ptr %t13746, i32 %t13734
- store ptr @.str7922, ptr %t13747
+ store ptr @.str7963, ptr %t13747
%t13748 = add i32 %t13734, 1
store i32 %t13748, ptr %t13731
br label %ifend2767
ifend2767:
%t13749 = load ptr, ptr %t1
- %t13750 = call i32 @fn_str_eq(ptr %t13749, ptr @.str7923)
+ %t13750 = call i32 @lp_str_eq(ptr %t13749, ptr @.str7964)
%t13751 = icmp ne i32 %t13750, 0
br i1 %t13751, label %then2774, label %ifend2776
then2774:
- store ptr @.str7924, ptr %t380
+ store ptr @.str7965, ptr %t380
%t13752 = load ptr, ptr %t387
%t13753 = getelementptr inbounds %LSlice, ptr %t13752, i32 0, i32 1
%t13754 = getelementptr inbounds %LSlice, ptr %t13752, i32 0, i32 2
@@ -84137,7 +84882,7 @@ grow2777:
put2778:
%t13768 = load ptr, ptr %t13755
%t13769 = getelementptr inbounds ptr, ptr %t13768, i32 %t13756
- store ptr @.str7925, ptr %t13769
+ store ptr @.str7966, ptr %t13769
%t13770 = add i32 %t13756, 1
store i32 %t13770, ptr %t13753
%t13771 = load ptr, ptr %t387
@@ -84164,7 +84909,7 @@ grow2779:
put2780:
%t13787 = load ptr, ptr %t13774
%t13788 = getelementptr inbounds ptr, ptr %t13787, i32 %t13775
- store ptr @.str7926, ptr %t13788
+ store ptr @.str7967, ptr %t13788
%t13789 = add i32 %t13775, 1
store i32 %t13789, ptr %t13772
%t13790 = load ptr, ptr %t387
@@ -84191,7 +84936,7 @@ grow2781:
put2782:
%t13806 = load ptr, ptr %t13793
%t13807 = getelementptr inbounds ptr, ptr %t13806, i32 %t13794
- store ptr @.str7927, ptr %t13807
+ store ptr @.str7968, ptr %t13807
%t13808 = add i32 %t13794, 1
store i32 %t13808, ptr %t13791
%t13809 = load ptr, ptr %t387
@@ -84218,17 +84963,17 @@ grow2783:
put2784:
%t13825 = load ptr, ptr %t13812
%t13826 = getelementptr inbounds ptr, ptr %t13825, i32 %t13813
- store ptr @.str7928, ptr %t13826
+ store ptr @.str7969, ptr %t13826
%t13827 = add i32 %t13813, 1
store i32 %t13827, ptr %t13810
br label %ifend2776
ifend2776:
%t13828 = load ptr, ptr %t1
- %t13829 = call i32 @fn_str_eq(ptr %t13828, ptr @.str7929)
+ %t13829 = call i32 @lp_str_eq(ptr %t13828, ptr @.str7970)
%t13830 = icmp ne i32 %t13829, 0
br i1 %t13830, label %then2785, label %ifend2787
then2785:
- store ptr @.str7930, ptr %t380
+ store ptr @.str7971, ptr %t380
%t13831 = load ptr, ptr %t387
%t13832 = getelementptr inbounds %LSlice, ptr %t13831, i32 0, i32 1
%t13833 = getelementptr inbounds %LSlice, ptr %t13831, i32 0, i32 2
@@ -84253,7 +84998,7 @@ grow2788:
put2789:
%t13847 = load ptr, ptr %t13834
%t13848 = getelementptr inbounds ptr, ptr %t13847, i32 %t13835
- store ptr @.str7931, ptr %t13848
+ store ptr @.str7972, ptr %t13848
%t13849 = add i32 %t13835, 1
store i32 %t13849, ptr %t13832
%t13850 = load ptr, ptr %t387
@@ -84280,7 +85025,7 @@ grow2790:
put2791:
%t13866 = load ptr, ptr %t13853
%t13867 = getelementptr inbounds ptr, ptr %t13866, i32 %t13854
- store ptr @.str7932, ptr %t13867
+ store ptr @.str7973, ptr %t13867
%t13868 = add i32 %t13854, 1
store i32 %t13868, ptr %t13851
%t13869 = load ptr, ptr %t387
@@ -84307,17 +85052,17 @@ grow2792:
put2793:
%t13885 = load ptr, ptr %t13872
%t13886 = getelementptr inbounds ptr, ptr %t13885, i32 %t13873
- store ptr @.str7933, ptr %t13886
+ store ptr @.str7974, ptr %t13886
%t13887 = add i32 %t13873, 1
store i32 %t13887, ptr %t13870
br label %ifend2787
ifend2787:
%t13888 = load ptr, ptr %t1
- %t13889 = call i32 @fn_str_eq(ptr %t13888, ptr @.str7934)
+ %t13889 = call i32 @lp_str_eq(ptr %t13888, ptr @.str7975)
%t13890 = icmp ne i32 %t13889, 0
br i1 %t13890, label %then2794, label %ifend2796
then2794:
- store ptr @.str7935, ptr %t380
+ store ptr @.str7976, ptr %t380
%t13891 = load ptr, ptr %t387
%t13892 = getelementptr inbounds %LSlice, ptr %t13891, i32 0, i32 1
%t13893 = getelementptr inbounds %LSlice, ptr %t13891, i32 0, i32 2
@@ -84342,7 +85087,7 @@ grow2797:
put2798:
%t13907 = load ptr, ptr %t13894
%t13908 = getelementptr inbounds ptr, ptr %t13907, i32 %t13895
- store ptr @.str7936, ptr %t13908
+ store ptr @.str7977, ptr %t13908
%t13909 = add i32 %t13895, 1
store i32 %t13909, ptr %t13892
%t13910 = load ptr, ptr %t387
@@ -84369,17 +85114,17 @@ grow2799:
put2800:
%t13926 = load ptr, ptr %t13913
%t13927 = getelementptr inbounds ptr, ptr %t13926, i32 %t13914
- store ptr @.str7937, ptr %t13927
+ store ptr @.str7978, ptr %t13927
%t13928 = add i32 %t13914, 1
store i32 %t13928, ptr %t13911
br label %ifend2796
ifend2796:
%t13929 = load ptr, ptr %t1
- %t13930 = call i32 @fn_str_eq(ptr %t13929, ptr @.str7938)
+ %t13930 = call i32 @lp_str_eq(ptr %t13929, ptr @.str7979)
%t13931 = icmp ne i32 %t13930, 0
br i1 %t13931, label %then2801, label %ifend2803
then2801:
- store ptr @.str7939, ptr %t380
+ store ptr @.str7980, ptr %t380
%t13932 = load ptr, ptr %t387
%t13933 = getelementptr inbounds %LSlice, ptr %t13932, i32 0, i32 1
%t13934 = getelementptr inbounds %LSlice, ptr %t13932, i32 0, i32 2
@@ -84404,7 +85149,7 @@ grow2804:
put2805:
%t13948 = load ptr, ptr %t13935
%t13949 = getelementptr inbounds ptr, ptr %t13948, i32 %t13936
- store ptr @.str7940, ptr %t13949
+ store ptr @.str7981, ptr %t13949
%t13950 = add i32 %t13936, 1
store i32 %t13950, ptr %t13933
%t13951 = load ptr, ptr %t387
@@ -84431,17 +85176,17 @@ grow2806:
put2807:
%t13967 = load ptr, ptr %t13954
%t13968 = getelementptr inbounds ptr, ptr %t13967, i32 %t13955
- store ptr @.str7941, ptr %t13968
+ store ptr @.str7982, ptr %t13968
%t13969 = add i32 %t13955, 1
store i32 %t13969, ptr %t13952
br label %ifend2803
ifend2803:
%t13970 = load ptr, ptr %t1
- %t13971 = call i32 @fn_str_eq(ptr %t13970, ptr @.str7942)
+ %t13971 = call i32 @lp_str_eq(ptr %t13970, ptr @.str7983)
%t13972 = icmp ne i32 %t13971, 0
br i1 %t13972, label %then2808, label %ifend2810
then2808:
- store ptr @.str7943, ptr %t380
+ store ptr @.str7984, ptr %t380
%t13973 = load ptr, ptr %t387
%t13974 = getelementptr inbounds %LSlice, ptr %t13973, i32 0, i32 1
%t13975 = getelementptr inbounds %LSlice, ptr %t13973, i32 0, i32 2
@@ -84466,7 +85211,7 @@ grow2811:
put2812:
%t13989 = load ptr, ptr %t13976
%t13990 = getelementptr inbounds ptr, ptr %t13989, i32 %t13977
- store ptr @.str7944, ptr %t13990
+ store ptr @.str7985, ptr %t13990
%t13991 = add i32 %t13977, 1
store i32 %t13991, ptr %t13974
%t13992 = load ptr, ptr %t387
@@ -84493,17 +85238,17 @@ grow2813:
put2814:
%t14008 = load ptr, ptr %t13995
%t14009 = getelementptr inbounds ptr, ptr %t14008, i32 %t13996
- store ptr @.str7945, ptr %t14009
+ store ptr @.str7986, ptr %t14009
%t14010 = add i32 %t13996, 1
store i32 %t14010, ptr %t13993
br label %ifend2810
ifend2810:
%t14011 = load ptr, ptr %t1
- %t14012 = call i32 @fn_str_eq(ptr %t14011, ptr @.str7946)
+ %t14012 = call i32 @lp_str_eq(ptr %t14011, ptr @.str7987)
%t14013 = icmp ne i32 %t14012, 0
br i1 %t14013, label %then2815, label %ifend2817
then2815:
- store ptr @.str7947, ptr %t380
+ store ptr @.str7988, ptr %t380
%t14014 = load ptr, ptr %t387
%t14015 = getelementptr inbounds %LSlice, ptr %t14014, i32 0, i32 1
%t14016 = getelementptr inbounds %LSlice, ptr %t14014, i32 0, i32 2
@@ -84528,7 +85273,7 @@ grow2818:
put2819:
%t14030 = load ptr, ptr %t14017
%t14031 = getelementptr inbounds ptr, ptr %t14030, i32 %t14018
- store ptr @.str7948, ptr %t14031
+ store ptr @.str7989, ptr %t14031
%t14032 = add i32 %t14018, 1
store i32 %t14032, ptr %t14015
%t14033 = load ptr, ptr %t387
@@ -84555,17 +85300,17 @@ grow2820:
put2821:
%t14049 = load ptr, ptr %t14036
%t14050 = getelementptr inbounds ptr, ptr %t14049, i32 %t14037
- store ptr @.str7949, ptr %t14050
+ store ptr @.str7990, ptr %t14050
%t14051 = add i32 %t14037, 1
store i32 %t14051, ptr %t14034
br label %ifend2817
ifend2817:
%t14052 = load ptr, ptr %t1
- %t14053 = call i32 @fn_str_eq(ptr %t14052, ptr @.str7950)
+ %t14053 = call i32 @lp_str_eq(ptr %t14052, ptr @.str7991)
%t14054 = icmp ne i32 %t14053, 0
br i1 %t14054, label %then2822, label %ifend2824
then2822:
- store ptr @.str7951, ptr %t380
+ store ptr @.str7992, ptr %t380
%t14055 = load ptr, ptr %t387
%t14056 = getelementptr inbounds %LSlice, ptr %t14055, i32 0, i32 1
%t14057 = getelementptr inbounds %LSlice, ptr %t14055, i32 0, i32 2
@@ -84590,17 +85335,17 @@ grow2825:
put2826:
%t14071 = load ptr, ptr %t14058
%t14072 = getelementptr inbounds ptr, ptr %t14071, i32 %t14059
- store ptr @.str7952, ptr %t14072
+ store ptr @.str7993, ptr %t14072
%t14073 = add i32 %t14059, 1
store i32 %t14073, ptr %t14056
br label %ifend2824
ifend2824:
%t14074 = load ptr, ptr %t1
- %t14075 = call i32 @fn_str_eq(ptr %t14074, ptr @.str7953)
+ %t14075 = call i32 @lp_str_eq(ptr %t14074, ptr @.str7994)
%t14076 = icmp ne i32 %t14075, 0
br i1 %t14076, label %then2827, label %ifend2829
then2827:
- store ptr @.str7954, ptr %t380
+ store ptr @.str7995, ptr %t380
%t14077 = load ptr, ptr %t387
%t14078 = getelementptr inbounds %LSlice, ptr %t14077, i32 0, i32 1
%t14079 = getelementptr inbounds %LSlice, ptr %t14077, i32 0, i32 2
@@ -84625,7 +85370,7 @@ grow2830:
put2831:
%t14093 = load ptr, ptr %t14080
%t14094 = getelementptr inbounds ptr, ptr %t14093, i32 %t14081
- store ptr @.str7955, ptr %t14094
+ store ptr @.str7996, ptr %t14094
%t14095 = add i32 %t14081, 1
store i32 %t14095, ptr %t14078
%t14096 = load ptr, ptr %t387
@@ -84652,7 +85397,7 @@ grow2832:
put2833:
%t14112 = load ptr, ptr %t14099
%t14113 = getelementptr inbounds ptr, ptr %t14112, i32 %t14100
- store ptr @.str7956, ptr %t14113
+ store ptr @.str7997, ptr %t14113
%t14114 = add i32 %t14100, 1
store i32 %t14114, ptr %t14097
%t14115 = load ptr, ptr %t387
@@ -84679,17 +85424,17 @@ grow2834:
put2835:
%t14131 = load ptr, ptr %t14118
%t14132 = getelementptr inbounds ptr, ptr %t14131, i32 %t14119
- store ptr @.str7957, ptr %t14132
+ store ptr @.str7998, ptr %t14132
%t14133 = add i32 %t14119, 1
store i32 %t14133, ptr %t14116
br label %ifend2829
ifend2829:
%t14134 = load ptr, ptr %t1
- %t14135 = call i32 @fn_str_eq(ptr %t14134, ptr @.str7958)
+ %t14135 = call i32 @lp_str_eq(ptr %t14134, ptr @.str7999)
%t14136 = icmp ne i32 %t14135, 0
br i1 %t14136, label %then2836, label %ifend2838
then2836:
- store ptr @.str7959, ptr %t380
+ store ptr @.str8000, ptr %t380
%t14137 = load ptr, ptr %t387
%t14138 = getelementptr inbounds %LSlice, ptr %t14137, i32 0, i32 1
%t14139 = getelementptr inbounds %LSlice, ptr %t14137, i32 0, i32 2
@@ -84714,7 +85459,7 @@ grow2839:
put2840:
%t14153 = load ptr, ptr %t14140
%t14154 = getelementptr inbounds ptr, ptr %t14153, i32 %t14141
- store ptr @.str7960, ptr %t14154
+ store ptr @.str8001, ptr %t14154
%t14155 = add i32 %t14141, 1
store i32 %t14155, ptr %t14138
%t14156 = load ptr, ptr %t387
@@ -84741,17 +85486,17 @@ grow2841:
put2842:
%t14172 = load ptr, ptr %t14159
%t14173 = getelementptr inbounds ptr, ptr %t14172, i32 %t14160
- store ptr @.str7961, ptr %t14173
+ store ptr @.str8002, ptr %t14173
%t14174 = add i32 %t14160, 1
store i32 %t14174, ptr %t14157
br label %ifend2838
ifend2838:
%t14175 = load ptr, ptr %t1
- %t14176 = call i32 @fn_str_eq(ptr %t14175, ptr @.str7962)
+ %t14176 = call i32 @lp_str_eq(ptr %t14175, ptr @.str8003)
%t14177 = icmp ne i32 %t14176, 0
br i1 %t14177, label %then2843, label %ifend2845
then2843:
- store ptr @.str7963, ptr %t380
+ store ptr @.str8004, ptr %t380
%t14178 = load ptr, ptr %t387
%t14179 = getelementptr inbounds %LSlice, ptr %t14178, i32 0, i32 1
%t14180 = getelementptr inbounds %LSlice, ptr %t14178, i32 0, i32 2
@@ -84776,7 +85521,7 @@ grow2846:
put2847:
%t14194 = load ptr, ptr %t14181
%t14195 = getelementptr inbounds ptr, ptr %t14194, i32 %t14182
- store ptr @.str7964, ptr %t14195
+ store ptr @.str8005, ptr %t14195
%t14196 = add i32 %t14182, 1
store i32 %t14196, ptr %t14179
%t14197 = load ptr, ptr %t387
@@ -84803,17 +85548,17 @@ grow2848:
put2849:
%t14213 = load ptr, ptr %t14200
%t14214 = getelementptr inbounds ptr, ptr %t14213, i32 %t14201
- store ptr @.str7965, ptr %t14214
+ store ptr @.str8006, ptr %t14214
%t14215 = add i32 %t14201, 1
store i32 %t14215, ptr %t14198
br label %ifend2845
ifend2845:
%t14216 = load ptr, ptr %t1
- %t14217 = call i32 @fn_str_eq(ptr %t14216, ptr @.str7966)
+ %t14217 = call i32 @lp_str_eq(ptr %t14216, ptr @.str8007)
%t14218 = icmp ne i32 %t14217, 0
br i1 %t14218, label %then2850, label %ifend2852
then2850:
- store ptr @.str7967, ptr %t380
+ store ptr @.str8008, ptr %t380
%t14219 = load ptr, ptr %t387
%t14220 = getelementptr inbounds %LSlice, ptr %t14219, i32 0, i32 1
%t14221 = getelementptr inbounds %LSlice, ptr %t14219, i32 0, i32 2
@@ -84838,7 +85583,7 @@ grow2853:
put2854:
%t14235 = load ptr, ptr %t14222
%t14236 = getelementptr inbounds ptr, ptr %t14235, i32 %t14223
- store ptr @.str7968, ptr %t14236
+ store ptr @.str8009, ptr %t14236
%t14237 = add i32 %t14223, 1
store i32 %t14237, ptr %t14220
%t14238 = load ptr, ptr %t387
@@ -84865,7 +85610,7 @@ grow2855:
put2856:
%t14254 = load ptr, ptr %t14241
%t14255 = getelementptr inbounds ptr, ptr %t14254, i32 %t14242
- store ptr @.str7969, ptr %t14255
+ store ptr @.str8010, ptr %t14255
%t14256 = add i32 %t14242, 1
store i32 %t14256, ptr %t14239
%t14257 = load ptr, ptr %t387
@@ -84892,17 +85637,17 @@ grow2857:
put2858:
%t14273 = load ptr, ptr %t14260
%t14274 = getelementptr inbounds ptr, ptr %t14273, i32 %t14261
- store ptr @.str7970, ptr %t14274
+ store ptr @.str8011, ptr %t14274
%t14275 = add i32 %t14261, 1
store i32 %t14275, ptr %t14258
br label %ifend2852
ifend2852:
%t14276 = load ptr, ptr %t1
- %t14277 = call i32 @fn_str_eq(ptr %t14276, ptr @.str7971)
+ %t14277 = call i32 @lp_str_eq(ptr %t14276, ptr @.str8012)
%t14278 = icmp ne i32 %t14277, 0
br i1 %t14278, label %then2859, label %ifend2861
then2859:
- store ptr @.str7972, ptr %t380
+ store ptr @.str8013, ptr %t380
%t14279 = load ptr, ptr %t387
%t14280 = getelementptr inbounds %LSlice, ptr %t14279, i32 0, i32 1
%t14281 = getelementptr inbounds %LSlice, ptr %t14279, i32 0, i32 2
@@ -84927,17 +85672,17 @@ grow2862:
put2863:
%t14295 = load ptr, ptr %t14282
%t14296 = getelementptr inbounds ptr, ptr %t14295, i32 %t14283
- store ptr @.str7973, ptr %t14296
+ store ptr @.str8014, ptr %t14296
%t14297 = add i32 %t14283, 1
store i32 %t14297, ptr %t14280
br label %ifend2861
ifend2861:
%t14298 = load ptr, ptr %t1
- %t14299 = call i32 @fn_str_eq(ptr %t14298, ptr @.str7974)
+ %t14299 = call i32 @lp_str_eq(ptr %t14298, ptr @.str8015)
%t14300 = icmp ne i32 %t14299, 0
br i1 %t14300, label %then2864, label %ifend2866
then2864:
- store ptr @.str7975, ptr %t380
+ store ptr @.str8016, ptr %t380
%t14301 = load ptr, ptr %t387
%t14302 = getelementptr inbounds %LSlice, ptr %t14301, i32 0, i32 1
%t14303 = getelementptr inbounds %LSlice, ptr %t14301, i32 0, i32 2
@@ -84962,7 +85707,7 @@ grow2867:
put2868:
%t14317 = load ptr, ptr %t14304
%t14318 = getelementptr inbounds ptr, ptr %t14317, i32 %t14305
- store ptr @.str7976, ptr %t14318
+ store ptr @.str8017, ptr %t14318
%t14319 = add i32 %t14305, 1
store i32 %t14319, ptr %t14302
%t14320 = load ptr, ptr %t387
@@ -84989,17 +85734,17 @@ grow2869:
put2870:
%t14336 = load ptr, ptr %t14323
%t14337 = getelementptr inbounds ptr, ptr %t14336, i32 %t14324
- store ptr @.str7977, ptr %t14337
+ store ptr @.str8018, ptr %t14337
%t14338 = add i32 %t14324, 1
store i32 %t14338, ptr %t14321
br label %ifend2866
ifend2866:
%t14339 = load ptr, ptr %t1
- %t14340 = call i32 @fn_str_eq(ptr %t14339, ptr @.str7978)
+ %t14340 = call i32 @lp_str_eq(ptr %t14339, ptr @.str8019)
%t14341 = icmp ne i32 %t14340, 0
br i1 %t14341, label %then2871, label %ifend2873
then2871:
- store ptr @.str7979, ptr %t380
+ store ptr @.str8020, ptr %t380
%t14342 = load ptr, ptr %t387
%t14343 = getelementptr inbounds %LSlice, ptr %t14342, i32 0, i32 1
%t14344 = getelementptr inbounds %LSlice, ptr %t14342, i32 0, i32 2
@@ -85024,7 +85769,7 @@ grow2874:
put2875:
%t14358 = load ptr, ptr %t14345
%t14359 = getelementptr inbounds ptr, ptr %t14358, i32 %t14346
- store ptr @.str7980, ptr %t14359
+ store ptr @.str8021, ptr %t14359
%t14360 = add i32 %t14346, 1
store i32 %t14360, ptr %t14343
%t14361 = load ptr, ptr %t387
@@ -85051,17 +85796,17 @@ grow2876:
put2877:
%t14377 = load ptr, ptr %t14364
%t14378 = getelementptr inbounds ptr, ptr %t14377, i32 %t14365
- store ptr @.str7981, ptr %t14378
+ store ptr @.str8022, ptr %t14378
%t14379 = add i32 %t14365, 1
store i32 %t14379, ptr %t14362
br label %ifend2873
ifend2873:
%t14380 = load ptr, ptr %t1
- %t14381 = call i32 @fn_str_eq(ptr %t14380, ptr @.str7982)
+ %t14381 = call i32 @lp_str_eq(ptr %t14380, ptr @.str8023)
%t14382 = icmp ne i32 %t14381, 0
br i1 %t14382, label %then2878, label %ifend2880
then2878:
- store ptr @.str7983, ptr %t380
+ store ptr @.str8024, ptr %t380
%t14383 = load ptr, ptr %t387
%t14384 = getelementptr inbounds %LSlice, ptr %t14383, i32 0, i32 1
%t14385 = getelementptr inbounds %LSlice, ptr %t14383, i32 0, i32 2
@@ -85086,7 +85831,7 @@ grow2881:
put2882:
%t14399 = load ptr, ptr %t14386
%t14400 = getelementptr inbounds ptr, ptr %t14399, i32 %t14387
- store ptr @.str7984, ptr %t14400
+ store ptr @.str8025, ptr %t14400
%t14401 = add i32 %t14387, 1
store i32 %t14401, ptr %t14384
%t14402 = load ptr, ptr %t387
@@ -85113,17 +85858,17 @@ grow2883:
put2884:
%t14418 = load ptr, ptr %t14405
%t14419 = getelementptr inbounds ptr, ptr %t14418, i32 %t14406
- store ptr @.str7985, ptr %t14419
+ store ptr @.str8026, ptr %t14419
%t14420 = add i32 %t14406, 1
store i32 %t14420, ptr %t14403
br label %ifend2880
ifend2880:
%t14421 = load ptr, ptr %t1
- %t14422 = call i32 @fn_str_eq(ptr %t14421, ptr @.str7986)
+ %t14422 = call i32 @lp_str_eq(ptr %t14421, ptr @.str8027)
%t14423 = icmp ne i32 %t14422, 0
br i1 %t14423, label %then2885, label %ifend2887
then2885:
- store ptr @.str7987, ptr %t380
+ store ptr @.str8028, ptr %t380
%t14424 = load ptr, ptr %t387
%t14425 = getelementptr inbounds %LSlice, ptr %t14424, i32 0, i32 1
%t14426 = getelementptr inbounds %LSlice, ptr %t14424, i32 0, i32 2
@@ -85148,17 +85893,17 @@ grow2888:
put2889:
%t14440 = load ptr, ptr %t14427
%t14441 = getelementptr inbounds ptr, ptr %t14440, i32 %t14428
- store ptr @.str7988, ptr %t14441
+ store ptr @.str8029, ptr %t14441
%t14442 = add i32 %t14428, 1
store i32 %t14442, ptr %t14425
br label %ifend2887
ifend2887:
%t14443 = load ptr, ptr %t1
- %t14444 = call i32 @fn_str_eq(ptr %t14443, ptr @.str7989)
+ %t14444 = call i32 @lp_str_eq(ptr %t14443, ptr @.str8030)
%t14445 = icmp ne i32 %t14444, 0
br i1 %t14445, label %then2890, label %ifend2892
then2890:
- store ptr @.str7990, ptr %t380
+ store ptr @.str8031, ptr %t380
%t14446 = load ptr, ptr %t387
%t14447 = getelementptr inbounds %LSlice, ptr %t14446, i32 0, i32 1
%t14448 = getelementptr inbounds %LSlice, ptr %t14446, i32 0, i32 2
@@ -85183,17 +85928,17 @@ grow2893:
put2894:
%t14462 = load ptr, ptr %t14449
%t14463 = getelementptr inbounds ptr, ptr %t14462, i32 %t14450
- store ptr @.str7991, ptr %t14463
+ store ptr @.str8032, ptr %t14463
%t14464 = add i32 %t14450, 1
store i32 %t14464, ptr %t14447
br label %ifend2892
ifend2892:
%t14465 = load ptr, ptr %t1
- %t14466 = call i32 @fn_str_eq(ptr %t14465, ptr @.str7992)
+ %t14466 = call i32 @lp_str_eq(ptr %t14465, ptr @.str8033)
%t14467 = icmp ne i32 %t14466, 0
br i1 %t14467, label %then2895, label %ifend2897
then2895:
- store ptr @.str7993, ptr %t380
+ store ptr @.str8034, ptr %t380
%t14468 = load ptr, ptr %t387
%t14469 = getelementptr inbounds %LSlice, ptr %t14468, i32 0, i32 1
%t14470 = getelementptr inbounds %LSlice, ptr %t14468, i32 0, i32 2
@@ -85218,7 +85963,7 @@ grow2898:
put2899:
%t14484 = load ptr, ptr %t14471
%t14485 = getelementptr inbounds ptr, ptr %t14484, i32 %t14472
- store ptr @.str7994, ptr %t14485
+ store ptr @.str8035, ptr %t14485
%t14486 = add i32 %t14472, 1
store i32 %t14486, ptr %t14469
%t14487 = load ptr, ptr %t387
@@ -85245,7 +85990,7 @@ grow2900:
put2901:
%t14503 = load ptr, ptr %t14490
%t14504 = getelementptr inbounds ptr, ptr %t14503, i32 %t14491
- store ptr @.str7995, ptr %t14504
+ store ptr @.str8036, ptr %t14504
%t14505 = add i32 %t14491, 1
store i32 %t14505, ptr %t14488
%t14506 = load ptr, ptr %t387
@@ -85272,17 +86017,17 @@ grow2902:
put2903:
%t14522 = load ptr, ptr %t14509
%t14523 = getelementptr inbounds ptr, ptr %t14522, i32 %t14510
- store ptr @.str7996, ptr %t14523
+ store ptr @.str8037, ptr %t14523
%t14524 = add i32 %t14510, 1
store i32 %t14524, ptr %t14507
br label %ifend2897
ifend2897:
%t14525 = load ptr, ptr %t1
- %t14526 = call i32 @fn_str_eq(ptr %t14525, ptr @.str7997)
+ %t14526 = call i32 @lp_str_eq(ptr %t14525, ptr @.str8038)
%t14527 = icmp ne i32 %t14526, 0
br i1 %t14527, label %then2904, label %ifend2906
then2904:
- store ptr @.str7998, ptr %t380
+ store ptr @.str8039, ptr %t380
%t14528 = load ptr, ptr %t387
%t14529 = getelementptr inbounds %LSlice, ptr %t14528, i32 0, i32 1
%t14530 = getelementptr inbounds %LSlice, ptr %t14528, i32 0, i32 2
@@ -85307,7 +86052,7 @@ grow2907:
put2908:
%t14544 = load ptr, ptr %t14531
%t14545 = getelementptr inbounds ptr, ptr %t14544, i32 %t14532
- store ptr @.str7999, ptr %t14545
+ store ptr @.str8040, ptr %t14545
%t14546 = add i32 %t14532, 1
store i32 %t14546, ptr %t14529
%t14547 = load ptr, ptr %t387
@@ -85334,7 +86079,7 @@ grow2909:
put2910:
%t14563 = load ptr, ptr %t14550
%t14564 = getelementptr inbounds ptr, ptr %t14563, i32 %t14551
- store ptr @.str8000, ptr %t14564
+ store ptr @.str8041, ptr %t14564
%t14565 = add i32 %t14551, 1
store i32 %t14565, ptr %t14548
%t14566 = load ptr, ptr %t387
@@ -85361,17 +86106,17 @@ grow2911:
put2912:
%t14582 = load ptr, ptr %t14569
%t14583 = getelementptr inbounds ptr, ptr %t14582, i32 %t14570
- store ptr @.str8001, ptr %t14583
+ store ptr @.str8042, ptr %t14583
%t14584 = add i32 %t14570, 1
store i32 %t14584, ptr %t14567
br label %ifend2906
ifend2906:
%t14585 = load ptr, ptr %t1
- %t14586 = call i32 @fn_str_eq(ptr %t14585, ptr @.str8002)
+ %t14586 = call i32 @lp_str_eq(ptr %t14585, ptr @.str8043)
%t14587 = icmp ne i32 %t14586, 0
br i1 %t14587, label %then2913, label %ifend2915
then2913:
- store ptr @.str8003, ptr %t380
+ store ptr @.str8044, ptr %t380
%t14588 = load ptr, ptr %t387
%t14589 = getelementptr inbounds %LSlice, ptr %t14588, i32 0, i32 1
%t14590 = getelementptr inbounds %LSlice, ptr %t14588, i32 0, i32 2
@@ -85396,7 +86141,7 @@ grow2916:
put2917:
%t14604 = load ptr, ptr %t14591
%t14605 = getelementptr inbounds ptr, ptr %t14604, i32 %t14592
- store ptr @.str8004, ptr %t14605
+ store ptr @.str8045, ptr %t14605
%t14606 = add i32 %t14592, 1
store i32 %t14606, ptr %t14589
%t14607 = load ptr, ptr %t387
@@ -85423,7 +86168,7 @@ grow2918:
put2919:
%t14623 = load ptr, ptr %t14610
%t14624 = getelementptr inbounds ptr, ptr %t14623, i32 %t14611
- store ptr @.str8005, ptr %t14624
+ store ptr @.str8046, ptr %t14624
%t14625 = add i32 %t14611, 1
store i32 %t14625, ptr %t14608
%t14626 = load ptr, ptr %t387
@@ -85450,17 +86195,17 @@ grow2920:
put2921:
%t14642 = load ptr, ptr %t14629
%t14643 = getelementptr inbounds ptr, ptr %t14642, i32 %t14630
- store ptr @.str8006, ptr %t14643
+ store ptr @.str8047, ptr %t14643
%t14644 = add i32 %t14630, 1
store i32 %t14644, ptr %t14627
br label %ifend2915
ifend2915:
%t14645 = load ptr, ptr %t1
- %t14646 = call i32 @fn_str_eq(ptr %t14645, ptr @.str8007)
+ %t14646 = call i32 @lp_str_eq(ptr %t14645, ptr @.str8048)
%t14647 = icmp ne i32 %t14646, 0
br i1 %t14647, label %then2922, label %ifend2924
then2922:
- store ptr @.str8008, ptr %t380
+ store ptr @.str8049, ptr %t380
%t14648 = load ptr, ptr %t387
%t14649 = getelementptr inbounds %LSlice, ptr %t14648, i32 0, i32 1
%t14650 = getelementptr inbounds %LSlice, ptr %t14648, i32 0, i32 2
@@ -85485,7 +86230,7 @@ grow2925:
put2926:
%t14664 = load ptr, ptr %t14651
%t14665 = getelementptr inbounds ptr, ptr %t14664, i32 %t14652
- store ptr @.str8009, ptr %t14665
+ store ptr @.str8050, ptr %t14665
%t14666 = add i32 %t14652, 1
store i32 %t14666, ptr %t14649
%t14667 = load ptr, ptr %t387
@@ -85512,7 +86257,7 @@ grow2927:
put2928:
%t14683 = load ptr, ptr %t14670
%t14684 = getelementptr inbounds ptr, ptr %t14683, i32 %t14671
- store ptr @.str8010, ptr %t14684
+ store ptr @.str8051, ptr %t14684
%t14685 = add i32 %t14671, 1
store i32 %t14685, ptr %t14668
%t14686 = load ptr, ptr %t387
@@ -85539,17 +86284,17 @@ grow2929:
put2930:
%t14702 = load ptr, ptr %t14689
%t14703 = getelementptr inbounds ptr, ptr %t14702, i32 %t14690
- store ptr @.str8011, ptr %t14703
+ store ptr @.str8052, ptr %t14703
%t14704 = add i32 %t14690, 1
store i32 %t14704, ptr %t14687
br label %ifend2924
ifend2924:
%t14705 = load ptr, ptr %t1
- %t14706 = call i32 @fn_str_eq(ptr %t14705, ptr @.str8012)
+ %t14706 = call i32 @lp_str_eq(ptr %t14705, ptr @.str8053)
%t14707 = icmp ne i32 %t14706, 0
br i1 %t14707, label %then2931, label %ifend2933
then2931:
- store ptr @.str8013, ptr %t380
+ store ptr @.str8054, ptr %t380
%t14708 = load ptr, ptr %t387
%t14709 = getelementptr inbounds %LSlice, ptr %t14708, i32 0, i32 1
%t14710 = getelementptr inbounds %LSlice, ptr %t14708, i32 0, i32 2
@@ -85574,7 +86319,7 @@ grow2934:
put2935:
%t14724 = load ptr, ptr %t14711
%t14725 = getelementptr inbounds ptr, ptr %t14724, i32 %t14712
- store ptr @.str8014, ptr %t14725
+ store ptr @.str8055, ptr %t14725
%t14726 = add i32 %t14712, 1
store i32 %t14726, ptr %t14709
%t14727 = load ptr, ptr %t387
@@ -85601,17 +86346,17 @@ grow2936:
put2937:
%t14743 = load ptr, ptr %t14730
%t14744 = getelementptr inbounds ptr, ptr %t14743, i32 %t14731
- store ptr @.str8015, ptr %t14744
+ store ptr @.str8056, ptr %t14744
%t14745 = add i32 %t14731, 1
store i32 %t14745, ptr %t14728
br label %ifend2933
ifend2933:
%t14746 = load ptr, ptr %t1
- %t14747 = call i32 @fn_str_eq(ptr %t14746, ptr @.str8016)
+ %t14747 = call i32 @lp_str_eq(ptr %t14746, ptr @.str8057)
%t14748 = icmp ne i32 %t14747, 0
br i1 %t14748, label %then2938, label %ifend2940
then2938:
- store ptr @.str8017, ptr %t380
+ store ptr @.str8058, ptr %t380
%t14749 = load ptr, ptr %t387
%t14750 = getelementptr inbounds %LSlice, ptr %t14749, i32 0, i32 1
%t14751 = getelementptr inbounds %LSlice, ptr %t14749, i32 0, i32 2
@@ -85636,7 +86381,7 @@ grow2941:
put2942:
%t14765 = load ptr, ptr %t14752
%t14766 = getelementptr inbounds ptr, ptr %t14765, i32 %t14753
- store ptr @.str8018, ptr %t14766
+ store ptr @.str8059, ptr %t14766
%t14767 = add i32 %t14753, 1
store i32 %t14767, ptr %t14750
%t14768 = load ptr, ptr %t387
@@ -85663,17 +86408,17 @@ grow2943:
put2944:
%t14784 = load ptr, ptr %t14771
%t14785 = getelementptr inbounds ptr, ptr %t14784, i32 %t14772
- store ptr @.str8019, ptr %t14785
+ store ptr @.str8060, ptr %t14785
%t14786 = add i32 %t14772, 1
store i32 %t14786, ptr %t14769
br label %ifend2940
ifend2940:
%t14787 = load ptr, ptr %t1
- %t14788 = call i32 @fn_str_eq(ptr %t14787, ptr @.str8020)
+ %t14788 = call i32 @lp_str_eq(ptr %t14787, ptr @.str8061)
%t14789 = icmp ne i32 %t14788, 0
br i1 %t14789, label %then2945, label %ifend2947
then2945:
- store ptr @.str8021, ptr %t380
+ store ptr @.str8062, ptr %t380
%t14790 = load ptr, ptr %t387
%t14791 = getelementptr inbounds %LSlice, ptr %t14790, i32 0, i32 1
%t14792 = getelementptr inbounds %LSlice, ptr %t14790, i32 0, i32 2
@@ -85698,7 +86443,7 @@ grow2948:
put2949:
%t14806 = load ptr, ptr %t14793
%t14807 = getelementptr inbounds ptr, ptr %t14806, i32 %t14794
- store ptr @.str8022, ptr %t14807
+ store ptr @.str8063, ptr %t14807
%t14808 = add i32 %t14794, 1
store i32 %t14808, ptr %t14791
%t14809 = load ptr, ptr %t387
@@ -85725,17 +86470,17 @@ grow2950:
put2951:
%t14825 = load ptr, ptr %t14812
%t14826 = getelementptr inbounds ptr, ptr %t14825, i32 %t14813
- store ptr @.str8023, ptr %t14826
+ store ptr @.str8064, ptr %t14826
%t14827 = add i32 %t14813, 1
store i32 %t14827, ptr %t14810
br label %ifend2947
ifend2947:
%t14828 = load ptr, ptr %t1
- %t14829 = call i32 @fn_str_eq(ptr %t14828, ptr @.str8024)
+ %t14829 = call i32 @lp_str_eq(ptr %t14828, ptr @.str8065)
%t14830 = icmp ne i32 %t14829, 0
br i1 %t14830, label %then2952, label %ifend2954
then2952:
- store ptr @.str8025, ptr %t380
+ store ptr @.str8066, ptr %t380
%t14831 = load ptr, ptr %t387
%t14832 = getelementptr inbounds %LSlice, ptr %t14831, i32 0, i32 1
%t14833 = getelementptr inbounds %LSlice, ptr %t14831, i32 0, i32 2
@@ -85760,7 +86505,7 @@ grow2955:
put2956:
%t14847 = load ptr, ptr %t14834
%t14848 = getelementptr inbounds ptr, ptr %t14847, i32 %t14835
- store ptr @.str8026, ptr %t14848
+ store ptr @.str8067, ptr %t14848
%t14849 = add i32 %t14835, 1
store i32 %t14849, ptr %t14832
%t14850 = load ptr, ptr %t387
@@ -85787,17 +86532,17 @@ grow2957:
put2958:
%t14866 = load ptr, ptr %t14853
%t14867 = getelementptr inbounds ptr, ptr %t14866, i32 %t14854
- store ptr @.str8027, ptr %t14867
+ store ptr @.str8068, ptr %t14867
%t14868 = add i32 %t14854, 1
store i32 %t14868, ptr %t14851
br label %ifend2954
ifend2954:
%t14869 = load ptr, ptr %t1
- %t14870 = call i32 @fn_str_eq(ptr %t14869, ptr @.str8028)
+ %t14870 = call i32 @lp_str_eq(ptr %t14869, ptr @.str8069)
%t14871 = icmp ne i32 %t14870, 0
br i1 %t14871, label %then2959, label %ifend2961
then2959:
- store ptr @.str8029, ptr %t380
+ store ptr @.str8070, ptr %t380
%t14872 = load ptr, ptr %t387
%t14873 = getelementptr inbounds %LSlice, ptr %t14872, i32 0, i32 1
%t14874 = getelementptr inbounds %LSlice, ptr %t14872, i32 0, i32 2
@@ -85822,7 +86567,7 @@ grow2962:
put2963:
%t14888 = load ptr, ptr %t14875
%t14889 = getelementptr inbounds ptr, ptr %t14888, i32 %t14876
- store ptr @.str8030, ptr %t14889
+ store ptr @.str8071, ptr %t14889
%t14890 = add i32 %t14876, 1
store i32 %t14890, ptr %t14873
%t14891 = load ptr, ptr %t387
@@ -85849,17 +86594,17 @@ grow2964:
put2965:
%t14907 = load ptr, ptr %t14894
%t14908 = getelementptr inbounds ptr, ptr %t14907, i32 %t14895
- store ptr @.str8031, ptr %t14908
+ store ptr @.str8072, ptr %t14908
%t14909 = add i32 %t14895, 1
store i32 %t14909, ptr %t14892
br label %ifend2961
ifend2961:
%t14910 = load ptr, ptr %t1
- %t14911 = call i32 @fn_str_eq(ptr %t14910, ptr @.str8032)
+ %t14911 = call i32 @lp_str_eq(ptr %t14910, ptr @.str8073)
%t14912 = icmp ne i32 %t14911, 0
br i1 %t14912, label %then2966, label %ifend2968
then2966:
- store ptr @.str8033, ptr %t380
+ store ptr @.str8074, ptr %t380
%t14913 = load ptr, ptr %t387
%t14914 = getelementptr inbounds %LSlice, ptr %t14913, i32 0, i32 1
%t14915 = getelementptr inbounds %LSlice, ptr %t14913, i32 0, i32 2
@@ -85884,17 +86629,17 @@ grow2969:
put2970:
%t14929 = load ptr, ptr %t14916
%t14930 = getelementptr inbounds ptr, ptr %t14929, i32 %t14917
- store ptr @.str8034, ptr %t14930
+ store ptr @.str8075, ptr %t14930
%t14931 = add i32 %t14917, 1
store i32 %t14931, ptr %t14914
br label %ifend2968
ifend2968:
%t14932 = load ptr, ptr %t1
- %t14933 = call i32 @fn_str_eq(ptr %t14932, ptr @.str8035)
+ %t14933 = call i32 @lp_str_eq(ptr %t14932, ptr @.str8076)
%t14934 = icmp ne i32 %t14933, 0
br i1 %t14934, label %then2971, label %ifend2973
then2971:
- store ptr @.str8036, ptr %t380
+ store ptr @.str8077, ptr %t380
%t14935 = load ptr, ptr %t387
%t14936 = getelementptr inbounds %LSlice, ptr %t14935, i32 0, i32 1
%t14937 = getelementptr inbounds %LSlice, ptr %t14935, i32 0, i32 2
@@ -85919,17 +86664,17 @@ grow2974:
put2975:
%t14951 = load ptr, ptr %t14938
%t14952 = getelementptr inbounds ptr, ptr %t14951, i32 %t14939
- store ptr @.str8037, ptr %t14952
+ store ptr @.str8078, ptr %t14952
%t14953 = add i32 %t14939, 1
store i32 %t14953, ptr %t14936
br label %ifend2973
ifend2973:
%t14954 = load ptr, ptr %t1
- %t14955 = call i32 @fn_str_eq(ptr %t14954, ptr @.str8038)
+ %t14955 = call i32 @lp_str_eq(ptr %t14954, ptr @.str8079)
%t14956 = icmp ne i32 %t14955, 0
br i1 %t14956, label %then2976, label %ifend2978
then2976:
- store ptr @.str8039, ptr %t380
+ store ptr @.str8080, ptr %t380
%t14957 = load ptr, ptr %t387
%t14958 = getelementptr inbounds %LSlice, ptr %t14957, i32 0, i32 1
%t14959 = getelementptr inbounds %LSlice, ptr %t14957, i32 0, i32 2
@@ -85954,7 +86699,7 @@ grow2979:
put2980:
%t14973 = load ptr, ptr %t14960
%t14974 = getelementptr inbounds ptr, ptr %t14973, i32 %t14961
- store ptr @.str8040, ptr %t14974
+ store ptr @.str8081, ptr %t14974
%t14975 = add i32 %t14961, 1
store i32 %t14975, ptr %t14958
%t14976 = load ptr, ptr %t387
@@ -85981,7 +86726,7 @@ grow2981:
put2982:
%t14992 = load ptr, ptr %t14979
%t14993 = getelementptr inbounds ptr, ptr %t14992, i32 %t14980
- store ptr @.str8041, ptr %t14993
+ store ptr @.str8082, ptr %t14993
%t14994 = add i32 %t14980, 1
store i32 %t14994, ptr %t14977
br label %ifend2978
@@ -86009,9 +86754,9 @@ scend2984:
then2985:
%t15007 = load ptr, ptr %t0
%t15008 = call ptr @fn_ns_lower(ptr %t15007)
- %t15009 = call ptr @fn_str_concat(ptr %t15008, ptr @.str8042)
+ %t15009 = call ptr @lp_str_concat(ptr %t15008, ptr @.str8083)
%t15010 = load ptr, ptr %t1
- %t15011 = call ptr @fn_str_concat(ptr %t15009, ptr %t15010)
+ %t15011 = call ptr @lp_str_concat(ptr %t15009, ptr %t15010)
store ptr %t15011, ptr %t380
%t15013 = load ptr, ptr %t0
%t15014 = call i32 @fn_is_ns_block(ptr %t15013)
@@ -86034,12 +86779,12 @@ scend2989:
br i1 %t15024, label %then2990, label %ifend2992
then2990:
%t15025 = load ptr, ptr %t0
- %t15026 = call ptr @fn_str_concat(ptr %t15025, ptr @.str8043)
+ %t15026 = call ptr @lp_str_concat(ptr %t15025, ptr @.str8084)
%t15027 = load ptr, ptr %t1
- %t15028 = call ptr @fn_str_concat(ptr %t15026, ptr %t15027)
- %t15029 = call ptr @fn_str_concat(ptr %t15028, ptr @.str8044)
+ %t15028 = call ptr @lp_str_concat(ptr %t15026, ptr %t15027)
+ %t15029 = call ptr @lp_str_concat(ptr %t15028, ptr @.str8085)
%t15030 = load ptr, ptr %t0
- %t15031 = call ptr @fn_str_concat(ptr %t15029, ptr %t15030)
+ %t15031 = call ptr @lp_str_concat(ptr %t15029, ptr %t15030)
call void @fn_perr(ptr %t15031)
br label %ifend2992
ifend2992:
@@ -86068,38 +86813,38 @@ wcond2996:
br i1 %t15049, label %wbody2997, label %wend2998
wbody2997:
%t15050 = load ptr, ptr %t387
- %t15051 = getelementptr inbounds %LSlice, ptr %t15050, i32 0, i32 1
- %t15052 = getelementptr inbounds %LSlice, ptr %t15050, i32 0, i32 2
- %t15053 = getelementptr inbounds %LSlice, ptr %t15050, i32 0, i32 0
- %t15054 = load i32, ptr %t15051
- %t15055 = load i32, ptr %t15052
- %t15056 = icmp sge i32 %t15054, %t15055
- br i1 %t15056, label %grow2999, label %put3000
+ %t15051 = load ptr, ptr %t15041
+ %t15052 = getelementptr inbounds %LSlice, ptr %t15051, i32 0, i32 0
+ %t15053 = load ptr, ptr %t15052
+ %t15054 = load i32, ptr %t15042
+ %t15055 = getelementptr inbounds ptr, ptr %t15053, i32 %t15054
+ %t15056 = load ptr, ptr %t15055
+ %t15057 = getelementptr inbounds %LSlice, ptr %t15050, i32 0, i32 1
+ %t15058 = getelementptr inbounds %LSlice, ptr %t15050, i32 0, i32 2
+ %t15059 = getelementptr inbounds %LSlice, ptr %t15050, i32 0, i32 0
+ %t15060 = load i32, ptr %t15057
+ %t15061 = load i32, ptr %t15058
+ %t15062 = icmp sge i32 %t15060, %t15061
+ br i1 %t15062, label %grow2999, label %put3000
grow2999:
- %t15057 = mul i32 %t15055, 2
- %t15058 = icmp eq i32 %t15055, 0
- %t15059 = select i1 %t15058, i32 8, i32 %t15057
- %t15060 = getelementptr ptr, ptr null, i32 1
- %t15061 = ptrtoint ptr %t15060 to i64
- %t15062 = zext i32 %t15059 to i64
- %t15063 = mul i64 %t15062, %t15061
- %t15064 = load ptr, ptr %t15053
- %t15065 = call ptr @realloc(ptr %t15064, i64 %t15063)
- store ptr %t15065, ptr %t15053
- store i32 %t15059, ptr %t15052
+ %t15063 = mul i32 %t15061, 2
+ %t15064 = icmp eq i32 %t15061, 0
+ %t15065 = select i1 %t15064, i32 8, i32 %t15063
+ %t15066 = getelementptr ptr, ptr null, i32 1
+ %t15067 = ptrtoint ptr %t15066 to i64
+ %t15068 = zext i32 %t15065 to i64
+ %t15069 = mul i64 %t15068, %t15067
+ %t15070 = load ptr, ptr %t15059
+ %t15071 = call ptr @realloc(ptr %t15070, i64 %t15069)
+ store ptr %t15071, ptr %t15059
+ store i32 %t15065, ptr %t15058
br label %put3000
put3000:
- %t15066 = load ptr, ptr %t15041
- %t15067 = getelementptr inbounds %LSlice, ptr %t15066, i32 0, i32 0
- %t15068 = load ptr, ptr %t15067
- %t15069 = load i32, ptr %t15042
- %t15070 = getelementptr inbounds ptr, ptr %t15068, i32 %t15069
- %t15071 = load ptr, ptr %t15070
- %t15072 = load ptr, ptr %t15053
- %t15073 = getelementptr inbounds ptr, ptr %t15072, i32 %t15054
- store ptr %t15071, ptr %t15073
- %t15074 = add i32 %t15054, 1
- store i32 %t15074, ptr %t15051
+ %t15072 = load ptr, ptr %t15059
+ %t15073 = getelementptr inbounds ptr, ptr %t15072, i32 %t15060
+ store ptr %t15056, ptr %t15073
+ %t15074 = add i32 %t15060, 1
+ store i32 %t15074, ptr %t15057
%t15075 = load i32, ptr %t15042
%t15076 = add i32 %t15075, 1
store i32 %t15076, ptr %t15042
@@ -86116,10 +86861,10 @@ ifend2987:
br i1 %t15080, label %then3001, label %ifend3003
then3001:
%t15081 = load ptr, ptr %t0
- %t15082 = call ptr @fn_str_concat(ptr @.str8045, ptr %t15081)
- %t15083 = call ptr @fn_str_concat(ptr %t15082, ptr @.str8046)
+ %t15082 = call ptr @lp_str_concat(ptr @.str8086, ptr %t15081)
+ %t15083 = call ptr @lp_str_concat(ptr %t15082, ptr @.str8087)
%t15084 = load ptr, ptr %t1
- %t15085 = call ptr @fn_str_concat(ptr %t15083, ptr %t15084)
+ %t15085 = call ptr @lp_str_concat(ptr %t15083, ptr %t15084)
call void @fn_perr(ptr %t15085)
br label %ifend3003
ifend3003:
@@ -86189,35 +86934,35 @@ 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 @fn_str_concat(ptr @.str8047, ptr %t27)
- %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str8048)
+ %t28 = call ptr @lp_str_concat(ptr @.str8088, ptr %t27)
+ %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str8089)
%t30 = load i32, ptr %t17
%t31 = call ptr @fn_itoa(i32 %t30)
- %t32 = call ptr @fn_str_concat(ptr %t29, ptr %t31)
- %t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str8049)
+ %t32 = call ptr @lp_str_concat(ptr %t29, ptr %t31)
+ %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str8090)
%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 @fn_str_concat(ptr %t33, ptr %t37)
+ %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 @fn_str_concat(ptr @.str8050, ptr %t41)
- %t43 = call ptr @fn_str_concat(ptr %t42, ptr @.str8051)
+ %t42 = call ptr @lp_str_concat(ptr @.str8091, ptr %t41)
+ %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str8092)
%t44 = call ptr @fn_emit_bind(ptr %t43)
store ptr %t44, ptr %t45
- call void @fn_emit(ptr @.str8052)
+ call void @fn_emit(ptr @.str8093)
%t46 = load i32, ptr %t1
%t47 = call ptr @fn_itoa(i32 %t46)
call void @fn_emit(ptr %t47)
- call void @fn_emit(ptr @.str8053)
+ call void @fn_emit(ptr @.str8094)
%t48 = load ptr, ptr %t45
call void @fn_emit(ptr %t48)
- call void @fn_emit(ptr @.str8054)
+ call void @fn_emit(ptr @.str8095)
store i32 0, ptr %t49
br label %wcond3
wcond3:
@@ -86253,30 +86998,30 @@ wbody4:
store ptr %t76, ptr %t77
%t78 = call ptr @fn_nreg()
store ptr %t78, ptr %t79
- call void @fn_emit(ptr @.str8055)
+ call void @fn_emit(ptr @.str8096)
%t80 = load ptr, ptr %t79
call void @fn_emit(ptr %t80)
- call void @fn_emit(ptr @.str8056)
+ call void @fn_emit(ptr @.str8097)
%t81 = load ptr, ptr %t45
call void @fn_emit(ptr %t81)
- call void @fn_emit(ptr @.str8057)
+ call void @fn_emit(ptr @.str8098)
%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 @.str8058)
- call void @fn_emit(ptr @.str8059)
+ call void @fn_emit(ptr @.str8099)
+ call void @fn_emit(ptr @.str8100)
%t86 = load ptr, ptr %t65
%t87 = call ptr @fn_llty(ptr %t86)
call void @fn_emit(ptr %t87)
- call void @fn_emit(ptr @.str8060)
+ call void @fn_emit(ptr @.str8101)
%t88 = load ptr, ptr %t77
call void @fn_emit(ptr %t88)
- call void @fn_emit(ptr @.str8061)
+ call void @fn_emit(ptr @.str8102)
%t89 = load ptr, ptr %t79
call void @fn_emit(ptr %t89)
- call void @fn_emit(ptr @.str8062)
+ call void @fn_emit(ptr @.str8103)
%t90 = load i32, ptr %t49
%t91 = add i32 %t90, 1
store i32 %t91, ptr %t49
@@ -86497,7 +87242,7 @@ then3:
store ptr %t32, ptr %retval
br label %ret
ifend5:
- call void @fn_perr(ptr @.str8063)
+ call void @fn_perr(ptr @.str8104)
br label %ifend2
ifend2:
%t33 = load ptr, ptr %t0
@@ -86507,7 +87252,7 @@ ifend2:
%t37 = load ptr, ptr %t36
store ptr %t37, ptr %t38
%t39 = load ptr, ptr %t38
- %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str8064)
+ %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str8105)
%t41 = icmp ne i32 %t40, 0
br i1 %t41, label %then6, label %ifend8
then6:
@@ -86517,7 +87262,7 @@ then6:
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then9, label %ifend11
then9:
- %t46 = call ptr @fn_val(ptr @.str8065, ptr @.str8066)
+ %t46 = call ptr @fn_val(ptr @.str8106, ptr @.str8107)
store ptr %t46, ptr %retval
br label %ret
ifend11:
@@ -86528,64 +87273,64 @@ ifend11:
%t51 = sub i32 %t50, 1
%t52 = getelementptr inbounds ptr, ptr %t49, i32 %t51
%t53 = load ptr, ptr %t52
- %t54 = call ptr @fn_str_concat(ptr @.str8067, ptr %t53)
+ %t54 = call ptr @lp_str_concat(ptr @.str8108, ptr %t53)
%t55 = call ptr @fn_emit_bind(ptr %t54)
- %t56 = call ptr @fn_val(ptr %t55, ptr @.str8068)
+ %t56 = call ptr @fn_val(ptr %t55, ptr @.str8109)
store ptr %t56, ptr %retval
br label %ret
ifend8:
%t57 = load ptr, ptr %t38
- %t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str8069)
+ %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str8110)
%t59 = icmp ne i32 %t58, 0
br i1 %t59, label %then12, label %ifend14
then12:
- %t60 = call ptr @fn_emit_bind(ptr @.str8070)
- %t61 = call ptr @fn_val(ptr %t60, ptr @.str8071)
+ %t60 = call ptr @fn_emit_bind(ptr @.str8111)
+ %t61 = call ptr @fn_val(ptr %t60, ptr @.str8112)
store ptr %t61, ptr %retval
br label %ret
ifend14:
%t62 = load ptr, ptr %t38
- %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str8072)
+ %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str8113)
%t64 = icmp ne i32 %t63, 0
br i1 %t64, label %then15, label %ifend17
then15:
- call void @fn_emit(ptr @.str8073)
- %t65 = call ptr @fn_val(ptr @.str8074, ptr @.str8075)
+ call void @fn_emit(ptr @.str8114)
+ %t65 = call ptr @fn_val(ptr @.str8115, ptr @.str8116)
store ptr %t65, ptr %retval
br label %ret
ifend17:
%t66 = load ptr, ptr %t38
- %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str8076)
+ %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str8117)
%t68 = icmp ne i32 %t67, 0
br i1 %t68, label %then18, label %ifend20
then18:
- call void @fn_emit(ptr @.str8077)
- %t69 = call ptr @fn_val(ptr @.str8078, ptr @.str8079)
+ call void @fn_emit(ptr @.str8118)
+ %t69 = call ptr @fn_val(ptr @.str8119, ptr @.str8120)
store ptr %t69, ptr %retval
br label %ret
ifend20:
%t70 = load ptr, ptr %t38
- %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str8080)
+ %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str8121)
%t72 = icmp ne i32 %t71, 0
br i1 %t72, label %then21, label %ifend23
then21:
- %t73 = call ptr @fn_emit_bind(ptr @.str8081)
- %t74 = call ptr @fn_val(ptr %t73, ptr @.str8082)
+ %t73 = call ptr @fn_emit_bind(ptr @.str8122)
+ %t74 = call ptr @fn_val(ptr %t73, ptr @.str8123)
store ptr %t74, ptr %retval
br label %ret
ifend23:
%t75 = load ptr, ptr %t38
- %t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str8083)
+ %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str8124)
%t77 = icmp ne i32 %t76, 0
br i1 %t77, label %then24, label %ifend26
then24:
- %t78 = call ptr @fn_emit_bind(ptr @.str8084)
- %t79 = call ptr @fn_val(ptr %t78, ptr @.str8085)
+ %t78 = call ptr @fn_emit_bind(ptr @.str8125)
+ %t79 = call ptr @fn_val(ptr %t78, ptr @.str8126)
store ptr %t79, ptr %retval
br label %ret
ifend26:
%t80 = load ptr, ptr %t38
- %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str8086)
+ %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str8127)
%t82 = icmp ne i32 %t81, 0
br i1 %t82, label %then27, label %ifend29
then27:
@@ -86601,15 +87346,15 @@ then27:
%t92 = load ptr, ptr %t91
%t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0
%t94 = load ptr, ptr %t93
- %t95 = call ptr @fn_str_concat(ptr @.str8087, ptr %t94)
- %t96 = call ptr @fn_str_concat(ptr %t95, ptr @.str8088)
+ %t95 = call ptr @lp_str_concat(ptr @.str8128, ptr %t94)
+ %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str8129)
%t97 = call ptr @fn_emit_bind(ptr %t96)
- %t98 = call ptr @fn_val(ptr %t97, ptr @.str8089)
+ %t98 = call ptr @fn_val(ptr %t97, ptr @.str8130)
store ptr %t98, ptr %retval
br label %ret
ifend29:
%t99 = load ptr, ptr %t38
- %t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str8090)
+ %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str8131)
%t101 = icmp ne i32 %t100, 0
br i1 %t101, label %then30, label %ifend32
then30:
@@ -86631,33 +87376,33 @@ then30:
%t117 = load ptr, ptr %t116
%t118 = call ptr @fn_emit_expr(ptr %t117)
store ptr %t118, ptr %t119
- call void @fn_emit(ptr @.str8091)
+ call void @fn_emit(ptr @.str8132)
%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 @.str8092)
+ call void @fn_emit(ptr @.str8133)
%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 @.str8093)
- %t126 = call ptr @fn_val(ptr @.str8094, ptr @.str8095)
+ call void @fn_emit(ptr @.str8134)
+ %t126 = call ptr @fn_val(ptr @.str8135, ptr @.str8136)
store ptr %t126, ptr %retval
br label %ret
ifend32:
%t127 = load ptr, ptr %t38
- %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str8096)
+ %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str8137)
%t129 = icmp ne i32 %t128, 0
br i1 %t129, label %then33, label %ifend35
then33:
- call void @fn_emit(ptr @.str8097)
- %t130 = call ptr @fn_val(ptr @.str8098, ptr @.str8099)
+ call void @fn_emit(ptr @.str8138)
+ %t130 = call ptr @fn_val(ptr @.str8139, ptr @.str8140)
store ptr %t130, ptr %retval
br label %ret
ifend35:
%t131 = load ptr, ptr %t38
- %t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str8100)
+ %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str8141)
%t133 = icmp ne i32 %t132, 0
br i1 %t133, label %then36, label %ifend38
then36:
@@ -86682,20 +87427,20 @@ then36:
%t152 = load ptr, ptr %t142
%t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0
%t154 = load ptr, ptr %t153
- %t155 = call ptr @fn_str_concat(ptr @.str8101, ptr %t154)
- %t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str8102)
+ %t155 = call ptr @lp_str_concat(ptr @.str8142, ptr %t154)
+ %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str8143)
%t157 = load ptr, ptr %t151
%t158 = getelementptr inbounds %Cmp_Val, ptr %t157, i32 0, i32 0
%t159 = load ptr, ptr %t158
- %t160 = call ptr @fn_str_concat(ptr %t156, ptr %t159)
- %t161 = call ptr @fn_str_concat(ptr %t160, ptr @.str8103)
+ %t160 = call ptr @lp_str_concat(ptr %t156, ptr %t159)
+ %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str8144)
%t162 = call ptr @fn_emit_bind(ptr %t161)
- %t163 = call ptr @fn_val(ptr %t162, ptr @.str8104)
+ %t163 = call ptr @fn_val(ptr %t162, ptr @.str8145)
store ptr %t163, ptr %retval
br label %ret
ifend38:
%t164 = load ptr, ptr %t38
- %t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str8105)
+ %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str8146)
%t166 = icmp ne i32 %t165, 0
br i1 %t166, label %then39, label %ifend41
then39:
@@ -86726,28 +87471,28 @@ then39:
%t191 = load ptr, ptr %t190
%t192 = call ptr @fn_emit_expr(ptr %t191)
store ptr %t192, ptr %t193
- call void @fn_emit(ptr @.str8106)
+ call void @fn_emit(ptr @.str8147)
%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 @.str8107)
+ call void @fn_emit(ptr @.str8148)
%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 @.str8108)
+ call void @fn_emit(ptr @.str8149)
%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 @.str8109)
- %t203 = call ptr @fn_val(ptr @.str8110, ptr @.str8111)
+ call void @fn_emit(ptr @.str8150)
+ %t203 = call ptr @fn_val(ptr @.str8151, ptr @.str8152)
store ptr %t203, ptr %retval
br label %ret
ifend41:
%t204 = load ptr, ptr %t38
- %t205 = call i32 @fn_str_eq(ptr %t204, ptr @.str8112)
+ %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str8153)
%t206 = icmp ne i32 %t205, 0
br i1 %t206, label %then42, label %ifend44
then42:
@@ -86763,15 +87508,15 @@ then42:
%t216 = load ptr, ptr %t215
%t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0
%t218 = load ptr, ptr %t217
- %t219 = call ptr @fn_str_concat(ptr @.str8113, ptr %t218)
- %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str8114)
+ %t219 = call ptr @lp_str_concat(ptr @.str8154, ptr %t218)
+ %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str8155)
%t221 = call ptr @fn_emit_bind(ptr %t220)
- %t222 = call ptr @fn_val(ptr %t221, ptr @.str8115)
+ %t222 = call ptr @fn_val(ptr %t221, ptr @.str8156)
store ptr %t222, ptr %retval
br label %ret
ifend44:
%t223 = load ptr, ptr %t38
- %t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str8116)
+ %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str8157)
%t225 = icmp ne i32 %t224, 0
br i1 %t225, label %then45, label %ifend47
then45:
@@ -86787,15 +87532,15 @@ then45:
%t235 = load ptr, ptr %t234
%t236 = getelementptr inbounds %Cmp_Val, ptr %t235, i32 0, i32 0
%t237 = load ptr, ptr %t236
- %t238 = call ptr @fn_str_concat(ptr @.str8117, ptr %t237)
- %t239 = call ptr @fn_str_concat(ptr %t238, ptr @.str8118)
+ %t238 = call ptr @lp_str_concat(ptr @.str8158, ptr %t237)
+ %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str8159)
%t240 = call ptr @fn_emit_bind(ptr %t239)
- %t241 = call ptr @fn_val(ptr %t240, ptr @.str8119)
+ %t241 = call ptr @fn_val(ptr %t240, ptr @.str8160)
store ptr %t241, ptr %retval
br label %ret
ifend47:
%t242 = load ptr, ptr %t38
- %t243 = call i32 @fn_str_eq(ptr %t242, ptr @.str8120)
+ %t243 = call i32 @lp_str_eq(ptr %t242, ptr @.str8161)
%t244 = icmp ne i32 %t243, 0
br i1 %t244, label %then48, label %ifend50
then48:
@@ -86817,23 +87562,23 @@ then48:
%t260 = load ptr, ptr %t259
%t261 = call ptr @fn_emit_expr(ptr %t260)
store ptr %t261, ptr %t262
- call void @fn_emit(ptr @.str8121)
+ call void @fn_emit(ptr @.str8162)
%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 @.str8122)
+ call void @fn_emit(ptr @.str8163)
%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 @.str8123)
- %t269 = call ptr @fn_val(ptr @.str8124, ptr @.str8125)
+ call void @fn_emit(ptr @.str8164)
+ %t269 = call ptr @fn_val(ptr @.str8165, ptr @.str8166)
store ptr %t269, ptr %retval
br label %ret
ifend50:
%t270 = load ptr, ptr %t38
- %t271 = call i32 @fn_str_eq(ptr %t270, ptr @.str8126)
+ %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str8167)
%t272 = icmp ne i32 %t271, 0
br i1 %t272, label %then51, label %ifend53
then51:
@@ -86849,75 +87594,75 @@ then51:
%t282 = load ptr, ptr %t281
%t283 = getelementptr inbounds %Cmp_Val, ptr %t282, i32 0, i32 0
%t284 = load ptr, ptr %t283
- %t285 = call ptr @fn_str_concat(ptr @.str8127, ptr %t284)
- %t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str8128)
+ %t285 = call ptr @lp_str_concat(ptr @.str8168, ptr %t284)
+ %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str8169)
%t287 = call ptr @fn_emit_bind(ptr %t286)
- %t288 = call ptr @fn_val(ptr %t287, ptr @.str8129)
+ %t288 = call ptr @fn_val(ptr %t287, ptr @.str8170)
store ptr %t288, ptr %retval
br label %ret
ifend53:
%t289 = load ptr, ptr %t38
- %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str8130)
+ %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str8171)
%t291 = icmp ne i32 %t290, 0
br i1 %t291, label %then54, label %ifend56
then54:
- %t292 = call ptr @fn_emit_bind(ptr @.str8131)
+ %t292 = call ptr @fn_emit_bind(ptr @.str8172)
store ptr %t292, ptr %t293
%t294 = load ptr, ptr %t293
- %t295 = call ptr @fn_str_concat(ptr @.str8132, ptr %t294)
- %t296 = call ptr @fn_str_concat(ptr %t295, ptr @.str8133)
+ %t295 = call ptr @lp_str_concat(ptr @.str8173, ptr %t294)
+ %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str8174)
%t297 = call ptr @fn_emit_bind(ptr %t296)
store ptr %t297, ptr %t298
%t299 = load ptr, ptr %t298
- %t300 = call ptr @fn_str_concat(ptr @.str8134, ptr %t299)
- %t301 = call ptr @fn_str_concat(ptr %t300, ptr @.str8135)
+ %t300 = call ptr @lp_str_concat(ptr @.str8175, ptr %t299)
+ %t301 = call ptr @lp_str_concat(ptr %t300, ptr @.str8176)
%t302 = call ptr @fn_emit_bind(ptr %t301)
- %t303 = call ptr @fn_val(ptr %t302, ptr @.str8136)
+ %t303 = call ptr @fn_val(ptr %t302, ptr @.str8177)
store ptr %t303, ptr %retval
br label %ret
ifend56:
%t304 = load ptr, ptr %t38
- %t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str8137)
+ %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str8178)
%t306 = icmp ne i32 %t305, 0
br i1 %t306, label %then57, label %ifend59
then57:
- %t307 = call ptr @fn_emit_bind(ptr @.str8138)
- %t308 = call ptr @fn_val(ptr %t307, ptr @.str8139)
+ %t307 = call ptr @fn_emit_bind(ptr @.str8179)
+ %t308 = call ptr @fn_val(ptr %t307, ptr @.str8180)
store ptr %t308, ptr %retval
br label %ret
ifend59:
%t309 = load ptr, ptr %t38
- %t310 = call i32 @fn_str_eq(ptr %t309, ptr @.str8140)
+ %t310 = call i32 @lp_str_eq(ptr %t309, ptr @.str8181)
%t311 = icmp ne i32 %t310, 0
br i1 %t311, label %then60, label %ifend62
then60:
- call void @fn_emit(ptr @.str8141)
- %t312 = call ptr @fn_val(ptr @.str8142, ptr @.str8143)
+ call void @fn_emit(ptr @.str8182)
+ %t312 = call ptr @fn_val(ptr @.str8183, ptr @.str8184)
store ptr %t312, ptr %retval
br label %ret
ifend62:
%t313 = load ptr, ptr %t38
- %t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str8144)
+ %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str8185)
%t315 = icmp ne i32 %t314, 0
br i1 %t315, label %then63, label %ifend65
then63:
- call void @fn_emit(ptr @.str8145)
- %t316 = call ptr @fn_val(ptr @.str8146, ptr @.str8147)
+ call void @fn_emit(ptr @.str8186)
+ %t316 = call ptr @fn_val(ptr @.str8187, ptr @.str8188)
store ptr %t316, ptr %retval
br label %ret
ifend65:
%t317 = load ptr, ptr %t38
- %t318 = call i32 @fn_str_eq(ptr %t317, ptr @.str8148)
+ %t318 = call i32 @lp_str_eq(ptr %t317, ptr @.str8189)
%t319 = icmp ne i32 %t318, 0
br i1 %t319, label %then66, label %ifend68
then66:
- call void @fn_emit(ptr @.str8149)
- %t320 = call ptr @fn_val(ptr @.str8150, ptr @.str8151)
+ call void @fn_emit(ptr @.str8190)
+ %t320 = call ptr @fn_val(ptr @.str8191, ptr @.str8192)
store ptr %t320, ptr %retval
br label %ret
ifend68:
%t321 = load ptr, ptr %t38
- %t322 = call i32 @fn_str_eq(ptr %t321, ptr @.str8152)
+ %t322 = call i32 @lp_str_eq(ptr %t321, ptr @.str8193)
%t323 = icmp ne i32 %t322, 0
br i1 %t323, label %then69, label %ifend71
then69:
@@ -86930,18 +87675,18 @@ then69:
%t330 = load ptr, ptr %t329
%t331 = call ptr @fn_emit_expr(ptr %t330)
store ptr %t331, ptr %t332
- call void @fn_emit(ptr @.str8153)
+ call void @fn_emit(ptr @.str8194)
%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 @.str8154)
- %t336 = call ptr @fn_val(ptr @.str8155, ptr @.str8156)
+ call void @fn_emit(ptr @.str8195)
+ %t336 = call ptr @fn_val(ptr @.str8196, ptr @.str8197)
store ptr %t336, ptr %retval
br label %ret
ifend71:
%t337 = load ptr, ptr %t38
- %t338 = call i32 @fn_str_eq(ptr %t337, ptr @.str8157)
+ %t338 = call i32 @lp_str_eq(ptr %t337, ptr @.str8198)
%t339 = icmp ne i32 %t338, 0
br i1 %t339, label %then72, label %ifend74
then72:
@@ -86954,24 +87699,24 @@ then72:
%t346 = load ptr, ptr %t345
%t347 = call ptr @fn_emit_expr(ptr %t346)
store ptr %t347, ptr %t348
- call void @fn_emit(ptr @.str8158)
+ call void @fn_emit(ptr @.str8199)
%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 @.str8159)
- %t352 = call ptr @fn_val(ptr @.str8160, ptr @.str8161)
+ call void @fn_emit(ptr @.str8200)
+ %t352 = call ptr @fn_val(ptr @.str8201, ptr @.str8202)
store ptr %t352, ptr %retval
br label %ret
ifend74:
%t354 = load ptr, ptr %t38
- %t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str8162)
+ %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str8203)
%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 @.str8163)
+ %t358 = call ptr @fn_find_extern(ptr @.str8204)
%t359 = icmp eq ptr %t358, null
%t360 = zext i1 %t359 to i32
%t361 = icmp ne i32 %t360, 0
@@ -87011,34 +87756,34 @@ then77:
%t389 = load ptr, ptr %t388
%t390 = call ptr @fn_emit_expr(ptr %t389)
store ptr %t390, ptr %t391
- call void @fn_emit(ptr @.str8164)
+ call void @fn_emit(ptr @.str8205)
%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 @.str8165)
+ call void @fn_emit(ptr @.str8206)
%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 @.str8166)
+ call void @fn_emit(ptr @.str8207)
%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 @.str8167)
- %t401 = call ptr @fn_val(ptr @.str8168, ptr @.str8169)
+ call void @fn_emit(ptr @.str8208)
+ %t401 = call ptr @fn_val(ptr @.str8209, ptr @.str8210)
store ptr %t401, ptr %retval
br label %ret
ifend79:
%t403 = load ptr, ptr %t38
- %t404 = call i32 @fn_str_eq(ptr %t403, ptr @.str8170)
+ %t404 = call i32 @lp_str_eq(ptr %t403, ptr @.str8211)
%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 @.str8171)
+ %t407 = call ptr @fn_find_extern(ptr @.str8212)
%t408 = icmp eq ptr %t407, null
%t409 = zext i1 %t408 to i32
%t410 = icmp ne i32 %t409, 0
@@ -87072,20 +87817,20 @@ then82:
%t432 = load ptr, ptr %t422
%t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0
%t434 = load ptr, ptr %t433
- %t435 = call ptr @fn_str_concat(ptr @.str8172, ptr %t434)
- %t436 = call ptr @fn_str_concat(ptr %t435, ptr @.str8173)
+ %t435 = call ptr @lp_str_concat(ptr @.str8213, ptr %t434)
+ %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str8214)
%t437 = load ptr, ptr %t431
%t438 = getelementptr inbounds %Cmp_Val, ptr %t437, i32 0, i32 0
%t439 = load ptr, ptr %t438
- %t440 = call ptr @fn_str_concat(ptr %t436, ptr %t439)
- %t441 = call ptr @fn_str_concat(ptr %t440, ptr @.str8174)
+ %t440 = call ptr @lp_str_concat(ptr %t436, ptr %t439)
+ %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str8215)
%t442 = call ptr @fn_emit_bind(ptr %t441)
- %t443 = call ptr @fn_val(ptr %t442, ptr @.str8175)
+ %t443 = call ptr @fn_val(ptr %t442, ptr @.str8216)
store ptr %t443, ptr %retval
br label %ret
ifend84:
%t444 = load ptr, ptr %t38
- %t445 = call i32 @fn_str_eq(ptr %t444, ptr @.str8176)
+ %t445 = call i32 @lp_str_eq(ptr %t444, ptr @.str8217)
%t446 = icmp ne i32 %t445, 0
br i1 %t446, label %then85, label %ifend87
then85:
@@ -87095,7 +87840,7 @@ then85:
br label %ret
ifend87:
%t449 = load ptr, ptr %t38
- %t450 = call i32 @fn_str_eq(ptr %t449, ptr @.str8177)
+ %t450 = call i32 @lp_str_eq(ptr %t449, ptr @.str8218)
%t451 = icmp ne i32 %t450, 0
br i1 %t451, label %then88, label %ifend90
then88:
@@ -87105,7 +87850,7 @@ then88:
br label %ret
ifend90:
%t454 = load ptr, ptr %t38
- %t455 = call i32 @fn_str_eq(ptr %t454, ptr @.str8178)
+ %t455 = call i32 @lp_str_eq(ptr %t454, ptr @.str8219)
%t456 = icmp ne i32 %t455, 0
br i1 %t456, label %then91, label %ifend93
then91:
@@ -87122,7 +87867,7 @@ then91:
%t467 = getelementptr inbounds %Cmp_Val, ptr %t466, i32 0, i32 1
%t468 = load ptr, ptr %t467
%t469 = call ptr @fn_llty(ptr %t468)
- %t470 = call i32 @fn_str_eq(ptr %t469, ptr @.str8179)
+ %t470 = call i32 @lp_str_eq(ptr %t469, ptr @.str8220)
%t471 = icmp ne i32 %t470, 0
br i1 %t471, label %then94, label %ifend96
then94:
@@ -87134,7 +87879,7 @@ ifend96:
%t474 = getelementptr inbounds %Cmp_Val, ptr %t473, i32 0, i32 1
%t475 = load ptr, ptr %t474
%t476 = call ptr @fn_llty(ptr %t475)
- %t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str8180)
+ %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str8221)
%t478 = icmp ne i32 %t477, 0
br i1 %t478, label %then97, label %ifend99
then97:
@@ -87142,10 +87887,10 @@ then97:
%t479 = load ptr, ptr %t465
%t480 = getelementptr inbounds %Cmp_Val, ptr %t479, i32 0, i32 0
%t481 = load ptr, ptr %t480
- %t482 = call ptr @fn_str_concat(ptr @.str8181, ptr %t481)
- %t483 = call ptr @fn_str_concat(ptr %t482, ptr @.str8182)
+ %t482 = call ptr @lp_str_concat(ptr @.str8222, ptr %t481)
+ %t483 = call ptr @lp_str_concat(ptr %t482, ptr @.str8223)
%t484 = call ptr @fn_emit_bind(ptr %t483)
- %t485 = call ptr @fn_val(ptr %t484, ptr @.str8183)
+ %t485 = call ptr @fn_val(ptr %t484, ptr @.str8224)
store ptr %t485, ptr %retval
br label %ret
ifend99:
@@ -87153,15 +87898,15 @@ ifend99:
%t486 = load ptr, ptr %t465
%t487 = getelementptr inbounds %Cmp_Val, ptr %t486, i32 0, i32 0
%t488 = load ptr, ptr %t487
- %t489 = call ptr @fn_str_concat(ptr @.str8184, ptr %t488)
- %t490 = call ptr @fn_str_concat(ptr %t489, ptr @.str8185)
+ %t489 = call ptr @lp_str_concat(ptr @.str8225, ptr %t488)
+ %t490 = call ptr @lp_str_concat(ptr %t489, ptr @.str8226)
%t491 = call ptr @fn_emit_bind(ptr %t490)
- %t492 = call ptr @fn_val(ptr %t491, ptr @.str8186)
+ %t492 = call ptr @fn_val(ptr %t491, ptr @.str8227)
store ptr %t492, ptr %retval
br label %ret
ifend93:
%t493 = load ptr, ptr %t38
- %t494 = call i32 @fn_str_eq(ptr %t493, ptr @.str8187)
+ %t494 = call i32 @lp_str_eq(ptr %t493, ptr @.str8228)
%t495 = icmp ne i32 %t494, 0
br i1 %t495, label %then100, label %ifend102
then100:
@@ -87178,15 +87923,15 @@ then100:
%t506 = getelementptr inbounds %Cmp_Val, ptr %t505, i32 0, i32 1
%t507 = load ptr, ptr %t506
%t508 = call ptr @fn_llty(ptr %t507)
- %t509 = call i32 @fn_str_eq(ptr %t508, ptr @.str8188)
+ %t509 = call i32 @lp_str_eq(ptr %t508, ptr @.str8229)
%t510 = icmp ne i32 %t509, 0
br i1 %t510, label %then103, label %else104
then103:
%t511 = load ptr, ptr %t504
%t512 = getelementptr inbounds %Cmp_Val, ptr %t511, i32 0, i32 0
%t513 = load ptr, ptr %t512
- %t514 = call ptr @fn_str_concat(ptr %t513, ptr @.str8190)
- %t515 = call ptr @fn_str_concat(ptr @.str8189, ptr %t514)
+ %t514 = call ptr @lp_str_concat(ptr %t513, ptr @.str8231)
+ %t515 = call ptr @lp_str_concat(ptr @.str8230, ptr %t514)
call void @fn_emit(ptr %t515)
br label %ifend105
else104:
@@ -87194,34 +87939,34 @@ else104:
%t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 1
%t518 = load ptr, ptr %t517
%t519 = call ptr @fn_llty(ptr %t518)
- %t520 = call i32 @fn_str_eq(ptr %t519, ptr @.str8191)
+ %t520 = call i32 @lp_str_eq(ptr %t519, ptr @.str8232)
%t521 = icmp ne i32 %t520, 0
br i1 %t521, label %then106, label %else107
then106:
%t522 = load ptr, ptr %t504
%t523 = getelementptr inbounds %Cmp_Val, ptr %t522, i32 0, i32 0
%t524 = load ptr, ptr %t523
- %t525 = call ptr @fn_str_concat(ptr %t524, ptr @.str8193)
- %t526 = call ptr @fn_str_concat(ptr @.str8192, ptr %t525)
+ %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str8234)
+ %t526 = call ptr @lp_str_concat(ptr @.str8233, ptr %t525)
call void @fn_emit(ptr %t526)
br label %ifend108
else107:
%t527 = load ptr, ptr %t504
%t528 = getelementptr inbounds %Cmp_Val, ptr %t527, i32 0, i32 0
%t529 = load ptr, ptr %t528
- %t530 = call ptr @fn_str_concat(ptr %t529, ptr @.str8195)
- %t531 = call ptr @fn_str_concat(ptr @.str8194, ptr %t530)
+ %t530 = call ptr @lp_str_concat(ptr %t529, ptr @.str8236)
+ %t531 = call ptr @lp_str_concat(ptr @.str8235, ptr %t530)
call void @fn_emit(ptr %t531)
br label %ifend108
ifend108:
br label %ifend105
ifend105:
- %t532 = call ptr @fn_val(ptr @.str8196, ptr @.str8197)
+ %t532 = call ptr @fn_val(ptr @.str8237, ptr @.str8238)
store ptr %t532, ptr %retval
br label %ret
ifend102:
%t533 = load ptr, ptr %t38
- %t534 = call i32 @fn_str_eq(ptr %t533, ptr @.str8198)
+ %t534 = call i32 @lp_str_eq(ptr %t533, ptr @.str8239)
%t535 = icmp ne i32 %t534, 0
br i1 %t535, label %then109, label %ifend111
then109:
@@ -87237,20 +87982,20 @@ then109:
%t545 = load ptr, ptr %t544
%t546 = getelementptr inbounds %Cmp_Val, ptr %t545, i32 0, i32 0
%t547 = load ptr, ptr %t546
- %t548 = call ptr @fn_str_concat(ptr @.str8199, ptr %t547)
- %t549 = call ptr @fn_str_concat(ptr %t548, ptr @.str8200)
+ %t548 = call ptr @lp_str_concat(ptr @.str8240, ptr %t547)
+ %t549 = call ptr @lp_str_concat(ptr %t548, ptr @.str8241)
%t550 = call ptr @fn_emit_bind(ptr %t549)
store ptr %t550, ptr %t551
%t552 = load ptr, ptr %t551
- %t553 = call ptr @fn_str_concat(ptr @.str8201, ptr %t552)
- %t554 = call ptr @fn_str_concat(ptr %t553, ptr @.str8202)
+ %t553 = call ptr @lp_str_concat(ptr @.str8242, ptr %t552)
+ %t554 = call ptr @lp_str_concat(ptr %t553, ptr @.str8243)
%t555 = call ptr @fn_emit_bind(ptr %t554)
- %t556 = call ptr @fn_val(ptr %t555, ptr @.str8203)
+ %t556 = call ptr @fn_val(ptr %t555, ptr @.str8244)
store ptr %t556, ptr %retval
br label %ret
ifend111:
%t557 = load ptr, ptr %t38
- %t558 = call i32 @fn_str_eq(ptr %t557, ptr @.str8204)
+ %t558 = call i32 @lp_str_eq(ptr %t557, ptr @.str8245)
%t559 = icmp ne i32 %t558, 0
br i1 %t559, label %then112, label %ifend114
then112:
@@ -87266,25 +88011,25 @@ then112:
%t569 = load ptr, ptr %t568
%t570 = getelementptr inbounds %Cmp_Val, ptr %t569, i32 0, i32 0
%t571 = load ptr, ptr %t570
- %t572 = call ptr @fn_str_concat(ptr @.str8205, ptr %t571)
- %t573 = call ptr @fn_str_concat(ptr %t572, ptr @.str8206)
+ %t572 = call ptr @lp_str_concat(ptr @.str8246, ptr %t571)
+ %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str8247)
%t574 = call ptr @fn_emit_bind(ptr %t573)
store ptr %t574, ptr %t575
%t576 = load ptr, ptr %t575
- %t577 = call ptr @fn_str_concat(ptr @.str8207, ptr %t576)
- %t578 = call ptr @fn_str_concat(ptr %t577, ptr @.str8208)
+ %t577 = call ptr @lp_str_concat(ptr @.str8248, ptr %t576)
+ %t578 = call ptr @lp_str_concat(ptr %t577, ptr @.str8249)
%t579 = call ptr @fn_emit_bind(ptr %t578)
store ptr %t579, ptr %t580
%t581 = load ptr, ptr %t580
- %t582 = call ptr @fn_str_concat(ptr @.str8209, ptr %t581)
- %t583 = call ptr @fn_str_concat(ptr %t582, ptr @.str8210)
+ %t582 = call ptr @lp_str_concat(ptr @.str8250, ptr %t581)
+ %t583 = call ptr @lp_str_concat(ptr %t582, ptr @.str8251)
%t584 = call ptr @fn_emit_bind(ptr %t583)
- %t585 = call ptr @fn_val(ptr %t584, ptr @.str8211)
+ %t585 = call ptr @fn_val(ptr %t584, ptr @.str8252)
store ptr %t585, ptr %retval
br label %ret
ifend114:
%t586 = load ptr, ptr %t38
- %t587 = call i32 @fn_str_eq(ptr %t586, ptr @.str8212)
+ %t587 = call i32 @lp_str_eq(ptr %t586, ptr @.str8253)
%t588 = icmp ne i32 %t587, 0
br i1 %t588, label %then115, label %ifend117
then115:
@@ -87300,15 +88045,15 @@ then115:
%t598 = load ptr, ptr %t597
%t599 = getelementptr inbounds %Cmp_Val, ptr %t598, i32 0, i32 0
%t600 = load ptr, ptr %t599
- %t601 = call ptr @fn_str_concat(ptr @.str8213, ptr %t600)
- %t602 = call ptr @fn_str_concat(ptr %t601, ptr @.str8214)
+ %t601 = call ptr @lp_str_concat(ptr @.str8254, ptr %t600)
+ %t602 = call ptr @lp_str_concat(ptr %t601, ptr @.str8255)
%t603 = call ptr @fn_emit_bind(ptr %t602)
- %t604 = call ptr @fn_val(ptr %t603, ptr @.str8215)
+ %t604 = call ptr @fn_val(ptr %t603, ptr @.str8256)
store ptr %t604, ptr %retval
br label %ret
ifend117:
%t605 = load ptr, ptr %t38
- %t606 = call i32 @fn_str_eq(ptr %t605, ptr @.str8216)
+ %t606 = call i32 @lp_str_eq(ptr %t605, ptr @.str8257)
%t607 = icmp ne i32 %t606, 0
br i1 %t607, label %then118, label %ifend120
then118:
@@ -87324,15 +88069,15 @@ then118:
%t617 = load ptr, ptr %t616
%t618 = getelementptr inbounds %Cmp_Val, ptr %t617, i32 0, i32 0
%t619 = load ptr, ptr %t618
- %t620 = call ptr @fn_str_concat(ptr @.str8217, ptr %t619)
- %t621 = call ptr @fn_str_concat(ptr %t620, ptr @.str8218)
+ %t620 = call ptr @lp_str_concat(ptr @.str8258, ptr %t619)
+ %t621 = call ptr @lp_str_concat(ptr %t620, ptr @.str8259)
%t622 = call ptr @fn_emit_bind(ptr %t621)
- %t623 = call ptr @fn_val(ptr %t622, ptr @.str8219)
+ %t623 = call ptr @fn_val(ptr %t622, ptr @.str8260)
store ptr %t623, ptr %retval
br label %ret
ifend120:
%t624 = load ptr, ptr %t38
- %t625 = call i32 @fn_str_eq(ptr %t624, ptr @.str8220)
+ %t625 = call i32 @lp_str_eq(ptr %t624, ptr @.str8261)
%t626 = icmp ne i32 %t625, 0
br i1 %t626, label %then121, label %ifend123
then121:
@@ -87349,29 +88094,29 @@ then121:
%t636 = load ptr, ptr %t635
%t637 = getelementptr inbounds %Cmp_Val, ptr %t636, i32 0, i32 0
%t638 = load ptr, ptr %t637
- %t639 = call ptr @fn_str_concat(ptr @.str8221, ptr %t638)
- %t640 = call ptr @fn_str_concat(ptr %t639, ptr @.str8222)
+ %t639 = call ptr @lp_str_concat(ptr @.str8262, ptr %t638)
+ %t640 = call ptr @lp_str_concat(ptr %t639, ptr @.str8263)
%t641 = call ptr @fn_emit_bind(ptr %t640)
store ptr %t641, ptr %t642
%t643 = load ptr, ptr @g_g_src_name
- %t644 = call ptr @fn_str_concat(ptr %t643, ptr @.str8223)
+ %t644 = call ptr @lp_str_concat(ptr %t643, ptr @.str8264)
%t645 = load ptr, ptr %t0
%t646 = getelementptr inbounds %Cmp_Node, ptr %t645, i32 0, i32 8
%t647 = load i32, ptr %t646
%t648 = call ptr @fn_itoa(i32 %t647)
- %t649 = call ptr @fn_str_concat(ptr %t644, ptr %t648)
- %t650 = call ptr @fn_str_concat(ptr %t649, ptr @.str8224)
+ %t649 = call ptr @lp_str_concat(ptr %t644, ptr %t648)
+ %t650 = call ptr @lp_str_concat(ptr %t649, ptr @.str8265)
%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 @.str8225, ptr @.str8226)
- %t655 = call ptr @fn_val(ptr @.str8227, ptr @.str8228)
+ call void @fn_emit_expect_fail(ptr %t653, ptr %t654, ptr @.str8266, ptr @.str8267)
+ %t655 = call ptr @fn_val(ptr @.str8268, ptr @.str8269)
store ptr %t655, ptr %retval
br label %ret
ifend123:
%t656 = load ptr, ptr %t38
- %t657 = call i32 @fn_str_eq(ptr %t656, ptr @.str8229)
+ %t657 = call i32 @lp_str_eq(ptr %t656, ptr @.str8270)
%t658 = icmp ne i32 %t657, 0
br i1 %t658, label %then124, label %ifend126
then124:
@@ -87397,22 +88142,22 @@ then124:
%t677 = load ptr, ptr %t667
%t678 = getelementptr inbounds %Cmp_Val, ptr %t677, i32 0, i32 0
%t679 = load ptr, ptr %t678
- %t680 = call ptr @fn_str_concat(ptr @.str8230, ptr %t679)
- %t681 = call ptr @fn_str_concat(ptr %t680, ptr @.str8231)
+ %t680 = call ptr @lp_str_concat(ptr @.str8271, ptr %t679)
+ %t681 = call ptr @lp_str_concat(ptr %t680, ptr @.str8272)
%t682 = load ptr, ptr %t676
%t683 = getelementptr inbounds %Cmp_Val, ptr %t682, i32 0, i32 0
%t684 = load ptr, ptr %t683
- %t685 = call ptr @fn_str_concat(ptr %t681, ptr %t684)
+ %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 @fn_str_concat(ptr %t688, ptr @.str8232)
+ %t689 = call ptr @lp_str_concat(ptr %t688, ptr @.str8273)
%t690 = load ptr, ptr %t0
%t691 = getelementptr inbounds %Cmp_Node, ptr %t690, i32 0, i32 8
%t692 = load i32, ptr %t691
%t693 = call ptr @fn_itoa(i32 %t692)
- %t694 = call ptr @fn_str_concat(ptr %t689, ptr %t693)
- %t695 = call ptr @fn_str_concat(ptr %t694, ptr @.str8233)
+ %t694 = call ptr @lp_str_concat(ptr %t689, ptr %t693)
+ %t695 = call ptr @lp_str_concat(ptr %t694, ptr @.str8274)
%t696 = call ptr @fn_emit_str_const(ptr %t695)
store ptr %t696, ptr %t697
%t698 = load ptr, ptr %t687
@@ -87424,12 +88169,12 @@ then124:
%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 @.str8234, ptr @.str8235)
+ %t706 = call ptr @fn_val(ptr @.str8275, ptr @.str8276)
store ptr %t706, ptr %retval
br label %ret
ifend126:
%t707 = load ptr, ptr %t38
- %t708 = call i32 @fn_str_eq(ptr %t707, ptr @.str8236)
+ %t708 = call i32 @lp_str_eq(ptr %t707, ptr @.str8277)
%t709 = icmp ne i32 %t708, 0
br i1 %t709, label %then127, label %ifend129
then127:
@@ -87464,50 +88209,50 @@ then127:
%t737 = load ptr, ptr %t718
%t738 = getelementptr inbounds %Cmp_Val, ptr %t737, i32 0, i32 0
%t739 = load ptr, ptr %t738
- %t740 = call ptr @fn_str_concat(ptr @.str8237, ptr %t739)
- %t741 = call ptr @fn_str_concat(ptr %t740, ptr @.str8238)
+ %t740 = call ptr @lp_str_concat(ptr @.str8278, ptr %t739)
+ %t741 = call ptr @lp_str_concat(ptr %t740, ptr @.str8279)
%t742 = load ptr, ptr %t727
%t743 = getelementptr inbounds %Cmp_Val, ptr %t742, i32 0, i32 0
%t744 = load ptr, ptr %t743
- %t745 = call ptr @fn_str_concat(ptr %t741, ptr %t744)
+ %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 @fn_str_concat(ptr @.str8239, ptr %t748)
+ %t749 = call ptr @lp_str_concat(ptr @.str8280, ptr %t748)
%t750 = call ptr @fn_emit_bind(ptr %t749)
store ptr %t750, ptr %t751
%t752 = load ptr, ptr %t747
- %t753 = call ptr @fn_str_concat(ptr @.str8240, ptr %t752)
- %t754 = call ptr @fn_str_concat(ptr %t753, ptr @.str8241)
+ %t753 = call ptr @lp_str_concat(ptr @.str8281, ptr %t752)
+ %t754 = call ptr @lp_str_concat(ptr %t753, ptr @.str8282)
%t755 = call ptr @fn_emit_bind(ptr %t754)
store ptr %t755, ptr %t756
%t757 = load ptr, ptr %t756
- %t758 = call ptr @fn_str_concat(ptr @.str8242, ptr %t757)
- %t759 = call ptr @fn_str_concat(ptr %t758, ptr @.str8243)
+ %t758 = call ptr @lp_str_concat(ptr @.str8283, ptr %t757)
+ %t759 = call ptr @lp_str_concat(ptr %t758, ptr @.str8284)
%t760 = load ptr, ptr %t751
- %t761 = call ptr @fn_str_concat(ptr %t759, ptr %t760)
- %t762 = call ptr @fn_str_concat(ptr %t761, ptr @.str8244)
+ %t761 = call ptr @lp_str_concat(ptr %t759, ptr %t760)
+ %t762 = call ptr @lp_str_concat(ptr %t761, ptr @.str8285)
%t763 = load ptr, ptr %t747
- %t764 = call ptr @fn_str_concat(ptr %t762, ptr %t763)
+ %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 @fn_str_concat(ptr @.str8245, ptr %t767)
- %t769 = call ptr @fn_str_concat(ptr %t768, ptr @.str8246)
+ %t768 = call ptr @lp_str_concat(ptr @.str8286, ptr %t767)
+ %t769 = call ptr @lp_str_concat(ptr %t768, ptr @.str8287)
%t770 = load ptr, ptr %t736
%t771 = getelementptr inbounds %Cmp_Val, ptr %t770, i32 0, i32 0
%t772 = load ptr, ptr %t771
- %t773 = call ptr @fn_str_concat(ptr %t769, ptr %t772)
+ %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 @fn_str_concat(ptr %t776, ptr @.str8247)
+ %t777 = call ptr @lp_str_concat(ptr %t776, ptr @.str8288)
%t778 = load ptr, ptr %t0
%t779 = getelementptr inbounds %Cmp_Node, ptr %t778, i32 0, i32 8
%t780 = load i32, ptr %t779
%t781 = call ptr @fn_itoa(i32 %t780)
- %t782 = call ptr @fn_str_concat(ptr %t777, ptr %t781)
- %t783 = call ptr @fn_str_concat(ptr %t782, ptr @.str8248)
+ %t782 = call ptr @lp_str_concat(ptr %t777, ptr %t781)
+ %t783 = call ptr @lp_str_concat(ptr %t782, ptr @.str8289)
%t784 = call ptr @fn_emit_str_const(ptr %t783)
store ptr %t784, ptr %t785
%t786 = load ptr, ptr %t775
@@ -87519,12 +88264,12 @@ then127:
%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 @.str8249, ptr @.str8250)
+ %t794 = call ptr @fn_val(ptr @.str8290, ptr @.str8291)
store ptr %t794, ptr %retval
br label %ret
ifend129:
%t795 = load ptr, ptr %t38
- %t796 = call i32 @fn_str_eq(ptr %t795, ptr @.str8251)
+ %t796 = call i32 @lp_str_eq(ptr %t795, ptr @.str8292)
%t797 = icmp ne i32 %t796, 0
br i1 %t797, label %then130, label %ifend132
then130:
@@ -87539,37 +88284,37 @@ then130:
%t805 = call ptr @fn_emit_expr(ptr %t804)
store ptr %t805, ptr %t806
%t807 = load ptr, ptr @g_g_src_name
- %t808 = call ptr @fn_str_concat(ptr %t807, ptr @.str8252)
+ %t808 = call ptr @lp_str_concat(ptr %t807, ptr @.str8293)
%t809 = load ptr, ptr %t0
%t810 = getelementptr inbounds %Cmp_Node, ptr %t809, i32 0, i32 8
%t811 = load i32, ptr %t810
%t812 = call ptr @fn_itoa(i32 %t811)
- %t813 = call ptr @fn_str_concat(ptr %t808, ptr %t812)
- %t814 = call ptr @fn_str_concat(ptr %t813, ptr @.str8253)
+ %t813 = call ptr @lp_str_concat(ptr %t808, ptr %t812)
+ %t814 = call ptr @lp_str_concat(ptr %t813, ptr @.str8294)
%t815 = call ptr @fn_emit_str_const(ptr %t814)
store ptr %t815, ptr %t816
- %t817 = call ptr @fn_emit_bind(ptr @.str8254)
+ %t817 = call ptr @fn_emit_bind(ptr @.str8295)
store ptr %t817, ptr %t818
%t819 = load ptr, ptr %t818
- %t820 = call ptr @fn_str_concat(ptr @.str8255, ptr %t819)
- %t821 = call ptr @fn_str_concat(ptr %t820, ptr @.str8256)
+ %t820 = call ptr @lp_str_concat(ptr @.str8296, ptr %t819)
+ %t821 = call ptr @lp_str_concat(ptr %t820, ptr @.str8297)
%t822 = load ptr, ptr %t816
- %t823 = call ptr @fn_str_concat(ptr %t821, ptr %t822)
- %t824 = call ptr @fn_str_concat(ptr %t823, ptr @.str8257)
+ %t823 = call ptr @lp_str_concat(ptr %t821, ptr %t822)
+ %t824 = call ptr @lp_str_concat(ptr %t823, ptr @.str8298)
%t825 = load ptr, ptr %t806
%t826 = getelementptr inbounds %Cmp_Val, ptr %t825, i32 0, i32 0
%t827 = load ptr, ptr %t826
- %t828 = call ptr @fn_str_concat(ptr %t824, ptr %t827)
- %t829 = call ptr @fn_str_concat(ptr %t828, ptr @.str8258)
+ %t828 = call ptr @lp_str_concat(ptr %t824, ptr %t827)
+ %t829 = call ptr @lp_str_concat(ptr %t828, ptr @.str8299)
call void @fn_emit(ptr %t829)
- call void @fn_emit(ptr @.str8259)
+ call void @fn_emit(ptr @.str8300)
store i32 1, ptr @g_g_term
- %t830 = call ptr @fn_val(ptr @.str8260, ptr @.str8261)
+ %t830 = call ptr @fn_val(ptr @.str8301, ptr @.str8302)
store ptr %t830, ptr %retval
br label %ret
ifend132:
%t831 = load ptr, ptr %t38
- %t832 = call i32 @fn_str_eq(ptr %t831, ptr @.str8262)
+ %t832 = call i32 @lp_str_eq(ptr %t831, ptr @.str8303)
%t833 = icmp ne i32 %t832, 0
br i1 %t833, label %then133, label %ifend135
then133:
@@ -87586,26 +88331,26 @@ then133:
%t843 = load ptr, ptr %t842
%t844 = getelementptr inbounds %Cmp_Val, ptr %t843, i32 0, i32 0
%t845 = load ptr, ptr %t844
- %t846 = call ptr @fn_str_concat(ptr @.str8263, ptr %t845)
- %t847 = call ptr @fn_str_concat(ptr %t846, ptr @.str8264)
+ %t846 = call ptr @lp_str_concat(ptr @.str8304, ptr %t845)
+ %t847 = call ptr @lp_str_concat(ptr %t846, ptr @.str8305)
%t848 = call ptr @fn_emit_bind(ptr %t847)
store ptr %t848, ptr %t849
- %t850 = call ptr @fn_lbl(ptr @.str8265)
+ %t850 = call ptr @fn_lbl(ptr @.str8306)
store ptr %t850, ptr %t851
- %t852 = call ptr @fn_lbl(ptr @.str8266)
+ %t852 = call ptr @fn_lbl(ptr @.str8307)
store ptr %t852, ptr %t853
%t854 = load ptr, ptr %t849
- %t855 = call ptr @fn_str_concat(ptr @.str8267, ptr %t854)
- %t856 = call ptr @fn_str_concat(ptr %t855, ptr @.str8268)
+ %t855 = call ptr @lp_str_concat(ptr @.str8308, ptr %t854)
+ %t856 = call ptr @lp_str_concat(ptr %t855, ptr @.str8309)
%t857 = load ptr, ptr %t851
- %t858 = call ptr @fn_str_concat(ptr %t856, ptr %t857)
- %t859 = call ptr @fn_str_concat(ptr %t858, ptr @.str8269)
+ %t858 = call ptr @lp_str_concat(ptr %t856, ptr %t857)
+ %t859 = call ptr @lp_str_concat(ptr %t858, ptr @.str8310)
%t860 = load ptr, ptr %t853
- %t861 = call ptr @fn_str_concat(ptr %t859, ptr %t860)
- %t862 = call ptr @fn_str_concat(ptr %t861, ptr @.str8270)
+ %t861 = call ptr @lp_str_concat(ptr %t859, ptr %t860)
+ %t862 = call ptr @lp_str_concat(ptr %t861, ptr @.str8311)
call void @fn_emit(ptr %t862)
%t863 = load ptr, ptr %t853
- %t864 = call ptr @fn_str_concat(ptr %t863, ptr @.str8271)
+ %t864 = call ptr @lp_str_concat(ptr %t863, ptr @.str8312)
call void @fn_emit(ptr %t864)
%t865 = load ptr, ptr %t0
%t866 = getelementptr inbounds %Cmp_Node, ptr %t865, i32 0, i32 7
@@ -87617,45 +88362,45 @@ then133:
%t872 = call ptr @fn_emit_expr(ptr %t871)
store ptr %t872, ptr %t873
%t874 = load ptr, ptr @g_g_src_name
- %t875 = call ptr @fn_str_concat(ptr %t874, ptr @.str8272)
+ %t875 = call ptr @lp_str_concat(ptr %t874, ptr @.str8313)
%t876 = load ptr, ptr %t0
%t877 = getelementptr inbounds %Cmp_Node, ptr %t876, i32 0, i32 8
%t878 = load i32, ptr %t877
%t879 = call ptr @fn_itoa(i32 %t878)
- %t880 = call ptr @fn_str_concat(ptr %t875, ptr %t879)
- %t881 = call ptr @fn_str_concat(ptr %t880, ptr @.str8273)
+ %t880 = call ptr @lp_str_concat(ptr %t875, ptr %t879)
+ %t881 = call ptr @lp_str_concat(ptr %t880, ptr @.str8314)
%t882 = call ptr @fn_emit_str_const(ptr %t881)
store ptr %t882, ptr %t883
- %t884 = call ptr @fn_emit_bind(ptr @.str8274)
+ %t884 = call ptr @fn_emit_bind(ptr @.str8315)
store ptr %t884, ptr %t885
%t886 = load ptr, ptr %t885
- %t887 = call ptr @fn_str_concat(ptr @.str8275, ptr %t886)
- %t888 = call ptr @fn_str_concat(ptr %t887, ptr @.str8276)
+ %t887 = call ptr @lp_str_concat(ptr @.str8316, ptr %t886)
+ %t888 = call ptr @lp_str_concat(ptr %t887, ptr @.str8317)
%t889 = load ptr, ptr %t883
- %t890 = call ptr @fn_str_concat(ptr %t888, ptr %t889)
- %t891 = call ptr @fn_str_concat(ptr %t890, ptr @.str8277)
+ %t890 = call ptr @lp_str_concat(ptr %t888, ptr %t889)
+ %t891 = call ptr @lp_str_concat(ptr %t890, ptr @.str8318)
%t892 = load ptr, ptr %t873
%t893 = getelementptr inbounds %Cmp_Val, ptr %t892, i32 0, i32 0
%t894 = load ptr, ptr %t893
- %t895 = call ptr @fn_str_concat(ptr %t891, ptr %t894)
- %t896 = call ptr @fn_str_concat(ptr %t895, ptr @.str8278)
+ %t895 = call ptr @lp_str_concat(ptr %t891, ptr %t894)
+ %t896 = call ptr @lp_str_concat(ptr %t895, ptr @.str8319)
call void @fn_emit(ptr %t896)
- call void @fn_emit(ptr @.str8279)
+ call void @fn_emit(ptr @.str8320)
%t897 = load ptr, ptr %t851
- %t898 = call ptr @fn_str_concat(ptr %t897, ptr @.str8280)
+ %t898 = call ptr @lp_str_concat(ptr %t897, ptr @.str8321)
call void @fn_emit(ptr %t898)
- %t899 = call ptr @fn_val(ptr @.str8281, ptr @.str8282)
+ %t899 = call ptr @fn_val(ptr @.str8322, ptr @.str8323)
store ptr %t899, ptr %retval
br label %ret
ifend135:
%t901 = load ptr, ptr %t38
- %t902 = call i32 @fn_str_eq(ptr %t901, ptr @.str8283)
+ %t902 = call i32 @lp_str_eq(ptr %t901, ptr @.str8324)
%t903 = icmp ne i32 %t902, 0
%t904 = zext i1 %t903 to i32
store i32 %t904, ptr %t900
br i1 %t903, label %sc136, label %scend137
sc136:
- %t905 = call ptr @fn_find_fn(ptr @.str8284)
+ %t905 = call ptr @fn_find_fn(ptr @.str8325)
%t906 = icmp eq ptr %t905, null
%t907 = zext i1 %t906 to i32
%t908 = icmp ne i32 %t907, 0
@@ -87677,52 +88422,52 @@ then138:
%t918 = load ptr, ptr %t917
%t919 = call ptr @fn_emit_expr(ptr %t918)
store ptr %t919, ptr %t920
- %t921 = call ptr @fn_emit_bind(ptr @.str8285)
+ %t921 = call ptr @fn_emit_bind(ptr @.str8326)
store ptr %t921, ptr %t922
%t923 = load ptr, ptr %t922
- %t924 = call ptr @fn_str_concat(ptr @.str8286, ptr %t923)
- %t925 = call ptr @fn_str_concat(ptr %t924, ptr @.str8287)
+ %t924 = call ptr @lp_str_concat(ptr @.str8327, ptr %t923)
+ %t925 = call ptr @lp_str_concat(ptr %t924, ptr @.str8328)
%t926 = call ptr @fn_emit_bind(ptr %t925)
store ptr %t926, ptr %t927
%t928 = load ptr, ptr %t927
- %t929 = call ptr @fn_str_concat(ptr @.str8288, ptr %t928)
- %t930 = call ptr @fn_str_concat(ptr %t929, ptr @.str8289)
+ %t929 = call ptr @lp_str_concat(ptr @.str8329, ptr %t928)
+ %t930 = call ptr @lp_str_concat(ptr %t929, ptr @.str8330)
call void @fn_emit(ptr %t930)
%t931 = load ptr, ptr %t922
- %t932 = call ptr @fn_str_concat(ptr @.str8290, ptr %t931)
- %t933 = call ptr @fn_str_concat(ptr %t932, ptr @.str8291)
+ %t932 = call ptr @lp_str_concat(ptr @.str8331, ptr %t931)
+ %t933 = call ptr @lp_str_concat(ptr %t932, ptr @.str8332)
%t934 = call ptr @fn_emit_bind(ptr %t933)
store ptr %t934, ptr %t935
%t936 = load ptr, ptr %t920
- %t937 = call ptr @fn_coerce_code(ptr %t936, ptr @.str8293)
- %t938 = call ptr @fn_str_concat(ptr @.str8292, ptr %t937)
- %t939 = call ptr @fn_str_concat(ptr %t938, ptr @.str8294)
+ %t937 = call ptr @fn_coerce_code(ptr %t936, ptr @.str8334)
+ %t938 = call ptr @lp_str_concat(ptr @.str8333, ptr %t937)
+ %t939 = call ptr @lp_str_concat(ptr %t938, ptr @.str8335)
%t940 = load ptr, ptr %t935
- %t941 = call ptr @fn_str_concat(ptr %t939, ptr %t940)
- %t942 = call ptr @fn_str_concat(ptr %t941, ptr @.str8295)
+ %t941 = call ptr @lp_str_concat(ptr %t939, ptr %t940)
+ %t942 = call ptr @lp_str_concat(ptr %t941, ptr @.str8336)
call void @fn_emit(ptr %t942)
%t943 = load ptr, ptr %t922
- %t944 = call ptr @fn_str_concat(ptr @.str8296, ptr %t943)
- %t945 = call ptr @fn_str_concat(ptr %t944, ptr @.str8297)
+ %t944 = call ptr @lp_str_concat(ptr @.str8337, ptr %t943)
+ %t945 = call ptr @lp_str_concat(ptr %t944, ptr @.str8338)
%t946 = call ptr @fn_emit_bind(ptr %t945)
store ptr %t946, ptr %t947
%t948 = load ptr, ptr %t947
- %t949 = call ptr @fn_str_concat(ptr @.str8298, ptr %t948)
- %t950 = call ptr @fn_str_concat(ptr %t949, ptr @.str8299)
+ %t949 = call ptr @lp_str_concat(ptr @.str8339, ptr %t948)
+ %t950 = call ptr @lp_str_concat(ptr %t949, ptr @.str8340)
call void @fn_emit(ptr %t950)
%t951 = load ptr, ptr %t922
- %t952 = call ptr @fn_val(ptr %t951, ptr @.str8300)
+ %t952 = call ptr @fn_val(ptr %t951, ptr @.str8341)
store ptr %t952, ptr %retval
br label %ret
ifend140:
%t954 = load ptr, ptr %t38
- %t955 = call i32 @fn_str_eq(ptr %t954, ptr @.str8301)
+ %t955 = call i32 @lp_str_eq(ptr %t954, ptr @.str8342)
%t956 = icmp ne i32 %t955, 0
%t957 = zext i1 %t956 to i32
store i32 %t957, ptr %t953
br i1 %t956, label %sc141, label %scend142
sc141:
- %t958 = call ptr @fn_find_fn(ptr @.str8302)
+ %t958 = call ptr @fn_find_fn(ptr @.str8343)
%t959 = icmp eq ptr %t958, null
%t960 = zext i1 %t959 to i32
%t961 = icmp ne i32 %t960, 0
@@ -87744,53 +88489,53 @@ then143:
%t971 = load ptr, ptr %t970
%t972 = call ptr @fn_emit_expr(ptr %t971)
store ptr %t972, ptr %t973
- %t974 = call ptr @fn_emit_bind(ptr @.str8303)
+ %t974 = call ptr @fn_emit_bind(ptr @.str8344)
store ptr %t974, ptr %t975
%t976 = load ptr, ptr %t975
- %t977 = call ptr @fn_str_concat(ptr @.str8304, ptr %t976)
- %t978 = call ptr @fn_str_concat(ptr %t977, ptr @.str8305)
+ %t977 = call ptr @lp_str_concat(ptr @.str8345, ptr %t976)
+ %t978 = call ptr @lp_str_concat(ptr %t977, ptr @.str8346)
%t979 = call ptr @fn_emit_bind(ptr %t978)
store ptr %t979, ptr %t980
%t981 = load ptr, ptr %t980
- %t982 = call ptr @fn_str_concat(ptr @.str8306, ptr %t981)
- %t983 = call ptr @fn_str_concat(ptr %t982, ptr @.str8307)
+ %t982 = call ptr @lp_str_concat(ptr @.str8347, ptr %t981)
+ %t983 = call ptr @lp_str_concat(ptr %t982, ptr @.str8348)
call void @fn_emit(ptr %t983)
%t984 = load ptr, ptr %t975
- %t985 = call ptr @fn_str_concat(ptr @.str8308, ptr %t984)
- %t986 = call ptr @fn_str_concat(ptr %t985, ptr @.str8309)
+ %t985 = call ptr @lp_str_concat(ptr @.str8349, ptr %t984)
+ %t986 = call ptr @lp_str_concat(ptr %t985, ptr @.str8350)
%t987 = call ptr @fn_emit_bind(ptr %t986)
store ptr %t987, ptr %t988
%t989 = load ptr, ptr %t988
- %t990 = call ptr @fn_str_concat(ptr @.str8310, ptr %t989)
- %t991 = call ptr @fn_str_concat(ptr %t990, ptr @.str8311)
+ %t990 = call ptr @lp_str_concat(ptr @.str8351, ptr %t989)
+ %t991 = call ptr @lp_str_concat(ptr %t990, ptr @.str8352)
call void @fn_emit(ptr %t991)
%t992 = load ptr, ptr %t975
- %t993 = call ptr @fn_str_concat(ptr @.str8312, ptr %t992)
- %t994 = call ptr @fn_str_concat(ptr %t993, ptr @.str8313)
+ %t993 = call ptr @lp_str_concat(ptr @.str8353, ptr %t992)
+ %t994 = call ptr @lp_str_concat(ptr %t993, ptr @.str8354)
%t995 = call ptr @fn_emit_bind(ptr %t994)
store ptr %t995, ptr %t996
%t997 = load ptr, ptr %t973
%t998 = getelementptr inbounds %Cmp_Val, ptr %t997, i32 0, i32 0
%t999 = load ptr, ptr %t998
- %t1000 = call ptr @fn_str_concat(ptr @.str8314, ptr %t999)
- %t1001 = call ptr @fn_str_concat(ptr %t1000, ptr @.str8315)
+ %t1000 = call ptr @lp_str_concat(ptr @.str8355, ptr %t999)
+ %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str8356)
%t1002 = load ptr, ptr %t996
- %t1003 = call ptr @fn_str_concat(ptr %t1001, ptr %t1002)
- %t1004 = call ptr @fn_str_concat(ptr %t1003, ptr @.str8316)
+ %t1003 = call ptr @lp_str_concat(ptr %t1001, ptr %t1002)
+ %t1004 = call ptr @lp_str_concat(ptr %t1003, ptr @.str8357)
call void @fn_emit(ptr %t1004)
%t1005 = load ptr, ptr %t975
- %t1006 = call ptr @fn_val(ptr %t1005, ptr @.str8317)
+ %t1006 = call ptr @fn_val(ptr %t1005, ptr @.str8358)
store ptr %t1006, ptr %retval
br label %ret
ifend145:
%t1008 = load ptr, ptr %t38
- %t1009 = call i32 @fn_str_eq(ptr %t1008, ptr @.str8318)
+ %t1009 = call i32 @lp_str_eq(ptr %t1008, ptr @.str8359)
%t1010 = icmp ne i32 %t1009, 0
%t1011 = zext i1 %t1010 to i32
store i32 %t1011, ptr %t1007
br i1 %t1010, label %sc146, label %scend147
sc146:
- %t1012 = call ptr @fn_find_fn(ptr @.str8319)
+ %t1012 = call ptr @fn_find_fn(ptr @.str8360)
%t1013 = icmp eq ptr %t1012, null
%t1014 = zext i1 %t1013 to i32
%t1015 = icmp ne i32 %t1014, 0
@@ -87814,35 +88559,35 @@ then148:
%t1028 = load ptr, ptr %t1027
%t1029 = getelementptr inbounds %Cmp_Val, ptr %t1028, i32 0, i32 0
%t1030 = load ptr, ptr %t1029
- %t1031 = call ptr @fn_str_concat(ptr @.str8320, ptr %t1030)
- %t1032 = call ptr @fn_str_concat(ptr %t1031, ptr @.str8321)
+ %t1031 = call ptr @lp_str_concat(ptr @.str8361, ptr %t1030)
+ %t1032 = call ptr @lp_str_concat(ptr %t1031, ptr @.str8362)
%t1033 = call ptr @fn_emit_bind(ptr %t1032)
store ptr %t1033, ptr %t1034
%t1035 = load ptr, ptr %t1034
- %t1036 = call ptr @fn_str_concat(ptr @.str8322, ptr %t1035)
+ %t1036 = call ptr @lp_str_concat(ptr @.str8363, ptr %t1035)
%t1037 = call ptr @fn_emit_bind(ptr %t1036)
store ptr %t1037, ptr %t1038
%t1039 = load ptr, ptr %t1038
- %t1040 = call ptr @fn_str_concat(ptr @.str8323, ptr %t1039)
- %t1041 = call ptr @fn_str_concat(ptr %t1040, ptr @.str8324)
+ %t1040 = call ptr @lp_str_concat(ptr @.str8364, ptr %t1039)
+ %t1041 = call ptr @lp_str_concat(ptr %t1040, ptr @.str8365)
%t1042 = call ptr @fn_emit_bind(ptr %t1041)
store ptr %t1042, ptr %t1043
%t1044 = load ptr, ptr %t1043
- %t1045 = call ptr @fn_str_concat(ptr @.str8325, ptr %t1044)
- %t1046 = call ptr @fn_str_concat(ptr %t1045, ptr @.str8326)
+ %t1045 = call ptr @lp_str_concat(ptr @.str8366, ptr %t1044)
+ %t1046 = call ptr @lp_str_concat(ptr %t1045, ptr @.str8367)
%t1047 = call ptr @fn_emit_bind(ptr %t1046)
- %t1048 = call ptr @fn_val(ptr %t1047, ptr @.str8327)
+ %t1048 = call ptr @fn_val(ptr %t1047, ptr @.str8368)
store ptr %t1048, ptr %retval
br label %ret
ifend150:
%t1050 = load ptr, ptr %t38
- %t1051 = call i32 @fn_str_eq(ptr %t1050, ptr @.str8328)
+ %t1051 = call i32 @lp_str_eq(ptr %t1050, ptr @.str8369)
%t1052 = icmp ne i32 %t1051, 0
%t1053 = zext i1 %t1052 to i32
store i32 %t1053, ptr %t1049
br i1 %t1052, label %sc151, label %scend152
sc151:
- %t1054 = call ptr @fn_find_fn(ptr @.str8329)
+ %t1054 = call ptr @fn_find_fn(ptr @.str8370)
%t1055 = icmp eq ptr %t1054, null
%t1056 = zext i1 %t1055 to i32
%t1057 = icmp ne i32 %t1056, 0
@@ -87866,35 +88611,35 @@ then153:
%t1070 = load ptr, ptr %t1069
%t1071 = getelementptr inbounds %Cmp_Val, ptr %t1070, i32 0, i32 0
%t1072 = load ptr, ptr %t1071
- %t1073 = call ptr @fn_str_concat(ptr @.str8330, ptr %t1072)
- %t1074 = call ptr @fn_str_concat(ptr %t1073, ptr @.str8331)
+ %t1073 = call ptr @lp_str_concat(ptr @.str8371, ptr %t1072)
+ %t1074 = call ptr @lp_str_concat(ptr %t1073, ptr @.str8372)
%t1075 = call ptr @fn_emit_bind(ptr %t1074)
store ptr %t1075, ptr %t1076
%t1077 = load ptr, ptr %t1076
- %t1078 = call ptr @fn_str_concat(ptr @.str8332, ptr %t1077)
+ %t1078 = call ptr @lp_str_concat(ptr @.str8373, ptr %t1077)
%t1079 = call ptr @fn_emit_bind(ptr %t1078)
store ptr %t1079, ptr %t1080
%t1081 = load ptr, ptr %t1080
- %t1082 = call ptr @fn_str_concat(ptr @.str8333, ptr %t1081)
- %t1083 = call ptr @fn_str_concat(ptr %t1082, ptr @.str8334)
+ %t1082 = call ptr @lp_str_concat(ptr @.str8374, ptr %t1081)
+ %t1083 = call ptr @lp_str_concat(ptr %t1082, ptr @.str8375)
%t1084 = call ptr @fn_emit_bind(ptr %t1083)
store ptr %t1084, ptr %t1085
%t1086 = load ptr, ptr %t1085
- %t1087 = call ptr @fn_str_concat(ptr @.str8335, ptr %t1086)
- %t1088 = call ptr @fn_str_concat(ptr %t1087, ptr @.str8336)
+ %t1087 = call ptr @lp_str_concat(ptr @.str8376, ptr %t1086)
+ %t1088 = call ptr @lp_str_concat(ptr %t1087, ptr @.str8377)
%t1089 = call ptr @fn_emit_bind(ptr %t1088)
- %t1090 = call ptr @fn_val(ptr %t1089, ptr @.str8337)
+ %t1090 = call ptr @fn_val(ptr %t1089, ptr @.str8378)
store ptr %t1090, ptr %retval
br label %ret
ifend155:
%t1092 = load ptr, ptr %t38
- %t1093 = call i32 @fn_str_eq(ptr %t1092, ptr @.str8338)
+ %t1093 = call i32 @lp_str_eq(ptr %t1092, ptr @.str8379)
%t1094 = icmp ne i32 %t1093, 0
%t1095 = zext i1 %t1094 to i32
store i32 %t1095, ptr %t1091
br i1 %t1094, label %sc156, label %scend157
sc156:
- %t1096 = call ptr @fn_find_fn(ptr @.str8339)
+ %t1096 = call ptr @fn_find_fn(ptr @.str8380)
%t1097 = icmp eq ptr %t1096, null
%t1098 = zext i1 %t1097 to i32
%t1099 = icmp ne i32 %t1098, 0
@@ -87916,43 +88661,43 @@ then158:
%t1109 = load ptr, ptr %t1108
%t1110 = call ptr @fn_emit_expr(ptr %t1109)
store ptr %t1110, ptr %t1111
- %t1112 = call ptr @fn_emit_bind(ptr @.str8340)
+ %t1112 = call ptr @fn_emit_bind(ptr @.str8381)
store ptr %t1112, ptr %t1113
%t1114 = load ptr, ptr %t1113
- %t1115 = call ptr @fn_str_concat(ptr @.str8341, ptr %t1114)
- %t1116 = call ptr @fn_str_concat(ptr %t1115, ptr @.str8342)
+ %t1115 = call ptr @lp_str_concat(ptr @.str8382, ptr %t1114)
+ %t1116 = call ptr @lp_str_concat(ptr %t1115, ptr @.str8383)
%t1117 = call ptr @fn_emit_bind(ptr %t1116)
store ptr %t1117, ptr %t1118
%t1119 = load ptr, ptr %t1118
- %t1120 = call ptr @fn_str_concat(ptr @.str8343, ptr %t1119)
- %t1121 = call ptr @fn_str_concat(ptr %t1120, ptr @.str8344)
+ %t1120 = call ptr @lp_str_concat(ptr @.str8384, ptr %t1119)
+ %t1121 = call ptr @lp_str_concat(ptr %t1120, ptr @.str8385)
call void @fn_emit(ptr %t1121)
%t1122 = load ptr, ptr %t1113
- %t1123 = call ptr @fn_str_concat(ptr @.str8345, ptr %t1122)
- %t1124 = call ptr @fn_str_concat(ptr %t1123, ptr @.str8346)
+ %t1123 = call ptr @lp_str_concat(ptr @.str8386, ptr %t1122)
+ %t1124 = call ptr @lp_str_concat(ptr %t1123, ptr @.str8387)
%t1125 = call ptr @fn_emit_bind(ptr %t1124)
store ptr %t1125, ptr %t1126
%t1127 = load ptr, ptr %t1111
- %t1128 = call ptr @fn_coerce_code(ptr %t1127, ptr @.str8348)
- %t1129 = call ptr @fn_str_concat(ptr @.str8347, ptr %t1128)
- %t1130 = call ptr @fn_str_concat(ptr %t1129, ptr @.str8349)
+ %t1128 = call ptr @fn_coerce_code(ptr %t1127, ptr @.str8389)
+ %t1129 = call ptr @lp_str_concat(ptr @.str8388, ptr %t1128)
+ %t1130 = call ptr @lp_str_concat(ptr %t1129, ptr @.str8390)
%t1131 = load ptr, ptr %t1126
- %t1132 = call ptr @fn_str_concat(ptr %t1130, ptr %t1131)
- %t1133 = call ptr @fn_str_concat(ptr %t1132, ptr @.str8350)
+ %t1132 = call ptr @lp_str_concat(ptr %t1130, ptr %t1131)
+ %t1133 = call ptr @lp_str_concat(ptr %t1132, ptr @.str8391)
call void @fn_emit(ptr %t1133)
%t1134 = load ptr, ptr %t1113
- %t1135 = call ptr @fn_val(ptr %t1134, ptr @.str8351)
+ %t1135 = call ptr @fn_val(ptr %t1134, ptr @.str8392)
store ptr %t1135, ptr %retval
br label %ret
ifend160:
%t1137 = load ptr, ptr %t38
- %t1138 = call i32 @fn_str_eq(ptr %t1137, ptr @.str8352)
+ %t1138 = call i32 @lp_str_eq(ptr %t1137, ptr @.str8393)
%t1139 = icmp ne i32 %t1138, 0
%t1140 = zext i1 %t1139 to i32
store i32 %t1140, ptr %t1136
br i1 %t1139, label %sc161, label %scend162
sc161:
- %t1141 = call ptr @fn_find_fn(ptr @.str8353)
+ %t1141 = call ptr @fn_find_fn(ptr @.str8394)
%t1142 = icmp eq ptr %t1141, null
%t1143 = zext i1 %t1142 to i32
%t1144 = icmp ne i32 %t1143, 0
@@ -87965,39 +88710,39 @@ scend162:
br i1 %t1147, label %then163, label %ifend165
then163:
store i32 1, ptr @g_g_uses_option
- %t1148 = call ptr @fn_emit_bind(ptr @.str8354)
+ %t1148 = call ptr @fn_emit_bind(ptr @.str8395)
store ptr %t1148, ptr %t1149
%t1150 = load ptr, ptr %t1149
- %t1151 = call ptr @fn_str_concat(ptr @.str8355, ptr %t1150)
- %t1152 = call ptr @fn_str_concat(ptr %t1151, ptr @.str8356)
+ %t1151 = call ptr @lp_str_concat(ptr @.str8396, ptr %t1150)
+ %t1152 = call ptr @lp_str_concat(ptr %t1151, ptr @.str8397)
%t1153 = call ptr @fn_emit_bind(ptr %t1152)
store ptr %t1153, ptr %t1154
%t1155 = load ptr, ptr %t1154
- %t1156 = call ptr @fn_str_concat(ptr @.str8357, ptr %t1155)
- %t1157 = call ptr @fn_str_concat(ptr %t1156, ptr @.str8358)
+ %t1156 = call ptr @lp_str_concat(ptr @.str8398, ptr %t1155)
+ %t1157 = call ptr @lp_str_concat(ptr %t1156, ptr @.str8399)
call void @fn_emit(ptr %t1157)
%t1158 = load ptr, ptr %t1149
- %t1159 = call ptr @fn_str_concat(ptr @.str8359, ptr %t1158)
- %t1160 = call ptr @fn_str_concat(ptr %t1159, ptr @.str8360)
+ %t1159 = call ptr @lp_str_concat(ptr @.str8400, ptr %t1158)
+ %t1160 = call ptr @lp_str_concat(ptr %t1159, ptr @.str8401)
%t1161 = call ptr @fn_emit_bind(ptr %t1160)
store ptr %t1161, ptr %t1162
%t1163 = load ptr, ptr %t1162
- %t1164 = call ptr @fn_str_concat(ptr @.str8361, ptr %t1163)
- %t1165 = call ptr @fn_str_concat(ptr %t1164, ptr @.str8362)
+ %t1164 = call ptr @lp_str_concat(ptr @.str8402, ptr %t1163)
+ %t1165 = call ptr @lp_str_concat(ptr %t1164, ptr @.str8403)
call void @fn_emit(ptr %t1165)
%t1166 = load ptr, ptr %t1149
- %t1167 = call ptr @fn_val(ptr %t1166, ptr @.str8363)
+ %t1167 = call ptr @fn_val(ptr %t1166, ptr @.str8404)
store ptr %t1167, ptr %retval
br label %ret
ifend165:
%t1169 = load ptr, ptr %t38
- %t1170 = call i32 @fn_str_eq(ptr %t1169, ptr @.str8364)
+ %t1170 = call i32 @lp_str_eq(ptr %t1169, ptr @.str8405)
%t1171 = icmp ne i32 %t1170, 0
%t1172 = zext i1 %t1171 to i32
store i32 %t1172, ptr %t1168
br i1 %t1171, label %sc166, label %scend167
sc166:
- %t1173 = call ptr @fn_find_fn(ptr @.str8365)
+ %t1173 = call ptr @fn_find_fn(ptr @.str8406)
%t1174 = icmp eq ptr %t1173, null
%t1175 = zext i1 %t1174 to i32
%t1176 = icmp ne i32 %t1175, 0
@@ -88021,35 +88766,35 @@ then168:
%t1189 = load ptr, ptr %t1188
%t1190 = getelementptr inbounds %Cmp_Val, ptr %t1189, i32 0, i32 0
%t1191 = load ptr, ptr %t1190
- %t1192 = call ptr @fn_str_concat(ptr @.str8366, ptr %t1191)
- %t1193 = call ptr @fn_str_concat(ptr %t1192, ptr @.str8367)
+ %t1192 = call ptr @lp_str_concat(ptr @.str8407, ptr %t1191)
+ %t1193 = call ptr @lp_str_concat(ptr %t1192, ptr @.str8408)
%t1194 = call ptr @fn_emit_bind(ptr %t1193)
store ptr %t1194, ptr %t1195
%t1196 = load ptr, ptr %t1195
- %t1197 = call ptr @fn_str_concat(ptr @.str8368, ptr %t1196)
+ %t1197 = call ptr @lp_str_concat(ptr @.str8409, ptr %t1196)
%t1198 = call ptr @fn_emit_bind(ptr %t1197)
store ptr %t1198, ptr %t1199
%t1200 = load ptr, ptr %t1199
- %t1201 = call ptr @fn_str_concat(ptr @.str8369, ptr %t1200)
- %t1202 = call ptr @fn_str_concat(ptr %t1201, ptr @.str8370)
+ %t1201 = call ptr @lp_str_concat(ptr @.str8410, ptr %t1200)
+ %t1202 = call ptr @lp_str_concat(ptr %t1201, ptr @.str8411)
%t1203 = call ptr @fn_emit_bind(ptr %t1202)
store ptr %t1203, ptr %t1204
%t1205 = load ptr, ptr %t1204
- %t1206 = call ptr @fn_str_concat(ptr @.str8371, ptr %t1205)
- %t1207 = call ptr @fn_str_concat(ptr %t1206, ptr @.str8372)
+ %t1206 = call ptr @lp_str_concat(ptr @.str8412, ptr %t1205)
+ %t1207 = call ptr @lp_str_concat(ptr %t1206, ptr @.str8413)
%t1208 = call ptr @fn_emit_bind(ptr %t1207)
- %t1209 = call ptr @fn_val(ptr %t1208, ptr @.str8373)
+ %t1209 = call ptr @fn_val(ptr %t1208, ptr @.str8414)
store ptr %t1209, ptr %retval
br label %ret
ifend170:
%t1211 = load ptr, ptr %t38
- %t1212 = call i32 @fn_str_eq(ptr %t1211, ptr @.str8374)
+ %t1212 = call i32 @lp_str_eq(ptr %t1211, ptr @.str8415)
%t1213 = icmp ne i32 %t1212, 0
%t1214 = zext i1 %t1213 to i32
store i32 %t1214, ptr %t1210
br i1 %t1213, label %sc171, label %scend172
sc171:
- %t1215 = call ptr @fn_find_fn(ptr @.str8375)
+ %t1215 = call ptr @fn_find_fn(ptr @.str8416)
%t1216 = icmp eq ptr %t1215, null
%t1217 = zext i1 %t1216 to i32
%t1218 = icmp ne i32 %t1217, 0
@@ -88073,35 +88818,35 @@ then173:
%t1231 = load ptr, ptr %t1230
%t1232 = getelementptr inbounds %Cmp_Val, ptr %t1231, i32 0, i32 0
%t1233 = load ptr, ptr %t1232
- %t1234 = call ptr @fn_str_concat(ptr @.str8376, ptr %t1233)
- %t1235 = call ptr @fn_str_concat(ptr %t1234, ptr @.str8377)
+ %t1234 = call ptr @lp_str_concat(ptr @.str8417, ptr %t1233)
+ %t1235 = call ptr @lp_str_concat(ptr %t1234, ptr @.str8418)
%t1236 = call ptr @fn_emit_bind(ptr %t1235)
store ptr %t1236, ptr %t1237
%t1238 = load ptr, ptr %t1237
- %t1239 = call ptr @fn_str_concat(ptr @.str8378, ptr %t1238)
+ %t1239 = call ptr @lp_str_concat(ptr @.str8419, ptr %t1238)
%t1240 = call ptr @fn_emit_bind(ptr %t1239)
store ptr %t1240, ptr %t1241
%t1242 = load ptr, ptr %t1241
- %t1243 = call ptr @fn_str_concat(ptr @.str8379, ptr %t1242)
- %t1244 = call ptr @fn_str_concat(ptr %t1243, ptr @.str8380)
+ %t1243 = call ptr @lp_str_concat(ptr @.str8420, ptr %t1242)
+ %t1244 = call ptr @lp_str_concat(ptr %t1243, ptr @.str8421)
%t1245 = call ptr @fn_emit_bind(ptr %t1244)
store ptr %t1245, ptr %t1246
%t1247 = load ptr, ptr %t1246
- %t1248 = call ptr @fn_str_concat(ptr @.str8381, ptr %t1247)
- %t1249 = call ptr @fn_str_concat(ptr %t1248, ptr @.str8382)
+ %t1248 = call ptr @lp_str_concat(ptr @.str8422, ptr %t1247)
+ %t1249 = call ptr @lp_str_concat(ptr %t1248, ptr @.str8423)
%t1250 = call ptr @fn_emit_bind(ptr %t1249)
- %t1251 = call ptr @fn_val(ptr %t1250, ptr @.str8383)
+ %t1251 = call ptr @fn_val(ptr %t1250, ptr @.str8424)
store ptr %t1251, ptr %retval
br label %ret
ifend175:
%t1253 = load ptr, ptr %t38
- %t1254 = call i32 @fn_str_eq(ptr %t1253, ptr @.str8384)
+ %t1254 = call i32 @lp_str_eq(ptr %t1253, ptr @.str8425)
%t1255 = icmp ne i32 %t1254, 0
%t1256 = zext i1 %t1255 to i32
store i32 %t1256, ptr %t1252
br i1 %t1255, label %sc176, label %scend177
sc176:
- %t1257 = call ptr @fn_find_fn(ptr @.str8385)
+ %t1257 = call ptr @fn_find_fn(ptr @.str8426)
%t1258 = icmp eq ptr %t1257, null
%t1259 = zext i1 %t1258 to i32
%t1260 = icmp ne i32 %t1259, 0
@@ -88134,46 +88879,46 @@ then178:
%t1282 = load ptr, ptr %t1272
%t1283 = getelementptr inbounds %Cmp_Val, ptr %t1282, i32 0, i32 0
%t1284 = load ptr, ptr %t1283
- %t1285 = call ptr @fn_str_concat(ptr @.str8386, ptr %t1284)
- %t1286 = call ptr @fn_str_concat(ptr %t1285, ptr @.str8387)
+ %t1285 = call ptr @lp_str_concat(ptr @.str8427, ptr %t1284)
+ %t1286 = call ptr @lp_str_concat(ptr %t1285, ptr @.str8428)
%t1287 = call ptr @fn_emit_bind(ptr %t1286)
store ptr %t1287, ptr %t1288
%t1289 = load ptr, ptr %t1288
- %t1290 = call ptr @fn_str_concat(ptr @.str8388, ptr %t1289)
+ %t1290 = call ptr @lp_str_concat(ptr @.str8429, ptr %t1289)
%t1291 = call ptr @fn_emit_bind(ptr %t1290)
store ptr %t1291, ptr %t1292
%t1293 = load ptr, ptr %t1272
%t1294 = getelementptr inbounds %Cmp_Val, ptr %t1293, i32 0, i32 0
%t1295 = load ptr, ptr %t1294
- %t1296 = call ptr @fn_str_concat(ptr @.str8389, ptr %t1295)
- %t1297 = call ptr @fn_str_concat(ptr %t1296, ptr @.str8390)
+ %t1296 = call ptr @lp_str_concat(ptr @.str8430, ptr %t1295)
+ %t1297 = call ptr @lp_str_concat(ptr %t1296, ptr @.str8431)
%t1298 = call ptr @fn_emit_bind(ptr %t1297)
store ptr %t1298, ptr %t1299
%t1300 = load ptr, ptr %t1299
- %t1301 = call ptr @fn_str_concat(ptr @.str8391, ptr %t1300)
+ %t1301 = call ptr @lp_str_concat(ptr @.str8432, ptr %t1300)
%t1302 = call ptr @fn_emit_bind(ptr %t1301)
store ptr %t1302, ptr %t1303
%t1304 = load ptr, ptr %t1292
- %t1305 = call ptr @fn_str_concat(ptr @.str8392, ptr %t1304)
- %t1306 = call ptr @fn_str_concat(ptr %t1305, ptr @.str8393)
+ %t1305 = call ptr @lp_str_concat(ptr @.str8433, ptr %t1304)
+ %t1306 = call ptr @lp_str_concat(ptr %t1305, ptr @.str8434)
%t1307 = call ptr @fn_emit_bind(ptr %t1306)
store ptr %t1307, ptr %t1308
%t1309 = load ptr, ptr %t1308
- %t1310 = call ptr @fn_str_concat(ptr @.str8394, ptr %t1309)
- %t1311 = call ptr @fn_str_concat(ptr %t1310, ptr @.str8395)
+ %t1310 = call ptr @lp_str_concat(ptr @.str8435, ptr %t1309)
+ %t1311 = call ptr @lp_str_concat(ptr %t1310, ptr @.str8436)
%t1312 = load ptr, ptr %t1303
- %t1313 = call ptr @fn_str_concat(ptr %t1311, ptr %t1312)
- %t1314 = call ptr @fn_str_concat(ptr %t1313, ptr @.str8396)
+ %t1313 = call ptr @lp_str_concat(ptr %t1311, ptr %t1312)
+ %t1314 = call ptr @lp_str_concat(ptr %t1313, ptr @.str8437)
%t1315 = load ptr, ptr %t1281
- %t1316 = call ptr @fn_coerce_code(ptr %t1315, ptr @.str8397)
- %t1317 = call ptr @fn_str_concat(ptr %t1314, ptr %t1316)
+ %t1316 = call ptr @fn_coerce_code(ptr %t1315, ptr @.str8438)
+ %t1317 = call ptr @lp_str_concat(ptr %t1314, ptr %t1316)
%t1318 = call ptr @fn_emit_bind(ptr %t1317)
- %t1319 = call ptr @fn_val(ptr %t1318, ptr @.str8398)
+ %t1319 = call ptr @fn_val(ptr %t1318, ptr @.str8439)
store ptr %t1319, ptr %retval
br label %ret
ifend180:
%t1320 = load ptr, ptr %t38
- %t1321 = call i32 @fn_str_eq(ptr %t1320, ptr @.str8399)
+ %t1321 = call i32 @lp_str_eq(ptr %t1320, ptr @.str8440)
%t1322 = icmp ne i32 %t1321, 0
br i1 %t1322, label %then181, label %ifend183
then181:
@@ -88189,15 +88934,15 @@ then181:
%t1332 = load ptr, ptr %t1331
%t1333 = getelementptr inbounds %Cmp_Val, ptr %t1332, i32 0, i32 0
%t1334 = load ptr, ptr %t1333
- %t1335 = call ptr @fn_str_concat(ptr @.str8400, ptr %t1334)
- %t1336 = call ptr @fn_str_concat(ptr %t1335, ptr @.str8401)
+ %t1335 = call ptr @lp_str_concat(ptr @.str8441, ptr %t1334)
+ %t1336 = call ptr @lp_str_concat(ptr %t1335, ptr @.str8442)
%t1337 = call ptr @fn_emit_bind(ptr %t1336)
- %t1338 = call ptr @fn_val(ptr %t1337, ptr @.str8402)
+ %t1338 = call ptr @fn_val(ptr %t1337, ptr @.str8443)
store ptr %t1338, ptr %retval
br label %ret
ifend183:
%t1339 = load ptr, ptr %t38
- %t1340 = call i32 @fn_str_eq(ptr %t1339, ptr @.str8403)
+ %t1340 = call i32 @lp_str_eq(ptr %t1339, ptr @.str8444)
%t1341 = icmp ne i32 %t1340, 0
br i1 %t1341, label %then184, label %ifend186
then184:
@@ -88222,20 +88967,20 @@ then184:
%t1360 = load ptr, ptr %t1350
%t1361 = getelementptr inbounds %Cmp_Val, ptr %t1360, i32 0, i32 0
%t1362 = load ptr, ptr %t1361
- %t1363 = call ptr @fn_str_concat(ptr @.str8404, ptr %t1362)
- %t1364 = call ptr @fn_str_concat(ptr %t1363, ptr @.str8405)
+ %t1363 = call ptr @lp_str_concat(ptr @.str8445, ptr %t1362)
+ %t1364 = call ptr @lp_str_concat(ptr %t1363, ptr @.str8446)
%t1365 = load ptr, ptr %t1359
%t1366 = getelementptr inbounds %Cmp_Val, ptr %t1365, i32 0, i32 0
%t1367 = load ptr, ptr %t1366
- %t1368 = call ptr @fn_str_concat(ptr %t1364, ptr %t1367)
- %t1369 = call ptr @fn_str_concat(ptr %t1368, ptr @.str8406)
+ %t1368 = call ptr @lp_str_concat(ptr %t1364, ptr %t1367)
+ %t1369 = call ptr @lp_str_concat(ptr %t1368, ptr @.str8447)
%t1370 = call ptr @fn_emit_bind(ptr %t1369)
- %t1371 = call ptr @fn_val(ptr %t1370, ptr @.str8407)
+ %t1371 = call ptr @fn_val(ptr %t1370, ptr @.str8448)
store ptr %t1371, ptr %retval
br label %ret
ifend186:
%t1372 = load ptr, ptr %t38
- %t1373 = call i32 @fn_str_eq(ptr %t1372, ptr @.str8408)
+ %t1373 = call i32 @lp_str_eq(ptr %t1372, ptr @.str8449)
%t1374 = icmp ne i32 %t1373, 0
br i1 %t1374, label %then187, label %ifend189
then187:
@@ -88269,30 +89014,30 @@ then187:
%t1402 = load ptr, ptr %t1383
%t1403 = getelementptr inbounds %Cmp_Val, ptr %t1402, i32 0, i32 0
%t1404 = load ptr, ptr %t1403
- %t1405 = call ptr @fn_str_concat(ptr @.str8409, ptr %t1404)
- %t1406 = call ptr @fn_str_concat(ptr %t1405, ptr @.str8410)
+ %t1405 = call ptr @lp_str_concat(ptr @.str8450, ptr %t1404)
+ %t1406 = call ptr @lp_str_concat(ptr %t1405, ptr @.str8451)
%t1407 = load ptr, ptr %t1392
%t1408 = getelementptr inbounds %Cmp_Val, ptr %t1407, i32 0, i32 0
%t1409 = load ptr, ptr %t1408
- %t1410 = call ptr @fn_str_concat(ptr %t1406, ptr %t1409)
- %t1411 = call ptr @fn_str_concat(ptr %t1410, ptr @.str8411)
+ %t1410 = call ptr @lp_str_concat(ptr %t1406, ptr %t1409)
+ %t1411 = call ptr @lp_str_concat(ptr %t1410, ptr @.str8452)
%t1412 = load ptr, ptr %t1401
%t1413 = getelementptr inbounds %Cmp_Val, ptr %t1412, i32 0, i32 0
%t1414 = load ptr, ptr %t1413
- %t1415 = call ptr @fn_str_concat(ptr %t1411, ptr %t1414)
- %t1416 = call ptr @fn_str_concat(ptr %t1415, ptr @.str8412)
+ %t1415 = call ptr @lp_str_concat(ptr %t1411, ptr %t1414)
+ %t1416 = call ptr @lp_str_concat(ptr %t1415, ptr @.str8453)
%t1417 = call ptr @fn_emit_bind(ptr %t1416)
store ptr %t1417, ptr %t1418
%t1419 = load ptr, ptr %t1418
- %t1420 = call ptr @fn_str_concat(ptr @.str8413, ptr %t1419)
- %t1421 = call ptr @fn_str_concat(ptr %t1420, ptr @.str8414)
+ %t1420 = call ptr @lp_str_concat(ptr @.str8454, ptr %t1419)
+ %t1421 = call ptr @lp_str_concat(ptr %t1420, ptr @.str8455)
%t1422 = call ptr @fn_emit_bind(ptr %t1421)
- %t1423 = call ptr @fn_val(ptr %t1422, ptr @.str8415)
+ %t1423 = call ptr @fn_val(ptr %t1422, ptr @.str8456)
store ptr %t1423, ptr %retval
br label %ret
ifend189:
%t1424 = load ptr, ptr %t38
- %t1425 = call i32 @fn_str_eq(ptr %t1424, ptr @.str8416)
+ %t1425 = call i32 @lp_str_eq(ptr %t1424, ptr @.str8457)
%t1426 = icmp ne i32 %t1425, 0
br i1 %t1426, label %then190, label %ifend192
then190:
@@ -88335,35 +89080,35 @@ then190:
%t1463 = load ptr, ptr %t1462
%t1464 = getelementptr inbounds %Cmp_Val, ptr %t1463, i32 0, i32 0
%t1465 = load ptr, ptr %t1464
- %t1466 = call ptr @fn_str_concat(ptr @.str8417, ptr %t1465)
- %t1467 = call ptr @fn_str_concat(ptr %t1466, ptr @.str8418)
+ %t1466 = call ptr @lp_str_concat(ptr @.str8458, ptr %t1465)
+ %t1467 = call ptr @lp_str_concat(ptr %t1466, ptr @.str8459)
%t1468 = call ptr @fn_emit_bind(ptr %t1467)
store ptr %t1468, ptr %t1469
- call void @fn_emit(ptr @.str8419)
+ call void @fn_emit(ptr @.str8460)
%t1470 = load ptr, ptr %t1435
%t1471 = getelementptr inbounds %Cmp_Val, ptr %t1470, i32 0, i32 0
%t1472 = load ptr, ptr %t1471
call void @fn_emit(ptr %t1472)
- call void @fn_emit(ptr @.str8420)
+ call void @fn_emit(ptr @.str8461)
%t1473 = load ptr, ptr %t1444
%t1474 = getelementptr inbounds %Cmp_Val, ptr %t1473, i32 0, i32 0
%t1475 = load ptr, ptr %t1474
call void @fn_emit(ptr %t1475)
- call void @fn_emit(ptr @.str8421)
+ call void @fn_emit(ptr @.str8462)
%t1476 = load ptr, ptr %t1453
%t1477 = getelementptr inbounds %Cmp_Val, ptr %t1476, i32 0, i32 0
%t1478 = load ptr, ptr %t1477
call void @fn_emit(ptr %t1478)
- call void @fn_emit(ptr @.str8422)
+ call void @fn_emit(ptr @.str8463)
%t1479 = load ptr, ptr %t1469
call void @fn_emit(ptr %t1479)
- call void @fn_emit(ptr @.str8423)
- %t1480 = call ptr @fn_val(ptr @.str8424, ptr @.str8425)
+ call void @fn_emit(ptr @.str8464)
+ %t1480 = call ptr @fn_val(ptr @.str8465, ptr @.str8466)
store ptr %t1480, ptr %retval
br label %ret
ifend192:
%t1481 = load ptr, ptr %t38
- %t1482 = call i32 @fn_str_eq(ptr %t1481, ptr @.str8426)
+ %t1482 = call i32 @lp_str_eq(ptr %t1481, ptr @.str8467)
%t1483 = icmp ne i32 %t1482, 0
br i1 %t1483, label %then193, label %ifend195
then193:
@@ -88388,30 +89133,30 @@ then193:
%t1502 = load ptr, ptr %t1492
%t1503 = getelementptr inbounds %Cmp_Val, ptr %t1502, i32 0, i32 0
%t1504 = load ptr, ptr %t1503
- %t1505 = call ptr @fn_str_concat(ptr @.str8427, ptr %t1504)
- %t1506 = call ptr @fn_str_concat(ptr %t1505, ptr @.str8428)
+ %t1505 = call ptr @lp_str_concat(ptr @.str8468, ptr %t1504)
+ %t1506 = call ptr @lp_str_concat(ptr %t1505, ptr @.str8469)
%t1507 = load ptr, ptr %t1501
%t1508 = getelementptr inbounds %Cmp_Val, ptr %t1507, i32 0, i32 0
%t1509 = load ptr, ptr %t1508
- %t1510 = call ptr @fn_str_concat(ptr %t1506, ptr %t1509)
- %t1511 = call ptr @fn_str_concat(ptr %t1510, ptr @.str8429)
+ %t1510 = call ptr @lp_str_concat(ptr %t1506, ptr %t1509)
+ %t1511 = call ptr @lp_str_concat(ptr %t1510, ptr @.str8470)
%t1512 = call ptr @fn_emit_bind(ptr %t1511)
- %t1513 = call ptr @fn_val(ptr %t1512, ptr @.str8430)
+ %t1513 = call ptr @fn_val(ptr %t1512, ptr @.str8471)
store ptr %t1513, ptr %retval
br label %ret
ifend195:
%t1514 = load ptr, ptr %t38
- %t1515 = call i32 @fn_str_eq(ptr %t1514, ptr @.str8431)
+ %t1515 = call i32 @lp_str_eq(ptr %t1514, ptr @.str8472)
%t1516 = icmp ne i32 %t1515, 0
br i1 %t1516, label %then196, label %ifend198
then196:
- %t1517 = call ptr @fn_emit_bind(ptr @.str8432)
- %t1518 = call ptr @fn_val(ptr %t1517, ptr @.str8433)
+ %t1517 = call ptr @fn_emit_bind(ptr @.str8473)
+ %t1518 = call ptr @fn_val(ptr %t1517, ptr @.str8474)
store ptr %t1518, ptr %retval
br label %ret
ifend198:
%t1519 = load ptr, ptr %t38
- %t1520 = call i32 @fn_str_eq(ptr %t1519, ptr @.str8434)
+ %t1520 = call i32 @lp_str_eq(ptr %t1519, ptr @.str8475)
%t1521 = icmp ne i32 %t1520, 0
br i1 %t1521, label %then199, label %ifend201
then199:
@@ -88427,15 +89172,15 @@ then199:
%t1531 = load ptr, ptr %t1530
%t1532 = getelementptr inbounds %Cmp_Val, ptr %t1531, i32 0, i32 0
%t1533 = load ptr, ptr %t1532
- %t1534 = call ptr @fn_str_concat(ptr @.str8435, ptr %t1533)
- %t1535 = call ptr @fn_str_concat(ptr %t1534, ptr @.str8436)
+ %t1534 = call ptr @lp_str_concat(ptr @.str8476, ptr %t1533)
+ %t1535 = call ptr @lp_str_concat(ptr %t1534, ptr @.str8477)
%t1536 = call ptr @fn_emit_bind(ptr %t1535)
- %t1537 = call ptr @fn_val(ptr %t1536, ptr @.str8437)
+ %t1537 = call ptr @fn_val(ptr %t1536, ptr @.str8478)
store ptr %t1537, ptr %retval
br label %ret
ifend201:
%t1538 = load ptr, ptr %t38
- %t1539 = call i32 @fn_str_eq(ptr %t1538, ptr @.str8438)
+ %t1539 = call i32 @lp_str_eq(ptr %t1538, ptr @.str8479)
%t1540 = icmp ne i32 %t1539, 0
br i1 %t1540, label %then202, label %ifend204
then202:
@@ -88451,15 +89196,15 @@ then202:
%t1550 = load ptr, ptr %t1549
%t1551 = getelementptr inbounds %Cmp_Val, ptr %t1550, i32 0, i32 0
%t1552 = load ptr, ptr %t1551
- %t1553 = call ptr @fn_str_concat(ptr @.str8439, ptr %t1552)
- %t1554 = call ptr @fn_str_concat(ptr %t1553, ptr @.str8440)
+ %t1553 = call ptr @lp_str_concat(ptr @.str8480, ptr %t1552)
+ %t1554 = call ptr @lp_str_concat(ptr %t1553, ptr @.str8481)
%t1555 = call ptr @fn_emit_bind(ptr %t1554)
- %t1556 = call ptr @fn_val(ptr %t1555, ptr @.str8441)
+ %t1556 = call ptr @fn_val(ptr %t1555, ptr @.str8482)
store ptr %t1556, ptr %retval
br label %ret
ifend204:
%t1557 = load ptr, ptr %t38
- %t1558 = call i32 @fn_str_eq(ptr %t1557, ptr @.str8442)
+ %t1558 = call i32 @lp_str_eq(ptr %t1557, ptr @.str8483)
%t1559 = icmp ne i32 %t1558, 0
br i1 %t1559, label %then205, label %ifend207
then205:
@@ -88484,20 +89229,20 @@ then205:
%t1578 = load ptr, ptr %t1568
%t1579 = getelementptr inbounds %Cmp_Val, ptr %t1578, i32 0, i32 0
%t1580 = load ptr, ptr %t1579
- %t1581 = call ptr @fn_str_concat(ptr @.str8443, ptr %t1580)
- %t1582 = call ptr @fn_str_concat(ptr %t1581, ptr @.str8444)
+ %t1581 = call ptr @lp_str_concat(ptr @.str8484, ptr %t1580)
+ %t1582 = call ptr @lp_str_concat(ptr %t1581, ptr @.str8485)
%t1583 = load ptr, ptr %t1577
%t1584 = getelementptr inbounds %Cmp_Val, ptr %t1583, i32 0, i32 0
%t1585 = load ptr, ptr %t1584
- %t1586 = call ptr @fn_str_concat(ptr %t1582, ptr %t1585)
- %t1587 = call ptr @fn_str_concat(ptr %t1586, ptr @.str8445)
+ %t1586 = call ptr @lp_str_concat(ptr %t1582, ptr %t1585)
+ %t1587 = call ptr @lp_str_concat(ptr %t1586, ptr @.str8486)
%t1588 = call ptr @fn_emit_bind(ptr %t1587)
- %t1589 = call ptr @fn_val(ptr %t1588, ptr @.str8446)
+ %t1589 = call ptr @fn_val(ptr %t1588, ptr @.str8487)
store ptr %t1589, ptr %retval
br label %ret
ifend207:
%t1590 = load ptr, ptr %t38
- %t1591 = call i32 @fn_str_eq(ptr %t1590, ptr @.str8447)
+ %t1591 = call i32 @lp_str_eq(ptr %t1590, ptr @.str8488)
%t1592 = icmp ne i32 %t1591, 0
br i1 %t1592, label %then208, label %ifend210
then208:
@@ -88522,20 +89267,20 @@ then208:
%t1611 = load ptr, ptr %t1601
%t1612 = getelementptr inbounds %Cmp_Val, ptr %t1611, i32 0, i32 0
%t1613 = load ptr, ptr %t1612
- %t1614 = call ptr @fn_str_concat(ptr @.str8448, ptr %t1613)
- %t1615 = call ptr @fn_str_concat(ptr %t1614, ptr @.str8449)
+ %t1614 = call ptr @lp_str_concat(ptr @.str8489, ptr %t1613)
+ %t1615 = call ptr @lp_str_concat(ptr %t1614, ptr @.str8490)
%t1616 = load ptr, ptr %t1610
%t1617 = getelementptr inbounds %Cmp_Val, ptr %t1616, i32 0, i32 0
%t1618 = load ptr, ptr %t1617
- %t1619 = call ptr @fn_str_concat(ptr %t1615, ptr %t1618)
- %t1620 = call ptr @fn_str_concat(ptr %t1619, ptr @.str8450)
+ %t1619 = call ptr @lp_str_concat(ptr %t1615, ptr %t1618)
+ %t1620 = call ptr @lp_str_concat(ptr %t1619, ptr @.str8491)
%t1621 = call ptr @fn_emit_bind(ptr %t1620)
- %t1622 = call ptr @fn_val(ptr %t1621, ptr @.str8451)
+ %t1622 = call ptr @fn_val(ptr %t1621, ptr @.str8492)
store ptr %t1622, ptr %retval
br label %ret
ifend210:
%t1623 = load ptr, ptr %t38
- %t1624 = call i32 @fn_str_eq(ptr %t1623, ptr @.str8452)
+ %t1624 = call i32 @lp_str_eq(ptr %t1623, ptr @.str8493)
%t1625 = icmp ne i32 %t1624, 0
br i1 %t1625, label %then211, label %ifend213
then211:
@@ -88557,23 +89302,23 @@ then211:
%t1641 = load ptr, ptr %t1640
%t1642 = call ptr @fn_emit_expr(ptr %t1641)
store ptr %t1642, ptr %t1643
- call void @fn_emit(ptr @.str8453)
+ call void @fn_emit(ptr @.str8494)
%t1644 = load ptr, ptr %t1634
%t1645 = getelementptr inbounds %Cmp_Val, ptr %t1644, i32 0, i32 0
%t1646 = load ptr, ptr %t1645
call void @fn_emit(ptr %t1646)
- call void @fn_emit(ptr @.str8454)
+ call void @fn_emit(ptr @.str8495)
%t1647 = load ptr, ptr %t1643
%t1648 = getelementptr inbounds %Cmp_Val, ptr %t1647, i32 0, i32 0
%t1649 = load ptr, ptr %t1648
call void @fn_emit(ptr %t1649)
- call void @fn_emit(ptr @.str8455)
- %t1650 = call ptr @fn_val(ptr @.str8456, ptr @.str8457)
+ call void @fn_emit(ptr @.str8496)
+ %t1650 = call ptr @fn_val(ptr @.str8497, ptr @.str8498)
store ptr %t1650, ptr %retval
br label %ret
ifend213:
%t1651 = load ptr, ptr %t38
- %t1652 = call i32 @fn_str_eq(ptr %t1651, ptr @.str8458)
+ %t1652 = call i32 @lp_str_eq(ptr %t1651, ptr @.str8499)
%t1653 = icmp ne i32 %t1652, 0
br i1 %t1653, label %then214, label %ifend216
then214:
@@ -88595,23 +89340,23 @@ then214:
%t1669 = load ptr, ptr %t1668
%t1670 = call ptr @fn_emit_expr(ptr %t1669)
store ptr %t1670, ptr %t1671
- call void @fn_emit(ptr @.str8459)
+ call void @fn_emit(ptr @.str8500)
%t1672 = load ptr, ptr %t1662
%t1673 = getelementptr inbounds %Cmp_Val, ptr %t1672, i32 0, i32 0
%t1674 = load ptr, ptr %t1673
call void @fn_emit(ptr %t1674)
- call void @fn_emit(ptr @.str8460)
+ call void @fn_emit(ptr @.str8501)
%t1675 = load ptr, ptr %t1671
%t1676 = getelementptr inbounds %Cmp_Val, ptr %t1675, i32 0, i32 0
%t1677 = load ptr, ptr %t1676
call void @fn_emit(ptr %t1677)
- call void @fn_emit(ptr @.str8461)
- %t1678 = call ptr @fn_val(ptr @.str8462, ptr @.str8463)
+ call void @fn_emit(ptr @.str8502)
+ %t1678 = call ptr @fn_val(ptr @.str8503, ptr @.str8504)
store ptr %t1678, ptr %retval
br label %ret
ifend216:
%t1679 = load ptr, ptr %t38
- %t1680 = call i32 @fn_str_eq(ptr %t1679, ptr @.str8464)
+ %t1680 = call i32 @lp_str_eq(ptr %t1679, ptr @.str8505)
%t1681 = icmp ne i32 %t1680, 0
br i1 %t1681, label %then217, label %ifend219
then217:
@@ -88627,25 +89372,25 @@ then217:
%t1691 = load ptr, ptr %t1690
%t1692 = getelementptr inbounds %Cmp_Val, ptr %t1691, i32 0, i32 0
%t1693 = load ptr, ptr %t1692
- %t1694 = call ptr @fn_str_concat(ptr @.str8465, ptr %t1693)
- %t1695 = call ptr @fn_str_concat(ptr %t1694, ptr @.str8466)
+ %t1694 = call ptr @lp_str_concat(ptr @.str8506, ptr %t1693)
+ %t1695 = call ptr @lp_str_concat(ptr %t1694, ptr @.str8507)
%t1696 = call ptr @fn_emit_bind(ptr %t1695)
- %t1697 = call ptr @fn_val(ptr %t1696, ptr @.str8467)
+ %t1697 = call ptr @fn_val(ptr %t1696, ptr @.str8508)
store ptr %t1697, ptr %retval
br label %ret
ifend219:
%t1698 = load ptr, ptr %t38
- %t1699 = call i32 @fn_str_eq(ptr %t1698, ptr @.str8468)
+ %t1699 = call i32 @lp_str_eq(ptr %t1698, ptr @.str8509)
%t1700 = icmp ne i32 %t1699, 0
br i1 %t1700, label %then220, label %ifend222
then220:
- %t1701 = call ptr @fn_emit_bind(ptr @.str8469)
- %t1702 = call ptr @fn_val(ptr %t1701, ptr @.str8470)
+ %t1701 = call ptr @fn_emit_bind(ptr @.str8510)
+ %t1702 = call ptr @fn_val(ptr %t1701, ptr @.str8511)
store ptr %t1702, ptr %retval
br label %ret
ifend222:
%t1703 = load ptr, ptr %t38
- %t1704 = call i32 @fn_str_eq(ptr %t1703, ptr @.str8471)
+ %t1704 = call i32 @lp_str_eq(ptr %t1703, ptr @.str8512)
%t1705 = icmp ne i32 %t1704, 0
br i1 %t1705, label %then223, label %ifend225
then223:
@@ -88661,15 +89406,15 @@ then223:
%t1715 = load ptr, ptr %t1714
%t1716 = getelementptr inbounds %Cmp_Val, ptr %t1715, i32 0, i32 0
%t1717 = load ptr, ptr %t1716
- %t1718 = call ptr @fn_str_concat(ptr @.str8472, ptr %t1717)
- %t1719 = call ptr @fn_str_concat(ptr %t1718, ptr @.str8473)
+ %t1718 = call ptr @lp_str_concat(ptr @.str8513, ptr %t1717)
+ %t1719 = call ptr @lp_str_concat(ptr %t1718, ptr @.str8514)
%t1720 = call ptr @fn_emit_bind(ptr %t1719)
- %t1721 = call ptr @fn_val(ptr %t1720, ptr @.str8474)
+ %t1721 = call ptr @fn_val(ptr %t1720, ptr @.str8515)
store ptr %t1721, ptr %retval
br label %ret
ifend225:
%t1722 = load ptr, ptr %t38
- %t1723 = call i32 @fn_str_eq(ptr %t1722, ptr @.str8475)
+ %t1723 = call i32 @lp_str_eq(ptr %t1722, ptr @.str8516)
%t1724 = icmp ne i32 %t1723, 0
br i1 %t1724, label %then226, label %ifend228
then226:
@@ -88685,15 +89430,15 @@ then226:
%t1734 = load ptr, ptr %t1733
%t1735 = getelementptr inbounds %Cmp_Val, ptr %t1734, i32 0, i32 0
%t1736 = load ptr, ptr %t1735
- %t1737 = call ptr @fn_str_concat(ptr @.str8476, ptr %t1736)
- %t1738 = call ptr @fn_str_concat(ptr %t1737, ptr @.str8477)
+ %t1737 = call ptr @lp_str_concat(ptr @.str8517, ptr %t1736)
+ %t1738 = call ptr @lp_str_concat(ptr %t1737, ptr @.str8518)
%t1739 = call ptr @fn_emit_bind(ptr %t1738)
- %t1740 = call ptr @fn_val(ptr %t1739, ptr @.str8478)
+ %t1740 = call ptr @fn_val(ptr %t1739, ptr @.str8519)
store ptr %t1740, ptr %retval
br label %ret
ifend228:
%t1741 = load ptr, ptr %t38
- %t1742 = call i32 @fn_str_eq(ptr %t1741, ptr @.str8479)
+ %t1742 = call i32 @lp_str_eq(ptr %t1741, ptr @.str8520)
%t1743 = icmp ne i32 %t1742, 0
br i1 %t1743, label %then229, label %ifend231
then229:
@@ -88718,20 +89463,20 @@ then229:
%t1762 = load ptr, ptr %t1752
%t1763 = getelementptr inbounds %Cmp_Val, ptr %t1762, i32 0, i32 0
%t1764 = load ptr, ptr %t1763
- %t1765 = call ptr @fn_str_concat(ptr @.str8480, ptr %t1764)
- %t1766 = call ptr @fn_str_concat(ptr %t1765, ptr @.str8481)
+ %t1765 = call ptr @lp_str_concat(ptr @.str8521, ptr %t1764)
+ %t1766 = call ptr @lp_str_concat(ptr %t1765, ptr @.str8522)
%t1767 = load ptr, ptr %t1761
%t1768 = getelementptr inbounds %Cmp_Val, ptr %t1767, i32 0, i32 0
%t1769 = load ptr, ptr %t1768
- %t1770 = call ptr @fn_str_concat(ptr %t1766, ptr %t1769)
- %t1771 = call ptr @fn_str_concat(ptr %t1770, ptr @.str8482)
+ %t1770 = call ptr @lp_str_concat(ptr %t1766, ptr %t1769)
+ %t1771 = call ptr @lp_str_concat(ptr %t1770, ptr @.str8523)
%t1772 = call ptr @fn_emit_bind(ptr %t1771)
- %t1773 = call ptr @fn_val(ptr %t1772, ptr @.str8483)
+ %t1773 = call ptr @fn_val(ptr %t1772, ptr @.str8524)
store ptr %t1773, ptr %retval
br label %ret
ifend231:
%t1774 = load ptr, ptr %t38
- %t1775 = call i32 @fn_str_eq(ptr %t1774, ptr @.str8484)
+ %t1775 = call i32 @lp_str_eq(ptr %t1774, ptr @.str8525)
%t1776 = icmp ne i32 %t1775, 0
br i1 %t1776, label %then232, label %ifend234
then232:
@@ -88756,15 +89501,15 @@ then232:
%t1795 = load ptr, ptr %t1785
%t1796 = getelementptr inbounds %Cmp_Val, ptr %t1795, i32 0, i32 0
%t1797 = load ptr, ptr %t1796
- %t1798 = call ptr @fn_str_concat(ptr @.str8485, ptr %t1797)
- %t1799 = call ptr @fn_str_concat(ptr %t1798, ptr @.str8486)
+ %t1798 = call ptr @lp_str_concat(ptr @.str8526, ptr %t1797)
+ %t1799 = call ptr @lp_str_concat(ptr %t1798, ptr @.str8527)
%t1800 = load ptr, ptr %t1794
%t1801 = getelementptr inbounds %Cmp_Val, ptr %t1800, i32 0, i32 0
%t1802 = load ptr, ptr %t1801
- %t1803 = call ptr @fn_str_concat(ptr %t1799, ptr %t1802)
- %t1804 = call ptr @fn_str_concat(ptr %t1803, ptr @.str8487)
+ %t1803 = call ptr @lp_str_concat(ptr %t1799, ptr %t1802)
+ %t1804 = call ptr @lp_str_concat(ptr %t1803, ptr @.str8528)
%t1805 = call ptr @fn_emit_bind(ptr %t1804)
- %t1806 = call ptr @fn_val(ptr %t1805, ptr @.str8488)
+ %t1806 = call ptr @fn_val(ptr %t1805, ptr @.str8529)
store ptr %t1806, ptr %retval
br label %ret
ifend234:
@@ -88859,65 +89604,65 @@ wbody248:
%t1867 = call ptr @fn_emit_expr(ptr %t1866)
store ptr %t1867, ptr %t1868
%t1869 = load ptr, ptr %t1841
- %t1870 = getelementptr inbounds %LSlice, ptr %t1869, i32 0, i32 1
- %t1871 = getelementptr inbounds %LSlice, ptr %t1869, i32 0, i32 2
- %t1872 = getelementptr inbounds %LSlice, ptr %t1869, i32 0, i32 0
- %t1873 = load i32, ptr %t1870
- %t1874 = load i32, ptr %t1871
- %t1875 = icmp sge i32 %t1873, %t1874
- br i1 %t1875, label %grow250, label %put251
+ %t1870 = load ptr, ptr %t1868
+ %t1871 = getelementptr inbounds %Cmp_Val, ptr %t1870, i32 0, i32 0
+ %t1872 = load ptr, ptr %t1871
+ %t1873 = getelementptr inbounds %LSlice, ptr %t1869, i32 0, i32 1
+ %t1874 = getelementptr inbounds %LSlice, ptr %t1869, i32 0, i32 2
+ %t1875 = getelementptr inbounds %LSlice, ptr %t1869, i32 0, i32 0
+ %t1876 = load i32, ptr %t1873
+ %t1877 = load i32, ptr %t1874
+ %t1878 = icmp sge i32 %t1876, %t1877
+ br i1 %t1878, label %grow250, label %put251
grow250:
- %t1876 = mul i32 %t1874, 2
- %t1877 = icmp eq i32 %t1874, 0
- %t1878 = select i1 %t1877, i32 8, i32 %t1876
- %t1879 = getelementptr ptr, ptr null, i32 1
- %t1880 = ptrtoint ptr %t1879 to i64
- %t1881 = zext i32 %t1878 to i64
- %t1882 = mul i64 %t1881, %t1880
- %t1883 = load ptr, ptr %t1872
- %t1884 = call ptr @realloc(ptr %t1883, i64 %t1882)
- store ptr %t1884, ptr %t1872
- store i32 %t1878, ptr %t1871
+ %t1879 = mul i32 %t1877, 2
+ %t1880 = icmp eq i32 %t1877, 0
+ %t1881 = select i1 %t1880, i32 8, i32 %t1879
+ %t1882 = getelementptr ptr, ptr null, i32 1
+ %t1883 = ptrtoint ptr %t1882 to i64
+ %t1884 = zext i32 %t1881 to i64
+ %t1885 = mul i64 %t1884, %t1883
+ %t1886 = load ptr, ptr %t1875
+ %t1887 = call ptr @realloc(ptr %t1886, i64 %t1885)
+ store ptr %t1887, ptr %t1875
+ store i32 %t1881, ptr %t1874
br label %put251
put251:
- %t1885 = load ptr, ptr %t1868
- %t1886 = getelementptr inbounds %Cmp_Val, ptr %t1885, i32 0, i32 0
- %t1887 = load ptr, ptr %t1886
- %t1888 = load ptr, ptr %t1872
- %t1889 = getelementptr inbounds ptr, ptr %t1888, i32 %t1873
- store ptr %t1887, ptr %t1889
- %t1890 = add i32 %t1873, 1
- store i32 %t1890, ptr %t1870
+ %t1888 = load ptr, ptr %t1875
+ %t1889 = getelementptr inbounds ptr, ptr %t1888, i32 %t1876
+ store ptr %t1872, ptr %t1889
+ %t1890 = add i32 %t1876, 1
+ store i32 %t1890, ptr %t1873
%t1891 = load ptr, ptr %t1848
- %t1892 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 1
- %t1893 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 2
- %t1894 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 0
- %t1895 = load i32, ptr %t1892
- %t1896 = load i32, ptr %t1893
- %t1897 = icmp sge i32 %t1895, %t1896
- br i1 %t1897, label %grow252, label %put253
+ %t1892 = load ptr, ptr %t1868
+ %t1893 = getelementptr inbounds %Cmp_Val, ptr %t1892, i32 0, i32 1
+ %t1894 = load ptr, ptr %t1893
+ %t1895 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 1
+ %t1896 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 2
+ %t1897 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 0
+ %t1898 = load i32, ptr %t1895
+ %t1899 = load i32, ptr %t1896
+ %t1900 = icmp sge i32 %t1898, %t1899
+ br i1 %t1900, label %grow252, label %put253
grow252:
- %t1898 = mul i32 %t1896, 2
- %t1899 = icmp eq i32 %t1896, 0
- %t1900 = select i1 %t1899, i32 8, i32 %t1898
- %t1901 = getelementptr ptr, ptr null, i32 1
- %t1902 = ptrtoint ptr %t1901 to i64
- %t1903 = zext i32 %t1900 to i64
- %t1904 = mul i64 %t1903, %t1902
- %t1905 = load ptr, ptr %t1894
- %t1906 = call ptr @realloc(ptr %t1905, i64 %t1904)
- store ptr %t1906, ptr %t1894
- store i32 %t1900, ptr %t1893
+ %t1901 = mul i32 %t1899, 2
+ %t1902 = icmp eq i32 %t1899, 0
+ %t1903 = select i1 %t1902, i32 8, i32 %t1901
+ %t1904 = getelementptr ptr, ptr null, i32 1
+ %t1905 = ptrtoint ptr %t1904 to i64
+ %t1906 = zext i32 %t1903 to i64
+ %t1907 = mul i64 %t1906, %t1905
+ %t1908 = load ptr, ptr %t1897
+ %t1909 = call ptr @realloc(ptr %t1908, i64 %t1907)
+ store ptr %t1909, ptr %t1897
+ store i32 %t1903, ptr %t1896
br label %put253
put253:
- %t1907 = load ptr, ptr %t1868
- %t1908 = getelementptr inbounds %Cmp_Val, ptr %t1907, i32 0, i32 1
- %t1909 = load ptr, ptr %t1908
- %t1910 = load ptr, ptr %t1894
- %t1911 = getelementptr inbounds ptr, ptr %t1910, i32 %t1895
- store ptr %t1909, ptr %t1911
- %t1912 = add i32 %t1895, 1
- store i32 %t1912, ptr %t1892
+ %t1910 = load ptr, ptr %t1897
+ %t1911 = getelementptr inbounds ptr, ptr %t1910, i32 %t1898
+ store ptr %t1894, ptr %t1911
+ %t1912 = add i32 %t1898, 1
+ store i32 %t1912, ptr %t1895
%t1913 = load i32, ptr %t1849
%t1914 = add i32 %t1913, 1
store i32 %t1914, ptr %t1849
@@ -88928,10 +89673,10 @@ wend249:
%t1917 = load ptr, ptr %t1916
%t1918 = call ptr @fn_llty(ptr %t1917)
store ptr %t1918, ptr %t1919
- call void @fn_emit(ptr @.str8489)
- store ptr @.str8490, ptr %t1920
+ call void @fn_emit(ptr @.str8530)
+ store ptr @.str8531, ptr %t1920
%t1921 = load ptr, ptr %t1919
- %t1922 = call i32 @fn_str_eq(ptr %t1921, ptr @.str8491)
+ %t1922 = call i32 @lp_str_eq(ptr %t1921, ptr @.str8532)
%t1923 = icmp eq i32 %t1922, 0
%t1924 = zext i1 %t1923 to i32
%t1925 = icmp ne i32 %t1924, 0
@@ -88941,20 +89686,20 @@ then254:
store ptr %t1926, ptr %t1920
%t1927 = load ptr, ptr %t1920
call void @fn_emit(ptr %t1927)
- call void @fn_emit(ptr @.str8492)
+ call void @fn_emit(ptr @.str8533)
br label %ifend256
ifend256:
- call void @fn_emit(ptr @.str8493)
+ call void @fn_emit(ptr @.str8534)
%t1928 = load ptr, ptr %t1919
call void @fn_emit(ptr %t1928)
- call void @fn_emit(ptr @.str8494)
+ call void @fn_emit(ptr @.str8535)
%t1929 = load ptr, ptr %t1827
%t1930 = getelementptr inbounds %Cmp_Node, ptr %t1929, i32 0, i32 4
%t1931 = load ptr, ptr %t1930
%t1932 = getelementptr inbounds %Cmp_Node, ptr %t1931, i32 0, i32 1
%t1933 = load ptr, ptr %t1932
call void @fn_emit(ptr %t1933)
- call void @fn_emit(ptr @.str8495)
+ call void @fn_emit(ptr @.str8536)
store i32 0, ptr %t1849
br label %wcond257
wcond257:
@@ -88973,7 +89718,7 @@ wbody258:
%t1944 = icmp ne i32 %t1943, 0
br i1 %t1944, label %then260, label %ifend262
then260:
- call void @fn_emit(ptr @.str8496)
+ call void @fn_emit(ptr @.str8537)
br label %ifend262
ifend262:
%t1945 = load ptr, ptr %t1848
@@ -88984,7 +89729,7 @@ ifend262:
%t1950 = load ptr, ptr %t1949
%t1951 = call ptr @fn_llty(ptr %t1950)
call void @fn_emit(ptr %t1951)
- call void @fn_emit(ptr @.str8497)
+ call void @fn_emit(ptr @.str8538)
%t1952 = load ptr, ptr %t1841
%t1953 = getelementptr inbounds %LSlice, ptr %t1952, i32 0, i32 0
%t1954 = load ptr, ptr %t1953
@@ -88997,7 +89742,7 @@ ifend262:
store i32 %t1959, ptr %t1849
br label %wcond257
wend259:
- call void @fn_emit(ptr @.str8498)
+ call void @fn_emit(ptr @.str8539)
%t1960 = load ptr, ptr %t1920
%t1961 = load ptr, ptr %t1827
%t1962 = getelementptr inbounds %Cmp_Node, ptr %t1961, i32 0, i32 3
@@ -89036,7 +89781,7 @@ ifend265:
br i1 %t1986, label %then266, label %ifend268
then266:
%t1987 = load ptr, ptr %t38
- %t1988 = call ptr @fn_str_concat(ptr @.str8499, ptr %t1987)
+ %t1988 = call ptr @lp_str_concat(ptr @.str8540, ptr %t1987)
store ptr %t1988, ptr %t1989
%t1990 = load ptr, ptr %t1989
%t1991 = call ptr @fn_find_fn(ptr %t1990)
@@ -89048,7 +89793,7 @@ then266:
br i1 %t1995, label %then269, label %ifend271
then269:
%t1996 = load ptr, ptr %t38
- %t1997 = call ptr @fn_str_concat(ptr @.str8500, ptr %t1996)
+ %t1997 = call ptr @lp_str_concat(ptr @.str8541, ptr %t1996)
call void @fn_perr(ptr %t1997)
br label %ifend271
ifend271:
@@ -89130,63 +89875,63 @@ then275:
br label %ifend277
ifend277:
%t2056 = load ptr, ptr %t2011
- %t2057 = getelementptr inbounds %LSlice, ptr %t2056, i32 0, i32 1
- %t2058 = getelementptr inbounds %LSlice, ptr %t2056, i32 0, i32 2
- %t2059 = getelementptr inbounds %LSlice, ptr %t2056, i32 0, i32 0
- %t2060 = load i32, ptr %t2057
- %t2061 = load i32, ptr %t2058
- %t2062 = icmp sge i32 %t2060, %t2061
- br i1 %t2062, label %grow278, label %put279
+ %t2057 = load ptr, ptr %t2038
+ %t2058 = load ptr, ptr %t2042
+ %t2059 = call ptr @fn_coerce_code(ptr %t2057, ptr %t2058)
+ %t2060 = getelementptr inbounds %LSlice, ptr %t2056, i32 0, i32 1
+ %t2061 = getelementptr inbounds %LSlice, ptr %t2056, i32 0, i32 2
+ %t2062 = getelementptr inbounds %LSlice, ptr %t2056, i32 0, i32 0
+ %t2063 = load i32, ptr %t2060
+ %t2064 = load i32, ptr %t2061
+ %t2065 = icmp sge i32 %t2063, %t2064
+ br i1 %t2065, label %grow278, label %put279
grow278:
- %t2063 = mul i32 %t2061, 2
- %t2064 = icmp eq i32 %t2061, 0
- %t2065 = select i1 %t2064, i32 8, i32 %t2063
- %t2066 = getelementptr ptr, ptr null, i32 1
- %t2067 = ptrtoint ptr %t2066 to i64
- %t2068 = zext i32 %t2065 to i64
- %t2069 = mul i64 %t2068, %t2067
- %t2070 = load ptr, ptr %t2059
- %t2071 = call ptr @realloc(ptr %t2070, i64 %t2069)
- store ptr %t2071, ptr %t2059
- store i32 %t2065, ptr %t2058
+ %t2066 = mul i32 %t2064, 2
+ %t2067 = icmp eq i32 %t2064, 0
+ %t2068 = select i1 %t2067, i32 8, i32 %t2066
+ %t2069 = getelementptr ptr, ptr null, i32 1
+ %t2070 = ptrtoint ptr %t2069 to i64
+ %t2071 = zext i32 %t2068 to i64
+ %t2072 = mul i64 %t2071, %t2070
+ %t2073 = load ptr, ptr %t2062
+ %t2074 = call ptr @realloc(ptr %t2073, i64 %t2072)
+ store ptr %t2074, ptr %t2062
+ store i32 %t2068, ptr %t2061
br label %put279
put279:
- %t2072 = load ptr, ptr %t2038
- %t2073 = load ptr, ptr %t2042
- %t2074 = call ptr @fn_coerce_code(ptr %t2072, ptr %t2073)
- %t2075 = load ptr, ptr %t2059
- %t2076 = getelementptr inbounds ptr, ptr %t2075, i32 %t2060
- store ptr %t2074, ptr %t2076
- %t2077 = add i32 %t2060, 1
- store i32 %t2077, ptr %t2057
+ %t2075 = load ptr, ptr %t2062
+ %t2076 = getelementptr inbounds ptr, ptr %t2075, i32 %t2063
+ store ptr %t2059, ptr %t2076
+ %t2077 = add i32 %t2063, 1
+ store i32 %t2077, ptr %t2060
%t2078 = load ptr, ptr %t2018
- %t2079 = getelementptr inbounds %LSlice, ptr %t2078, i32 0, i32 1
- %t2080 = getelementptr inbounds %LSlice, ptr %t2078, i32 0, i32 2
- %t2081 = getelementptr inbounds %LSlice, ptr %t2078, i32 0, i32 0
- %t2082 = load i32, ptr %t2079
+ %t2079 = load ptr, ptr %t2042
+ %t2080 = getelementptr inbounds %LSlice, ptr %t2078, i32 0, i32 1
+ %t2081 = getelementptr inbounds %LSlice, ptr %t2078, i32 0, i32 2
+ %t2082 = getelementptr inbounds %LSlice, ptr %t2078, i32 0, i32 0
%t2083 = load i32, ptr %t2080
- %t2084 = icmp sge i32 %t2082, %t2083
- br i1 %t2084, label %grow280, label %put281
+ %t2084 = load i32, ptr %t2081
+ %t2085 = icmp sge i32 %t2083, %t2084
+ br i1 %t2085, label %grow280, label %put281
grow280:
- %t2085 = mul i32 %t2083, 2
- %t2086 = icmp eq i32 %t2083, 0
- %t2087 = select i1 %t2086, i32 8, i32 %t2085
- %t2088 = getelementptr ptr, ptr null, i32 1
- %t2089 = ptrtoint ptr %t2088 to i64
- %t2090 = zext i32 %t2087 to i64
- %t2091 = mul i64 %t2090, %t2089
- %t2092 = load ptr, ptr %t2081
- %t2093 = call ptr @realloc(ptr %t2092, i64 %t2091)
- store ptr %t2093, ptr %t2081
- store i32 %t2087, ptr %t2080
+ %t2086 = mul i32 %t2084, 2
+ %t2087 = icmp eq i32 %t2084, 0
+ %t2088 = select i1 %t2087, i32 8, i32 %t2086
+ %t2089 = getelementptr ptr, ptr null, i32 1
+ %t2090 = ptrtoint ptr %t2089 to i64
+ %t2091 = zext i32 %t2088 to i64
+ %t2092 = mul i64 %t2091, %t2090
+ %t2093 = load ptr, ptr %t2082
+ %t2094 = call ptr @realloc(ptr %t2093, i64 %t2092)
+ store ptr %t2094, ptr %t2082
+ store i32 %t2088, ptr %t2081
br label %put281
put281:
- %t2094 = load ptr, ptr %t2042
- %t2095 = load ptr, ptr %t2081
- %t2096 = getelementptr inbounds ptr, ptr %t2095, i32 %t2082
- store ptr %t2094, ptr %t2096
- %t2097 = add i32 %t2082, 1
- store i32 %t2097, ptr %t2079
+ %t2095 = load ptr, ptr %t2082
+ %t2096 = getelementptr inbounds ptr, ptr %t2095, i32 %t2083
+ store ptr %t2079, ptr %t2096
+ %t2097 = add i32 %t2083, 1
+ store i32 %t2097, ptr %t2080
%t2098 = load i32, ptr %t2019
%t2099 = add i32 %t2098, 1
store i32 %t2099, ptr %t2019
@@ -89197,10 +89942,10 @@ wend274:
%t2102 = load ptr, ptr %t2101
%t2103 = call ptr @fn_llty(ptr %t2102)
store ptr %t2103, ptr %t2104
- call void @fn_emit(ptr @.str8501)
- store ptr @.str8502, ptr %t2105
+ call void @fn_emit(ptr @.str8542)
+ store ptr @.str8543, ptr %t2105
%t2106 = load ptr, ptr %t2104
- %t2107 = call i32 @fn_str_eq(ptr %t2106, ptr @.str8503)
+ %t2107 = call i32 @lp_str_eq(ptr %t2106, ptr @.str8544)
%t2108 = icmp eq i32 %t2107, 0
%t2109 = zext i1 %t2108 to i32
%t2110 = icmp ne i32 %t2109, 0
@@ -89210,16 +89955,16 @@ then282:
store ptr %t2111, ptr %t2105
%t2112 = load ptr, ptr %t2105
call void @fn_emit(ptr %t2112)
- call void @fn_emit(ptr @.str8504)
+ call void @fn_emit(ptr @.str8545)
br label %ifend284
ifend284:
- call void @fn_emit(ptr @.str8505)
+ call void @fn_emit(ptr @.str8546)
%t2113 = load ptr, ptr %t2104
call void @fn_emit(ptr %t2113)
- call void @fn_emit(ptr @.str8506)
+ call void @fn_emit(ptr @.str8547)
%t2114 = load ptr, ptr %t1982
call void @fn_emit(ptr %t2114)
- call void @fn_emit(ptr @.str8507)
+ call void @fn_emit(ptr @.str8548)
store i32 0, ptr %t2019
br label %wcond285
wcond285:
@@ -89238,7 +89983,7 @@ wbody286:
%t2125 = icmp ne i32 %t2124, 0
br i1 %t2125, label %then288, label %ifend290
then288:
- call void @fn_emit(ptr @.str8508)
+ call void @fn_emit(ptr @.str8549)
br label %ifend290
ifend290:
%t2126 = load ptr, ptr %t2018
@@ -89249,7 +89994,7 @@ ifend290:
%t2131 = load ptr, ptr %t2130
%t2132 = call ptr @fn_llty(ptr %t2131)
call void @fn_emit(ptr %t2132)
- call void @fn_emit(ptr @.str8509)
+ call void @fn_emit(ptr @.str8550)
%t2133 = load ptr, ptr %t2011
%t2134 = getelementptr inbounds %LSlice, ptr %t2133, i32 0, i32 0
%t2135 = load ptr, ptr %t2134
@@ -89262,7 +90007,7 @@ ifend290:
store i32 %t2140, ptr %t2019
br label %wcond285
wend287:
- call void @fn_emit(ptr @.str8510)
+ call void @fn_emit(ptr @.str8551)
%t2141 = load ptr, ptr %t2105
%t2142 = load ptr, ptr %t1980
%t2143 = getelementptr inbounds %Cmp_Node, ptr %t2142, i32 0, i32 3
@@ -89282,23 +90027,23 @@ entry:
%t65 = alloca ptr
%t70 = alloca ptr
%t75 = alloca ptr
- %t136 = alloca i32
- %t158 = alloca ptr
- %t184 = alloca ptr
- %t205 = alloca ptr
- %t248 = alloca i32
- %t271 = alloca i32
- %t292 = alloca i32
- %t304 = alloca ptr
- %t309 = alloca i32
- %t314 = alloca i32
- %t336 = alloca ptr
- %t357 = alloca ptr
- %t370 = alloca ptr
- %t382 = alloca ptr
- %t389 = alloca ptr
- %t440 = alloca ptr
- %t499 = 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
@@ -89306,7 +90051,7 @@ entry:
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
- %t5 = call ptr @fn_val(ptr @.str8511, ptr @.str8512)
+ %t5 = call ptr @fn_val(ptr @.str8552, ptr @.str8553)
store ptr %t5, ptr %retval
br label %ret
ifend2:
@@ -89322,7 +90067,7 @@ then3:
%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 @.str8513)
+ %t16 = call ptr @fn_val(ptr %t15, ptr @.str8554)
store ptr %t16, ptr %retval
br label %ret
ifend5:
@@ -89338,7 +90083,7 @@ then6:
%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 @.str8514)
+ %t27 = call ptr @fn_val(ptr %t26, ptr @.str8555)
store ptr %t27, ptr %retval
br label %ret
ifend8:
@@ -89354,7 +90099,7 @@ then9:
%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 @.str8515)
+ %t38 = call ptr @fn_val(ptr %t37, ptr @.str8556)
store ptr %t38, ptr %retval
br label %ret
ifend11:
@@ -89366,7 +90111,7 @@ ifend11:
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %then12, label %ifend14
then12:
- %t45 = call ptr @fn_val(ptr @.str8516, ptr @.str8517)
+ %t45 = call ptr @fn_val(ptr @.str8557, ptr @.str8558)
store ptr %t45, ptr %retval
br label %ret
ifend14:
@@ -89380,7 +90125,7 @@ ifend14:
then15:
%t52 = load ptr, ptr %t0
%t53 = call ptr @fn_emit_spawn(ptr %t52)
- %t54 = call ptr @fn_val(ptr %t53, ptr @.str8518)
+ %t54 = call ptr @fn_val(ptr %t53, ptr @.str8559)
store ptr %t54, ptr %retval
br label %ret
ifend17:
@@ -89411,20 +90156,20 @@ then18:
%t76 = load ptr, ptr %t65
%t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 0
%t78 = load ptr, ptr %t77
- %t79 = call ptr @fn_str_concat(ptr @.str8519, ptr %t78)
- %t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str8520)
+ %t79 = call ptr @lp_str_concat(ptr @.str8560, ptr %t78)
+ %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str8561)
%t81 = load ptr, ptr %t70
%t82 = getelementptr inbounds %Cmp_Val, ptr %t81, i32 0, i32 0
%t83 = load ptr, ptr %t82
- %t84 = call ptr @fn_str_concat(ptr %t80, ptr %t83)
- %t85 = call ptr @fn_str_concat(ptr %t84, ptr @.str8521)
+ %t84 = call ptr @lp_str_concat(ptr %t80, ptr %t83)
+ %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str8562)
%t86 = load ptr, ptr %t75
%t87 = getelementptr inbounds %Cmp_Val, ptr %t86, i32 0, i32 0
%t88 = load ptr, ptr %t87
- %t89 = call ptr @fn_str_concat(ptr %t85, ptr %t88)
- %t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str8522)
+ %t89 = call ptr @lp_str_concat(ptr %t85, ptr %t88)
+ %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str8563)
%t91 = call ptr @fn_emit_bind(ptr %t90)
- %t92 = call ptr @fn_val(ptr %t91, ptr @.str8523)
+ %t92 = call ptr @fn_val(ptr %t91, ptr @.str8564)
store ptr %t92, ptr %retval
br label %ret
ifend20:
@@ -89440,7 +90185,7 @@ then21:
%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 @.str8524)
+ %t103 = call ptr @fn_val(ptr %t102, ptr @.str8565)
store ptr %t103, ptr %retval
br label %ret
ifend23:
@@ -89479,147 +90224,150 @@ 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, 33
+ %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 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 1
- %t134 = load ptr, ptr %t133
- %t135 = call i32 @fn_loc_find(ptr %t134)
- store i32 %t135, ptr %t136
- %t137 = load i32, ptr %t136
- %t138 = icmp sge i32 %t137, 0
- %t139 = zext i1 %t138 to i32
- %t140 = icmp ne i32 %t139, 0
- br i1 %t140, label %then33, label %ifend35
+ %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:
- %t141 = load ptr, ptr @g_loc_reg
- %t142 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0
- %t143 = load ptr, ptr %t142
- %t144 = load i32, ptr %t136
- %t145 = getelementptr inbounds ptr, ptr %t143, i32 %t144
- %t146 = load ptr, ptr %t145
- %t147 = load ptr, ptr @g_loc_ty
- %t148 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 0
- %t149 = load ptr, ptr %t148
- %t150 = load i32, ptr %t136
- %t151 = getelementptr inbounds ptr, ptr %t149, i32 %t150
- %t152 = load ptr, ptr %t151
- %t153 = call ptr @fn_emit_load_at(ptr %t146, ptr %t152)
- store ptr %t153, ptr %retval
- br label %ret
-ifend35:
- %t154 = load ptr, ptr %t0
- %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 1
- %t156 = load ptr, ptr %t155
- %t157 = call ptr @fn_find_global(ptr %t156)
- store ptr %t157, ptr %t158
- %t159 = load ptr, ptr %t158
- %t160 = icmp ne ptr %t159, null
- %t161 = zext i1 %t160 to i32
- %t162 = icmp ne i32 %t161, 0
- br i1 %t162, label %then36, label %ifend38
+ %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:
- %t163 = load ptr, ptr %t158
- %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 0
- %t165 = load i32, ptr %t164
- %t166 = icmp eq i32 %t165, 3
- %t167 = zext i1 %t166 to i32
- %t168 = icmp ne i32 %t167, 0
- br i1 %t168, label %then39, label %ifend41
-then39:
- %t169 = load ptr, ptr %t158
- %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 4
- %t171 = load ptr, ptr %t170
- %t172 = call ptr @fn_emit_expr(ptr %t171)
- store ptr %t172, ptr %retval
- br label %ret
-ifend41:
- %t173 = load ptr, ptr %t158
- %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 3
- %t175 = load ptr, ptr %t174
- %t176 = call ptr @fn_llty(ptr %t175)
- %t177 = call ptr @fn_str_concat(ptr @.str8525, ptr %t176)
- %t178 = call ptr @fn_str_concat(ptr %t177, ptr @.str8526)
- %t179 = load ptr, ptr %t0
- %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 1
- %t181 = load ptr, ptr %t180
- %t182 = call ptr @fn_str_concat(ptr %t178, ptr %t181)
- %t183 = call ptr @fn_emit_bind(ptr %t182)
- store ptr %t183, ptr %t184
- %t185 = load ptr, ptr %t184
- %t186 = load ptr, ptr %t158
- %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 3
- %t188 = load ptr, ptr %t187
- %t189 = call ptr @fn_val(ptr %t185, ptr %t188)
- store ptr %t189, ptr %retval
+ %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:
- %t190 = load ptr, ptr %t0
- %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 1
- %t192 = load ptr, ptr %t191
- %t193 = call i32 @fn_is_ui_ident(ptr %t192)
- %t194 = icmp ne i32 %t193, 0
- br i1 %t194, label %then42, label %ifend44
+ %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:
- %t195 = load ptr, ptr %t0
- %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 1
- %t197 = load ptr, ptr %t196
- %t198 = call i32 @fn_ui_index_of(ptr %t197)
- %t199 = call ptr @fn_itoa(i32 %t198)
- %t200 = call ptr @fn_val(ptr %t199, ptr @.str8527)
- store ptr %t200, ptr %retval
+ %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:
- %t201 = load ptr, ptr %t0
- %t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 1
- %t203 = load ptr, ptr %t202
- %t204 = call ptr @fn_variant_enum(ptr %t203)
- store ptr %t204, ptr %t205
- %t206 = load ptr, ptr %t205
- %t207 = icmp ne ptr %t206, null
- %t208 = zext i1 %t207 to i32
- %t209 = icmp ne i32 %t208, 0
- br i1 %t209, label %then45, label %ifend47
+ %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 @.str8566, ptr %t184)
+ %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str8567)
+ %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:
- %t210 = load ptr, ptr %t205
- %t211 = load i32, ptr @g_g_var_ord
- %t212 = getelementptr %LSlice, ptr null, i32 1
- %t213 = ptrtoint ptr %t212 to i64
- %t214 = call ptr @malloc(i64 %t213)
- %t215 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 0
- store ptr null, ptr %t215
- %t216 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 1
- store i32 0, ptr %t216
- %t217 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 2
- store i32 0, ptr %t217
- %t218 = call ptr @fn_emit_variant_new(ptr %t210, i32 %t211, ptr %t214)
- store ptr %t218, ptr %retval
+ %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 @.str8568)
+ store ptr %t208, ptr %retval
br label %ret
ifend47:
- %t219 = load ptr, ptr %t0
- %t220 = getelementptr inbounds %Cmp_Node, ptr %t219, i32 0, i32 1
- %t221 = load ptr, ptr %t220
- %t222 = call ptr @fn_str_concat(ptr @.str8528, ptr %t221)
- call void @fn_perr(ptr %t222)
- br label %ifend32
-ifend32:
- %t223 = load ptr, ptr %t0
- %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 0
- %t225 = load i32, ptr %t224
- %t226 = icmp eq i32 %t225, 35
- %t227 = zext i1 %t226 to i32
- %t228 = icmp ne i32 %t227, 0
- br i1 %t228, label %then48, label %ifend50
+ %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:
- %t229 = load ptr, ptr %t0
- %t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 4
- %t231 = load ptr, ptr %t230
+ %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 @.str8569, 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, 33
+ %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
@@ -89627,396 +90375,414 @@ 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 1
- %t241 = load ptr, ptr %t240
- %t242 = call i32 @fn_str_eq(ptr %t241, ptr @.str8529)
- %t243 = icmp ne i32 %t242, 0
- br i1 %t243, label %then54, label %ifend56
+ %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:
- %t244 = load ptr, ptr %t0
- %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 1
- %t246 = load ptr, ptr %t245
- %t247 = call i32 @fn_color_lookup(ptr %t246)
- store i32 %t247, ptr %t248
- %t249 = load i32, ptr %t248
- %t250 = icmp slt i32 %t249, 0
- %t251 = zext i1 %t250 to i32
- %t252 = icmp ne i32 %t251, 0
- br i1 %t252, label %then57, label %ifend59
+ %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 @.str8570)
+ %t251 = icmp ne i32 %t250, 0
+ br i1 %t251, label %then57, label %ifend59
then57:
- %t253 = load ptr, ptr %t0
- %t254 = getelementptr inbounds %Cmp_Node, ptr %t253, i32 0, i32 1
- %t255 = load ptr, ptr %t254
- %t256 = call ptr @fn_str_concat(ptr @.str8530, ptr %t255)
- call void @fn_perr(ptr %t256)
- br label %ifend59
-ifend59:
- %t257 = load i32, ptr %t248
- %t258 = call ptr @fn_itoa(i32 %t257)
- %t259 = call ptr @fn_val(ptr %t258, ptr @.str8531)
- store ptr %t259, ptr %retval
- br label %ret
-ifend56:
- %t260 = load ptr, ptr %t0
- %t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 4
- %t262 = load ptr, ptr %t261
- %t263 = getelementptr inbounds %Cmp_Node, ptr %t262, i32 0, i32 1
- %t264 = load ptr, ptr %t263
- %t265 = call i32 @fn_str_eq(ptr %t264, ptr @.str8532)
- %t266 = icmp ne i32 %t265, 0
- br i1 %t266, label %then60, label %ifend62
+ %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:
- %t267 = load ptr, ptr %t0
- %t268 = getelementptr inbounds %Cmp_Node, ptr %t267, i32 0, i32 1
- %t269 = load ptr, ptr %t268
- %t270 = call i32 @fn_key_lookup(ptr %t269)
- store i32 %t270, ptr %t271
- %t272 = load i32, ptr %t271
- %t273 = icmp slt i32 %t272, 0
- %t274 = zext i1 %t273 to i32
- %t275 = icmp ne i32 %t274, 0
- br i1 %t275, label %then63, label %ifend65
-then63:
- %t276 = load ptr, ptr %t0
- %t277 = getelementptr inbounds %Cmp_Node, ptr %t276, i32 0, i32 1
- %t278 = load ptr, ptr %t277
- %t279 = call ptr @fn_str_concat(ptr @.str8533, ptr %t278)
- call void @fn_perr(ptr %t279)
- br label %ifend65
-ifend65:
- %t280 = load i32, ptr %t271
- %t281 = call ptr @fn_itoa(i32 %t280)
- %t282 = call ptr @fn_val(ptr %t281, ptr @.str8534)
- store ptr %t282, ptr %retval
- br label %ret
+ %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 @.str8571, ptr %t263)
+ call void @fn_perr(ptr %t264)
+ br label %ifend62
ifend62:
- %t283 = load ptr, ptr %t0
- %t284 = getelementptr inbounds %Cmp_Node, ptr %t283, i32 0, i32 4
- %t285 = load ptr, ptr %t284
- %t286 = getelementptr inbounds %Cmp_Node, ptr %t285, i32 0, i32 1
- %t287 = load ptr, ptr %t286
- %t288 = load ptr, ptr %t0
- %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 1
- %t290 = load ptr, ptr %t289
- %t291 = call i32 @fn_enum_ordinal(ptr %t287, ptr %t290)
- store i32 %t291, ptr %t292
- %t293 = load i32, ptr %t292
- %t294 = icmp sge i32 %t293, 0
- %t295 = zext i1 %t294 to i32
- %t296 = icmp ne i32 %t295, 0
- br i1 %t296, label %then66, label %ifend68
+ %t265 = load i32, ptr %t256
+ %t266 = call ptr @fn_itoa(i32 %t265)
+ %t267 = call ptr @fn_val(ptr %t266, ptr @.str8572)
+ 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 @.str8573)
+ %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:
- %t297 = load i32, ptr %t292
- %t298 = call ptr @fn_itoa(i32 %t297)
- %t299 = call ptr @fn_val(ptr %t298, ptr @.str8535)
- store ptr %t299, ptr %retval
- br label %ret
+ %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 @.str8574, ptr %t286)
+ call void @fn_perr(ptr %t287)
+ br label %ifend68
ifend68:
- br label %ifend53
-ifend53:
- %t300 = load ptr, ptr %t0
- %t301 = getelementptr inbounds %Cmp_Node, ptr %t300, i32 0, i32 4
- %t302 = load ptr, ptr %t301
- %t303 = call ptr @fn_static_type(ptr %t302)
- store ptr %t303, ptr %t304
- %t305 = load ptr, ptr %t304
- %t306 = icmp ne ptr %t305, null
- %t307 = zext i1 %t306 to i32
- %t308 = icmp ne i32 %t307, 0
- br i1 %t308, label %then69, label %ifend71
+ %t288 = load i32, ptr %t279
+ %t289 = call ptr @fn_itoa(i32 %t288)
+ %t290 = call ptr @fn_val(ptr %t289, ptr @.str8575)
+ 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:
- %t310 = load ptr, ptr %t304
- %t311 = call i32 @fn_str_eq(ptr %t310, ptr @.str8536)
- %t312 = icmp ne i32 %t311, 0
- %t313 = zext i1 %t312 to i32
- store i32 %t313, ptr %t309
- br i1 %t312, label %sc72, label %scend73
-sc72:
- %t315 = load ptr, ptr %t0
- %t316 = getelementptr inbounds %Cmp_Node, ptr %t315, i32 0, i32 1
- %t317 = load ptr, ptr %t316
- %t318 = call i32 @fn_str_eq(ptr %t317, ptr @.str8537)
- %t319 = icmp ne i32 %t318, 0
- %t320 = zext i1 %t319 to i32
- store i32 %t320, ptr %t314
- br i1 %t319, label %scend75, label %sc74
-sc74:
- %t321 = load ptr, ptr %t0
- %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 1
- %t323 = load ptr, ptr %t322
- %t324 = call i32 @fn_str_eq(ptr %t323, ptr @.str8538)
- %t325 = icmp ne i32 %t324, 0
- %t326 = zext i1 %t325 to i32
- store i32 %t326, ptr %t314
- br label %scend75
-scend75:
- %t327 = load i32, ptr %t314
- %t328 = icmp ne i32 %t327, 0
- %t329 = zext i1 %t328 to i32
- store i32 %t329, ptr %t309
- br label %scend73
-scend73:
- %t330 = load i32, ptr %t309
- %t331 = icmp ne i32 %t330, 0
- br i1 %t331, label %then76, label %ifend78
-then76:
- %t332 = load ptr, ptr %t0
- %t333 = getelementptr inbounds %Cmp_Node, ptr %t332, i32 0, i32 4
- %t334 = load ptr, ptr %t333
- %t335 = call ptr @fn_emit_expr(ptr %t334)
- store ptr %t335, ptr %t336
- %t337 = load ptr, ptr %t0
- %t338 = getelementptr inbounds %Cmp_Node, ptr %t337, i32 0, i32 1
- %t339 = load ptr, ptr %t338
- %t340 = call i32 @fn_str_eq(ptr %t339, ptr @.str8539)
- %t341 = icmp ne i32 %t340, 0
- br i1 %t341, label %then79, label %ifend81
+ %t305 = load i32, ptr %t300
+ %t306 = call ptr @fn_itoa(i32 %t305)
+ %t307 = call ptr @fn_val(ptr %t306, ptr @.str8576)
+ 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 @.str8577)
+ %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 @.str8578)
+ %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 @.str8579)
+ %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:
- %t342 = load ptr, ptr %t336
- %t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0
- %t344 = load ptr, ptr %t343
- %t345 = call ptr @fn_vec_x(ptr %t344)
- %t346 = call ptr @fn_val(ptr %t345, ptr @.str8540)
- store ptr %t346, ptr %retval
- br label %ret
-ifend81:
- %t347 = load ptr, ptr %t336
- %t348 = getelementptr inbounds %Cmp_Val, ptr %t347, i32 0, i32 0
- %t349 = load ptr, ptr %t348
- %t350 = call ptr @fn_vec_y(ptr %t349)
- %t351 = call ptr @fn_val(ptr %t350, ptr @.str8541)
- store ptr %t351, ptr %retval
- br label %ret
-ifend78:
- %t352 = load ptr, ptr %t304
- %t353 = load ptr, ptr %t0
- %t354 = getelementptr inbounds %Cmp_Node, ptr %t353, i32 0, i32 1
- %t355 = load ptr, ptr %t354
- %t356 = call ptr @fn_computed_expr(ptr %t352, ptr %t355)
- store ptr %t356, ptr %t357
- %t358 = load ptr, ptr %t357
- %t359 = icmp ne ptr %t358, null
- %t360 = zext i1 %t359 to i32
- %t361 = icmp ne i32 %t360, 0
- br i1 %t361, label %then82, label %ifend84
+ %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 @.str8580)
+ %t349 = icmp ne i32 %t348, 0
+ br i1 %t349, label %then82, label %ifend84
then82:
- %t362 = load ptr, ptr %t357
- %t363 = load ptr, ptr %t0
- %t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 4
- %t365 = load ptr, ptr %t364
- %t366 = call ptr @fn_qualify_fields(ptr %t362, ptr %t365)
- %t367 = call ptr @fn_emit_expr(ptr %t366)
- store ptr %t367, ptr %retval
+ %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 @.str8581)
+ store ptr %t354, ptr %retval
br label %ret
ifend84:
- br label %ifend71
-ifend71:
- %t368 = load ptr, ptr %t0
- %t369 = call ptr @fn_emit_member_addr(ptr %t368)
- store ptr %t369, ptr %t370
- %t371 = load ptr, ptr %t370
- %t372 = load ptr, ptr @g_g_addr_ty
- %t373 = call ptr @fn_emit_load_at(ptr %t371, ptr %t372)
- store ptr %t373, ptr %retval
+ %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 @.str8582)
+ store ptr %t359, ptr %retval
br label %ret
-ifend50:
- %t374 = load ptr, ptr %t0
- %t375 = getelementptr inbounds %Cmp_Node, ptr %t374, i32 0, i32 0
- %t376 = load i32, ptr %t375
- %t377 = icmp eq i32 %t376, 36
- %t378 = zext i1 %t377 to i32
- %t379 = icmp ne i32 %t378, 0
- br i1 %t379, label %then85, label %ifend87
+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:
- %t380 = load ptr, ptr %t0
- %t381 = call ptr @fn_emit_index_addr(ptr %t380)
- store ptr %t381, ptr %t382
- %t383 = load ptr, ptr @g_g_addr_ty
- %t384 = call i32 @fn_str_eq(ptr %t383, ptr @.str8542)
- %t385 = icmp ne i32 %t384, 0
- br i1 %t385, label %then88, label %ifend90
-then88:
- %t386 = load ptr, ptr %t382
- %t387 = call ptr @fn_str_concat(ptr @.str8543, ptr %t386)
- %t388 = call ptr @fn_emit_bind(ptr %t387)
- store ptr %t388, ptr %t389
- %t390 = load ptr, ptr %t389
- %t391 = call ptr @fn_str_concat(ptr @.str8544, ptr %t390)
- %t392 = call ptr @fn_str_concat(ptr %t391, ptr @.str8545)
- %t393 = call ptr @fn_emit_bind(ptr %t392)
- %t394 = call ptr @fn_val(ptr %t393, ptr @.str8546)
- store ptr %t394, ptr %retval
- br label %ret
-ifend90:
- %t395 = load ptr, ptr %t382
- %t396 = load ptr, ptr @g_g_addr_ty
- %t397 = call ptr @fn_emit_load_at(ptr %t395, ptr %t396)
- store ptr %t397, ptr %retval
+ %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:
- %t398 = load ptr, ptr %t0
- %t399 = getelementptr inbounds %Cmp_Node, ptr %t398, i32 0, i32 0
- %t400 = load i32, ptr %t399
- %t401 = icmp eq i32 %t400, 49
- %t402 = zext i1 %t401 to i32
- %t403 = icmp ne i32 %t402, 0
- br i1 %t403, label %then91, label %ifend93
+ 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 @.str8583)
+ %t393 = icmp ne i32 %t392, 0
+ br i1 %t393, label %then91, label %ifend93
then91:
- %t404 = load ptr, ptr %t0
- %t405 = call ptr @fn_emit_emit(ptr %t404)
- store ptr %t405, ptr %retval
+ %t394 = load ptr, ptr %t390
+ %t395 = call ptr @lp_str_concat(ptr @.str8584, 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 @.str8585, ptr %t398)
+ %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str8586)
+ %t401 = call ptr @fn_emit_bind(ptr %t400)
+ %t402 = call ptr @fn_val(ptr %t401, ptr @.str8587)
+ 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, 52
+ %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_try(ptr %t412)
+ %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, 34
+ %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_call(ptr %t420)
+ %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, 37
+ %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_bin(ptr %t428)
+ %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, 38
+ %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 = getelementptr inbounds %Cmp_Node, ptr %t436, i32 0, i32 4
- %t438 = load ptr, ptr %t437
- %t439 = call ptr @fn_emit_expr(ptr %t438)
- store ptr %t439, ptr %t440
- %t441 = load ptr, ptr %t440
- %t442 = getelementptr inbounds %Cmp_Val, ptr %t441, i32 0, i32 1
- %t443 = load ptr, ptr %t442
- %t444 = call ptr @fn_llty(ptr %t443)
- %t445 = call i32 @fn_str_eq(ptr %t444, ptr @.str8547)
- %t446 = icmp ne i32 %t445, 0
- br i1 %t446, label %then106, label %ifend108
-then106:
- %t447 = load ptr, ptr %t0
- %t448 = getelementptr inbounds %Cmp_Node, ptr %t447, i32 0, i32 1
- %t449 = load ptr, ptr %t448
- %t450 = call i32 @fn_str_eq(ptr %t449, ptr @.str8548)
- %t451 = icmp ne i32 %t450, 0
- br i1 %t451, label %then109, label %ifend111
-then109:
- %t452 = load ptr, ptr %t440
- %t453 = getelementptr inbounds %Cmp_Val, ptr %t452, i32 0, i32 0
- %t454 = load ptr, ptr %t453
- %t455 = call ptr @fn_str_concat(ptr @.str8549, ptr %t454)
- %t456 = call ptr @fn_emit_bind(ptr %t455)
- %t457 = call ptr @fn_val(ptr %t456, ptr @.str8550)
- store ptr %t457, ptr %retval
+ %t437 = call ptr @fn_emit_bin(ptr %t436)
+ store ptr %t437, ptr %retval
br label %ret
-ifend111:
- %t458 = load ptr, ptr %t0
- %t459 = getelementptr inbounds %Cmp_Node, ptr %t458, i32 0, i32 1
- %t460 = load ptr, ptr %t459
- %t461 = call i32 @fn_str_eq(ptr %t460, ptr @.str8551)
- %t462 = icmp ne i32 %t461, 0
- br i1 %t462, label %then112, label %ifend114
+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 @.str8588)
+ %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 @.str8589)
+ %t459 = icmp ne i32 %t458, 0
+ br i1 %t459, label %then112, label %ifend114
then112:
- %t463 = load ptr, ptr %t440
- %t464 = getelementptr inbounds %Cmp_Val, ptr %t463, i32 0, i32 0
- %t465 = load ptr, ptr %t464
- %t466 = call ptr @fn_str_concat(ptr @.str8552, ptr %t465)
- %t467 = call ptr @fn_str_concat(ptr %t466, ptr @.str8553)
- %t468 = call ptr @fn_emit_bind(ptr %t467)
- %t469 = call ptr @fn_val(ptr %t468, ptr @.str8554)
- store ptr %t469, ptr %retval
+ %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 @.str8590, ptr %t462)
+ %t464 = call ptr @fn_emit_bind(ptr %t463)
+ %t465 = call ptr @fn_val(ptr %t464, ptr @.str8591)
+ store ptr %t465, ptr %retval
br label %ret
ifend114:
- br label %ifend108
-ifend108:
- %t470 = load ptr, ptr %t0
- %t471 = getelementptr inbounds %Cmp_Node, ptr %t470, i32 0, i32 1
- %t472 = load ptr, ptr %t471
- %t473 = call i32 @fn_str_eq(ptr %t472, ptr @.str8555)
- %t474 = icmp ne i32 %t473, 0
- br i1 %t474, label %then115, label %ifend117
+ %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 @.str8592)
+ %t470 = icmp ne i32 %t469, 0
+ br i1 %t470, label %then115, label %ifend117
then115:
- %t475 = load ptr, ptr %t440
- %t476 = getelementptr inbounds %Cmp_Val, ptr %t475, i32 0, i32 0
- %t477 = load ptr, ptr %t476
- %t478 = call ptr @fn_str_concat(ptr @.str8556, ptr %t477)
- %t479 = call ptr @fn_emit_bind(ptr %t478)
- %t480 = call ptr @fn_val(ptr %t479, ptr @.str8557)
- store ptr %t480, ptr %retval
+ %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 @.str8593, ptr %t473)
+ %t475 = call ptr @lp_str_concat(ptr %t474, ptr @.str8594)
+ %t476 = call ptr @fn_emit_bind(ptr %t475)
+ %t477 = call ptr @fn_val(ptr %t476, ptr @.str8595)
+ store ptr %t477, ptr %retval
br label %ret
ifend117:
- %t481 = load ptr, ptr %t0
- %t482 = getelementptr inbounds %Cmp_Node, ptr %t481, i32 0, i32 1
- %t483 = load ptr, ptr %t482
- %t484 = call i32 @fn_str_eq(ptr %t483, ptr @.str8558)
- %t485 = icmp ne i32 %t484, 0
- br i1 %t485, label %then118, label %ifend120
+ 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 @.str8596)
+ %t482 = icmp ne i32 %t481, 0
+ br i1 %t482, label %then118, label %ifend120
then118:
- %t486 = load ptr, ptr %t440
- %t487 = getelementptr inbounds %Cmp_Val, ptr %t486, i32 0, i32 0
- %t488 = load ptr, ptr %t487
- %t489 = call ptr @fn_str_concat(ptr @.str8559, ptr %t488)
- %t490 = call ptr @fn_str_concat(ptr %t489, ptr @.str8560)
- %t491 = call ptr @fn_emit_bind(ptr %t490)
- %t492 = call ptr @fn_val(ptr %t491, ptr @.str8561)
+ %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 @.str8597, 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 %t440
- %t494 = getelementptr inbounds %Cmp_Val, ptr %t493, i32 0, i32 0
+ %t493 = load ptr, ptr %t0
+ %t494 = getelementptr inbounds %Cmp_Node, ptr %t493, i32 0, i32 1
%t495 = load ptr, ptr %t494
- %t496 = call ptr @fn_str_concat(ptr @.str8562, ptr %t495)
- %t497 = call ptr @fn_str_concat(ptr %t496, ptr @.str8563)
- %t498 = call ptr @fn_emit_bind(ptr %t497)
- store ptr %t498, ptr %t499
+ %t496 = call i32 @lp_str_eq(ptr %t495, ptr @.str8598)
+ %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 @fn_str_concat(ptr @.str8564, ptr %t500)
- %t502 = call ptr @fn_str_concat(ptr %t501, ptr @.str8565)
+ %t501 = call ptr @lp_str_concat(ptr @.str8599, ptr %t500)
+ %t502 = call ptr @lp_str_concat(ptr %t501, ptr @.str8600)
%t503 = call ptr @fn_emit_bind(ptr %t502)
- %t504 = call ptr @fn_val(ptr %t503, ptr @.str8566)
- store ptr %t504, ptr %retval
+ %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
-ifend105:
- call void @fn_perr(ptr @.str8567)
- %t505 = call ptr @fn_val(ptr @.str8568, ptr @.str8569)
- store ptr %t505, ptr %retval
+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 @.str8601, ptr %t511)
+ %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str8602)
+ %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 @.str8603, ptr %t516)
+ %t518 = call ptr @lp_str_concat(ptr %t517, ptr @.str8604)
+ %t519 = call ptr @fn_emit_bind(ptr %t518)
+ %t520 = call ptr @fn_val(ptr %t519, ptr @.str8605)
+ store ptr %t520, ptr %retval
+ br label %ret
+ifend108:
+ call void @fn_perr(ptr @.str8606)
+ %t521 = call ptr @fn_val(ptr @.str8607, ptr @.str8608)
+ store ptr %t521, ptr %retval
br label %ret
ret:
- %t506 = load ptr, ptr %retval
- ret ptr %t506
+ %t522 = load ptr, ptr %retval
+ ret ptr %t522
}
define void @fn_emit_block(ptr %arg_b) {
@@ -90071,21 +90837,35 @@ entry:
store ptr %arg_lt, ptr %t0
store ptr %arg_v, ptr %t1
store ptr %arg_addr, ptr %t2
- call void @fn_emit(ptr @.str8570)
+ call void @fn_emit(ptr @.str8609)
%t3 = load ptr, ptr %t0
call void @fn_emit(ptr %t3)
- call void @fn_emit(ptr @.str8571)
+ call void @fn_emit(ptr @.str8610)
%t4 = load ptr, ptr %t1
call void @fn_emit(ptr %t4)
- call void @fn_emit(ptr @.str8572)
+ call void @fn_emit(ptr @.str8611)
%t5 = load ptr, ptr %t2
call void @fn_emit(ptr %t5)
- call void @fn_emit(ptr @.str8573)
+ call void @fn_emit(ptr @.str8612)
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
@@ -90096,16 +90876,15 @@ entry:
%t57 = alloca ptr
%t93 = alloca ptr
%t98 = alloca ptr
- %t102 = alloca ptr
- %t123 = alloca ptr
- %t124 = 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 @.str8574, ptr %t5
- store ptr @.str8575, ptr %t6
+ store ptr @.str8613, ptr %t5
+ store ptr @.str8614, ptr %t6
%t7 = load ptr, ptr %t4
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0
%t9 = load i32, ptr %t8
@@ -90139,13 +90918,13 @@ then6:
%t31 = load ptr, ptr %t4
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1
%t33 = load ptr, ptr %t32
- %t34 = call ptr @fn_str_concat(ptr @.str8576, ptr %t33)
- %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str8577)
+ %t34 = call ptr @lp_str_concat(ptr @.str8615, ptr %t33)
+ %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str8616)
%t36 = load ptr, ptr %t0
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 8
%t38 = load i32, ptr %t37
%t39 = call ptr @fn_itoa(i32 %t38)
- %t40 = call ptr @fn_str_concat(ptr %t35, ptr %t39)
+ %t40 = call ptr @lp_str_concat(ptr %t35, ptr %t39)
call void @fn_perr(ptr %t40)
br label %ifend8
ifend8:
@@ -90179,14 +90958,14 @@ then9:
%t62 = load ptr, ptr %t4
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1
%t64 = load ptr, ptr %t63
- %t65 = call ptr @fn_str_concat(ptr @.str8578, ptr %t64)
+ %t65 = call ptr @lp_str_concat(ptr @.str8617, ptr %t64)
call void @fn_perr(ptr %t65)
br label %ifend11
ifend11:
%t66 = load ptr, ptr %t4
%t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1
%t68 = load ptr, ptr %t67
- %t69 = call ptr @fn_str_concat(ptr @.str8579, ptr %t68)
+ %t69 = call ptr @lp_str_concat(ptr @.str8618, ptr %t68)
store ptr %t69, ptr %t5
%t70 = load ptr, ptr %t57
%t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 3
@@ -90226,7 +91005,7 @@ then15:
store ptr %t90, ptr %t6
br label %ifend17
else16:
- call void @fn_perr(ptr @.str8580)
+ call void @fn_perr(ptr @.str8619)
br label %ifend17
ifend17:
br label %ifend14
@@ -90241,87 +91020,54 @@ ifend2:
%t96 = load ptr, ptr %t95
%t97 = call ptr @fn_emit_expr(ptr %t96)
store ptr %t97, ptr %t98
- %t99 = load ptr, ptr %t98
- %t100 = load ptr, ptr %t6
- %t101 = call ptr @fn_coerce_code(ptr %t99, ptr %t100)
- store ptr %t101, ptr %t102
- %t103 = load ptr, ptr %t93
- %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str8581)
+ %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 @.str8620)
+ %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 %t102
- %t107 = call ptr @fn_str_concat(ptr @.str8582, ptr %t106)
- %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str8583)
- %t109 = call ptr @fn_emit_bind(ptr %t108)
- store ptr %t109, ptr %t102
+ %t106 = load ptr, ptr %t93
+ %t107 = call ptr @lp_str_concat(ptr @.str8621, ptr %t106)
+ %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str8622)
+ %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:
- %t110 = load ptr, ptr %t0
- %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1
- %t112 = load ptr, ptr %t111
- %t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str8584)
- %t114 = icmp eq i32 %t113, 0
- %t115 = zext i1 %t114 to i32
- %t116 = icmp ne i32 %t115, 0
- br i1 %t116, label %then21, label %ifend23
+ %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 @.str8623)
+ %t128 = icmp ne i32 %t127, 0
+ br i1 %t128, label %then21, label %ifend23
then21:
- %t117 = load ptr, ptr %t93
- %t118 = call ptr @fn_str_concat(ptr @.str8585, ptr %t117)
- %t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str8586)
- %t120 = load ptr, ptr %t5
- %t121 = call ptr @fn_str_concat(ptr %t119, ptr %t120)
- %t122 = call ptr @fn_emit_bind(ptr %t121)
- store ptr %t122, ptr %t123
- store ptr @.str8587, ptr %t124
- %t125 = load ptr, ptr %t0
- %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1
- %t127 = load ptr, ptr %t126
- %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str8588)
- %t129 = icmp ne i32 %t128, 0
- br i1 %t129, label %then24, label %ifend26
-then24:
- store ptr @.str8589, ptr %t124
- br label %ifend26
-ifend26:
- %t130 = load ptr, ptr %t0
- %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 1
- %t132 = load ptr, ptr %t131
- %t133 = call i32 @fn_str_eq(ptr %t132, ptr @.str8590)
- %t134 = icmp ne i32 %t133, 0
- br i1 %t134, label %then27, label %ifend29
-then27:
- store ptr @.str8591, ptr %t124
- br label %ifend29
-ifend29:
- %t135 = load ptr, ptr %t0
- %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1
- %t137 = load ptr, ptr %t136
- %t138 = call i32 @fn_str_eq(ptr %t137, ptr @.str8592)
- %t139 = icmp ne i32 %t138, 0
- br i1 %t139, label %then30, label %ifend32
-then30:
- store ptr @.str8593, ptr %t124
- br label %ifend32
-ifend32:
- %t140 = load ptr, ptr %t124
- %t141 = call ptr @fn_str_concat(ptr %t140, ptr @.str8594)
- %t142 = load ptr, ptr %t93
- %t143 = call ptr @fn_str_concat(ptr %t141, ptr %t142)
- %t144 = call ptr @fn_str_concat(ptr %t143, ptr @.str8595)
- %t145 = load ptr, ptr %t123
- %t146 = call ptr @fn_str_concat(ptr %t144, ptr %t145)
- %t147 = call ptr @fn_str_concat(ptr %t146, ptr @.str8596)
- %t148 = load ptr, ptr %t102
- %t149 = call ptr @fn_str_concat(ptr %t147, ptr %t148)
- %t150 = call ptr @fn_emit_bind(ptr %t149)
- store ptr %t150, ptr %t102
+ %t129 = load ptr, ptr %t125
+ %t130 = call ptr @lp_str_concat(ptr @.str8624, ptr %t129)
+ %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str8625)
+ %t132 = call ptr @fn_emit_bind(ptr %t131)
+ store ptr %t132, ptr %t125
br label %ifend23
ifend23:
- %t151 = load ptr, ptr %t93
- %t152 = load ptr, ptr %t102
- %t153 = load ptr, ptr %t5
- call void @fn_store_at(ptr %t151, ptr %t152, ptr %t153)
+ %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
@@ -90345,8 +91091,8 @@ entry:
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0
%t8 = load ptr, ptr %t7
- %t9 = call ptr @fn_str_concat(ptr @.str8597, ptr %t8)
- %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str8598)
+ %t9 = call ptr @lp_str_concat(ptr @.str8626, ptr %t8)
+ %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str8627)
%t11 = call ptr @fn_emit_bind(ptr %t10)
store ptr %t11, ptr %t12
%t13 = load ptr, ptr %t0
@@ -90355,43 +91101,43 @@ entry:
%t16 = icmp ne ptr %t15, null
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t18
- %t19 = call ptr @fn_lbl(ptr @.str8599)
+ %t19 = call ptr @fn_lbl(ptr @.str8628)
store ptr %t19, ptr %t20
- %t21 = call ptr @fn_lbl(ptr @.str8600)
+ %t21 = call ptr @fn_lbl(ptr @.str8629)
store ptr %t21, ptr %t22
- %t23 = call ptr @fn_lbl(ptr @.str8601)
+ %t23 = call ptr @fn_lbl(ptr @.str8630)
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 @.str8602)
+ call void @fn_emit(ptr @.str8631)
%t27 = load ptr, ptr %t12
call void @fn_emit(ptr %t27)
- call void @fn_emit(ptr @.str8603)
+ call void @fn_emit(ptr @.str8632)
%t28 = load ptr, ptr %t20
call void @fn_emit(ptr %t28)
- call void @fn_emit(ptr @.str8604)
+ call void @fn_emit(ptr @.str8633)
%t29 = load ptr, ptr %t22
call void @fn_emit(ptr %t29)
- call void @fn_emit(ptr @.str8605)
+ call void @fn_emit(ptr @.str8634)
br label %ifend2
else1:
- call void @fn_emit(ptr @.str8606)
+ call void @fn_emit(ptr @.str8635)
%t30 = load ptr, ptr %t12
call void @fn_emit(ptr %t30)
- call void @fn_emit(ptr @.str8607)
+ call void @fn_emit(ptr @.str8636)
%t31 = load ptr, ptr %t20
call void @fn_emit(ptr %t31)
- call void @fn_emit(ptr @.str8608)
+ call void @fn_emit(ptr @.str8637)
%t32 = load ptr, ptr %t24
call void @fn_emit(ptr %t32)
- call void @fn_emit(ptr @.str8609)
+ call void @fn_emit(ptr @.str8638)
br label %ifend2
ifend2:
%t33 = load ptr, ptr %t20
call void @fn_emit(ptr %t33)
- call void @fn_emit(ptr @.str8610)
+ call void @fn_emit(ptr @.str8639)
store i32 0, ptr @g_g_term
%t34 = load ptr, ptr %t0
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 5
@@ -90403,10 +91149,10 @@ ifend2:
%t40 = icmp ne i32 %t39, 0
br i1 %t40, label %then3, label %ifend5
then3:
- call void @fn_emit(ptr @.str8611)
+ call void @fn_emit(ptr @.str8640)
%t41 = load ptr, ptr %t24
call void @fn_emit(ptr %t41)
- call void @fn_emit(ptr @.str8612)
+ call void @fn_emit(ptr @.str8641)
br label %ifend5
ifend5:
%t42 = load i32, ptr %t18
@@ -90415,7 +91161,7 @@ ifend5:
then6:
%t44 = load ptr, ptr %t22
call void @fn_emit(ptr %t44)
- call void @fn_emit(ptr @.str8613)
+ call void @fn_emit(ptr @.str8642)
store i32 0, ptr @g_g_term
%t45 = load ptr, ptr %t0
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 6
@@ -90445,17 +91191,17 @@ ifend11:
%t62 = icmp ne i32 %t61, 0
br i1 %t62, label %then12, label %ifend14
then12:
- call void @fn_emit(ptr @.str8614)
+ call void @fn_emit(ptr @.str8643)
%t63 = load ptr, ptr %t24
call void @fn_emit(ptr %t63)
- call void @fn_emit(ptr @.str8615)
+ call void @fn_emit(ptr @.str8644)
br label %ifend14
ifend14:
br label %ifend8
ifend8:
%t64 = load ptr, ptr %t24
call void @fn_emit(ptr %t64)
- call void @fn_emit(ptr @.str8616)
+ call void @fn_emit(ptr @.str8645)
store i32 0, ptr @g_g_term
br label %ret
ret:
@@ -90471,19 +91217,19 @@ entry:
%t13 = alloca ptr
%t20 = alloca ptr
store ptr %arg_st, ptr %t0
- %t1 = call ptr @fn_lbl(ptr @.str8617)
+ %t1 = call ptr @fn_lbl(ptr @.str8646)
store ptr %t1, ptr %t2
- %t3 = call ptr @fn_lbl(ptr @.str8618)
+ %t3 = call ptr @fn_lbl(ptr @.str8647)
store ptr %t3, ptr %t4
- %t5 = call ptr @fn_lbl(ptr @.str8619)
+ %t5 = call ptr @fn_lbl(ptr @.str8648)
store ptr %t5, ptr %t6
- call void @fn_emit(ptr @.str8620)
+ call void @fn_emit(ptr @.str8649)
%t7 = load ptr, ptr %t2
call void @fn_emit(ptr %t7)
- call void @fn_emit(ptr @.str8621)
+ call void @fn_emit(ptr @.str8650)
%t8 = load ptr, ptr %t2
call void @fn_emit(ptr %t8)
- call void @fn_emit(ptr @.str8622)
+ call void @fn_emit(ptr @.str8651)
%t9 = load ptr, ptr %t0
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4
%t11 = load ptr, ptr %t10
@@ -90492,23 +91238,23 @@ entry:
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
- %t17 = call ptr @fn_str_concat(ptr @.str8623, ptr %t16)
- %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str8624)
+ %t17 = call ptr @lp_str_concat(ptr @.str8652, ptr %t16)
+ %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str8653)
%t19 = call ptr @fn_emit_bind(ptr %t18)
store ptr %t19, ptr %t20
- call void @fn_emit(ptr @.str8625)
+ call void @fn_emit(ptr @.str8654)
%t21 = load ptr, ptr %t20
call void @fn_emit(ptr %t21)
- call void @fn_emit(ptr @.str8626)
+ call void @fn_emit(ptr @.str8655)
%t22 = load ptr, ptr %t4
call void @fn_emit(ptr %t22)
- call void @fn_emit(ptr @.str8627)
+ call void @fn_emit(ptr @.str8656)
%t23 = load ptr, ptr %t6
call void @fn_emit(ptr %t23)
- call void @fn_emit(ptr @.str8628)
+ call void @fn_emit(ptr @.str8657)
%t24 = load ptr, ptr %t4
call void @fn_emit(ptr %t24)
- call void @fn_emit(ptr @.str8629)
+ call void @fn_emit(ptr @.str8658)
store i32 0, ptr @g_g_term
%t25 = load ptr, ptr %t2
%t26 = load ptr, ptr %t6
@@ -90524,15 +91270,15 @@ entry:
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then0, label %ifend2
then0:
- call void @fn_emit(ptr @.str8630)
+ call void @fn_emit(ptr @.str8659)
%t34 = load ptr, ptr %t2
call void @fn_emit(ptr %t34)
- call void @fn_emit(ptr @.str8631)
+ call void @fn_emit(ptr @.str8660)
br label %ifend2
ifend2:
%t35 = load ptr, ptr %t6
call void @fn_emit(ptr %t35)
- call void @fn_emit(ptr @.str8632)
+ call void @fn_emit(ptr @.str8661)
store i32 0, ptr @g_g_term
br label %ret
ret:
@@ -90554,7 +91300,7 @@ entry:
%t62 = alloca ptr
%t67 = alloca ptr
store ptr %arg_st, ptr %t0
- %t1 = call ptr @fn_emit_alloca(ptr @.str8633)
+ %t1 = call ptr @fn_emit_alloca(ptr @.str8662)
store ptr %t1, ptr %t2
%t3 = load ptr, ptr %t0
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4
@@ -90565,29 +91311,29 @@ entry:
%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 @.str8634, ptr %t10, ptr %t11)
+ call void @fn_store_at(ptr @.str8663, 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 @.str8635)
- %t16 = call ptr @fn_lbl(ptr @.str8636)
+ call void @fn_loc_push(ptr %t14, ptr %t15, ptr @.str8664)
+ %t16 = call ptr @fn_lbl(ptr @.str8665)
store ptr %t16, ptr %t17
- %t18 = call ptr @fn_lbl(ptr @.str8637)
+ %t18 = call ptr @fn_lbl(ptr @.str8666)
store ptr %t18, ptr %t19
- %t20 = call ptr @fn_lbl(ptr @.str8638)
+ %t20 = call ptr @fn_lbl(ptr @.str8667)
store ptr %t20, ptr %t21
- %t22 = call ptr @fn_lbl(ptr @.str8639)
+ %t22 = call ptr @fn_lbl(ptr @.str8668)
store ptr %t22, ptr %t23
- call void @fn_emit(ptr @.str8640)
+ call void @fn_emit(ptr @.str8669)
%t24 = load ptr, ptr %t17
call void @fn_emit(ptr %t24)
- call void @fn_emit(ptr @.str8641)
+ call void @fn_emit(ptr @.str8670)
%t25 = load ptr, ptr %t17
call void @fn_emit(ptr %t25)
- call void @fn_emit(ptr @.str8642)
+ call void @fn_emit(ptr @.str8671)
%t26 = load ptr, ptr %t2
- %t27 = call ptr @fn_str_concat(ptr @.str8643, ptr %t26)
+ %t27 = call ptr @lp_str_concat(ptr @.str8672, ptr %t26)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t0
@@ -90596,27 +91342,27 @@ entry:
%t33 = call ptr @fn_emit_expr(ptr %t32)
store ptr %t33, ptr %t34
%t35 = load ptr, ptr %t29
- %t36 = call ptr @fn_str_concat(ptr @.str8644, ptr %t35)
- %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str8645)
+ %t36 = call ptr @lp_str_concat(ptr @.str8673, ptr %t35)
+ %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str8674)
%t38 = load ptr, ptr %t34
%t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0
%t40 = load ptr, ptr %t39
- %t41 = call ptr @fn_str_concat(ptr %t37, ptr %t40)
+ %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 @.str8646)
+ call void @fn_emit(ptr @.str8675)
%t44 = load ptr, ptr %t43
call void @fn_emit(ptr %t44)
- call void @fn_emit(ptr @.str8647)
+ call void @fn_emit(ptr @.str8676)
%t45 = load ptr, ptr %t19
call void @fn_emit(ptr %t45)
- call void @fn_emit(ptr @.str8648)
+ call void @fn_emit(ptr @.str8677)
%t46 = load ptr, ptr %t23
call void @fn_emit(ptr %t46)
- call void @fn_emit(ptr @.str8649)
+ call void @fn_emit(ptr @.str8678)
%t47 = load ptr, ptr %t19
call void @fn_emit(ptr %t47)
- call void @fn_emit(ptr @.str8650)
+ call void @fn_emit(ptr @.str8679)
store i32 0, ptr @g_g_term
%t48 = load ptr, ptr %t21
%t49 = load ptr, ptr %t23
@@ -90632,34 +91378,34 @@ entry:
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %then0, label %ifend2
then0:
- call void @fn_emit(ptr @.str8651)
+ call void @fn_emit(ptr @.str8680)
%t57 = load ptr, ptr %t21
call void @fn_emit(ptr %t57)
- call void @fn_emit(ptr @.str8652)
+ call void @fn_emit(ptr @.str8681)
br label %ifend2
ifend2:
%t58 = load ptr, ptr %t21
call void @fn_emit(ptr %t58)
- call void @fn_emit(ptr @.str8653)
+ call void @fn_emit(ptr @.str8682)
%t59 = load ptr, ptr %t2
- %t60 = call ptr @fn_str_concat(ptr @.str8654, ptr %t59)
+ %t60 = call ptr @lp_str_concat(ptr @.str8683, ptr %t59)
%t61 = call ptr @fn_emit_bind(ptr %t60)
store ptr %t61, ptr %t62
%t63 = load ptr, ptr %t62
- %t64 = call ptr @fn_str_concat(ptr @.str8655, ptr %t63)
- %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str8656)
+ %t64 = call ptr @lp_str_concat(ptr @.str8684, ptr %t63)
+ %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str8685)
%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 @.str8657, ptr %t68, ptr %t69)
- call void @fn_emit(ptr @.str8658)
+ call void @fn_store_at(ptr @.str8686, ptr %t68, ptr %t69)
+ call void @fn_emit(ptr @.str8687)
%t70 = load ptr, ptr %t17
call void @fn_emit(ptr %t70)
- call void @fn_emit(ptr @.str8659)
+ call void @fn_emit(ptr @.str8688)
%t71 = load ptr, ptr %t23
call void @fn_emit(ptr %t71)
- call void @fn_emit(ptr @.str8660)
+ call void @fn_emit(ptr @.str8689)
store i32 0, ptr @g_g_term
br label %ret
ret:
@@ -90689,10 +91435,10 @@ then0:
%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 @.str8661)
+ call void @fn_store_at(ptr %t13, ptr %t16, ptr @.str8690)
br label %ifend2
ifend2:
- call void @fn_emit(ptr @.str8662)
+ call void @fn_emit(ptr @.str8691)
store i32 1, ptr @g_g_term
br label %ret
ret:
@@ -90747,7 +91493,7 @@ sc3:
%t33 = load ptr, ptr %t32
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1
%t35 = load ptr, ptr %t34
- %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str8663)
+ %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str8692)
%t37 = icmp ne i32 %t36, 0
%t38 = zext i1 %t37 to i32
store i32 %t38, ptr %t11
@@ -90825,23 +91571,23 @@ then0:
%t35 = load ptr, ptr %t34
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1
%t37 = load ptr, ptr %t36
- %t38 = call ptr @fn_str_concat(ptr @.str8664, ptr %t37)
- %t39 = call ptr @fn_str_concat(ptr %t38, ptr @.str8665)
+ %t38 = call ptr @lp_str_concat(ptr @.str8693, ptr %t37)
+ %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str8694)
%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 @fn_str_concat(ptr %t39, ptr %t45)
- %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str8666)
+ %t46 = call ptr @lp_str_concat(ptr %t39, ptr %t45)
+ %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str8695)
%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 @fn_str_concat(ptr %t47, ptr %t53)
+ %t54 = call ptr @lp_str_concat(ptr %t47, ptr %t53)
call void @fn_perr(ptr %t54)
br label %ifend2
ifend2:
@@ -90881,12 +91627,12 @@ then6:
%t82 = load ptr, ptr %t81
%t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 1
%t84 = load ptr, ptr %t83
- %t85 = call ptr @fn_str_concat(ptr @.str8667, ptr %t84)
- %t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str8668)
+ %t85 = call ptr @lp_str_concat(ptr @.str8696, ptr %t84)
+ %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str8697)
%t87 = load i32, ptr %t55
%t88 = call ptr @fn_itoa(i32 %t87)
- %t89 = call ptr @fn_str_concat(ptr %t86, ptr %t88)
- %t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str8669)
+ %t89 = call ptr @lp_str_concat(ptr %t86, ptr %t88)
+ %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str8698)
call void @fn_perr(ptr %t90)
br label %ifend8
ifend8:
@@ -90906,26 +91652,26 @@ ifend8:
store ptr %t103, ptr %t104
%t105 = call ptr @fn_nreg()
store ptr %t105, ptr %t106
- call void @fn_emit(ptr @.str8670)
+ call void @fn_emit(ptr @.str8699)
%t107 = load ptr, ptr %t106
call void @fn_emit(ptr %t107)
- call void @fn_emit(ptr @.str8671)
+ call void @fn_emit(ptr @.str8700)
%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 @.str8672)
+ call void @fn_emit(ptr @.str8701)
%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 @.str8673)
+ call void @fn_emit(ptr @.str8702)
%t115 = load ptr, ptr %t104
- %t116 = call ptr @fn_str_concat(ptr @.str8674, ptr %t115)
- %t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str8675)
+ %t116 = call ptr @lp_str_concat(ptr @.str8703, ptr %t115)
+ %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str8704)
%t118 = load ptr, ptr %t106
- %t119 = call ptr @fn_str_concat(ptr %t117, ptr %t118)
+ %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
@@ -90988,10 +91734,10 @@ entry:
%t3 = load ptr, ptr %t1
%t4 = getelementptr inbounds %Cmp_Val, ptr %t3, i32 0, i32 0
%t5 = load ptr, ptr %t4
- %t6 = call ptr @fn_str_concat(ptr @.str8676, ptr %t5)
+ %t6 = call ptr @lp_str_concat(ptr @.str8705, ptr %t5)
%t7 = call ptr @fn_emit_bind(ptr %t6)
store ptr %t7, ptr %t8
- %t9 = call ptr @fn_lbl(ptr @.str8677)
+ %t9 = call ptr @fn_lbl(ptr @.str8706)
store ptr %t9, ptr %t10
store ptr null, ptr %t11
store i32 0, ptr %t12
@@ -91027,7 +91773,7 @@ then3:
store ptr %t35, ptr %t11
br label %ifend5
else4:
- store ptr @.str8678, ptr %t36
+ store ptr @.str8707, ptr %t36
store i32 1, ptr %t37
store ptr null, ptr %t38
store i32 0, ptr %t39
@@ -91086,12 +91832,12 @@ ifend11:
br i1 %t81, label %then12, label %ifend14
then12:
%t82 = load ptr, ptr %t61
- %t83 = call ptr @fn_str_concat(ptr @.str8679, ptr %t82)
- %t84 = call ptr @fn_str_concat(ptr %t83, ptr @.str8680)
+ %t83 = call ptr @lp_str_concat(ptr @.str8708, ptr %t82)
+ %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str8709)
%t85 = load ptr, ptr %t2
%t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1
%t87 = load ptr, ptr %t86
- %t88 = call ptr @fn_str_concat(ptr %t84, ptr %t87)
+ %t88 = call ptr @lp_str_concat(ptr %t84, ptr %t87)
call void @fn_perr(ptr %t88)
br label %ifend14
ifend14:
@@ -91101,11 +91847,11 @@ ifend14:
%t92 = or i32 %t89, %t91
store i32 %t92, ptr %t12
%t93 = load ptr, ptr %t8
- %t94 = call ptr @fn_str_concat(ptr @.str8681, ptr %t93)
- %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str8682)
+ %t94 = call ptr @lp_str_concat(ptr @.str8710, ptr %t93)
+ %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str8711)
%t96 = load i32, ptr %t77
%t97 = call ptr @fn_itoa(i32 %t96)
- %t98 = call ptr @fn_str_concat(ptr %t95, ptr %t97)
+ %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
@@ -91118,10 +91864,10 @@ then15:
br label %ifend17
else16:
%t104 = load ptr, ptr %t36
- %t105 = call ptr @fn_str_concat(ptr @.str8683, ptr %t104)
- %t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str8684)
+ %t105 = call ptr @lp_str_concat(ptr @.str8712, ptr %t104)
+ %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str8713)
%t107 = load ptr, ptr %t100
- %t108 = call ptr @fn_str_concat(ptr %t106, ptr %t107)
+ %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
@@ -91131,23 +91877,23 @@ ifend17:
store i32 %t111, ptr %t39
br label %wcond6
wend8:
- %t112 = call ptr @fn_lbl(ptr @.str8685)
+ %t112 = call ptr @fn_lbl(ptr @.str8714)
store ptr %t112, ptr %t113
- %t114 = call ptr @fn_lbl(ptr @.str8686)
+ %t114 = call ptr @fn_lbl(ptr @.str8715)
store ptr %t114, ptr %t115
- call void @fn_emit(ptr @.str8687)
+ call void @fn_emit(ptr @.str8716)
%t116 = load ptr, ptr %t36
call void @fn_emit(ptr %t116)
- call void @fn_emit(ptr @.str8688)
+ call void @fn_emit(ptr @.str8717)
%t117 = load ptr, ptr %t113
call void @fn_emit(ptr %t117)
- call void @fn_emit(ptr @.str8689)
+ call void @fn_emit(ptr @.str8718)
%t118 = load ptr, ptr %t115
call void @fn_emit(ptr %t118)
- call void @fn_emit(ptr @.str8690)
+ call void @fn_emit(ptr @.str8719)
%t119 = load ptr, ptr %t113
call void @fn_emit(ptr %t119)
- call void @fn_emit(ptr @.str8691)
+ call void @fn_emit(ptr @.str8720)
store i32 0, ptr @g_g_term
%t120 = load i32, ptr @g_nloc
store i32 %t120, ptr %t121
@@ -91175,15 +91921,15 @@ ifend20:
%t136 = icmp ne i32 %t135, 0
br i1 %t136, label %then21, label %ifend23
then21:
- call void @fn_emit(ptr @.str8692)
+ call void @fn_emit(ptr @.str8721)
%t137 = load ptr, ptr %t10
call void @fn_emit(ptr %t137)
- call void @fn_emit(ptr @.str8693)
+ call void @fn_emit(ptr @.str8722)
br label %ifend23
ifend23:
%t138 = load ptr, ptr %t115
call void @fn_emit(ptr %t138)
- call void @fn_emit(ptr @.str8694)
+ call void @fn_emit(ptr @.str8723)
store i32 0, ptr @g_g_term
br label %ifend5
ifend5:
@@ -91247,8 +91993,8 @@ 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 @fn_str_concat(ptr @.str8695, ptr %t182)
- %t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str8696)
+ %t183 = call ptr @lp_str_concat(ptr @.str8724, ptr %t182)
+ %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str8725)
%t185 = load ptr, ptr %t2
%t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 7
%t187 = load ptr, ptr %t186
@@ -91259,8 +92005,8 @@ then33:
%t192 = load ptr, ptr %t191
%t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 1
%t194 = load ptr, ptr %t193
- %t195 = call ptr @fn_str_concat(ptr %t184, ptr %t194)
- %t196 = call ptr @fn_str_concat(ptr %t195, ptr @.str8697)
+ %t195 = call ptr @lp_str_concat(ptr %t184, ptr %t194)
+ %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str8726)
call void @fn_perr(ptr %t196)
br label %ifend35
ifend35:
@@ -91279,15 +92025,15 @@ ifend26:
%t202 = icmp ne i32 %t201, 0
br i1 %t202, label %then36, label %ifend38
then36:
- call void @fn_emit(ptr @.str8698)
+ call void @fn_emit(ptr @.str8727)
%t203 = load ptr, ptr %t10
call void @fn_emit(ptr %t203)
- call void @fn_emit(ptr @.str8699)
+ call void @fn_emit(ptr @.str8728)
br label %ifend38
ifend38:
%t204 = load ptr, ptr %t10
call void @fn_emit(ptr %t204)
- call void @fn_emit(ptr @.str8700)
+ call void @fn_emit(ptr @.str8729)
store i32 0, ptr @g_g_term
br label %ret
ret:
@@ -91333,7 +92079,7 @@ then0:
call void @fn_emit_match_tagged(ptr %t15, ptr %t16, ptr %t17)
br label %ret
ifend2:
- %t18 = call ptr @fn_lbl(ptr @.str8701)
+ %t18 = call ptr @fn_lbl(ptr @.str8730)
store ptr %t18, ptr %t19
store ptr null, ptr %t20
store i32 0, ptr %t21
@@ -91368,7 +92114,7 @@ then6:
store ptr %t43, ptr %t20
br label %ifend8
else7:
- store ptr @.str8702, ptr %t44
+ store ptr @.str8731, ptr %t44
store i32 1, ptr %t45
store i32 0, ptr %t46
br label %wcond9
@@ -91397,12 +92143,12 @@ wbody10:
%t66 = load ptr, ptr %t5
%t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0
%t68 = load ptr, ptr %t67
- %t69 = call ptr @fn_str_concat(ptr @.str8703, ptr %t68)
- %t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str8704)
+ %t69 = call ptr @lp_str_concat(ptr @.str8732, ptr %t68)
+ %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str8733)
%t71 = load ptr, ptr %t65
%t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 0
%t73 = load ptr, ptr %t72
- %t74 = call ptr @fn_str_concat(ptr %t70, ptr %t73)
+ %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
@@ -91415,10 +92161,10 @@ then12:
br label %ifend14
else13:
%t80 = load ptr, ptr %t44
- %t81 = call ptr @fn_str_concat(ptr @.str8705, ptr %t80)
- %t82 = call ptr @fn_str_concat(ptr %t81, ptr @.str8706)
+ %t81 = call ptr @lp_str_concat(ptr @.str8734, ptr %t80)
+ %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str8735)
%t83 = load ptr, ptr %t76
- %t84 = call ptr @fn_str_concat(ptr %t82, ptr %t83)
+ %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
@@ -91428,23 +92174,23 @@ ifend14:
store i32 %t87, ptr %t46
br label %wcond9
wend11:
- %t88 = call ptr @fn_lbl(ptr @.str8707)
+ %t88 = call ptr @fn_lbl(ptr @.str8736)
store ptr %t88, ptr %t89
- %t90 = call ptr @fn_lbl(ptr @.str8708)
+ %t90 = call ptr @fn_lbl(ptr @.str8737)
store ptr %t90, ptr %t91
- call void @fn_emit(ptr @.str8709)
+ call void @fn_emit(ptr @.str8738)
%t92 = load ptr, ptr %t44
call void @fn_emit(ptr %t92)
- call void @fn_emit(ptr @.str8710)
+ call void @fn_emit(ptr @.str8739)
%t93 = load ptr, ptr %t89
call void @fn_emit(ptr %t93)
- call void @fn_emit(ptr @.str8711)
+ call void @fn_emit(ptr @.str8740)
%t94 = load ptr, ptr %t91
call void @fn_emit(ptr %t94)
- call void @fn_emit(ptr @.str8712)
+ call void @fn_emit(ptr @.str8741)
%t95 = load ptr, ptr %t89
call void @fn_emit(ptr %t95)
- call void @fn_emit(ptr @.str8713)
+ call void @fn_emit(ptr @.str8742)
store i32 0, ptr @g_g_term
%t96 = load ptr, ptr %t39
%t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 4
@@ -91456,15 +92202,15 @@ wend11:
%t102 = icmp ne i32 %t101, 0
br i1 %t102, label %then15, label %ifend17
then15:
- call void @fn_emit(ptr @.str8714)
+ call void @fn_emit(ptr @.str8743)
%t103 = load ptr, ptr %t19
call void @fn_emit(ptr %t103)
- call void @fn_emit(ptr @.str8715)
+ call void @fn_emit(ptr @.str8744)
br label %ifend17
ifend17:
%t104 = load ptr, ptr %t91
call void @fn_emit(ptr %t104)
- call void @fn_emit(ptr @.str8716)
+ call void @fn_emit(ptr @.str8745)
store i32 0, ptr @g_g_term
br label %ifend8
ifend8:
@@ -91491,15 +92237,15 @@ ifend20:
%t117 = icmp ne i32 %t116, 0
br i1 %t117, label %then21, label %ifend23
then21:
- call void @fn_emit(ptr @.str8717)
+ call void @fn_emit(ptr @.str8746)
%t118 = load ptr, ptr %t19
call void @fn_emit(ptr %t118)
- call void @fn_emit(ptr @.str8718)
+ call void @fn_emit(ptr @.str8747)
br label %ifend23
ifend23:
%t119 = load ptr, ptr %t19
call void @fn_emit(ptr %t119)
- call void @fn_emit(ptr @.str8719)
+ call void @fn_emit(ptr @.str8748)
store i32 0, ptr @g_g_term
br label %ret
ret:
@@ -91544,7 +92290,7 @@ then0:
%t10 = load ptr, ptr %t0
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 1
%t12 = load ptr, ptr %t11
- %t13 = call ptr @fn_str_concat(ptr @.str8720, ptr %t12)
+ %t13 = call ptr @lp_str_concat(ptr @.str8749, ptr %t12)
call void @fn_perr(ptr %t13)
br label %ifend2
ifend2:
@@ -91623,7 +92369,7 @@ wbody7:
%t72 = load ptr, ptr %t46
%t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1
%t74 = load ptr, ptr %t73
- %t75 = call i32 @fn_str_eq(ptr %t71, ptr %t74)
+ %t75 = call i32 @lp_str_eq(ptr %t71, ptr %t74)
%t76 = icmp ne i32 %t75, 0
br i1 %t76, label %then9, label %ifend11
then9:
@@ -91652,13 +92398,13 @@ wend8:
%t93 = load ptr, ptr %t92
%t94 = call ptr @fn_llty(ptr %t93)
store ptr %t94, ptr %t95
- store ptr @.str8721, ptr %t96
+ store ptr @.str8750, ptr %t96
%t97 = load ptr, ptr %t95
- %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str8722)
+ %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str8751)
%t99 = icmp ne i32 %t98, 0
br i1 %t99, label %then12, label %ifend14
then12:
- store ptr @.str8723, ptr %t96
+ store ptr @.str8752, ptr %t96
br label %ifend14
ifend14:
%t100 = load ptr, ptr %t47
@@ -91698,61 +92444,61 @@ ifend20:
br label %ifend17
ifend17:
%t124 = load ptr, ptr %t20
- %t125 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 1
- %t126 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 2
- %t127 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 0
- %t128 = load i32, ptr %t125
+ %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 = icmp sge i32 %t128, %t129
- br i1 %t130, label %grow21, label %put22
+ %t130 = load i32, ptr %t127
+ %t131 = icmp sge i32 %t129, %t130
+ br i1 %t131, label %grow21, label %put22
grow21:
- %t131 = mul i32 %t129, 2
- %t132 = icmp eq i32 %t129, 0
- %t133 = select i1 %t132, i32 8, i32 %t131
- %t134 = getelementptr ptr, ptr null, i32 1
- %t135 = ptrtoint ptr %t134 to i64
- %t136 = zext i32 %t133 to i64
- %t137 = mul i64 %t136, %t135
- %t138 = load ptr, ptr %t127
- %t139 = call ptr @realloc(ptr %t138, i64 %t137)
- store ptr %t139, ptr %t127
- store i32 %t133, ptr %t126
+ %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:
- %t140 = load ptr, ptr %t96
- %t141 = load ptr, ptr %t127
- %t142 = getelementptr inbounds ptr, ptr %t141, i32 %t128
- store ptr %t140, ptr %t142
- %t143 = add i32 %t128, 1
- store i32 %t143, ptr %t125
+ %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 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1
- %t146 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 2
- %t147 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0
- %t148 = load i32, ptr %t145
+ %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 = icmp sge i32 %t148, %t149
- br i1 %t150, label %grow23, label %put24
+ %t150 = load i32, ptr %t147
+ %t151 = icmp sge i32 %t149, %t150
+ br i1 %t151, label %grow23, label %put24
grow23:
- %t151 = mul i32 %t149, 2
- %t152 = icmp eq i32 %t149, 0
- %t153 = select i1 %t152, i32 8, i32 %t151
- %t154 = getelementptr ptr, ptr null, i32 1
- %t155 = ptrtoint ptr %t154 to i64
- %t156 = zext i32 %t153 to i64
- %t157 = mul i64 %t156, %t155
- %t158 = load ptr, ptr %t147
- %t159 = call ptr @realloc(ptr %t158, i64 %t157)
- store ptr %t159, ptr %t147
- store i32 %t153, ptr %t146
+ %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:
- %t160 = load ptr, ptr %t95
- %t161 = load ptr, ptr %t147
- %t162 = getelementptr inbounds ptr, ptr %t161, i32 %t148
- store ptr %t160, ptr %t162
- %t163 = add i32 %t148, 1
- store i32 %t163, ptr %t145
+ %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
@@ -91768,21 +92514,21 @@ wend5:
then25:
%t172 = call ptr @fn_nreg()
store ptr %t172, ptr %t173
- call void @fn_emit(ptr @.str8724)
+ call void @fn_emit(ptr @.str8753)
%t174 = load ptr, ptr %t173
call void @fn_emit(ptr %t174)
- call void @fn_emit(ptr @.str8725)
- call void @fn_emit(ptr @.str8726)
+ call void @fn_emit(ptr @.str8754)
+ call void @fn_emit(ptr @.str8755)
%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 @.str8727)
+ call void @fn_emit(ptr @.str8756)
%t180 = load ptr, ptr %t173
call void @fn_emit(ptr %t180)
- call void @fn_emit(ptr @.str8728)
+ call void @fn_emit(ptr @.str8757)
store i32 4, ptr %t181
store i32 0, ptr %t182
br label %wcond28
@@ -91800,15 +92546,15 @@ wcond28:
wbody29:
%t192 = call ptr @fn_nreg()
store ptr %t192, ptr %t193
- call void @fn_emit(ptr @.str8729)
+ call void @fn_emit(ptr @.str8758)
%t194 = load ptr, ptr %t193
call void @fn_emit(ptr %t194)
- call void @fn_emit(ptr @.str8730)
+ call void @fn_emit(ptr @.str8759)
%t195 = load i32, ptr %t181
%t196 = call ptr @fn_itoa(i32 %t195)
call void @fn_emit(ptr %t196)
- call void @fn_emit(ptr @.str8731)
- call void @fn_emit(ptr @.str8732)
+ call void @fn_emit(ptr @.str8760)
+ call void @fn_emit(ptr @.str8761)
%t197 = load ptr, ptr %t27
%t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0
%t199 = load ptr, ptr %t198
@@ -91816,7 +92562,7 @@ wbody29:
%t201 = getelementptr inbounds ptr, ptr %t199, i32 %t200
%t202 = load ptr, ptr %t201
call void @fn_emit(ptr %t202)
- call void @fn_emit(ptr @.str8733)
+ call void @fn_emit(ptr @.str8762)
%t203 = load ptr, ptr %t20
%t204 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0
%t205 = load ptr, ptr %t204
@@ -91824,41 +92570,41 @@ wbody29:
%t207 = getelementptr inbounds ptr, ptr %t205, i32 %t206
%t208 = load ptr, ptr %t207
call void @fn_emit(ptr %t208)
- call void @fn_emit(ptr @.str8734)
+ call void @fn_emit(ptr @.str8763)
%t209 = load ptr, ptr %t193
call void @fn_emit(ptr %t209)
- call void @fn_emit(ptr @.str8735)
- %t210 = load i32, ptr %t181
- %t211 = load ptr, ptr %t5
- %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 7
- %t213 = load ptr, ptr %t212
- %t214 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0
- %t215 = load ptr, ptr %t214
- %t216 = load i32, ptr %t182
- %t217 = getelementptr inbounds ptr, ptr %t215, i32 %t216
- %t218 = load ptr, ptr %t217
- %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 3
- %t220 = load ptr, ptr %t219
- %t221 = call i32 @fn_net_field_ibytes(ptr %t220)
- %t222 = add i32 %t210, %t221
+ call void @fn_emit(ptr @.str8764)
+ %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 @.str8736, ptr %t225
+ store ptr @.str8765, ptr %t225
%t226 = load ptr, ptr %t5
%t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 3
%t228 = load ptr, ptr %t227
- %t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str8737)
+ %t229 = call i32 @lp_str_eq(ptr %t228, ptr @.str8766)
%t230 = icmp ne i32 %t229, 0
br i1 %t230, label %then31, label %ifend33
then31:
- store ptr @.str8738, ptr %t225
+ store ptr @.str8767, ptr %t225
br label %ifend33
ifend33:
- %t231 = call ptr @fn_find_extern(ptr @.str8739)
+ %t231 = call ptr @fn_find_extern(ptr @.str8768)
%t232 = icmp eq ptr %t231, null
%t233 = zext i1 %t232 to i32
%t234 = icmp ne i32 %t233, 0
@@ -91867,18 +92613,18 @@ then34:
store i32 1, ptr @g_g_uses_loopback
br label %ifend36
ifend36:
- call void @fn_emit(ptr @.str8740)
+ call void @fn_emit(ptr @.str8769)
%t235 = call ptr @fn_net_send_sym()
call void @fn_emit(ptr %t235)
- call void @fn_emit(ptr @.str8741)
+ call void @fn_emit(ptr @.str8770)
%t236 = load ptr, ptr %t225
call void @fn_emit(ptr %t236)
- call void @fn_emit(ptr @.str8742)
+ call void @fn_emit(ptr @.str8771)
%t237 = load i32, ptr %t181
%t238 = call ptr @fn_itoa(i32 %t237)
call void @fn_emit(ptr %t238)
- call void @fn_emit(ptr @.str8743)
- %t239 = call ptr @fn_val(ptr @.str8744, ptr @.str8745)
+ call void @fn_emit(ptr @.str8772)
+ %t239 = call ptr @fn_val(ptr @.str8773, ptr @.str8774)
store ptr %t239, ptr %retval
br label %ret
ifend27:
@@ -91903,7 +92649,7 @@ wbody38:
br i1 %t253, label %then40, label %ifend42
then40:
%t254 = load ptr, ptr %t241
- call void @fn_buf_puts(ptr %t254, ptr @.str8746)
+ call void @fn_buf_puts(ptr %t254, ptr @.str8775)
br label %ifend42
ifend42:
%t255 = load ptr, ptr %t241
@@ -91915,7 +92661,7 @@ ifend42:
%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 @.str8747)
+ call void @fn_buf_puts(ptr %t262, ptr @.str8776)
%t263 = load ptr, ptr %t241
%t264 = load ptr, ptr %t20
%t265 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0
@@ -91939,35 +92685,35 @@ wend39:
then43:
%t278 = call ptr @fn_nreg()
store ptr %t278, ptr %t279
- call void @fn_emit(ptr @.str8748)
+ call void @fn_emit(ptr @.str8777)
%t280 = load ptr, ptr %t279
call void @fn_emit(ptr %t280)
- call void @fn_emit(ptr @.str8749)
+ call void @fn_emit(ptr @.str8778)
%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 @.str8750)
+ call void @fn_emit(ptr @.str8779)
%t284 = load ptr, ptr %t241
%t285 = call ptr @fn_buf_str(ptr %t284)
call void @fn_emit(ptr %t285)
- call void @fn_emit(ptr @.str8751)
+ call void @fn_emit(ptr @.str8780)
%t286 = load ptr, ptr %t279
- %t287 = call ptr @fn_val(ptr %t286, ptr @.str8752)
+ %t287 = call ptr @fn_val(ptr %t286, ptr @.str8781)
store ptr %t287, ptr %retval
br label %ret
ifend45:
- call void @fn_emit(ptr @.str8753)
+ call void @fn_emit(ptr @.str8782)
%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 @.str8754)
+ call void @fn_emit(ptr @.str8783)
%t291 = load ptr, ptr %t241
%t292 = call ptr @fn_buf_str(ptr %t291)
call void @fn_emit(ptr %t292)
- call void @fn_emit(ptr @.str8755)
- %t293 = call ptr @fn_val(ptr @.str8756, ptr @.str8757)
+ call void @fn_emit(ptr @.str8784)
+ %t293 = call ptr @fn_val(ptr @.str8785, ptr @.str8786)
store ptr %t293, ptr %retval
br label %ret
ret:
@@ -91978,388 +92724,396 @@ ret:
define void @fn_emit_stmt(ptr %arg_st) {
entry:
%t0 = alloca ptr
- %t13 = alloca ptr
- %t22 = alloca ptr
- %t29 = alloca ptr
- %t47 = alloca ptr
- %t54 = alloca ptr
- %t67 = alloca ptr
- %t165 = alloca ptr
- %t202 = alloca ptr
- %t238 = alloca ptr
+ %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 8
- %t3 = load i32, ptr %t2
- call void @fn_emit_cov_hit(i32 %t3)
+ %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 0
+ %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 8
%t6 = load i32, ptr %t5
- %t7 = icmp eq i32 %t6, 10
- %t8 = zext i1 %t7 to i32
- %t9 = icmp ne i32 %t8, 0
- br i1 %t9, label %then0, label %ifend2
-then0:
+ 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 3
- %t12 = load ptr, ptr %t11
- store ptr %t12, ptr %t13
- %t14 = load ptr, ptr %t13
- %t15 = icmp eq ptr %t14, null
- %t16 = zext i1 %t15 to i32
- %t17 = icmp ne i32 %t16, 0
- br i1 %t17, label %then3, label %ifend5
-then3:
- %t18 = load ptr, ptr %t0
- %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4
+ %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 = call ptr @fn_emit_expr(ptr %t20)
- store ptr %t21, ptr %t22
- %t23 = load ptr, ptr %t22
- %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 1
- %t25 = load ptr, ptr %t24
- store ptr %t25, ptr %t13
- %t26 = load ptr, ptr %t13
- %t27 = call ptr @fn_llty(ptr %t26)
- %t28 = call ptr @fn_emit_alloca(ptr %t27)
- store ptr %t28, ptr %t29
- %t30 = load ptr, ptr %t13
- %t31 = call ptr @fn_llty(ptr %t30)
- %t32 = load ptr, ptr %t22
- %t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0
- %t34 = load ptr, ptr %t33
- %t35 = load ptr, ptr %t29
- call void @fn_store_at(ptr %t31, ptr %t34, ptr %t35)
- %t36 = load ptr, ptr %t0
- %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1
- %t38 = load ptr, ptr %t37
- %t39 = load ptr, ptr %t29
- %t40 = load ptr, ptr %t13
- call void @fn_loc_push(ptr %t38, ptr %t39, ptr %t40)
- %t41 = load ptr, ptr %t0
- %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 2
- %t43 = load i32, ptr %t42
- call void @fn_loc_set_mut(i32 %t43)
+ %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:
- %t44 = load ptr, ptr %t13
- %t45 = call ptr @fn_llty(ptr %t44)
- %t46 = call ptr @fn_emit_alloca(ptr %t45)
- store ptr %t46, ptr %t47
- %t48 = load ptr, ptr %t0
- %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 4
- %t50 = load ptr, ptr %t49
- %t51 = icmp eq ptr %t50, null
- %t52 = zext i1 %t51 to i32
- %t53 = icmp ne i32 %t52, 0
- br i1 %t53, label %then6, label %else7
+ %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 @.str8758, ptr %t54
- %t55 = load ptr, ptr %t13
- %t56 = call ptr @fn_llty(ptr %t55)
- %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str8759)
- %t58 = icmp ne i32 %t57, 0
- br i1 %t58, label %then9, label %ifend11
+ store ptr @.str8787, ptr %t60
+ %t61 = load ptr, ptr %t19
+ %t62 = call ptr @fn_llty(ptr %t61)
+ %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str8788)
+ %t64 = icmp ne i32 %t63, 0
+ br i1 %t64, label %then9, label %ifend11
then9:
- store ptr @.str8760, ptr %t54
+ store ptr @.str8789, ptr %t60
br label %ifend11
ifend11:
- %t59 = load ptr, ptr %t13
- %t60 = call ptr @fn_llty(ptr %t59)
- %t61 = load ptr, ptr %t54
- %t62 = load ptr, ptr %t47
- call void @fn_store_at(ptr %t60, ptr %t61, ptr %t62)
+ %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:
- %t63 = load ptr, ptr %t0
- %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4
- %t65 = load ptr, ptr %t64
- %t66 = call ptr @fn_emit_expr(ptr %t65)
- store ptr %t66, ptr %t67
- %t68 = load ptr, ptr %t13
- %t69 = call ptr @fn_llty(ptr %t68)
- %t70 = load ptr, ptr %t67
- %t71 = load ptr, ptr %t13
- %t72 = call ptr @fn_coerce_code(ptr %t70, ptr %t71)
- %t73 = load ptr, ptr %t47
- call void @fn_store_at(ptr %t69, ptr %t72, ptr %t73)
+ %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:
- %t74 = load ptr, ptr %t0
- %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1
- %t76 = load ptr, ptr %t75
- %t77 = load ptr, ptr %t47
- %t78 = load ptr, ptr %t13
- call void @fn_loc_push(ptr %t76, ptr %t77, ptr %t78)
- %t79 = load ptr, ptr %t0
- %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 2
- %t81 = load i32, ptr %t80
- call void @fn_loc_set_mut(i32 %t81)
+ %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:
- %t82 = load ptr, ptr %t0
- %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 0
- %t84 = load i32, ptr %t83
- %t85 = icmp eq i32 %t84, 11
- %t86 = zext i1 %t85 to i32
- %t87 = icmp ne i32 %t86, 0
- br i1 %t87, label %then12, label %ifend14
-then12:
%t88 = load ptr, ptr %t0
- call void @fn_emit_assign(ptr %t88)
+ %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:
- %t89 = load ptr, ptr %t0
- %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 0
- %t91 = load i32, ptr %t90
- %t92 = icmp eq i32 %t91, 12
- %t93 = zext i1 %t92 to i32
- %t94 = icmp ne i32 %t93, 0
- br i1 %t94, label %then15, label %ifend17
-then15:
%t95 = load ptr, ptr %t0
- call void @fn_emit_if(ptr %t95)
+ %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:
- %t96 = load ptr, ptr %t0
- %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 0
- %t98 = load i32, ptr %t97
- %t99 = icmp eq i32 %t98, 13
- %t100 = zext i1 %t99 to i32
- %t101 = icmp ne i32 %t100, 0
- br i1 %t101, label %then18, label %ifend20
-then18:
%t102 = load ptr, ptr %t0
- call void @fn_emit_while(ptr %t102)
+ %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:
- %t103 = load ptr, ptr %t0
- %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 0
- %t105 = load i32, ptr %t104
- %t106 = icmp eq i32 %t105, 14
- %t107 = zext i1 %t106 to i32
- %t108 = icmp ne i32 %t107, 0
- br i1 %t108, label %then21, label %ifend23
-then21:
%t109 = load ptr, ptr %t0
- call void @fn_emit_for(ptr %t109)
+ %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:
- %t110 = load ptr, ptr %t0
- %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 0
- %t112 = load i32, ptr %t111
- %t113 = icmp eq i32 %t112, 15
- %t114 = zext i1 %t113 to i32
- %t115 = icmp ne i32 %t114, 0
- br i1 %t115, label %then24, label %ifend26
-then24:
%t116 = load ptr, ptr %t0
- call void @fn_emit_return(ptr %t116)
+ %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:
- %t117 = load ptr, ptr %t0
- %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 0
- %t119 = load i32, ptr %t118
- %t120 = icmp eq i32 %t119, 17
- %t121 = zext i1 %t120 to i32
- %t122 = icmp ne i32 %t121, 0
- br i1 %t122, label %then27, label %ifend29
+ %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 @.str8761)
- %t123 = load ptr, ptr @g_brk_lbl
- %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0
- %t125 = load ptr, ptr %t124
- %t126 = load i32, ptr @g_nloop
- %t127 = sub i32 %t126, 1
- %t128 = getelementptr inbounds ptr, ptr %t125, i32 %t127
- %t129 = load ptr, ptr %t128
- call void @fn_emit(ptr %t129)
- call void @fn_emit(ptr @.str8762)
+ call void @fn_emit(ptr @.str8790)
+ %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 @.str8791)
store i32 1, ptr @g_g_term
br label %ret
ifend29:
- %t130 = load ptr, ptr %t0
- %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 0
- %t132 = load i32, ptr %t131
- %t133 = icmp eq i32 %t132, 18
- %t134 = zext i1 %t133 to i32
- %t135 = icmp ne i32 %t134, 0
- br i1 %t135, label %then30, label %ifend32
+ %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 @.str8763)
- %t136 = load ptr, ptr @g_cnt_lbl
- %t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0
- %t138 = load ptr, ptr %t137
- %t139 = load i32, ptr @g_nloop
- %t140 = sub i32 %t139, 1
- %t141 = getelementptr inbounds ptr, ptr %t138, i32 %t140
- %t142 = load ptr, ptr %t141
- call void @fn_emit(ptr %t142)
- call void @fn_emit(ptr @.str8764)
+ call void @fn_emit(ptr @.str8792)
+ %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 @.str8793)
store i32 1, ptr @g_g_term
br label %ret
ifend32:
- %t143 = load ptr, ptr %t0
- %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 0
- %t145 = load i32, ptr %t144
- %t146 = icmp eq i32 %t145, 19
- %t147 = zext i1 %t146 to i32
- %t148 = icmp ne i32 %t147, 0
- br i1 %t148, label %then33, label %ifend35
-then33:
%t149 = load ptr, ptr %t0
- call void @fn_emit_match(ptr %t149)
+ %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:
- %t150 = load ptr, ptr %t0
- %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 0
- %t152 = load i32, ptr %t151
- %t153 = icmp eq i32 %t152, 21
- %t154 = zext i1 %t153 to i32
- %t155 = icmp ne i32 %t154, 0
- br i1 %t155, label %then36, label %ifend38
-then36:
%t156 = load ptr, ptr %t0
- call void @fn_emit_query(ptr %t156)
+ %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:
- %t157 = load ptr, ptr %t0
- %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 0
- %t159 = load i32, ptr %t158
- %t160 = icmp eq i32 %t159, 22
- %t161 = zext i1 %t160 to i32
- %t162 = icmp ne i32 %t161, 0
- br i1 %t162, label %then39, label %ifend41
-then39:
%t163 = load ptr, ptr %t0
- %t164 = call ptr @fn_emit_spawn(ptr %t163)
- store ptr %t164, ptr %t165
+ %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:
- %t166 = load ptr, ptr %t0
- %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 0
- %t168 = load i32, ptr %t167
- %t169 = icmp eq i32 %t168, 23
- %t170 = zext i1 %t169 to i32
- %t171 = icmp ne i32 %t170, 0
- br i1 %t171, label %then42, label %ifend44
-then42:
%t172 = load ptr, ptr %t0
- call void @fn_emit_despawn(ptr %t172)
+ %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:
- %t173 = load ptr, ptr %t0
- %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 0
- %t175 = load i32, ptr %t174
- %t176 = icmp eq i32 %t175, 28
- %t177 = zext i1 %t176 to i32
- %t178 = icmp ne i32 %t177, 0
- br i1 %t178, label %then45, label %ifend47
-then45:
%t179 = load ptr, ptr %t0
- call void @fn_emit_toggle(ptr %t179)
+ %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:
- %t180 = load ptr, ptr %t0
- %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 0
- %t182 = load i32, ptr %t181
- %t183 = icmp eq i32 %t182, 46
- %t184 = zext i1 %t183 to i32
- %t185 = icmp ne i32 %t184, 0
- br i1 %t185, label %then48, label %ifend50
-then48:
%t186 = load ptr, ptr %t0
- call void @fn_emit_attach(ptr %t186)
+ %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:
- %t187 = load ptr, ptr %t0
- %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 0
- %t189 = load i32, ptr %t188
- %t190 = icmp eq i32 %t189, 47
- %t191 = zext i1 %t190 to i32
- %t192 = icmp ne i32 %t191, 0
- br i1 %t192, label %then51, label %ifend53
-then51:
%t193 = load ptr, ptr %t0
- call void @fn_emit_detach(ptr %t193)
+ %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:
- %t194 = load ptr, ptr %t0
- %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 0
- %t196 = load i32, ptr %t195
- %t197 = icmp eq i32 %t196, 49
- %t198 = zext i1 %t197 to i32
- %t199 = icmp ne i32 %t198, 0
- br i1 %t199, label %then54, label %ifend56
-then54:
%t200 = load ptr, ptr %t0
- %t201 = call ptr @fn_emit_emit(ptr %t200)
- store ptr %t201, ptr %t202
+ %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:
- %t203 = load ptr, ptr %t0
- %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 0
- %t205 = load i32, ptr %t204
- %t206 = icmp eq i32 %t205, 50
- %t207 = zext i1 %t206 to i32
- %t208 = icmp ne i32 %t207, 0
- br i1 %t208, label %then57, label %ifend59
+ %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:
- %t209 = load ptr, ptr @g_g_cancel_addr
- %t210 = icmp eq ptr %t209, null
- %t211 = zext i1 %t210 to i32
- %t212 = icmp ne i32 %t211, 0
- br i1 %t212, label %then60, label %ifend62
+ %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 @.str8765)
+ call void @fn_perr(ptr @.str8794)
br label %ifend62
ifend62:
- call void @fn_emit(ptr @.str8766)
- %t213 = load ptr, ptr @g_g_cancel_addr
- call void @fn_emit(ptr %t213)
- call void @fn_emit(ptr @.str8767)
+ call void @fn_emit(ptr @.str8795)
+ %t219 = load ptr, ptr @g_g_cancel_addr
+ call void @fn_emit(ptr %t219)
+ call void @fn_emit(ptr @.str8796)
br label %ret
ifend59:
- %t214 = load ptr, ptr %t0
- %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 0
- %t216 = load i32, ptr %t215
- %t217 = icmp eq i32 %t216, 24
- %t218 = zext i1 %t217 to i32
- %t219 = icmp ne i32 %t218, 0
- br i1 %t219, label %then63, label %ifend65
-then63:
%t220 = load ptr, ptr %t0
- call void @fn_emit_machine(ptr %t220)
+ %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:
- %t221 = load ptr, ptr %t0
- %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 0
- %t223 = load i32, ptr %t222
- %t224 = icmp eq i32 %t223, 26
- %t225 = zext i1 %t224 to i32
- %t226 = icmp ne i32 %t225, 0
- br i1 %t226, label %then66, label %ifend68
-then66:
%t227 = load ptr, ptr %t0
- call void @fn_emit_become(ptr %t227)
+ %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:
- %t228 = load ptr, ptr %t0
- %t229 = getelementptr inbounds %Cmp_Node, ptr %t228, i32 0, i32 0
- %t230 = load i32, ptr %t229
- %t231 = icmp eq i32 %t230, 16
- %t232 = zext i1 %t231 to i32
- %t233 = icmp ne i32 %t232, 0
- br i1 %t233, label %then69, label %ifend71
-then69:
%t234 = load ptr, ptr %t0
- %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 4
- %t236 = load ptr, ptr %t235
- %t237 = call ptr @fn_emit_expr(ptr %t236)
- store ptr %t237, ptr %t238
+ %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 @.str8768)
+ call void @fn_perr(ptr @.str8797)
br label %ret
ret:
ret void
@@ -92397,61 +93151,61 @@ then0:
br label %ifend2
else1:
%t21 = load ptr, ptr @g_cnt_lbl
- %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1
- %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 2
- %t24 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
- %t25 = load i32, ptr %t22
+ %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 = icmp sge i32 %t25, %t26
- br i1 %t27, label %grow3, label %put4
+ %t27 = load i32, ptr %t24
+ %t28 = icmp sge i32 %t26, %t27
+ br i1 %t28, 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
+ %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:
- %t37 = load ptr, ptr %t0
- %t38 = load ptr, ptr %t24
- %t39 = getelementptr inbounds ptr, ptr %t38, i32 %t25
- store ptr %t37, ptr %t39
- %t40 = add i32 %t25, 1
- store i32 %t40, ptr %t22
+ %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 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1
- %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 2
- %t44 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0
- %t45 = load i32, ptr %t42
+ %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 = icmp sge i32 %t45, %t46
- br i1 %t47, label %grow5, label %put6
+ %t47 = load i32, ptr %t44
+ %t48 = icmp sge i32 %t46, %t47
+ br i1 %t48, label %grow5, label %put6
grow5:
- %t48 = mul i32 %t46, 2
- %t49 = icmp eq i32 %t46, 0
- %t50 = select i1 %t49, i32 8, i32 %t48
- %t51 = getelementptr ptr, ptr null, i32 1
- %t52 = ptrtoint ptr %t51 to i64
- %t53 = zext i32 %t50 to i64
- %t54 = mul i64 %t53, %t52
- %t55 = load ptr, ptr %t44
- %t56 = call ptr @realloc(ptr %t55, i64 %t54)
- store ptr %t56, ptr %t44
- store i32 %t50, ptr %t43
+ %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:
- %t57 = load ptr, ptr %t1
- %t58 = load ptr, ptr %t44
- %t59 = getelementptr inbounds ptr, ptr %t58, i32 %t45
- store ptr %t57, ptr %t59
- %t60 = add i32 %t45, 1
- store i32 %t60, ptr %t42
+ %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
@@ -92603,7 +93357,7 @@ ifend5:
store i32 %t19, ptr %t0
br label %wcond0
wend2:
- %t20 = call ptr @fn_find_comp(ptr @.str8769)
+ %t20 = call ptr @fn_find_comp(ptr @.str8798)
%t21 = icmp ne ptr %t20, null
%t22 = zext i1 %t21 to i32
%t23 = icmp ne i32 %t22, 0
@@ -92693,9 +93447,9 @@ entry:
%t24 = alloca i32
%t38 = alloca ptr
%t90 = alloca i32
- call void @fn_emith(ptr @.str8770)
- call void @fn_emith(ptr @.str8771)
- call void @fn_emith(ptr @.str8772)
+ call void @fn_emith(ptr @.str8799)
+ call void @fn_emith(ptr @.str8800)
+ call void @fn_emith(ptr @.str8801)
%t0 = load ptr, ptr @g_g_scenes
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1
%t2 = load i32, ptr %t1
@@ -92704,31 +93458,31 @@ entry:
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
- call void @fn_emith(ptr @.str8773)
+ call void @fn_emith(ptr @.str8802)
br label %ifend2
ifend2:
- call void @fn_emith(ptr @.str8774)
+ call void @fn_emith(ptr @.str8803)
%t6 = call ptr @fn_itoa(i32 1024)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t7
- %t9 = call ptr @fn_str_concat(ptr @.str8775, ptr %t8)
- %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str8776)
+ %t9 = call ptr @lp_str_concat(ptr @.str8804, ptr %t8)
+ %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str8805)
call void @fn_emith(ptr %t10)
%t11 = load ptr, ptr %t7
- %t12 = call ptr @fn_str_concat(ptr @.str8777, ptr %t11)
- %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str8778)
+ %t12 = call ptr @lp_str_concat(ptr @.str8806, ptr %t11)
+ %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str8807)
call void @fn_emith(ptr %t13)
%t14 = load ptr, ptr %t7
- %t15 = call ptr @fn_str_concat(ptr @.str8779, ptr %t14)
- %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str8780)
+ %t15 = call ptr @lp_str_concat(ptr @.str8808, ptr %t14)
+ %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str8809)
call void @fn_emith(ptr %t16)
- call void @fn_emith(ptr @.str8781)
+ call void @fn_emith(ptr @.str8810)
%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 @.str8782)
- call void @fn_emith(ptr @.str8783)
+ call void @fn_emith(ptr @.str8811)
+ call void @fn_emith(ptr @.str8812)
br label %ifend5
ifend5:
%t19 = call i32 @fn_net_has_owned()
@@ -92736,8 +93490,8 @@ ifend5:
br i1 %t20, label %then6, label %ifend8
then6:
%t21 = load ptr, ptr %t7
- %t22 = call ptr @fn_str_concat(ptr @.str8784, ptr %t21)
- %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str8785)
+ %t22 = call ptr @lp_str_concat(ptr @.str8813, ptr %t21)
+ %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str8814)
call void @fn_emith(ptr %t23)
br label %ifend8
ifend8:
@@ -92771,25 +93525,25 @@ then12:
%t45 = load ptr, ptr %t38
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1
%t47 = load ptr, ptr %t46
- %t48 = call ptr @fn_str_concat(ptr @.str8786, ptr %t47)
- %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str8787)
+ %t48 = call ptr @lp_str_concat(ptr @.str8815, ptr %t47)
+ %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str8816)
%t50 = load ptr, ptr %t7
- %t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
- %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str8788)
+ %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50)
+ %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str8817)
%t53 = load ptr, ptr %t38
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1
%t55 = load ptr, ptr %t54
- %t56 = call ptr @fn_str_concat(ptr %t52, ptr %t55)
- %t57 = call ptr @fn_str_concat(ptr %t56, ptr @.str8789)
+ %t56 = call ptr @lp_str_concat(ptr %t52, ptr %t55)
+ %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str8818)
call void @fn_emith(ptr %t57)
%t58 = load ptr, ptr %t38
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1
%t60 = load ptr, ptr %t59
- %t61 = call ptr @fn_str_concat(ptr @.str8790, ptr %t60)
- %t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str8791)
+ %t61 = call ptr @lp_str_concat(ptr @.str8819, ptr %t60)
+ %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str8820)
%t63 = load ptr, ptr %t7
- %t64 = call ptr @fn_str_concat(ptr %t62, ptr %t63)
- %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str8792)
+ %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63)
+ %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str8821)
call void @fn_emith(ptr %t65)
br label %ifend14
ifend14:
@@ -92804,8 +93558,8 @@ then15:
%t72 = load ptr, ptr %t38
%t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1
%t74 = load ptr, ptr %t73
- %t75 = call ptr @fn_str_concat(ptr @.str8793, ptr %t74)
- %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str8794)
+ %t75 = call ptr @lp_str_concat(ptr @.str8822, ptr %t74)
+ %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str8823)
call void @fn_emith(ptr %t76)
br label %ifend17
ifend17:
@@ -92820,8 +93574,8 @@ then18:
%t83 = load ptr, ptr %t38
%t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1
%t85 = load ptr, ptr %t84
- %t86 = call ptr @fn_str_concat(ptr @.str8795, ptr %t85)
- %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str8796)
+ %t86 = call ptr @lp_str_concat(ptr @.str8824, ptr %t85)
+ %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str8825)
call void @fn_emith(ptr %t87)
br label %ifend20
ifend20:
@@ -92848,8 +93602,8 @@ wbody22:
%t101 = load i32, ptr %t90
%t102 = getelementptr inbounds ptr, ptr %t100, i32 %t101
%t103 = load ptr, ptr %t102
- %t104 = call ptr @fn_str_concat(ptr @.str8797, ptr %t103)
- %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str8798)
+ %t104 = call ptr @lp_str_concat(ptr @.str8826, ptr %t103)
+ %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str8827)
call void @fn_emith(ptr %t105)
%t106 = load i32, ptr %t90
%t107 = add i32 %t106, 1
@@ -92868,7 +93622,7 @@ entry:
%t24 = alloca ptr
%t0 = call ptr @fn_itoa(i32 1024)
store ptr %t0, ptr %t1
- call void @fn_emit(ptr @.str8799)
+ call void @fn_emit(ptr @.str8828)
store i32 0, ptr %t2
br label %wcond0
wcond0:
@@ -92896,15 +93650,15 @@ wbody1:
then3:
%t21 = load i32, ptr %t2
%t22 = call ptr @fn_itoa(i32 %t21)
- %t23 = call ptr @fn_str_concat(ptr @.str8800, ptr %t22)
+ %t23 = call ptr @lp_str_concat(ptr @.str8829, ptr %t22)
store ptr %t23, ptr %t24
- call void @fn_emit(ptr @.str8801)
+ call void @fn_emit(ptr @.str8830)
%t25 = load ptr, ptr %t24
call void @fn_emit(ptr %t25)
- call void @fn_emit(ptr @.str8802)
+ call void @fn_emit(ptr @.str8831)
%t26 = load ptr, ptr %t1
call void @fn_emit(ptr %t26)
- call void @fn_emit(ptr @.str8803)
+ call void @fn_emit(ptr @.str8832)
%t27 = load ptr, ptr @g_prog
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0
%t29 = load ptr, ptr %t28
@@ -92914,11 +93668,11 @@ then3:
%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 @.str8804)
- call void @fn_emit(ptr @.str8805)
+ call void @fn_emit(ptr @.str8833)
+ call void @fn_emit(ptr @.str8834)
%t35 = load ptr, ptr %t24
call void @fn_emit(ptr %t35)
- call void @fn_emit(ptr @.str8806)
+ call void @fn_emit(ptr @.str8835)
br label %ifend5
ifend5:
%t36 = load i32, ptr %t2
@@ -92926,66 +93680,66 @@ ifend5:
store i32 %t37, ptr %t2
br label %wcond0
wend2:
- call void @fn_emit(ptr @.str8807)
+ call void @fn_emit(ptr @.str8836)
%t38 = load ptr, ptr %t1
call void @fn_emit(ptr %t38)
- call void @fn_emit(ptr @.str8808)
- call void @fn_emit(ptr @.str8809)
+ call void @fn_emit(ptr @.str8837)
+ call void @fn_emit(ptr @.str8838)
%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 @.str8810)
+ call void @fn_emit(ptr @.str8839)
%t41 = load ptr, ptr %t1
call void @fn_emit(ptr %t41)
- call void @fn_emit(ptr @.str8811)
- call void @fn_emit(ptr @.str8812)
- br label %ifend8
-ifend8:
- call void @fn_emit(ptr @.str8813)
- call void @fn_emit(ptr @.str8814)
- call void @fn_emit(ptr @.str8815)
- call void @fn_emit(ptr @.str8816)
- call void @fn_emit(ptr @.str8817)
- call void @fn_emit(ptr @.str8818)
- call void @fn_emit(ptr @.str8819)
- call void @fn_emit(ptr @.str8820)
- call void @fn_emit(ptr @.str8821)
- %t42 = load ptr, ptr %t1
- call void @fn_emit(ptr %t42)
- call void @fn_emit(ptr @.str8822)
- call void @fn_emit(ptr @.str8823)
- call void @fn_emit(ptr @.str8824)
- call void @fn_emit(ptr @.str8825)
- call void @fn_emit(ptr @.str8826)
- call void @fn_emit(ptr @.str8827)
- call void @fn_emit(ptr @.str8828)
- call void @fn_emit(ptr @.str8829)
- call void @fn_emit(ptr @.str8830)
- call void @fn_emit(ptr @.str8831)
- call void @fn_emit(ptr @.str8832)
- call void @fn_emit(ptr @.str8833)
- %t43 = load ptr, ptr %t1
- call void @fn_emit(ptr %t43)
- call void @fn_emit(ptr @.str8834)
- call void @fn_emit(ptr @.str8835)
- call void @fn_emit(ptr @.str8836)
- call void @fn_emit(ptr @.str8837)
- call void @fn_emit(ptr @.str8838)
- %t44 = load ptr, ptr %t1
- call void @fn_emit(ptr %t44)
- call void @fn_emit(ptr @.str8839)
call void @fn_emit(ptr @.str8840)
call void @fn_emit(ptr @.str8841)
+ br label %ifend8
+ifend8:
call void @fn_emit(ptr @.str8842)
call void @fn_emit(ptr @.str8843)
- %t45 = load ptr, ptr %t1
- call void @fn_emit(ptr %t45)
call void @fn_emit(ptr @.str8844)
call void @fn_emit(ptr @.str8845)
call void @fn_emit(ptr @.str8846)
call void @fn_emit(ptr @.str8847)
call void @fn_emit(ptr @.str8848)
+ call void @fn_emit(ptr @.str8849)
+ call void @fn_emit(ptr @.str8850)
+ %t42 = load ptr, ptr %t1
+ call void @fn_emit(ptr %t42)
+ call void @fn_emit(ptr @.str8851)
+ call void @fn_emit(ptr @.str8852)
+ call void @fn_emit(ptr @.str8853)
+ call void @fn_emit(ptr @.str8854)
+ call void @fn_emit(ptr @.str8855)
+ call void @fn_emit(ptr @.str8856)
+ call void @fn_emit(ptr @.str8857)
+ call void @fn_emit(ptr @.str8858)
+ call void @fn_emit(ptr @.str8859)
+ call void @fn_emit(ptr @.str8860)
+ call void @fn_emit(ptr @.str8861)
+ call void @fn_emit(ptr @.str8862)
+ %t43 = load ptr, ptr %t1
+ call void @fn_emit(ptr %t43)
+ call void @fn_emit(ptr @.str8863)
+ call void @fn_emit(ptr @.str8864)
+ call void @fn_emit(ptr @.str8865)
+ call void @fn_emit(ptr @.str8866)
+ call void @fn_emit(ptr @.str8867)
+ %t44 = load ptr, ptr %t1
+ call void @fn_emit(ptr %t44)
+ call void @fn_emit(ptr @.str8868)
+ call void @fn_emit(ptr @.str8869)
+ call void @fn_emit(ptr @.str8870)
+ call void @fn_emit(ptr @.str8871)
+ call void @fn_emit(ptr @.str8872)
+ %t45 = load ptr, ptr %t1
+ call void @fn_emit(ptr %t45)
+ call void @fn_emit(ptr @.str8873)
+ call void @fn_emit(ptr @.str8874)
+ call void @fn_emit(ptr @.str8875)
+ call void @fn_emit(ptr @.str8876)
+ call void @fn_emit(ptr @.str8877)
br label %ret
ret:
ret void
@@ -93033,7 +93787,7 @@ then3:
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1
%t28 = load ptr, ptr %t27
%t29 = load ptr, ptr %t0
- %t30 = call i32 @fn_str_eq(ptr %t28, ptr %t29)
+ %t30 = call i32 @lp_str_eq(ptr %t28, ptr %t29)
%t31 = icmp ne i32 %t30, 0
br i1 %t31, label %then6, label %ifend8
then6:
@@ -93102,10 +93856,10 @@ entry:
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 @.str8849)
+ %t3 = call ptr @fn_emit_alloca(ptr @.str8878)
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t4
- call void @fn_store_at(ptr @.str8850, ptr @.str8851, ptr %t5)
+ call void @fn_store_at(ptr @.str8879, ptr @.str8880, 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
@@ -93125,120 +93879,120 @@ then0:
br label %ifend2
else1:
%t19 = load ptr, ptr @g_self_stk
- %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1
- %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2
- %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
- %t23 = load i32, ptr %t20
+ %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 = icmp sge i32 %t23, %t24
- br i1 %t25, label %grow3, label %put4
+ %t25 = load i32, ptr %t22
+ %t26 = icmp sge i32 %t24, %t25
+ br i1 %t26, 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
+ %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:
- %t35 = load ptr, ptr %t4
- %t36 = load ptr, ptr %t22
- %t37 = getelementptr inbounds ptr, ptr %t36, i32 %t23
- store ptr %t35, ptr %t37
- %t38 = add i32 %t23, 1
- store i32 %t38, ptr %t20
+ %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 @.str8852)
+ %t41 = call ptr @fn_lbl(ptr @.str8881)
store ptr %t41, ptr %t42
- %t43 = call ptr @fn_lbl(ptr @.str8853)
+ %t43 = call ptr @fn_lbl(ptr @.str8882)
store ptr %t43, ptr %t44
- %t45 = call ptr @fn_lbl(ptr @.str8854)
+ %t45 = call ptr @fn_lbl(ptr @.str8883)
store ptr %t45, ptr %t46
- %t47 = call ptr @fn_lbl(ptr @.str8855)
+ %t47 = call ptr @fn_lbl(ptr @.str8884)
store ptr %t47, ptr %t48
- call void @fn_emit(ptr @.str8856)
+ call void @fn_emit(ptr @.str8885)
%t49 = load ptr, ptr %t42
call void @fn_emit(ptr %t49)
- call void @fn_emit(ptr @.str8857)
+ call void @fn_emit(ptr @.str8886)
%t50 = load ptr, ptr %t42
call void @fn_emit(ptr %t50)
- call void @fn_emit(ptr @.str8858)
+ call void @fn_emit(ptr @.str8887)
%t51 = load ptr, ptr %t4
- %t52 = call ptr @fn_str_concat(ptr @.str8859, ptr %t51)
+ %t52 = call ptr @lp_str_concat(ptr @.str8888, ptr %t51)
%t53 = call ptr @fn_emit_bind(ptr %t52)
store ptr %t53, ptr %t54
- %t55 = call ptr @fn_emit_bind(ptr @.str8860)
+ %t55 = call ptr @fn_emit_bind(ptr @.str8889)
store ptr %t55, ptr %t56
%t57 = load ptr, ptr %t54
- %t58 = call ptr @fn_str_concat(ptr @.str8861, ptr %t57)
- %t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str8862)
+ %t58 = call ptr @lp_str_concat(ptr @.str8890, ptr %t57)
+ %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str8891)
%t60 = load ptr, ptr %t56
- %t61 = call ptr @fn_str_concat(ptr %t59, ptr %t60)
+ %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 @.str8863)
+ call void @fn_emit(ptr @.str8892)
%t64 = load ptr, ptr %t63
call void @fn_emit(ptr %t64)
- call void @fn_emit(ptr @.str8864)
+ call void @fn_emit(ptr @.str8893)
%t65 = load ptr, ptr %t44
call void @fn_emit(ptr %t65)
- call void @fn_emit(ptr @.str8865)
+ call void @fn_emit(ptr @.str8894)
%t66 = load ptr, ptr %t48
call void @fn_emit(ptr %t66)
- call void @fn_emit(ptr @.str8866)
+ call void @fn_emit(ptr @.str8895)
%t67 = load ptr, ptr %t44
call void @fn_emit(ptr %t67)
- call void @fn_emit(ptr @.str8867)
+ call void @fn_emit(ptr @.str8896)
store i32 0, ptr @g_g_term
%t68 = load ptr, ptr %t4
- %t69 = call ptr @fn_str_concat(ptr @.str8868, ptr %t68)
+ %t69 = call ptr @lp_str_concat(ptr @.str8897, 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 @.str8869)
+ call void @fn_emit(ptr @.str8898)
%t74 = load ptr, ptr %t73
call void @fn_emit(ptr %t74)
- call void @fn_emit(ptr @.str8870)
+ call void @fn_emit(ptr @.str8899)
%t75 = load ptr, ptr %t2
call void @fn_emit(ptr %t75)
- call void @fn_emit(ptr @.str8871)
+ call void @fn_emit(ptr @.str8900)
%t76 = load ptr, ptr %t71
call void @fn_emit(ptr %t76)
- call void @fn_emit(ptr @.str8872)
+ call void @fn_emit(ptr @.str8901)
%t77 = load ptr, ptr %t73
- %t78 = call ptr @fn_str_concat(ptr @.str8873, ptr %t77)
+ %t78 = call ptr @lp_str_concat(ptr @.str8902, ptr %t77)
%t79 = call ptr @fn_emit_bind(ptr %t78)
store ptr %t79, ptr %t80
%t81 = load ptr, ptr %t80
- %t82 = call ptr @fn_str_concat(ptr @.str8874, ptr %t81)
- %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str8875)
+ %t82 = call ptr @lp_str_concat(ptr @.str8903, ptr %t81)
+ %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str8904)
%t84 = call ptr @fn_emit_bind(ptr %t83)
store ptr %t84, ptr %t85
- %t86 = call ptr @fn_lbl(ptr @.str8876)
+ %t86 = call ptr @fn_lbl(ptr @.str8905)
store ptr %t86, ptr %t87
- call void @fn_emit(ptr @.str8877)
+ call void @fn_emit(ptr @.str8906)
%t88 = load ptr, ptr %t85
call void @fn_emit(ptr %t88)
- call void @fn_emit(ptr @.str8878)
+ call void @fn_emit(ptr @.str8907)
%t89 = load ptr, ptr %t87
call void @fn_emit(ptr %t89)
- call void @fn_emit(ptr @.str8879)
+ call void @fn_emit(ptr @.str8908)
%t90 = load ptr, ptr %t46
call void @fn_emit(ptr %t90)
- call void @fn_emit(ptr @.str8880)
+ call void @fn_emit(ptr @.str8909)
%t91 = load ptr, ptr %t87
call void @fn_emit(ptr %t91)
- call void @fn_emit(ptr @.str8881)
+ call void @fn_emit(ptr @.str8910)
%t92 = load ptr, ptr %t0
%t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 6
%t94 = load ptr, ptr %t93
@@ -93271,7 +94025,7 @@ wbody6:
%t117 = load ptr, ptr %t116
%t118 = call i32 @fn_find_arch_id(ptr %t117)
store i32 %t118, ptr %t119
- store ptr @.str8882, ptr %t120
+ store ptr @.str8911, ptr %t120
%t121 = load i32, ptr %t119
%t122 = icmp sgt i32 %t121, 0
%t123 = zext i1 %t122 to i32
@@ -93280,91 +94034,91 @@ wbody6:
then8:
%t125 = call ptr @fn_nreg()
store ptr %t125, ptr %t126
- call void @fn_emit(ptr @.str8883)
+ call void @fn_emit(ptr @.str8912)
%t127 = load ptr, ptr %t126
call void @fn_emit(ptr %t127)
- call void @fn_emit(ptr @.str8884)
+ call void @fn_emit(ptr @.str8913)
%t128 = load ptr, ptr %t2
call void @fn_emit(ptr %t128)
- call void @fn_emit(ptr @.str8885)
+ call void @fn_emit(ptr @.str8914)
%t129 = load ptr, ptr %t71
call void @fn_emit(ptr %t129)
- call void @fn_emit(ptr @.str8886)
+ call void @fn_emit(ptr @.str8915)
%t130 = load ptr, ptr %t126
- %t131 = call ptr @fn_str_concat(ptr @.str8887, ptr %t130)
+ %t131 = call ptr @lp_str_concat(ptr @.str8916, ptr %t130)
%t132 = call ptr @fn_emit_bind(ptr %t131)
store ptr %t132, ptr %t133
%t134 = load ptr, ptr %t133
- %t135 = call ptr @fn_str_concat(ptr @.str8888, ptr %t134)
- %t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str8889)
+ %t135 = call ptr @lp_str_concat(ptr @.str8917, ptr %t134)
+ %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str8918)
%t137 = load i32, ptr %t119
%t138 = call ptr @fn_itoa(i32 %t137)
- %t139 = call ptr @fn_str_concat(ptr %t136, ptr %t138)
+ %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 @fn_str_concat(ptr @.str8890, ptr %t144)
+ %t145 = call ptr @lp_str_concat(ptr @.str8919, ptr %t144)
%t146 = call ptr @fn_emit_bind(ptr %t145)
store ptr %t146, ptr %t147
%t148 = load ptr, ptr %t147
- %t149 = call ptr @fn_str_concat(ptr @.str8891, ptr %t148)
- %t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str8892)
+ %t149 = call ptr @lp_str_concat(ptr @.str8920, ptr %t148)
+ %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str8921)
%t151 = call ptr @fn_emit_bind(ptr %t150)
store ptr %t151, ptr %t152
%t153 = load ptr, ptr %t141
- %t154 = call ptr @fn_str_concat(ptr @.str8893, ptr %t153)
- %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str8894)
+ %t154 = call ptr @lp_str_concat(ptr @.str8922, ptr %t153)
+ %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str8923)
%t156 = load ptr, ptr %t152
- %t157 = call ptr @fn_str_concat(ptr %t155, ptr %t156)
+ %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 @.str8895)
+ call void @fn_emit(ptr @.str8924)
%t161 = load ptr, ptr %t160
call void @fn_emit(ptr %t161)
- call void @fn_emit(ptr @.str8896)
+ call void @fn_emit(ptr @.str8925)
%t162 = load ptr, ptr %t2
call void @fn_emit(ptr %t162)
- call void @fn_emit(ptr @.str8897)
+ call void @fn_emit(ptr @.str8926)
%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 @.str8898)
+ call void @fn_emit(ptr @.str8927)
%t166 = load ptr, ptr %t71
call void @fn_emit(ptr %t166)
- call void @fn_emit(ptr @.str8899)
+ call void @fn_emit(ptr @.str8928)
%t167 = load ptr, ptr %t160
- %t168 = call ptr @fn_str_concat(ptr @.str8900, ptr %t167)
+ %t168 = call ptr @lp_str_concat(ptr @.str8929, ptr %t167)
%t169 = call ptr @fn_emit_bind(ptr %t168)
store ptr %t169, ptr %t170
%t171 = load ptr, ptr %t170
- %t172 = call ptr @fn_str_concat(ptr @.str8901, ptr %t171)
- %t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str8902)
+ %t172 = call ptr @lp_str_concat(ptr @.str8930, ptr %t171)
+ %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str8931)
%t174 = call ptr @fn_emit_bind(ptr %t173)
store ptr %t174, ptr %t120
br label %ifend10
ifend10:
- %t175 = call ptr @fn_lbl(ptr @.str8903)
+ %t175 = call ptr @fn_lbl(ptr @.str8932)
store ptr %t175, ptr %t176
- call void @fn_emit(ptr @.str8904)
+ call void @fn_emit(ptr @.str8933)
%t177 = load ptr, ptr %t120
call void @fn_emit(ptr %t177)
- call void @fn_emit(ptr @.str8905)
+ call void @fn_emit(ptr @.str8934)
%t178 = load ptr, ptr %t176
call void @fn_emit(ptr %t178)
- call void @fn_emit(ptr @.str8906)
+ call void @fn_emit(ptr @.str8935)
%t179 = load ptr, ptr %t46
call void @fn_emit(ptr %t179)
- call void @fn_emit(ptr @.str8907)
+ call void @fn_emit(ptr @.str8936)
%t180 = load ptr, ptr %t176
call void @fn_emit(ptr %t180)
- call void @fn_emit(ptr @.str8908)
+ call void @fn_emit(ptr @.str8937)
%t181 = load i32, ptr %t96
%t182 = add i32 %t181, 1
store i32 %t182, ptr %t96
@@ -93434,35 +94188,35 @@ then16:
then19:
%t231 = call ptr @fn_nreg()
store ptr %t231, ptr %t232
- call void @fn_emit(ptr @.str8909)
+ call void @fn_emit(ptr @.str8938)
%t233 = load ptr, ptr %t232
call void @fn_emit(ptr %t233)
- call void @fn_emit(ptr @.str8910)
+ call void @fn_emit(ptr @.str8939)
%t234 = load ptr, ptr %t2
call void @fn_emit(ptr %t234)
- call void @fn_emit(ptr @.str8911)
+ call void @fn_emit(ptr @.str8940)
%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 @.str8912)
+ call void @fn_emit(ptr @.str8941)
%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 @.str8913)
+ call void @fn_emit(ptr @.str8942)
%t241 = load ptr, ptr %t71
call void @fn_emit(ptr %t241)
- call void @fn_emit(ptr @.str8914)
- %t242 = call ptr @fn_emit_alloca(ptr @.str8915)
+ call void @fn_emit(ptr @.str8943)
+ %t242 = call ptr @fn_emit_alloca(ptr @.str8944)
store ptr %t242, ptr %t243
- call void @fn_emit(ptr @.str8916)
+ call void @fn_emit(ptr @.str8945)
%t244 = load ptr, ptr %t232
call void @fn_emit(ptr %t244)
- call void @fn_emit(ptr @.str8917)
+ call void @fn_emit(ptr @.str8946)
%t245 = load ptr, ptr %t243
call void @fn_emit(ptr %t245)
- call void @fn_emit(ptr @.str8918)
+ call void @fn_emit(ptr @.str8947)
%t246 = load ptr, ptr %t0
%t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 7
%t248 = load ptr, ptr %t247
@@ -93506,25 +94260,25 @@ then22:
%t275 = load ptr, ptr %t274
%t276 = getelementptr inbounds %Cmp_Val, ptr %t275, i32 0, i32 0
%t277 = load ptr, ptr %t276
- %t278 = call ptr @fn_str_concat(ptr @.str8919, ptr %t277)
- %t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str8920)
+ %t278 = call ptr @lp_str_concat(ptr @.str8948, ptr %t277)
+ %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str8949)
%t280 = call ptr @fn_emit_bind(ptr %t279)
store ptr %t280, ptr %t281
- %t282 = call ptr @fn_lbl(ptr @.str8921)
+ %t282 = call ptr @fn_lbl(ptr @.str8950)
store ptr %t282, ptr %t283
- call void @fn_emit(ptr @.str8922)
+ call void @fn_emit(ptr @.str8951)
%t284 = load ptr, ptr %t281
call void @fn_emit(ptr %t284)
- call void @fn_emit(ptr @.str8923)
+ call void @fn_emit(ptr @.str8952)
%t285 = load ptr, ptr %t283
call void @fn_emit(ptr %t285)
- call void @fn_emit(ptr @.str8924)
+ call void @fn_emit(ptr @.str8953)
%t286 = load ptr, ptr %t46
call void @fn_emit(ptr %t286)
- call void @fn_emit(ptr @.str8925)
+ call void @fn_emit(ptr @.str8954)
%t287 = load ptr, ptr %t283
call void @fn_emit(ptr %t287)
- call void @fn_emit(ptr @.str8926)
+ call void @fn_emit(ptr @.str8955)
br label %ifend24
ifend24:
%t288 = load ptr, ptr %t46
@@ -93543,34 +94297,34 @@ ifend24:
%t297 = icmp ne i32 %t296, 0
br i1 %t297, label %then25, label %ifend27
then25:
- call void @fn_emit(ptr @.str8927)
+ call void @fn_emit(ptr @.str8956)
%t298 = load ptr, ptr %t46
call void @fn_emit(ptr %t298)
- call void @fn_emit(ptr @.str8928)
+ call void @fn_emit(ptr @.str8957)
br label %ifend27
ifend27:
%t299 = load ptr, ptr %t46
call void @fn_emit(ptr %t299)
- call void @fn_emit(ptr @.str8929)
+ call void @fn_emit(ptr @.str8958)
%t300 = load ptr, ptr %t4
- %t301 = call ptr @fn_str_concat(ptr @.str8930, ptr %t300)
+ %t301 = call ptr @lp_str_concat(ptr @.str8959, ptr %t300)
%t302 = call ptr @fn_emit_bind(ptr %t301)
store ptr %t302, ptr %t303
%t304 = load ptr, ptr %t303
- %t305 = call ptr @fn_str_concat(ptr @.str8931, ptr %t304)
- %t306 = call ptr @fn_str_concat(ptr %t305, ptr @.str8932)
+ %t305 = call ptr @lp_str_concat(ptr @.str8960, ptr %t304)
+ %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str8961)
%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 @.str8933, ptr %t309, ptr %t310)
- call void @fn_emit(ptr @.str8934)
+ call void @fn_store_at(ptr @.str8962, ptr %t309, ptr %t310)
+ call void @fn_emit(ptr @.str8963)
%t311 = load ptr, ptr %t42
call void @fn_emit(ptr %t311)
- call void @fn_emit(ptr @.str8935)
+ call void @fn_emit(ptr @.str8964)
%t312 = load ptr, ptr %t48
call void @fn_emit(ptr %t312)
- call void @fn_emit(ptr @.str8936)
+ call void @fn_emit(ptr @.str8965)
store i32 0, ptr @g_g_term
%t313 = load i32, ptr @g_nself
%t314 = sub i32 %t313, 1
@@ -93587,15 +94341,15 @@ entry:
%t3 = alloca ptr
store ptr %arg_e, ptr %t0
store ptr %arg_body, ptr %t1
- %t2 = call ptr @fn_emit_alloca(ptr @.str8937)
+ %t2 = call ptr @fn_emit_alloca(ptr @.str8966)
store ptr %t2, ptr %t3
- call void @fn_emit(ptr @.str8938)
+ call void @fn_emit(ptr @.str8967)
%t4 = load ptr, ptr %t0
call void @fn_emit(ptr %t4)
- call void @fn_emit(ptr @.str8939)
+ call void @fn_emit(ptr @.str8968)
%t5 = load ptr, ptr %t3
call void @fn_emit(ptr %t5)
- call void @fn_emit(ptr @.str8940)
+ call void @fn_emit(ptr @.str8969)
%t6 = load i32, ptr @g_nself
%t7 = load ptr, ptr @g_self_stk
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1
@@ -93615,33 +94369,33 @@ then0:
br label %ifend2
else1:
%t19 = load ptr, ptr @g_self_stk
- %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1
- %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2
- %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
- %t23 = load i32, ptr %t20
+ %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 = icmp sge i32 %t23, %t24
- br i1 %t25, label %grow3, label %put4
+ %t25 = load i32, ptr %t22
+ %t26 = icmp sge i32 %t24, %t25
+ br i1 %t26, 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
+ %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:
- %t35 = load ptr, ptr %t3
- %t36 = load ptr, ptr %t22
- %t37 = getelementptr inbounds ptr, ptr %t36, i32 %t23
- store ptr %t35, ptr %t37
- %t38 = add i32 %t23, 1
- store i32 %t38, ptr %t20
+ %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
@@ -93696,47 +94450,47 @@ entry:
br i1 %t11, label %then0, label %ifend2
then0:
%t12 = load ptr, ptr %t1
- %t13 = call ptr @fn_str_concat(ptr @.str8941, ptr %t12)
+ %t13 = call ptr @lp_str_concat(ptr @.str8970, 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 @.str8942)
+ call void @fn_emit(ptr @.str8971)
%t16 = load ptr, ptr %t15
call void @fn_emit(ptr %t16)
- call void @fn_emit(ptr @.str8943)
+ call void @fn_emit(ptr @.str8972)
%t17 = load ptr, ptr %t4
call void @fn_emit(ptr %t17)
- call void @fn_emit(ptr @.str8944)
+ call void @fn_emit(ptr @.str8973)
%t18 = load ptr, ptr %t1
call void @fn_emit(ptr %t18)
- call void @fn_emit(ptr @.str8945)
+ call void @fn_emit(ptr @.str8974)
%t19 = load ptr, ptr %t0
call void @fn_emit(ptr %t19)
- call void @fn_emit(ptr @.str8946)
- call void @fn_emit(ptr @.str8947)
+ call void @fn_emit(ptr @.str8975)
+ call void @fn_emit(ptr @.str8976)
%t20 = load ptr, ptr %t15
call void @fn_emit(ptr %t20)
- call void @fn_emit(ptr @.str8948)
+ call void @fn_emit(ptr @.str8977)
%t21 = call ptr @fn_nreg()
store ptr %t21, ptr %t22
- call void @fn_emit(ptr @.str8949)
+ call void @fn_emit(ptr @.str8978)
%t23 = load ptr, ptr %t22
call void @fn_emit(ptr %t23)
- call void @fn_emit(ptr @.str8950)
+ call void @fn_emit(ptr @.str8979)
%t24 = load ptr, ptr %t4
call void @fn_emit(ptr %t24)
- call void @fn_emit(ptr @.str8951)
+ call void @fn_emit(ptr @.str8980)
%t25 = load ptr, ptr %t1
call void @fn_emit(ptr %t25)
- call void @fn_emit(ptr @.str8952)
+ call void @fn_emit(ptr @.str8981)
%t26 = load ptr, ptr %t1
call void @fn_emit(ptr %t26)
- call void @fn_emit(ptr @.str8953)
+ call void @fn_emit(ptr @.str8982)
%t27 = load ptr, ptr %t0
call void @fn_emit(ptr %t27)
- call void @fn_emit(ptr @.str8954)
+ call void @fn_emit(ptr @.str8983)
store i32 0, ptr %t28
br label %wcond3
wcond3:
@@ -93762,32 +94516,32 @@ wbody4:
store ptr %t45, ptr %t46
%t47 = call ptr @fn_nreg()
store ptr %t47, ptr %t48
- call void @fn_emit(ptr @.str8955)
+ call void @fn_emit(ptr @.str8984)
%t49 = load ptr, ptr %t48
call void @fn_emit(ptr %t49)
- call void @fn_emit(ptr @.str8956)
+ call void @fn_emit(ptr @.str8985)
%t50 = load ptr, ptr %t1
call void @fn_emit(ptr %t50)
- call void @fn_emit(ptr @.str8957)
+ call void @fn_emit(ptr @.str8986)
%t51 = load ptr, ptr %t22
call void @fn_emit(ptr %t51)
- call void @fn_emit(ptr @.str8958)
+ call void @fn_emit(ptr @.str8987)
%t52 = load i32, ptr %t28
%t53 = call ptr @fn_itoa(i32 %t52)
call void @fn_emit(ptr %t53)
- call void @fn_emit(ptr @.str8959)
+ call void @fn_emit(ptr @.str8988)
%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 @.str8960, ptr %t59
+ store ptr @.str8989, ptr %t59
%t60 = load ptr, ptr %t58
- %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str8961)
+ %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str8990)
%t62 = icmp ne i32 %t61, 0
br i1 %t62, label %then6, label %ifend8
then6:
- store ptr @.str8962, ptr %t59
+ store ptr @.str8991, ptr %t59
br label %ifend8
ifend8:
%t63 = load ptr, ptr %t46
@@ -93809,16 +94563,16 @@ then9:
store ptr %t76, ptr %t59
br label %ifend11
ifend11:
- call void @fn_emit(ptr @.str8963)
+ call void @fn_emit(ptr @.str8992)
%t77 = load ptr, ptr %t58
call void @fn_emit(ptr %t77)
- call void @fn_emit(ptr @.str8964)
+ call void @fn_emit(ptr @.str8993)
%t78 = load ptr, ptr %t59
call void @fn_emit(ptr %t78)
- call void @fn_emit(ptr @.str8965)
+ call void @fn_emit(ptr @.str8994)
%t79 = load ptr, ptr %t48
call void @fn_emit(ptr %t79)
- call void @fn_emit(ptr @.str8966)
+ call void @fn_emit(ptr @.str8995)
%t80 = load i32, ptr %t28
%t81 = add i32 %t80, 1
store i32 %t81, ptr %t28
@@ -93867,26 +94621,26 @@ wbody16:
then18:
%t115 = call ptr @fn_nreg()
store ptr %t115, ptr %t116
- call void @fn_emit(ptr @.str8967)
+ call void @fn_emit(ptr @.str8996)
%t117 = load ptr, ptr %t116
call void @fn_emit(ptr %t117)
- call void @fn_emit(ptr @.str8968)
+ call void @fn_emit(ptr @.str8997)
%t118 = load ptr, ptr %t1
call void @fn_emit(ptr %t118)
- call void @fn_emit(ptr @.str8969)
+ call void @fn_emit(ptr @.str8998)
%t119 = load ptr, ptr %t22
call void @fn_emit(ptr %t119)
- call void @fn_emit(ptr @.str8970)
+ call void @fn_emit(ptr @.str8999)
%t120 = load i32, ptr %t110
%t121 = call ptr @fn_itoa(i32 %t120)
call void @fn_emit(ptr %t121)
- call void @fn_emit(ptr @.str8971)
+ call void @fn_emit(ptr @.str9000)
%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 @.str8972)
+ call void @fn_emit(ptr @.str9001)
%t127 = load ptr, ptr %t7
%t128 = load ptr, ptr %t104
%t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1
@@ -93894,15 +94648,15 @@ then18:
%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 @.str8973)
+ call void @fn_emit(ptr @.str9002)
%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 @.str8974)
+ call void @fn_emit(ptr @.str9003)
%t136 = load ptr, ptr %t116
call void @fn_emit(ptr %t136)
- call void @fn_emit(ptr @.str8975)
+ call void @fn_emit(ptr @.str9004)
br label %ifend20
ifend20:
%t137 = load i32, ptr %t86
@@ -93923,15 +94677,15 @@ ifend14:
then21:
%t146 = load i32, ptr @g_nloc
store i32 %t146, ptr %t147
- %t148 = call ptr @fn_emit_alloca(ptr @.str8976)
+ %t148 = call ptr @fn_emit_alloca(ptr @.str9005)
store ptr %t148, ptr %t149
- call void @fn_emit(ptr @.str8977)
+ call void @fn_emit(ptr @.str9006)
%t150 = load ptr, ptr %t22
call void @fn_emit(ptr %t150)
- call void @fn_emit(ptr @.str8978)
+ call void @fn_emit(ptr @.str9007)
%t151 = load ptr, ptr %t149
call void @fn_emit(ptr %t151)
- call void @fn_emit(ptr @.str8979)
+ call void @fn_emit(ptr @.str9008)
%t152 = load ptr, ptr %t1
%t153 = load ptr, ptr %t149
%t154 = load ptr, ptr %t1
@@ -93944,8 +94698,8 @@ then21:
br label %ifend23
ifend23:
%t158 = load ptr, ptr %t1
- %t159 = call ptr @fn_str_concat(ptr @.str8980, ptr %t158)
- %t160 = call ptr @fn_str_concat(ptr %t159, ptr @.str8981)
+ %t159 = call ptr @lp_str_concat(ptr @.str9009, ptr %t158)
+ %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str9010)
store ptr %t160, ptr %t161
%t162 = load ptr, ptr %t161
%t163 = call ptr @fn_find_event(ptr %t162)
@@ -93954,13 +94708,13 @@ ifend23:
%t166 = icmp ne i32 %t165, 0
br i1 %t166, label %then24, label %ifend26
then24:
- call void @fn_emit(ptr @.str8982)
+ call void @fn_emit(ptr @.str9011)
%t167 = load ptr, ptr %t161
call void @fn_emit(ptr %t167)
- call void @fn_emit(ptr @.str8983)
+ call void @fn_emit(ptr @.str9012)
%t168 = load ptr, ptr %t0
call void @fn_emit(ptr %t168)
- call void @fn_emit(ptr @.str8984)
+ call void @fn_emit(ptr @.str9013)
br label %ifend26
ifend26:
br label %ret
@@ -94008,31 +94762,31 @@ wbody1:
store ptr %t23, ptr %t24
%t25 = call ptr @fn_nreg()
store ptr %t25, ptr %t26
- call void @fn_emit(ptr @.str8985)
+ call void @fn_emit(ptr @.str9014)
%t27 = load ptr, ptr %t26
call void @fn_emit(ptr %t27)
- call void @fn_emit(ptr @.str8986)
+ call void @fn_emit(ptr @.str9015)
%t28 = load ptr, ptr %t3
call void @fn_emit(ptr %t28)
- call void @fn_emit(ptr @.str8987)
+ call void @fn_emit(ptr @.str9016)
%t29 = load ptr, ptr %t24
call void @fn_emit(ptr %t29)
- call void @fn_emit(ptr @.str8988)
+ call void @fn_emit(ptr @.str9017)
%t30 = load ptr, ptr %t24
call void @fn_emit(ptr %t30)
- call void @fn_emit(ptr @.str8989)
+ call void @fn_emit(ptr @.str9018)
%t31 = load ptr, ptr %t1
call void @fn_emit(ptr %t31)
- call void @fn_emit(ptr @.str8990)
- %t32 = call ptr @fn_emit_alloca(ptr @.str8991)
+ call void @fn_emit(ptr @.str9019)
+ %t32 = call ptr @fn_emit_alloca(ptr @.str9020)
store ptr %t32, ptr %t33
- call void @fn_emit(ptr @.str8992)
+ call void @fn_emit(ptr @.str9021)
%t34 = load ptr, ptr %t26
call void @fn_emit(ptr %t34)
- call void @fn_emit(ptr @.str8993)
+ call void @fn_emit(ptr @.str9022)
%t35 = load ptr, ptr %t33
call void @fn_emit(ptr %t35)
- call void @fn_emit(ptr @.str8994)
+ call void @fn_emit(ptr @.str9023)
%t36 = load ptr, ptr %t24
%t37 = load ptr, ptr %t33
%t38 = load ptr, ptr %t24
@@ -94089,7 +94843,7 @@ wbody4:
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1
%t25 = load ptr, ptr %t24
%t26 = load ptr, ptr %t1
- %t27 = call i32 @fn_str_eq(ptr %t25, ptr %t26)
+ %t27 = call i32 @lp_str_eq(ptr %t25, ptr %t26)
%t28 = icmp ne i32 %t27, 0
br i1 %t28, label %then6, label %ifend8
then6:
@@ -94166,40 +94920,40 @@ wbody7:
%t24 = load ptr, ptr %t13
%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 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2
- %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
- %t30 = load i32, ptr %t27
- %t31 = load i32, ptr %t28
- %t32 = icmp sge i32 %t30, %t31
- br i1 %t32, label %grow9, label %put10
+ %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:
- %t33 = mul i32 %t31, 2
- %t34 = icmp eq i32 %t31, 0
- %t35 = select i1 %t34, i32 8, i32 %t33
- %t36 = getelementptr ptr, ptr null, i32 1
- %t37 = ptrtoint ptr %t36 to i64
- %t38 = zext i32 %t35 to i64
- %t39 = mul i64 %t38, %t37
- %t40 = load ptr, ptr %t29
- %t41 = call ptr @realloc(ptr %t40, i64 %t39)
- store ptr %t41, ptr %t29
- store i32 %t35, ptr %t28
+ %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:
- %t42 = load ptr, ptr %t0
- %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7
- %t44 = load ptr, ptr %t43
- %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0
- %t46 = load ptr, ptr %t45
- %t47 = load i32, ptr %t14
- %t48 = getelementptr inbounds ptr, ptr %t46, i32 %t47
- %t49 = load ptr, ptr %t48
- %t50 = load ptr, ptr %t29
- %t51 = getelementptr inbounds ptr, ptr %t50, i32 %t30
- store ptr %t49, ptr %t51
- %t52 = add i32 %t30, 1
- store i32 %t52, ptr %t27
+ %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
@@ -94222,40 +94976,40 @@ wbody12:
%t64 = load ptr, ptr %t13
%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 1
- %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2
- %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0
- %t70 = load i32, ptr %t67
- %t71 = load i32, ptr %t68
- %t72 = icmp sge i32 %t70, %t71
- br i1 %t72, label %grow14, label %put15
+ %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:
- %t73 = mul i32 %t71, 2
- %t74 = icmp eq i32 %t71, 0
- %t75 = select i1 %t74, i32 8, i32 %t73
- %t76 = getelementptr ptr, ptr null, i32 1
- %t77 = ptrtoint ptr %t76 to i64
- %t78 = zext i32 %t75 to i64
- %t79 = mul i64 %t78, %t77
- %t80 = load ptr, ptr %t69
- %t81 = call ptr @realloc(ptr %t80, i64 %t79)
- store ptr %t81, ptr %t69
- store i32 %t75, ptr %t68
+ %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:
- %t82 = load ptr, ptr %t1
- %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 0
- %t86 = load ptr, ptr %t85
- %t87 = load i32, ptr %t14
- %t88 = getelementptr inbounds ptr, ptr %t86, i32 %t87
- %t89 = load ptr, ptr %t88
- %t90 = load ptr, ptr %t69
- %t91 = getelementptr inbounds ptr, ptr %t90, i32 %t70
- store ptr %t89, ptr %t91
- %t92 = add i32 %t70, 1
- store i32 %t92, ptr %t67
+ %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
@@ -94312,8 +95066,8 @@ ifend5:
br i1 %t21, label %then6, label %ifend8
then6:
%t22 = load ptr, ptr %t0
- %t23 = call ptr @fn_str_concat(ptr @.str8995, ptr %t22)
- %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str8996)
+ %t23 = call ptr @lp_str_concat(ptr @.str9024, ptr %t22)
+ %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9025)
call void @fn_perr(ptr %t24)
br label %ifend8
ifend8:
@@ -94381,7 +95135,7 @@ entry:
%t102 = alloca ptr
%t110 = alloca i32
store ptr %arg_st, ptr %t0
- %t1 = call ptr @fn_emit_bind(ptr @.str8997)
+ %t1 = call ptr @fn_emit_bind(ptr @.str9026)
store ptr %t1, ptr %t2
%t3 = load ptr, ptr %t0
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1
@@ -94417,10 +95171,10 @@ 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 @fn_str_concat(ptr @.str8998, ptr %t29)
- %t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str8999)
+ %t30 = call ptr @lp_str_concat(ptr @.str9027, ptr %t29)
+ %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str9028)
%t32 = load ptr, ptr %t7
- %t33 = call ptr @fn_str_concat(ptr %t31, ptr %t32)
+ %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32)
call void @fn_perr(ptr %t33)
br label %ifend4
ifend4:
@@ -94434,24 +95188,24 @@ then5:
store ptr %t38, ptr %t39
%t40 = call ptr @fn_nreg()
store ptr %t40, ptr %t41
- call void @fn_emit(ptr @.str9000)
+ call void @fn_emit(ptr @.str9029)
%t42 = load ptr, ptr %t41
call void @fn_emit(ptr %t42)
- call void @fn_emit(ptr @.str9001)
+ call void @fn_emit(ptr @.str9030)
%t43 = load ptr, ptr %t39
call void @fn_emit(ptr %t43)
- call void @fn_emit(ptr @.str9002)
+ call void @fn_emit(ptr @.str9031)
%t44 = load ptr, ptr %t2
call void @fn_emit(ptr %t44)
- call void @fn_emit(ptr @.str9003)
- call void @fn_emit(ptr @.str9004)
+ call void @fn_emit(ptr @.str9032)
+ call void @fn_emit(ptr @.str9033)
%t45 = load i32, ptr %t10
%t46 = call ptr @fn_itoa(i32 %t45)
call void @fn_emit(ptr %t46)
- call void @fn_emit(ptr @.str9005)
+ call void @fn_emit(ptr @.str9034)
%t47 = load ptr, ptr %t41
call void @fn_emit(ptr %t47)
- call void @fn_emit(ptr @.str9006)
+ call void @fn_emit(ptr @.str9035)
%t48 = load ptr, ptr %t7
%t49 = call ptr @fn_find_arch(ptr %t48)
store ptr %t49, ptr %t50
@@ -94519,8 +95273,8 @@ then11:
br label %ifend13
ifend13:
%t99 = load ptr, ptr %t7
- %t100 = call ptr @fn_str_concat(ptr @.str9007, ptr %t99)
- %t101 = call ptr @fn_str_concat(ptr %t100, ptr @.str9008)
+ %t100 = call ptr @lp_str_concat(ptr @.str9036, ptr %t99)
+ %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str9037)
store ptr %t101, ptr %t102
%t103 = load ptr, ptr %t102
%t104 = call ptr @fn_find_event(ptr %t103)
@@ -94529,13 +95283,13 @@ ifend13:
%t107 = icmp ne i32 %t106, 0
br i1 %t107, label %then14, label %ifend16
then14:
- call void @fn_emit(ptr @.str9009)
+ call void @fn_emit(ptr @.str9038)
%t108 = load ptr, ptr %t102
call void @fn_emit(ptr %t108)
- call void @fn_emit(ptr @.str9010)
+ call void @fn_emit(ptr @.str9039)
%t109 = load ptr, ptr %t2
call void @fn_emit(ptr %t109)
- call void @fn_emit(ptr @.str9011)
+ call void @fn_emit(ptr @.str9040)
br label %ifend16
ifend16:
br label %ifend7
@@ -94622,20 +95376,20 @@ then0:
store ptr %t12, ptr %t13
%t14 = call ptr @fn_nreg()
store ptr %t14, ptr %t15
- call void @fn_emit(ptr @.str9012)
+ call void @fn_emit(ptr @.str9041)
%t16 = load ptr, ptr %t15
call void @fn_emit(ptr %t16)
- call void @fn_emit(ptr @.str9013)
+ call void @fn_emit(ptr @.str9042)
%t17 = load ptr, ptr %t13
call void @fn_emit(ptr %t17)
- call void @fn_emit(ptr @.str9014)
+ call void @fn_emit(ptr @.str9043)
%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 @.str9015)
+ call void @fn_emit(ptr @.str9044)
%t21 = load ptr, ptr %t15
- %t22 = call ptr @fn_str_concat(ptr @.str9016, ptr %t21)
+ %t22 = call ptr @lp_str_concat(ptr @.str9045, ptr %t21)
%t23 = call ptr @fn_emit_bind(ptr %t22)
store ptr %t23, ptr %t24
store i32 0, ptr %t25
@@ -94660,42 +95414,42 @@ wbody4:
%t40 = load ptr, ptr %t39
store ptr %t40, ptr %t41
%t42 = load ptr, ptr %t24
- %t43 = call ptr @fn_str_concat(ptr @.str9017, ptr %t42)
- %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str9018)
+ %t43 = call ptr @lp_str_concat(ptr @.str9046, ptr %t42)
+ %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str9047)
%t45 = load ptr, ptr %t41
%t46 = call i32 @fn_find_arch_id(ptr %t45)
%t47 = call ptr @fn_itoa(i32 %t46)
- %t48 = call ptr @fn_str_concat(ptr %t44, ptr %t47)
+ %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 @.str9019)
+ %t51 = call ptr @fn_lbl(ptr @.str9048)
store ptr %t51, ptr %t52
- %t53 = call ptr @fn_lbl(ptr @.str9020)
+ %t53 = call ptr @fn_lbl(ptr @.str9049)
store ptr %t53, ptr %t54
- call void @fn_emit(ptr @.str9021)
+ call void @fn_emit(ptr @.str9050)
%t55 = load ptr, ptr %t50
call void @fn_emit(ptr %t55)
- call void @fn_emit(ptr @.str9022)
+ call void @fn_emit(ptr @.str9051)
%t56 = load ptr, ptr %t52
call void @fn_emit(ptr %t56)
- call void @fn_emit(ptr @.str9023)
+ call void @fn_emit(ptr @.str9052)
%t57 = load ptr, ptr %t54
call void @fn_emit(ptr %t57)
- call void @fn_emit(ptr @.str9024)
+ call void @fn_emit(ptr @.str9053)
%t58 = load ptr, ptr %t52
call void @fn_emit(ptr %t58)
- call void @fn_emit(ptr @.str9025)
+ call void @fn_emit(ptr @.str9054)
%t59 = load ptr, ptr %t41
call void @fn_emit(ptr %t59)
- call void @fn_emit(ptr @.str9026)
+ call void @fn_emit(ptr @.str9055)
%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 @.str9027)
+ call void @fn_emit(ptr @.str9056)
%t63 = load ptr, ptr %t41
- %t64 = call ptr @fn_str_concat(ptr @.str9028, ptr %t63)
- %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str9029)
+ %t64 = call ptr @lp_str_concat(ptr @.str9057, ptr %t63)
+ %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9058)
store ptr %t65, ptr %t66
%t67 = load ptr, ptr %t66
%t68 = call ptr @fn_find_event(ptr %t67)
@@ -94704,24 +95458,24 @@ wbody4:
%t71 = icmp ne i32 %t70, 0
br i1 %t71, label %then6, label %ifend8
then6:
- call void @fn_emit(ptr @.str9030)
+ call void @fn_emit(ptr @.str9059)
%t72 = load ptr, ptr %t66
call void @fn_emit(ptr %t72)
- call void @fn_emit(ptr @.str9031)
+ call void @fn_emit(ptr @.str9060)
%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 @.str9032)
+ call void @fn_emit(ptr @.str9061)
br label %ifend8
ifend8:
- call void @fn_emit(ptr @.str9033)
+ call void @fn_emit(ptr @.str9062)
%t76 = load ptr, ptr %t54
call void @fn_emit(ptr %t76)
- call void @fn_emit(ptr @.str9034)
+ call void @fn_emit(ptr @.str9063)
%t77 = load ptr, ptr %t54
call void @fn_emit(ptr %t77)
- call void @fn_emit(ptr @.str9035)
+ call void @fn_emit(ptr @.str9064)
%t78 = load i32, ptr %t25
%t79 = add i32 %t78, 1
store i32 %t79, ptr %t25
@@ -94737,20 +95491,20 @@ ifend2:
%t85 = icmp ne i32 %t84, 0
br i1 %t85, label %then9, label %ifend11
then9:
- call void @fn_emit(ptr @.str9036)
+ call void @fn_emit(ptr @.str9065)
%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 @.str9037)
+ call void @fn_emit(ptr @.str9066)
br label %ifend11
ifend11:
- call void @fn_emit(ptr @.str9038)
+ call void @fn_emit(ptr @.str9067)
%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 @.str9039)
+ call void @fn_emit(ptr @.str9068)
br label %ret
ret:
ret void
@@ -94776,49 +95530,49 @@ entry:
store ptr %t6, ptr %t7
%t8 = call ptr @fn_nreg()
store ptr %t8, ptr %t9
- call void @fn_emit(ptr @.str9040)
+ call void @fn_emit(ptr @.str9069)
%t10 = load ptr, ptr %t9
call void @fn_emit(ptr %t10)
- call void @fn_emit(ptr @.str9041)
+ call void @fn_emit(ptr @.str9070)
%t11 = load ptr, ptr %t7
call void @fn_emit(ptr %t11)
- call void @fn_emit(ptr @.str9042)
+ call void @fn_emit(ptr @.str9071)
%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 @.str9043)
+ call void @fn_emit(ptr @.str9072)
%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 @.str9044)
+ call void @fn_emit(ptr @.str9073)
%t18 = load ptr, ptr %t9
- %t19 = call ptr @fn_str_concat(ptr @.str9045, ptr %t18)
+ %t19 = call ptr @lp_str_concat(ptr @.str9074, ptr %t18)
%t20 = call ptr @fn_emit_bind(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t21
- %t23 = call ptr @fn_str_concat(ptr @.str9046, ptr %t22)
- %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str9047)
+ %t23 = call ptr @lp_str_concat(ptr @.str9075, ptr %t22)
+ %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9076)
%t25 = call ptr @fn_emit_bind(ptr %t24)
store ptr %t25, ptr %t26
- %t27 = call ptr @fn_lbl(ptr @.str9048)
+ %t27 = call ptr @fn_lbl(ptr @.str9077)
store ptr %t27, ptr %t28
- %t29 = call ptr @fn_lbl(ptr @.str9049)
+ %t29 = call ptr @fn_lbl(ptr @.str9078)
store ptr %t29, ptr %t30
- call void @fn_emit(ptr @.str9050)
+ call void @fn_emit(ptr @.str9079)
%t31 = load ptr, ptr %t26
call void @fn_emit(ptr %t31)
- call void @fn_emit(ptr @.str9051)
+ call void @fn_emit(ptr @.str9080)
%t32 = load ptr, ptr %t28
call void @fn_emit(ptr %t32)
- call void @fn_emit(ptr @.str9052)
+ call void @fn_emit(ptr @.str9081)
%t33 = load ptr, ptr %t30
call void @fn_emit(ptr %t33)
- call void @fn_emit(ptr @.str9053)
+ call void @fn_emit(ptr @.str9082)
%t34 = load ptr, ptr %t28
call void @fn_emit(ptr %t34)
- call void @fn_emit(ptr @.str9054)
+ call void @fn_emit(ptr @.str9083)
store i32 0, ptr @g_g_term
%t35 = load ptr, ptr %t5
%t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0
@@ -94836,15 +95590,15 @@ entry:
%t47 = icmp ne i32 %t46, 0
br i1 %t47, label %then0, label %ifend2
then0:
- call void @fn_emit(ptr @.str9055)
+ call void @fn_emit(ptr @.str9084)
%t48 = load ptr, ptr %t30
call void @fn_emit(ptr %t48)
- call void @fn_emit(ptr @.str9056)
+ call void @fn_emit(ptr @.str9085)
br label %ifend2
ifend2:
%t49 = load ptr, ptr %t30
call void @fn_emit(ptr %t49)
- call void @fn_emit(ptr @.str9057)
+ call void @fn_emit(ptr @.str9086)
store i32 0, ptr @g_g_term
br label %ret
ret:
@@ -94876,54 +95630,54 @@ entry:
store ptr %t6, ptr %t7
%t8 = call ptr @fn_nreg()
store ptr %t8, ptr %t9
- call void @fn_emit(ptr @.str9058)
+ call void @fn_emit(ptr @.str9087)
%t10 = load ptr, ptr %t9
call void @fn_emit(ptr %t10)
- call void @fn_emit(ptr @.str9059)
+ call void @fn_emit(ptr @.str9088)
%t11 = load ptr, ptr %t7
call void @fn_emit(ptr %t11)
- call void @fn_emit(ptr @.str9060)
+ call void @fn_emit(ptr @.str9089)
%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 @.str9061)
+ call void @fn_emit(ptr @.str9090)
%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 @.str9062)
+ call void @fn_emit(ptr @.str9091)
%t18 = load ptr, ptr %t9
- %t19 = call ptr @fn_str_concat(ptr @.str9063, ptr %t18)
+ %t19 = call ptr @lp_str_concat(ptr @.str9092, ptr %t18)
%t20 = call ptr @fn_emit_bind(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t21
- %t23 = call ptr @fn_str_concat(ptr @.str9064, ptr %t22)
- %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str9065)
+ %t23 = call ptr @lp_str_concat(ptr @.str9093, ptr %t22)
+ %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9094)
%t25 = call ptr @fn_emit_bind(ptr %t24)
store ptr %t25, ptr %t26
- %t27 = call ptr @fn_lbl(ptr @.str9066)
+ %t27 = call ptr @fn_lbl(ptr @.str9095)
store ptr %t27, ptr %t28
- %t29 = call ptr @fn_lbl(ptr @.str9067)
+ %t29 = call ptr @fn_lbl(ptr @.str9096)
store ptr %t29, ptr %t30
- call void @fn_emit(ptr @.str9068)
+ call void @fn_emit(ptr @.str9097)
%t31 = load ptr, ptr %t26
call void @fn_emit(ptr %t31)
- call void @fn_emit(ptr @.str9069)
+ call void @fn_emit(ptr @.str9098)
%t32 = load ptr, ptr %t28
call void @fn_emit(ptr %t32)
- call void @fn_emit(ptr @.str9070)
+ call void @fn_emit(ptr @.str9099)
%t33 = load ptr, ptr %t30
call void @fn_emit(ptr %t33)
- call void @fn_emit(ptr @.str9071)
+ call void @fn_emit(ptr @.str9100)
%t34 = load ptr, ptr %t28
call void @fn_emit(ptr %t34)
- call void @fn_emit(ptr @.str9072)
+ call void @fn_emit(ptr @.str9101)
store i32 0, ptr @g_g_term
- call void @fn_emit(ptr @.str9073)
+ call void @fn_emit(ptr @.str9102)
%t35 = load ptr, ptr %t9
call void @fn_emit(ptr %t35)
- call void @fn_emit(ptr @.str9074)
+ call void @fn_emit(ptr @.str9103)
%t36 = load ptr, ptr %t0
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1
%t38 = load ptr, ptr %t37
@@ -94939,37 +95693,37 @@ then0:
store i32 %t45, ptr %t46
%t47 = call ptr @fn_nreg()
store ptr %t47, ptr %t48
- call void @fn_emit(ptr @.str9075)
+ call void @fn_emit(ptr @.str9104)
%t49 = load ptr, ptr %t48
call void @fn_emit(ptr %t49)
- call void @fn_emit(ptr @.str9076)
+ call void @fn_emit(ptr @.str9105)
%t50 = load ptr, ptr %t7
call void @fn_emit(ptr %t50)
- call void @fn_emit(ptr @.str9077)
+ call void @fn_emit(ptr @.str9106)
%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 @.str9078)
+ call void @fn_emit(ptr @.str9107)
%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 @.str9079)
+ call void @fn_emit(ptr @.str9108)
%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 @.str9080)
- %t60 = call ptr @fn_emit_alloca(ptr @.str9081)
+ call void @fn_emit(ptr @.str9109)
+ %t60 = call ptr @fn_emit_alloca(ptr @.str9110)
store ptr %t60, ptr %t61
- call void @fn_emit(ptr @.str9082)
+ call void @fn_emit(ptr @.str9111)
%t62 = load ptr, ptr %t48
call void @fn_emit(ptr %t62)
- call void @fn_emit(ptr @.str9083)
+ call void @fn_emit(ptr @.str9112)
%t63 = load ptr, ptr %t61
call void @fn_emit(ptr %t63)
- call void @fn_emit(ptr @.str9084)
+ call void @fn_emit(ptr @.str9113)
%t64 = load ptr, ptr %t0
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1
%t66 = load ptr, ptr %t65
@@ -94987,8 +95741,8 @@ ifend2:
%t73 = load ptr, ptr %t0
%t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 1
%t75 = load ptr, ptr %t74
- %t76 = call ptr @fn_str_concat(ptr @.str9085, ptr %t75)
- %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str9086)
+ %t76 = call ptr @lp_str_concat(ptr @.str9114, ptr %t75)
+ %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str9115)
store ptr %t77, ptr %t78
%t79 = load ptr, ptr %t78
%t80 = call ptr @fn_find_event(ptr %t79)
@@ -94997,15 +95751,15 @@ ifend2:
%t83 = icmp ne i32 %t82, 0
br i1 %t83, label %then3, label %ifend5
then3:
- call void @fn_emit(ptr @.str9087)
+ call void @fn_emit(ptr @.str9116)
%t84 = load ptr, ptr %t78
call void @fn_emit(ptr %t84)
- call void @fn_emit(ptr @.str9088)
+ call void @fn_emit(ptr @.str9117)
%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 @.str9089)
+ call void @fn_emit(ptr @.str9118)
br label %ifend5
ifend5:
%t88 = load i32, ptr @g_g_term
@@ -95014,15 +95768,15 @@ ifend5:
%t91 = icmp ne i32 %t90, 0
br i1 %t91, label %then6, label %ifend8
then6:
- call void @fn_emit(ptr @.str9090)
+ call void @fn_emit(ptr @.str9119)
%t92 = load ptr, ptr %t30
call void @fn_emit(ptr %t92)
- call void @fn_emit(ptr @.str9091)
+ call void @fn_emit(ptr @.str9120)
br label %ifend8
ifend8:
%t93 = load ptr, ptr %t30
call void @fn_emit(ptr %t93)
- call void @fn_emit(ptr @.str9092)
+ call void @fn_emit(ptr @.str9121)
store i32 0, ptr @g_g_term
br label %ret
ret:
@@ -95070,7 +95824,7 @@ sc3:
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t0
- %t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
+ %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
@@ -95117,7 +95871,7 @@ entry:
%t176 = alloca i32
%t203 = alloca ptr
store ptr %arg_st, ptr %t0
- store ptr @.str9093, ptr %t1
+ store ptr @.str9122, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 2
%t4 = load i32, ptr %t3
@@ -95126,7 +95880,7 @@ entry:
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %then0, label %ifend2
then0:
- store ptr @.str9094, ptr %t1
+ store ptr @.str9123, ptr %t1
br label %ifend2
ifend2:
%t9 = load ptr, ptr %t0
@@ -95142,7 +95896,7 @@ sc3:
%t16 = load ptr, ptr %t0
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3
%t18 = load ptr, ptr %t17
- %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str9095)
+ %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str9124)
%t20 = icmp ne i32 %t19, 0
%t21 = zext i1 %t20 to i32
store i32 %t21, ptr %t8
@@ -95167,7 +95921,7 @@ 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 @fn_str_eq(ptr %t34, ptr @.str9096)
+ %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str9125)
%t36 = icmp ne i32 %t35, 0
%t37 = zext i1 %t36 to i32
store i32 %t37, ptr %t24
@@ -95177,20 +95931,20 @@ scend9:
%t39 = icmp ne i32 %t38, 0
br i1 %t39, label %then10, label %ifend12
then10:
- call void @fn_emit(ptr @.str9097)
+ call void @fn_emit(ptr @.str9126)
%t40 = load ptr, ptr %t1
call void @fn_emit(ptr %t40)
- call void @fn_emit(ptr @.str9098)
+ call void @fn_emit(ptr @.str9127)
%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 @.str9099)
+ call void @fn_emit(ptr @.str9128)
%t44 = load ptr, ptr %t0
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1
%t46 = load ptr, ptr %t45
- %t47 = call ptr @fn_str_concat(ptr @.str9100, ptr %t46)
- %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str9101)
+ %t47 = call ptr @lp_str_concat(ptr @.str9129, ptr %t46)
+ %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str9130)
store ptr %t48, ptr %t49
%t50 = load ptr, ptr %t0
%t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 2
@@ -95203,8 +95957,8 @@ 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 @fn_str_concat(ptr @.str9102, ptr %t58)
- %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str9103)
+ %t59 = call ptr @lp_str_concat(ptr @.str9131, ptr %t58)
+ %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str9132)
store ptr %t60, ptr %t49
br label %ifend15
ifend15:
@@ -95215,10 +95969,10 @@ ifend15:
%t65 = icmp ne i32 %t64, 0
br i1 %t65, label %then16, label %ifend18
then16:
- call void @fn_emit(ptr @.str9104)
+ call void @fn_emit(ptr @.str9133)
%t66 = load ptr, ptr %t49
call void @fn_emit(ptr %t66)
- call void @fn_emit(ptr @.str9105)
+ call void @fn_emit(ptr @.str9134)
br label %ifend18
ifend18:
br label %ret
@@ -95240,30 +95994,30 @@ then19:
store ptr %t78, ptr %t79
%t80 = call ptr @fn_nreg()
store ptr %t80, ptr %t81
- call void @fn_emit(ptr @.str9106)
+ call void @fn_emit(ptr @.str9135)
%t82 = load ptr, ptr %t81
call void @fn_emit(ptr %t82)
- call void @fn_emit(ptr @.str9107)
+ call void @fn_emit(ptr @.str9136)
%t83 = load ptr, ptr %t79
call void @fn_emit(ptr %t83)
- call void @fn_emit(ptr @.str9108)
+ call void @fn_emit(ptr @.str9137)
%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 @.str9109)
+ call void @fn_emit(ptr @.str9138)
%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 @.str9110)
- call void @fn_emit(ptr @.str9111)
+ call void @fn_emit(ptr @.str9139)
+ call void @fn_emit(ptr @.str9140)
%t90 = load ptr, ptr %t1
call void @fn_emit(ptr %t90)
- call void @fn_emit(ptr @.str9112)
+ call void @fn_emit(ptr @.str9141)
%t91 = load ptr, ptr %t81
call void @fn_emit(ptr %t91)
- call void @fn_emit(ptr @.str9113)
+ call void @fn_emit(ptr @.str9142)
store ptr null, ptr %t92
%t93 = load ptr, ptr %t0
%t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 2
@@ -95297,37 +96051,37 @@ then25:
store i32 %t111, ptr %t112
%t113 = call ptr @fn_nreg()
store ptr %t113, ptr %t114
- call void @fn_emit(ptr @.str9114)
+ call void @fn_emit(ptr @.str9143)
%t115 = load ptr, ptr %t114
call void @fn_emit(ptr %t115)
- call void @fn_emit(ptr @.str9115)
+ call void @fn_emit(ptr @.str9144)
%t116 = load ptr, ptr %t79
call void @fn_emit(ptr %t116)
- call void @fn_emit(ptr @.str9116)
+ call void @fn_emit(ptr @.str9145)
%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 @.str9117)
+ call void @fn_emit(ptr @.str9146)
%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 @.str9118)
+ call void @fn_emit(ptr @.str9147)
%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 @.str9119)
- %t126 = call ptr @fn_emit_alloca(ptr @.str9120)
+ call void @fn_emit(ptr @.str9148)
+ %t126 = call ptr @fn_emit_alloca(ptr @.str9149)
store ptr %t126, ptr %t127
- call void @fn_emit(ptr @.str9121)
+ call void @fn_emit(ptr @.str9150)
%t128 = load ptr, ptr %t114
call void @fn_emit(ptr %t128)
- call void @fn_emit(ptr @.str9122)
+ call void @fn_emit(ptr @.str9151)
%t129 = load ptr, ptr %t127
call void @fn_emit(ptr %t129)
- call void @fn_emit(ptr @.str9123)
+ call void @fn_emit(ptr @.str9152)
%t130 = load ptr, ptr %t0
%t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 1
%t132 = load ptr, ptr %t131
@@ -95345,8 +96099,8 @@ 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 @fn_str_concat(ptr @.str9124, ptr %t141)
- %t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str9125)
+ %t142 = call ptr @lp_str_concat(ptr @.str9153, ptr %t141)
+ %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str9154)
store ptr %t143, ptr %t144
%t145 = load ptr, ptr %t0
%t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 2
@@ -95359,8 +96113,8 @@ 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 @fn_str_concat(ptr @.str9126, ptr %t153)
- %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str9127)
+ %t154 = call ptr @lp_str_concat(ptr @.str9155, ptr %t153)
+ %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str9156)
store ptr %t155, ptr %t144
br label %ifend30
ifend30:
@@ -95371,20 +96125,20 @@ ifend30:
%t160 = icmp ne i32 %t159, 0
br i1 %t160, label %then31, label %ifend33
then31:
- call void @fn_emit(ptr @.str9128)
+ call void @fn_emit(ptr @.str9157)
%t161 = load ptr, ptr %t144
call void @fn_emit(ptr %t161)
- call void @fn_emit(ptr @.str9129)
+ call void @fn_emit(ptr @.str9158)
%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 @.str9130)
+ call void @fn_emit(ptr @.str9159)
br label %ifend33
ifend33:
br label %ifend21
else20:
- store ptr @.str9131, ptr %t165
+ store ptr @.str9160, ptr %t165
%t166 = load ptr, ptr %t0
%t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 1
%t168 = load ptr, ptr %t167
@@ -95392,7 +96146,7 @@ else20:
%t170 = icmp ne i32 %t169, 0
br i1 %t170, label %then34, label %ifend36
then34:
- store ptr @.str9132, ptr %t165
+ store ptr @.str9161, ptr %t165
br label %ifend36
ifend36:
%t171 = load ptr, ptr %t0
@@ -95400,7 +96154,7 @@ ifend36:
%t173 = load ptr, ptr %t172
store ptr %t173, ptr %t174
%t177 = load ptr, ptr %t165
- %t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str9133)
+ %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str9162)
%t179 = icmp ne i32 %t178, 0
%t180 = zext i1 %t179 to i32
store i32 %t180, ptr %t176
@@ -95436,9 +96190,9 @@ 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 @fn_str_concat(ptr %t199, ptr @.str9134)
+ %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str9163)
%t201 = load ptr, ptr %t174
- %t202 = call ptr @fn_str_concat(ptr %t200, ptr %t201)
+ %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)
@@ -95453,15 +96207,15 @@ then44:
ifend46:
br label %ifend43
ifend43:
- call void @fn_emit(ptr @.str9135)
+ call void @fn_emit(ptr @.str9164)
%t210 = load ptr, ptr %t1
call void @fn_emit(ptr %t210)
- call void @fn_emit(ptr @.str9136)
+ call void @fn_emit(ptr @.str9165)
%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 @.str9137)
+ call void @fn_emit(ptr @.str9166)
br label %ifend21
ifend21:
br label %ret
@@ -95485,7 +96239,7 @@ entry:
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
store i32 0, ptr @g_nself
- store ptr @.str9138, ptr @g_ret_ty
+ store ptr @.str9167, ptr @g_ret_ty
%t4 = call ptr @fn_buf_new()
store ptr %t4, ptr %t5
%t6 = call ptr @fn_buf_new()
@@ -95504,25 +96258,25 @@ entry:
%t16 = icmp ne i32 %t15, 0
br i1 %t16, label %then0, label %ifend2
then0:
- call void @fn_emit(ptr @.str9139)
+ call void @fn_emit(ptr @.str9168)
br label %ifend2
ifend2:
- call void @fn_emit(ptr @.str9140)
+ call void @fn_emit(ptr @.str9169)
%t17 = load ptr, ptr %t8
store ptr %t17, ptr @g_code
- call void @fn_emit(ptr @.str9141)
+ call void @fn_emit(ptr @.str9170)
%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 @.str9142)
+ call void @fn_emit(ptr @.str9171)
%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 @.str9143)
+ call void @fn_emit(ptr @.str9172)
br label %ret
ret:
ret void
@@ -95544,12 +96298,12 @@ entry:
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1
%t3 = load ptr, ptr %t2
- %t4 = call ptr @fn_str_concat(ptr @.str9144, ptr %t3)
+ %t4 = call ptr @lp_str_concat(ptr @.str9173, ptr %t3)
%t5 = call ptr @fn_emit_bind(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t6
- %t8 = call ptr @fn_str_concat(ptr @.str9145, ptr %t7)
- %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str9146)
+ %t8 = call ptr @lp_str_concat(ptr @.str9174, ptr %t7)
+ %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str9175)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t13 = load ptr, ptr %t0
@@ -95582,19 +96336,19 @@ then2:
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1
%t34 = load ptr, ptr %t33
- %t35 = call ptr @fn_str_concat(ptr @.str9147, ptr %t34)
+ %t35 = call ptr @lp_str_concat(ptr @.str9176, ptr %t34)
%t36 = call ptr @fn_emit_bind(ptr %t35)
store ptr %t36, ptr %t37
%t38 = load ptr, ptr %t37
- %t39 = call ptr @fn_str_concat(ptr @.str9148, ptr %t38)
- %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str9149)
+ %t39 = call ptr @lp_str_concat(ptr @.str9177, ptr %t38)
+ %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str9178)
%t41 = call ptr @fn_emit_bind(ptr %t40)
store ptr %t41, ptr %t42
%t43 = load ptr, ptr %t11
- %t44 = call ptr @fn_str_concat(ptr @.str9150, ptr %t43)
- %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str9151)
+ %t44 = call ptr @lp_str_concat(ptr @.str9179, ptr %t43)
+ %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str9180)
%t46 = load ptr, ptr %t42
- %t47 = call ptr @fn_str_concat(ptr %t45, ptr %t46)
+ %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
@@ -95607,51 +96361,51 @@ ifend4:
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then5, label %ifend7
then5:
- %t55 = call ptr @fn_emit_bind(ptr @.str9152)
+ %t55 = call ptr @fn_emit_bind(ptr @.str9181)
store ptr %t55, ptr %t56
%t57 = load ptr, ptr %t56
- %t58 = call ptr @fn_str_concat(ptr @.str9153, ptr %t57)
- %t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str9154)
+ %t58 = call ptr @lp_str_concat(ptr @.str9182, ptr %t57)
+ %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str9183)
%t60 = call ptr @fn_emit_bind(ptr %t59)
store ptr %t60, ptr %t61
%t62 = load ptr, ptr %t11
- %t63 = call ptr @fn_str_concat(ptr @.str9155, ptr %t62)
- %t64 = call ptr @fn_str_concat(ptr %t63, ptr @.str9156)
+ %t63 = call ptr @lp_str_concat(ptr @.str9184, ptr %t62)
+ %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str9185)
%t65 = load ptr, ptr %t61
- %t66 = call ptr @fn_str_concat(ptr %t64, ptr %t65)
+ %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 @.str9157)
+ %t68 = call ptr @fn_lbl(ptr @.str9186)
store ptr %t68, ptr %t69
- %t70 = call ptr @fn_lbl(ptr @.str9158)
+ %t70 = call ptr @fn_lbl(ptr @.str9187)
store ptr %t70, ptr %t71
- call void @fn_emit(ptr @.str9159)
+ call void @fn_emit(ptr @.str9188)
%t72 = load ptr, ptr %t11
call void @fn_emit(ptr %t72)
- call void @fn_emit(ptr @.str9160)
+ call void @fn_emit(ptr @.str9189)
%t73 = load ptr, ptr %t69
call void @fn_emit(ptr %t73)
- call void @fn_emit(ptr @.str9161)
+ call void @fn_emit(ptr @.str9190)
%t74 = load ptr, ptr %t71
call void @fn_emit(ptr %t74)
- call void @fn_emit(ptr @.str9162)
+ call void @fn_emit(ptr @.str9191)
%t75 = load ptr, ptr %t69
call void @fn_emit(ptr %t75)
- call void @fn_emit(ptr @.str9163)
+ call void @fn_emit(ptr @.str9192)
%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 @.str9164)
- call void @fn_emit(ptr @.str9165)
+ call void @fn_emit(ptr @.str9193)
+ call void @fn_emit(ptr @.str9194)
%t79 = load ptr, ptr %t71
call void @fn_emit(ptr %t79)
- call void @fn_emit(ptr @.str9166)
+ call void @fn_emit(ptr @.str9195)
%t80 = load ptr, ptr %t71
call void @fn_emit(ptr %t80)
- call void @fn_emit(ptr @.str9167)
+ call void @fn_emit(ptr @.str9196)
br label %ret
ret:
ret void
@@ -95693,10 +96447,10 @@ scend4:
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then5, label %ifend7
then5:
- call void @fn_emit(ptr @.str9168)
+ call void @fn_emit(ptr @.str9197)
%t20 = load ptr, ptr %t1
call void @fn_emit(ptr %t20)
- call void @fn_emit(ptr @.str9169)
+ call void @fn_emit(ptr @.str9198)
br label %ifend7
ifend7:
br label %ret
@@ -95731,7 +96485,7 @@ wbody1:
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = load ptr, ptr %t0
- %t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
+ %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then3, label %ifend5
then3:
@@ -95756,7 +96510,7 @@ ifend5:
br label %wcond0
wend2:
%t32 = load ptr, ptr %t0
- %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str9170)
+ %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str9199)
%t34 = icmp ne i32 %t33, 0
br i1 %t34, label %then6, label %ifend8
then6:
@@ -95766,7 +96520,7 @@ then6:
store i32 %t38, ptr %t35
br i1 %t37, label %sc9, label %scend10
sc9:
- %t39 = call ptr @fn_find_fn(ptr @.str9171)
+ %t39 = call ptr @fn_find_fn(ptr @.str9200)
%t40 = icmp ne ptr %t39, null
%t41 = zext i1 %t40 to i32
%t42 = icmp ne i32 %t41, 0
@@ -95778,14 +96532,14 @@ scend10:
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then11, label %ifend13
then11:
- call void @fn_emit(ptr @.str9172)
+ call void @fn_emit(ptr @.str9201)
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 @.str9173)
+ call void @fn_emit(ptr @.str9202)
br label %ifend16
ifend16:
%t49 = load i32, ptr @g_g_uses_fx
@@ -95794,7 +96548,7 @@ ifend16:
store i32 %t51, ptr %t48
br i1 %t50, label %sc17, label %scend18
sc17:
- %t52 = call ptr @fn_find_fn(ptr @.str9174)
+ %t52 = call ptr @fn_find_fn(ptr @.str9203)
%t53 = icmp ne ptr %t52, null
%t54 = zext i1 %t53 to i32
%t55 = icmp ne i32 %t54, 0
@@ -95806,13 +96560,13 @@ scend18:
%t58 = icmp ne i32 %t57, 0
br i1 %t58, label %then19, label %ifend21
then19:
- call void @fn_emit(ptr @.str9175)
+ call void @fn_emit(ptr @.str9204)
br label %ifend21
ifend21:
br label %ifend8
ifend8:
%t59 = load ptr, ptr %t0
- %t60 = call i32 @fn_str_eq(ptr %t59, ptr @.str9176)
+ %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str9205)
%t61 = icmp ne i32 %t60, 0
br i1 %t61, label %then22, label %ifend24
then22:
@@ -95822,7 +96576,7 @@ then22:
store i32 %t65, ptr %t62
br i1 %t64, label %sc25, label %scend26
sc25:
- %t66 = call ptr @fn_find_fn(ptr @.str9177)
+ %t66 = call ptr @fn_find_fn(ptr @.str9206)
%t67 = icmp ne ptr %t66, null
%t68 = zext i1 %t67 to i32
%t69 = icmp ne i32 %t68, 0
@@ -95834,7 +96588,7 @@ scend26:
%t72 = icmp ne i32 %t71, 0
br i1 %t72, label %then27, label %ifend29
then27:
- call void @fn_emit(ptr @.str9178)
+ call void @fn_emit(ptr @.str9207)
br label %ifend29
ifend29:
br label %ifend24
@@ -95857,15 +96611,15 @@ entry:
%t107 = alloca ptr
%t0 = call ptr @fn_itoa(i32 1024)
store ptr %t0, ptr %t1
- call void @fn_emit(ptr @.str9179)
- call void @fn_emit(ptr @.str9180)
- call void @fn_emit(ptr @.str9181)
- call void @fn_emit(ptr @.str9182)
- call void @fn_emit(ptr @.str9183)
+ call void @fn_emit(ptr @.str9208)
+ call void @fn_emit(ptr @.str9209)
+ call void @fn_emit(ptr @.str9210)
+ call void @fn_emit(ptr @.str9211)
+ call void @fn_emit(ptr @.str9212)
%t2 = load ptr, ptr %t1
call void @fn_emit(ptr %t2)
- call void @fn_emit(ptr @.str9184)
- call void @fn_emit(ptr @.str9185)
+ call void @fn_emit(ptr @.str9213)
+ call void @fn_emit(ptr @.str9214)
store i32 0, ptr %t3
store i32 0, ptr %t4
br label %wcond0
@@ -95919,7 +96673,7 @@ wbody7:
%t43 = load ptr, ptr %t42
%t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 3
%t45 = load ptr, ptr %t44
- %t46 = call i32 @fn_str_eq(ptr %t45, ptr @.str9186)
+ %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str9215)
%t47 = icmp ne i32 %t46, 0
br i1 %t47, label %then9, label %ifend11
then9:
@@ -95942,67 +96696,67 @@ then12:
%t56 = add i32 %t55, 1
%t57 = call ptr @fn_itoa(i32 %t56)
store ptr %t57, ptr %t58
- call void @fn_emit(ptr @.str9187)
+ call void @fn_emit(ptr @.str9216)
%t59 = load ptr, ptr %t54
call void @fn_emit(ptr %t59)
- call void @fn_emit(ptr @.str9188)
- call void @fn_emit(ptr @.str9189)
+ call void @fn_emit(ptr @.str9217)
+ call void @fn_emit(ptr @.str9218)
%t60 = load ptr, ptr %t54
call void @fn_emit(ptr %t60)
- call void @fn_emit(ptr @.str9190)
+ call void @fn_emit(ptr @.str9219)
%t61 = load ptr, ptr %t1
call void @fn_emit(ptr %t61)
- call void @fn_emit(ptr @.str9191)
+ call void @fn_emit(ptr @.str9220)
%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 @.str9192)
- call void @fn_emit(ptr @.str9193)
+ call void @fn_emit(ptr @.str9221)
+ call void @fn_emit(ptr @.str9222)
%t65 = load ptr, ptr %t54
call void @fn_emit(ptr %t65)
- call void @fn_emit(ptr @.str9194)
+ call void @fn_emit(ptr @.str9223)
%t66 = load ptr, ptr %t54
call void @fn_emit(ptr %t66)
- call void @fn_emit(ptr @.str9195)
- call void @fn_emit(ptr @.str9196)
+ call void @fn_emit(ptr @.str9224)
+ call void @fn_emit(ptr @.str9225)
%t67 = load ptr, ptr %t54
call void @fn_emit(ptr %t67)
- call void @fn_emit(ptr @.str9197)
+ call void @fn_emit(ptr @.str9226)
%t68 = load ptr, ptr %t54
call void @fn_emit(ptr %t68)
- call void @fn_emit(ptr @.str9198)
- call void @fn_emit(ptr @.str9199)
+ call void @fn_emit(ptr @.str9227)
+ call void @fn_emit(ptr @.str9228)
%t69 = load ptr, ptr %t54
call void @fn_emit(ptr %t69)
- call void @fn_emit(ptr @.str9200)
+ call void @fn_emit(ptr @.str9229)
%t70 = load ptr, ptr %t54
call void @fn_emit(ptr %t70)
- call void @fn_emit(ptr @.str9201)
+ call void @fn_emit(ptr @.str9230)
%t71 = load ptr, ptr %t58
call void @fn_emit(ptr %t71)
- call void @fn_emit(ptr @.str9202)
- call void @fn_emit(ptr @.str9203)
+ call void @fn_emit(ptr @.str9231)
+ call void @fn_emit(ptr @.str9232)
%t72 = load ptr, ptr %t54
call void @fn_emit(ptr %t72)
- call void @fn_emit(ptr @.str9204)
- call void @fn_emit(ptr @.str9205)
+ call void @fn_emit(ptr @.str9233)
+ call void @fn_emit(ptr @.str9234)
%t73 = load ptr, ptr %t54
call void @fn_emit(ptr %t73)
- call void @fn_emit(ptr @.str9206)
+ call void @fn_emit(ptr @.str9235)
%t74 = load ptr, ptr %t1
call void @fn_emit(ptr %t74)
- call void @fn_emit(ptr @.str9207)
+ call void @fn_emit(ptr @.str9236)
%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 @.str9208)
+ call void @fn_emit(ptr @.str9237)
%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 @.str9209)
+ call void @fn_emit(ptr @.str9238)
store i32 0, ptr %t26
br label %wcond15
wcond15:
@@ -96027,73 +96781,73 @@ wbody16:
%t97 = load ptr, ptr %t96
%t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 3
%t99 = load ptr, ptr %t98
- %t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str9210)
+ %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str9239)
%t101 = icmp ne i32 %t100, 0
br i1 %t101, label %then18, label %ifend20
then18:
%t102 = load ptr, ptr %t54
- %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str9211)
+ %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str9240)
%t104 = load i32, ptr %t26
%t105 = call ptr @fn_itoa(i32 %t104)
- %t106 = call ptr @fn_str_concat(ptr %t103, ptr %t105)
+ %t106 = call ptr @lp_str_concat(ptr %t103, ptr %t105)
store ptr %t106, ptr %t107
- call void @fn_emit(ptr @.str9212)
+ call void @fn_emit(ptr @.str9241)
%t108 = load ptr, ptr %t107
call void @fn_emit(ptr %t108)
- call void @fn_emit(ptr @.str9213)
+ call void @fn_emit(ptr @.str9242)
%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 @.str9214)
+ call void @fn_emit(ptr @.str9243)
%t112 = load ptr, ptr %t54
call void @fn_emit(ptr %t112)
- call void @fn_emit(ptr @.str9215)
+ call void @fn_emit(ptr @.str9244)
%t113 = load i32, ptr %t26
%t114 = call ptr @fn_itoa(i32 %t113)
call void @fn_emit(ptr %t114)
- call void @fn_emit(ptr @.str9216)
- call void @fn_emit(ptr @.str9217)
+ call void @fn_emit(ptr @.str9245)
+ call void @fn_emit(ptr @.str9246)
%t115 = load ptr, ptr %t107
call void @fn_emit(ptr %t115)
- call void @fn_emit(ptr @.str9218)
+ call void @fn_emit(ptr @.str9247)
%t116 = load ptr, ptr %t107
call void @fn_emit(ptr %t116)
- call void @fn_emit(ptr @.str9219)
- call void @fn_emit(ptr @.str9220)
+ call void @fn_emit(ptr @.str9248)
+ call void @fn_emit(ptr @.str9249)
%t117 = load ptr, ptr %t107
call void @fn_emit(ptr %t117)
- call void @fn_emit(ptr @.str9221)
+ call void @fn_emit(ptr @.str9250)
%t118 = load ptr, ptr %t107
call void @fn_emit(ptr %t118)
- call void @fn_emit(ptr @.str9222)
- call void @fn_emit(ptr @.str9223)
+ call void @fn_emit(ptr @.str9251)
+ call void @fn_emit(ptr @.str9252)
%t119 = load ptr, ptr %t107
call void @fn_emit(ptr %t119)
- call void @fn_emit(ptr @.str9224)
+ call void @fn_emit(ptr @.str9253)
%t120 = load ptr, ptr %t107
call void @fn_emit(ptr %t120)
- call void @fn_emit(ptr @.str9225)
- call void @fn_emit(ptr @.str9226)
+ call void @fn_emit(ptr @.str9254)
+ call void @fn_emit(ptr @.str9255)
%t121 = load ptr, ptr %t107
call void @fn_emit(ptr %t121)
- call void @fn_emit(ptr @.str9227)
+ call void @fn_emit(ptr @.str9256)
%t122 = load ptr, ptr %t107
call void @fn_emit(ptr %t122)
- call void @fn_emit(ptr @.str9228)
+ call void @fn_emit(ptr @.str9257)
%t123 = load ptr, ptr %t107
call void @fn_emit(ptr %t123)
- call void @fn_emit(ptr @.str9229)
+ call void @fn_emit(ptr @.str9258)
%t124 = load ptr, ptr %t107
call void @fn_emit(ptr %t124)
- call void @fn_emit(ptr @.str9230)
- call void @fn_emit(ptr @.str9231)
+ call void @fn_emit(ptr @.str9259)
+ call void @fn_emit(ptr @.str9260)
%t125 = load ptr, ptr %t107
call void @fn_emit(ptr %t125)
- call void @fn_emit(ptr @.str9232)
+ call void @fn_emit(ptr @.str9261)
%t126 = load ptr, ptr %t107
call void @fn_emit(ptr %t126)
- call void @fn_emit(ptr @.str9233)
+ call void @fn_emit(ptr @.str9262)
br label %ifend20
ifend20:
%t127 = load i32, ptr %t26
@@ -96101,10 +96855,10 @@ ifend20:
store i32 %t128, ptr %t26
br label %wcond15
wend17:
- call void @fn_emit(ptr @.str9234)
+ call void @fn_emit(ptr @.str9263)
%t129 = load ptr, ptr %t58
call void @fn_emit(ptr %t129)
- call void @fn_emit(ptr @.str9235)
+ call void @fn_emit(ptr @.str9264)
%t130 = load i32, ptr %t3
%t131 = add i32 %t130, 1
store i32 %t131, ptr %t3
@@ -96117,12 +96871,12 @@ ifend5:
store i32 %t133, ptr %t4
br label %wcond0
wend2:
- call void @fn_emit(ptr @.str9236)
+ call void @fn_emit(ptr @.str9265)
%t134 = load i32, ptr %t3
%t135 = call ptr @fn_itoa(i32 %t134)
call void @fn_emit(ptr %t135)
- call void @fn_emit(ptr @.str9237)
- call void @fn_emit(ptr @.str9238)
+ call void @fn_emit(ptr @.str9266)
+ call void @fn_emit(ptr @.str9267)
br label %ret
ret:
ret void
@@ -96143,7 +96897,7 @@ entry:
store i32 0, ptr @g_nloop
store i32 0, ptr @g_nself
store ptr null, ptr @g_g_cur_scene
- store ptr @.str9239, ptr @g_ret_ty
+ store ptr @.str9268, ptr @g_ret_ty
%t1 = call ptr @fn_buf_new()
store ptr %t1, ptr %t2
%t3 = call ptr @fn_buf_new()
@@ -96163,25 +96917,25 @@ entry:
%t14 = load ptr, ptr %t8
%t15 = call ptr @fn_emit_spawn(ptr %t14)
store ptr %t15, ptr %t16
- call void @fn_emit(ptr @.str9240)
+ call void @fn_emit(ptr @.str9269)
%t17 = load ptr, ptr %t16
call void @fn_emit(ptr %t17)
- call void @fn_emit(ptr @.str9241)
+ call void @fn_emit(ptr @.str9270)
%t18 = load ptr, ptr %t5
store ptr %t18, ptr @g_code
- call void @fn_emit(ptr @.str9242)
+ call void @fn_emit(ptr @.str9271)
%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 @.str9243)
+ call void @fn_emit(ptr @.str9272)
%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 @.str9244)
+ call void @fn_emit(ptr @.str9273)
br label %ret
ret:
ret void
@@ -96295,46 +97049,46 @@ then9:
%t63 = load ptr, ptr %t62
%t64 = getelementptr inbounds %Cmp_Val, ptr %t63, i32 0, i32 0
%t65 = load ptr, ptr %t64
- %t66 = call ptr @fn_str_concat(ptr @.str9245, ptr %t65)
- %t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str9246)
+ %t66 = call ptr @lp_str_concat(ptr @.str9274, ptr %t65)
+ %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str9275)
%t68 = call ptr @fn_emit_bind(ptr %t67)
store ptr %t68, ptr %t69
%t70 = load ptr, ptr %t69
- %t71 = call ptr @fn_str_concat(ptr @.str9247, ptr %t70)
- %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str9248)
+ %t71 = call ptr @lp_str_concat(ptr @.str9276, ptr %t70)
+ %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str9277)
%t73 = call ptr @fn_emit_bind(ptr %t72)
store ptr %t73, ptr %t74
- %t75 = call ptr @fn_lbl(ptr @.str9249)
+ %t75 = call ptr @fn_lbl(ptr @.str9278)
store ptr %t75, ptr %t76
- %t77 = call ptr @fn_lbl(ptr @.str9250)
+ %t77 = call ptr @fn_lbl(ptr @.str9279)
store ptr %t77, ptr %t78
- call void @fn_emit(ptr @.str9251)
+ call void @fn_emit(ptr @.str9280)
%t79 = load ptr, ptr %t74
call void @fn_emit(ptr %t79)
- call void @fn_emit(ptr @.str9252)
+ call void @fn_emit(ptr @.str9281)
%t80 = load ptr, ptr %t76
call void @fn_emit(ptr %t80)
- call void @fn_emit(ptr @.str9253)
+ call void @fn_emit(ptr @.str9282)
%t81 = load ptr, ptr %t78
call void @fn_emit(ptr %t81)
- call void @fn_emit(ptr @.str9254)
+ call void @fn_emit(ptr @.str9283)
%t82 = load ptr, ptr %t76
call void @fn_emit(ptr %t82)
- call void @fn_emit(ptr @.str9255)
+ call void @fn_emit(ptr @.str9284)
%t83 = load ptr, ptr %t46
%t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1
%t85 = load ptr, ptr %t84
- %t86 = call ptr @fn_str_concat(ptr @.str9256, ptr %t85)
- %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str9257)
+ %t86 = call ptr @lp_str_concat(ptr @.str9285, ptr %t85)
+ %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str9286)
%t88 = call ptr @fn_emit_bind(ptr %t87)
store ptr %t88, ptr %t89
- call void @fn_emit(ptr @.str9258)
+ call void @fn_emit(ptr @.str9287)
%t90 = load ptr, ptr %t89
call void @fn_emit(ptr %t90)
- call void @fn_emit(ptr @.str9259)
+ call void @fn_emit(ptr @.str9288)
%t91 = load ptr, ptr %t78
call void @fn_emit(ptr %t91)
- call void @fn_emit(ptr @.str9260)
+ call void @fn_emit(ptr @.str9289)
br label %ifend11
ifend11:
%t92 = load i32, ptr %t0
@@ -96342,17 +97096,17 @@ ifend11:
store i32 %t93, ptr %t0
br label %wcond6
wend8:
- call void @fn_emit(ptr @.str9261)
+ call void @fn_emit(ptr @.str9290)
%t94 = load ptr, ptr %t31
store ptr %t94, ptr @g_code
- call void @fn_emit(ptr @.str9262)
+ call void @fn_emit(ptr @.str9291)
%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 @.str9263)
+ call void @fn_emit(ptr @.str9292)
br label %ret
ret:
ret void
@@ -96364,7 +97118,7 @@ entry:
%t0 = alloca ptr
store ptr %arg_phase, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str9264)
+ %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str9293)
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then0, label %ifend2
then0:
@@ -96372,7 +97126,7 @@ then0:
br label %ret
ifend2:
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str9265)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str9294)
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then3, label %ifend5
then3:
@@ -96380,7 +97134,7 @@ then3:
br label %ret
ifend5:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str9266)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str9295)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then6, label %ifend8
then6:
@@ -96388,7 +97142,7 @@ then6:
br label %ret
ifend8:
%t10 = load ptr, ptr %t0
- %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str9267)
+ %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str9296)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then9, label %ifend11
then9:
@@ -96396,7 +97150,7 @@ then9:
br label %ret
ifend11:
%t13 = load ptr, ptr %t0
- %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str9268)
+ %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str9297)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then12, label %ifend14
then12:
@@ -96404,7 +97158,7 @@ then12:
br label %ret
ifend14:
%t16 = load ptr, ptr %t0
- %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str9269)
+ %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str9298)
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then15, label %ifend17
then15:
@@ -96412,7 +97166,7 @@ then15:
br label %ret
ifend17:
%t19 = load ptr, ptr %t0
- %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str9270)
+ %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str9299)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then18, label %ifend20
then18:
@@ -96420,50 +97174,152 @@ then18:
br label %ret
ifend20:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str9271)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str9300)
%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 @.str9301, ptr %t25)
+ %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str9302)
+ call void @fn_perr(ptr %t27)
store i32 7, ptr %retval
br label %ret
ret:
- %t25 = load i32, ptr %retval
- ret i32 %t25
+ %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 @.str9303)
+ %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 @.str9304)
+ %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 @.str9305)
+ %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 @.str9306)
+ %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 @.str9307)
+ %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 @.str9308)
+ %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 @.str9309)
+ %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 @.str9272)
- call void @fn_emith(ptr @.str9273)
- call void @fn_emith(ptr @.str9274)
- call void @fn_emith(ptr @.str9275)
- call void @fn_emith(ptr @.str9276)
- call void @fn_emith(ptr @.str9277)
- call void @fn_emith(ptr @.str9278)
- call void @fn_emith(ptr @.str9279)
- call void @fn_emith(ptr @.str9280)
- call void @fn_emith(ptr @.str9281)
- call void @fn_emith(ptr @.str9282)
- call void @fn_emith(ptr @.str9283)
- call void @fn_emith(ptr @.str9284)
- call void @fn_emith(ptr @.str9285)
- call void @fn_emith(ptr @.str9286)
- call void @fn_emith(ptr @.str9287)
- call void @fn_emith(ptr @.str9288)
- call void @fn_emith(ptr @.str9289)
- call void @fn_emith(ptr @.str9290)
- call void @fn_emit(ptr @.str9291)
- %t0 = call ptr @fn_find_fn(ptr @.str9292)
+ call void @fn_emith(ptr @.str9310)
+ call void @fn_emith(ptr @.str9311)
+ call void @fn_emith(ptr @.str9312)
+ call void @fn_emith(ptr @.str9313)
+ call void @fn_emith(ptr @.str9314)
+ call void @fn_emith(ptr @.str9315)
+ call void @fn_emith(ptr @.str9316)
+ call void @fn_emith(ptr @.str9317)
+ call void @fn_emith(ptr @.str9318)
+ call void @fn_emith(ptr @.str9319)
+ call void @fn_emith(ptr @.str9320)
+ call void @fn_emith(ptr @.str9321)
+ call void @fn_emith(ptr @.str9322)
+ call void @fn_emith(ptr @.str9323)
+ call void @fn_emith(ptr @.str9324)
+ call void @fn_emith(ptr @.str9325)
+ call void @fn_emith(ptr @.str9326)
+ call void @fn_emith(ptr @.str9327)
+ call void @fn_emith(ptr @.str9328)
+ call void @fn_emit(ptr @.str9329)
+ %t0 = call ptr @fn_find_fn(ptr @.str9330)
%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 @.str9293)
+ call void @fn_emit(ptr @.str9331)
br label %ifend2
ifend2:
store i32 0, ptr %t4
@@ -96478,7 +97334,7 @@ wcond3:
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %wbody4, label %wend5
wbody4:
- call void @fn_emit(ptr @.str9294)
+ call void @fn_emit(ptr @.str9332)
%t12 = load ptr, ptr @g_g_mod_sys_fn
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0
%t14 = load ptr, ptr %t13
@@ -96486,7 +97342,7 @@ wbody4:
%t16 = getelementptr inbounds ptr, ptr %t14, i32 %t15
%t17 = load ptr, ptr %t16
call void @fn_emit(ptr %t17)
- call void @fn_emit(ptr @.str9295)
+ call void @fn_emit(ptr @.str9333)
%t18 = load ptr, ptr @g_g_mod_sys_phase
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0
%t20 = load ptr, ptr %t19
@@ -96496,14 +97352,14 @@ wbody4:
%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 @.str9296)
+ call void @fn_emit(ptr @.str9334)
%t26 = load i32, ptr %t4
%t27 = add i32 %t26, 1
store i32 %t27, ptr %t4
br label %wcond3
wend5:
- call void @fn_emit(ptr @.str9297)
- call void @fn_emith(ptr @.str9298)
+ call void @fn_emit(ptr @.str9335)
+ call void @fn_emith(ptr @.str9336)
br label %ret
ret:
ret void
@@ -96514,35 +97370,35 @@ entry:
%t1 = alloca ptr
%t0 = call ptr @fn_itoa(i32 64)
store ptr %t0, ptr %t1
- call void @fn_emith(ptr @.str9299)
+ call void @fn_emith(ptr @.str9337)
%t2 = load ptr, ptr %t1
call void @fn_emith(ptr %t2)
- call void @fn_emith(ptr @.str9300)
- call void @fn_emith(ptr @.str9301)
+ call void @fn_emith(ptr @.str9338)
+ call void @fn_emith(ptr @.str9339)
%t3 = load ptr, ptr %t1
call void @fn_emith(ptr %t3)
- call void @fn_emith(ptr @.str9302)
- call void @fn_emith(ptr @.str9303)
- call void @fn_emit(ptr @.str9304)
- call void @fn_emit(ptr @.str9305)
- call void @fn_emit(ptr @.str9306)
+ call void @fn_emith(ptr @.str9340)
+ call void @fn_emith(ptr @.str9341)
+ call void @fn_emit(ptr @.str9342)
+ call void @fn_emit(ptr @.str9343)
+ call void @fn_emit(ptr @.str9344)
%t4 = load ptr, ptr %t1
call void @fn_emit(ptr %t4)
- call void @fn_emit(ptr @.str9307)
- call void @fn_emit(ptr @.str9308)
- call void @fn_emit(ptr @.str9309)
- call void @fn_emit(ptr @.str9310)
+ call void @fn_emit(ptr @.str9345)
+ call void @fn_emit(ptr @.str9346)
+ call void @fn_emit(ptr @.str9347)
+ call void @fn_emit(ptr @.str9348)
%t5 = load ptr, ptr %t1
call void @fn_emit(ptr %t5)
- call void @fn_emit(ptr @.str9311)
- call void @fn_emit(ptr @.str9312)
- call void @fn_emit(ptr @.str9313)
+ call void @fn_emit(ptr @.str9349)
+ call void @fn_emit(ptr @.str9350)
+ call void @fn_emit(ptr @.str9351)
%t6 = load ptr, ptr %t1
call void @fn_emit(ptr %t6)
- call void @fn_emit(ptr @.str9314)
- call void @fn_emit(ptr @.str9315)
- call void @fn_emit(ptr @.str9316)
- call void @fn_emit(ptr @.str9317)
+ call void @fn_emit(ptr @.str9352)
+ call void @fn_emit(ptr @.str9353)
+ call void @fn_emit(ptr @.str9354)
+ call void @fn_emit(ptr @.str9355)
br label %ret
ret:
ret void
@@ -96579,141 +97435,141 @@ entry:
store ptr %t7, ptr %t8
%t9 = call ptr @fn_nreg()
store ptr %t9, ptr %t10
- %t11 = call ptr @fn_lbl(ptr @.str9318)
+ %t11 = call ptr @fn_lbl(ptr @.str9356)
store ptr %t11, ptr %t12
- %t13 = call ptr @fn_lbl(ptr @.str9319)
+ %t13 = call ptr @fn_lbl(ptr @.str9357)
store ptr %t13, ptr %t14
- %t15 = call ptr @fn_lbl(ptr @.str9320)
+ %t15 = call ptr @fn_lbl(ptr @.str9358)
store ptr %t15, ptr %t16
- %t17 = call ptr @fn_lbl(ptr @.str9321)
+ %t17 = call ptr @fn_lbl(ptr @.str9359)
store ptr %t17, ptr %t18
- %t19 = call ptr @fn_lbl(ptr @.str9322)
+ %t19 = call ptr @fn_lbl(ptr @.str9360)
store ptr %t19, ptr %t20
- %t21 = call ptr @fn_lbl(ptr @.str9323)
+ %t21 = call ptr @fn_lbl(ptr @.str9361)
store ptr %t21, ptr %t22
- call void @fn_emit(ptr @.str9324)
+ call void @fn_emit(ptr @.str9362)
%t23 = load ptr, ptr %t12
call void @fn_emit(ptr %t23)
- call void @fn_emit(ptr @.str9325)
+ call void @fn_emit(ptr @.str9363)
%t24 = load ptr, ptr %t12
call void @fn_emit(ptr %t24)
- call void @fn_emit(ptr @.str9326)
+ call void @fn_emit(ptr @.str9364)
%t25 = load ptr, ptr %t14
call void @fn_emit(ptr %t25)
- call void @fn_emit(ptr @.str9327)
+ call void @fn_emit(ptr @.str9365)
%t26 = load ptr, ptr %t14
call void @fn_emit(ptr %t26)
- call void @fn_emit(ptr @.str9328)
- call void @fn_emit(ptr @.str9329)
+ call void @fn_emit(ptr @.str9366)
+ call void @fn_emit(ptr @.str9367)
%t27 = load ptr, ptr %t8
call void @fn_emit(ptr %t27)
- call void @fn_emit(ptr @.str9330)
+ call void @fn_emit(ptr @.str9368)
%t28 = load ptr, ptr %t12
call void @fn_emit(ptr %t28)
- call void @fn_emit(ptr @.str9331)
+ call void @fn_emit(ptr @.str9369)
%t29 = load ptr, ptr %t10
call void @fn_emit(ptr %t29)
- call void @fn_emit(ptr @.str9332)
+ call void @fn_emit(ptr @.str9370)
%t30 = load ptr, ptr %t20
call void @fn_emit(ptr %t30)
- call void @fn_emit(ptr @.str9333)
- %t31 = call ptr @fn_emit_bind(ptr @.str9334)
+ call void @fn_emit(ptr @.str9371)
+ %t31 = call ptr @fn_emit_bind(ptr @.str9372)
store ptr %t31, ptr %t32
%t33 = load ptr, ptr %t8
- %t34 = call ptr @fn_str_concat(ptr @.str9335, ptr %t33)
- %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str9336)
+ %t34 = call ptr @lp_str_concat(ptr @.str9373, ptr %t33)
+ %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str9374)
%t36 = load ptr, ptr %t32
- %t37 = call ptr @fn_str_concat(ptr %t35, ptr %t36)
+ %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 @.str9337)
+ call void @fn_emit(ptr @.str9375)
%t40 = load ptr, ptr %t39
call void @fn_emit(ptr %t40)
- call void @fn_emit(ptr @.str9338)
+ call void @fn_emit(ptr @.str9376)
%t41 = load ptr, ptr %t16
call void @fn_emit(ptr %t41)
- call void @fn_emit(ptr @.str9339)
+ call void @fn_emit(ptr @.str9377)
%t42 = load ptr, ptr %t22
call void @fn_emit(ptr %t42)
- call void @fn_emit(ptr @.str9340)
+ call void @fn_emit(ptr @.str9378)
%t43 = load ptr, ptr %t16
call void @fn_emit(ptr %t43)
- call void @fn_emit(ptr @.str9341)
+ call void @fn_emit(ptr @.str9379)
%t44 = call ptr @fn_nreg()
store ptr %t44, ptr %t45
- call void @fn_emit(ptr @.str9342)
+ call void @fn_emit(ptr @.str9380)
%t46 = load ptr, ptr %t45
call void @fn_emit(ptr %t46)
- call void @fn_emit(ptr @.str9343)
+ call void @fn_emit(ptr @.str9381)
%t47 = load ptr, ptr %t2
call void @fn_emit(ptr %t47)
- call void @fn_emit(ptr @.str9344)
+ call void @fn_emit(ptr @.str9382)
%t48 = load ptr, ptr %t8
call void @fn_emit(ptr %t48)
- call void @fn_emit(ptr @.str9345)
+ call void @fn_emit(ptr @.str9383)
%t49 = load ptr, ptr %t45
- %t50 = call ptr @fn_str_concat(ptr @.str9346, ptr %t49)
+ %t50 = call ptr @lp_str_concat(ptr @.str9384, ptr %t49)
%t51 = call ptr @fn_emit_bind(ptr %t50)
store ptr %t51, ptr %t52
%t53 = load ptr, ptr %t52
- %t54 = call ptr @fn_str_concat(ptr @.str9347, ptr %t53)
- %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str9348)
+ %t54 = call ptr @lp_str_concat(ptr @.str9385, ptr %t53)
+ %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str9386)
%t56 = load ptr, ptr %t6
- %t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56)
+ %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 @.str9349)
+ call void @fn_emit(ptr @.str9387)
%t60 = load ptr, ptr %t59
call void @fn_emit(ptr %t60)
- call void @fn_emit(ptr @.str9350)
+ call void @fn_emit(ptr @.str9388)
%t61 = load ptr, ptr %t18
call void @fn_emit(ptr %t61)
- call void @fn_emit(ptr @.str9351)
+ call void @fn_emit(ptr @.str9389)
%t62 = load ptr, ptr %t20
call void @fn_emit(ptr %t62)
- call void @fn_emit(ptr @.str9352)
+ call void @fn_emit(ptr @.str9390)
%t63 = load ptr, ptr %t18
call void @fn_emit(ptr %t63)
- call void @fn_emit(ptr @.str9353)
+ call void @fn_emit(ptr @.str9391)
%t64 = call ptr @fn_nreg()
store ptr %t64, ptr %t65
- call void @fn_emit(ptr @.str9354)
+ call void @fn_emit(ptr @.str9392)
%t66 = load ptr, ptr %t65
call void @fn_emit(ptr %t66)
- call void @fn_emit(ptr @.str9355)
+ call void @fn_emit(ptr @.str9393)
%t67 = load ptr, ptr %t2
call void @fn_emit(ptr %t67)
- call void @fn_emit(ptr @.str9356)
+ call void @fn_emit(ptr @.str9394)
%t68 = load ptr, ptr %t8
call void @fn_emit(ptr %t68)
- call void @fn_emit(ptr @.str9357)
+ call void @fn_emit(ptr @.str9395)
%t69 = load ptr, ptr %t65
- %t70 = call ptr @fn_str_concat(ptr @.str9358, ptr %t69)
+ %t70 = call ptr @lp_str_concat(ptr @.str9396, ptr %t69)
%t71 = call ptr @fn_emit_bind(ptr %t70)
store ptr %t71, ptr %t72
- call void @fn_emit(ptr @.str9359)
+ call void @fn_emit(ptr @.str9397)
%t73 = load ptr, ptr %t72
call void @fn_emit(ptr %t73)
- call void @fn_emit(ptr @.str9360)
- call void @fn_emit(ptr @.str9361)
+ call void @fn_emit(ptr @.str9398)
+ call void @fn_emit(ptr @.str9399)
%t74 = load ptr, ptr %t20
call void @fn_emit(ptr %t74)
- call void @fn_emit(ptr @.str9362)
+ call void @fn_emit(ptr @.str9400)
%t75 = load ptr, ptr %t20
call void @fn_emit(ptr %t75)
- call void @fn_emit(ptr @.str9363)
+ call void @fn_emit(ptr @.str9401)
%t76 = load ptr, ptr %t10
call void @fn_emit(ptr %t76)
- call void @fn_emit(ptr @.str9364)
+ call void @fn_emit(ptr @.str9402)
%t77 = load ptr, ptr %t8
call void @fn_emit(ptr %t77)
- call void @fn_emit(ptr @.str9365)
+ call void @fn_emit(ptr @.str9403)
%t78 = load ptr, ptr %t14
call void @fn_emit(ptr %t78)
- call void @fn_emit(ptr @.str9366)
+ call void @fn_emit(ptr @.str9404)
%t79 = load ptr, ptr %t22
call void @fn_emit(ptr %t79)
- call void @fn_emit(ptr @.str9367)
+ call void @fn_emit(ptr @.str9405)
br label %ret
ret:
ret void
@@ -96771,7 +97627,7 @@ sc3:
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 3
%t27 = load ptr, ptr %t26
%t28 = load ptr, ptr %t0
- %t29 = call i32 @fn_str_eq(ptr %t27, ptr %t28)
+ %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
@@ -96840,7 +97696,7 @@ sc13:
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 3
%t73 = load ptr, ptr %t72
%t74 = load ptr, ptr %t0
- %t75 = call i32 @fn_str_eq(ptr %t73, ptr %t74)
+ %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
@@ -96878,7 +97734,7 @@ wend12:
%t93 = icmp ne i32 %t92, 0
br i1 %t93, label %then20, label %ifend22
then20:
- %t94 = call ptr @fn_emit_bind(ptr @.str9368)
+ %t94 = call ptr @fn_emit_bind(ptr @.str9406)
store ptr %t94, ptr %t95
store i32 0, ptr %t1
br label %wcond23
@@ -96913,7 +97769,7 @@ sc26:
%t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 3
%t121 = load ptr, ptr %t120
%t122 = load ptr, ptr %t0
- %t123 = call i32 @fn_str_eq(ptr %t121, ptr %t122)
+ %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
@@ -96940,43 +97796,43 @@ scend29:
br i1 %t137, label %then30, label %ifend32
then30:
%t138 = load ptr, ptr %t95
- %t139 = call ptr @fn_str_concat(ptr @.str9369, ptr %t138)
- %t140 = call ptr @fn_str_concat(ptr %t139, ptr @.str9370)
+ %t139 = call ptr @lp_str_concat(ptr @.str9407, ptr %t138)
+ %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str9408)
%t141 = load ptr, ptr %t109
%t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 6
%t143 = load ptr, ptr %t142
%t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 2
%t145 = load i32, ptr %t144
%t146 = call ptr @fn_itoa(i32 %t145)
- %t147 = call ptr @fn_str_concat(ptr %t140, ptr %t146)
+ %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 @.str9371)
+ %t150 = call ptr @fn_lbl(ptr @.str9409)
store ptr %t150, ptr %t151
- %t152 = call ptr @fn_lbl(ptr @.str9372)
+ %t152 = call ptr @fn_lbl(ptr @.str9410)
store ptr %t152, ptr %t153
- call void @fn_emit(ptr @.str9373)
+ call void @fn_emit(ptr @.str9411)
%t154 = load ptr, ptr %t149
call void @fn_emit(ptr %t154)
- call void @fn_emit(ptr @.str9374)
+ call void @fn_emit(ptr @.str9412)
%t155 = load ptr, ptr %t151
call void @fn_emit(ptr %t155)
- call void @fn_emit(ptr @.str9375)
+ call void @fn_emit(ptr @.str9413)
%t156 = load ptr, ptr %t153
call void @fn_emit(ptr %t156)
- call void @fn_emit(ptr @.str9376)
+ call void @fn_emit(ptr @.str9414)
%t157 = load ptr, ptr %t151
call void @fn_emit(ptr %t157)
- call void @fn_emit(ptr @.str9377)
+ call void @fn_emit(ptr @.str9415)
%t158 = load ptr, ptr %t109
call void @fn_emit_call_one(ptr %t158)
- call void @fn_emit(ptr @.str9378)
+ call void @fn_emit(ptr @.str9416)
%t159 = load ptr, ptr %t153
call void @fn_emit(ptr %t159)
- call void @fn_emit(ptr @.str9379)
+ call void @fn_emit(ptr @.str9417)
%t160 = load ptr, ptr %t153
call void @fn_emit(ptr %t160)
- call void @fn_emit(ptr @.str9380)
+ call void @fn_emit(ptr @.str9418)
br label %ifend32
ifend32:
%t161 = load i32, ptr %t1
@@ -96991,7 +97847,7 @@ ifend22:
%t164 = load ptr, ptr %t0
call void @fn_emit_dyn_systems_for_phase(ptr %t164)
%t165 = load ptr, ptr %t0
- %t166 = call i32 @fn_str_eq(ptr %t165, ptr @.str9381)
+ %t166 = call i32 @lp_str_eq(ptr %t165, ptr @.str9419)
%t167 = icmp ne i32 %t166, 0
br i1 %t167, label %then33, label %ifend35
then33:
@@ -97054,7 +97910,7 @@ wend2:
then6:
br label %ret
ifend8:
- %t26 = call ptr @fn_emit_bind(ptr @.str9382)
+ %t26 = call ptr @fn_emit_bind(ptr @.str9420)
store ptr %t26, ptr %t27
store i32 0, ptr %t1
br label %wcond9
@@ -97084,39 +97940,39 @@ wbody10:
br i1 %t47, label %then12, label %ifend14
then12:
%t48 = load ptr, ptr %t27
- %t49 = call ptr @fn_str_concat(ptr @.str9383, ptr %t48)
- %t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str9384)
+ %t49 = call ptr @lp_str_concat(ptr @.str9421, ptr %t48)
+ %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str9422)
%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 @fn_str_concat(ptr %t50, ptr %t54)
+ %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 @.str9385)
+ %t58 = call ptr @fn_lbl(ptr @.str9423)
store ptr %t58, ptr %t59
- %t60 = call ptr @fn_lbl(ptr @.str9386)
+ %t60 = call ptr @fn_lbl(ptr @.str9424)
store ptr %t60, ptr %t61
- call void @fn_emit(ptr @.str9387)
+ call void @fn_emit(ptr @.str9425)
%t62 = load ptr, ptr %t57
call void @fn_emit(ptr %t62)
- call void @fn_emit(ptr @.str9388)
+ call void @fn_emit(ptr @.str9426)
%t63 = load ptr, ptr %t59
call void @fn_emit(ptr %t63)
- call void @fn_emit(ptr @.str9389)
+ call void @fn_emit(ptr @.str9427)
%t64 = load ptr, ptr %t61
call void @fn_emit(ptr %t64)
- call void @fn_emit(ptr @.str9390)
+ call void @fn_emit(ptr @.str9428)
%t65 = load ptr, ptr %t59
call void @fn_emit(ptr %t65)
- call void @fn_emit(ptr @.str9391)
- call void @fn_emit(ptr @.str9392)
+ call void @fn_emit(ptr @.str9429)
+ call void @fn_emit(ptr @.str9430)
%t66 = load ptr, ptr %t61
call void @fn_emit(ptr %t66)
- call void @fn_emit(ptr @.str9393)
+ call void @fn_emit(ptr @.str9431)
%t67 = load ptr, ptr %t61
call void @fn_emit(ptr %t67)
- call void @fn_emit(ptr @.str9394)
+ call void @fn_emit(ptr @.str9432)
br label %ifend14
ifend14:
%t68 = load i32, ptr %t1
@@ -97151,7 +98007,7 @@ entry:
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
store i32 0, ptr @g_nself
- store ptr @.str9395, ptr @g_ret_ty
+ store ptr @.str9433, ptr @g_ret_ty
%t4 = call ptr @fn_buf_new()
store ptr %t4, ptr %t5
%t6 = call ptr @fn_buf_new()
@@ -97169,7 +98025,7 @@ entry:
br i1 %t14, label %sc0, label %scend1
sc0:
%t16 = load ptr, ptr %t1
- %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str9396)
+ %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str9434)
%t18 = icmp ne i32 %t17, 0
%t19 = zext i1 %t18 to i32
store i32 %t19, ptr %t10
@@ -97179,22 +98035,22 @@ scend1:
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then2, label %ifend4
then2:
- %t22 = call ptr @fn_find_fn(ptr @.str9397)
+ %t22 = call ptr @fn_find_fn(ptr @.str9435)
%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 @.str9398)
+ call void @fn_emit(ptr @.str9436)
br label %ifend7
ifend7:
- call void @fn_emit(ptr @.str9399)
+ call void @fn_emit(ptr @.str9437)
%t26 = load ptr, ptr %t3
- %t27 = call ptr @fn_str_concat(ptr @.str9400, ptr %t26)
+ %t27 = call ptr @lp_str_concat(ptr @.str9438, 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 @.str9401)
+ call void @fn_emit(ptr @.str9439)
br label %ifend4
ifend4:
%t31 = load ptr, ptr %t3
@@ -97206,7 +98062,7 @@ ifend4:
br i1 %t34, label %sc8, label %scend9
sc8:
%t36 = load ptr, ptr %t1
- %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str9402)
+ %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str9440)
%t38 = icmp ne i32 %t37, 0
%t39 = zext i1 %t38 to i32
store i32 %t39, ptr %t30
@@ -97216,7 +98072,7 @@ scend9:
%t41 = icmp ne i32 %t40, 0
br i1 %t41, label %then10, label %ifend12
then10:
- call void @fn_emit(ptr @.str9403)
+ call void @fn_emit(ptr @.str9441)
br label %ifend12
ifend12:
%t42 = load ptr, ptr %t2
@@ -97230,10 +98086,10 @@ then13:
br label %ifend15
ifend15:
%t47 = load ptr, ptr %t0
- %t48 = call ptr @fn_str_concat(ptr @.str9404, ptr %t47)
- %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str9405)
+ %t48 = call ptr @lp_str_concat(ptr @.str9442, ptr %t47)
+ %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str9443)
%t50 = load ptr, ptr %t1
- %t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
+ %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
@@ -97256,10 +98112,10 @@ scend17:
%t66 = icmp ne i32 %t65, 0
br i1 %t66, label %then18, label %ifend20
then18:
- call void @fn_emit(ptr @.str9406)
+ call void @fn_emit(ptr @.str9444)
%t67 = load ptr, ptr %t52
call void @fn_emit(ptr %t67)
- call void @fn_emit(ptr @.str9407)
+ call void @fn_emit(ptr @.str9445)
br label %ifend20
ifend20:
%t68 = load i32, ptr @g_g_term
@@ -97268,26 +98124,26 @@ ifend20:
%t71 = icmp ne i32 %t70, 0
br i1 %t71, label %then21, label %ifend23
then21:
- call void @fn_emit(ptr @.str9408)
+ call void @fn_emit(ptr @.str9446)
br label %ifend23
ifend23:
- call void @fn_emit(ptr @.str9409)
+ call void @fn_emit(ptr @.str9447)
%t72 = load ptr, ptr %t8
store ptr %t72, ptr @g_code
- call void @fn_emit(ptr @.str9410)
+ call void @fn_emit(ptr @.str9448)
%t73 = load ptr, ptr %t1
call void @fn_emit(ptr %t73)
- call void @fn_emit(ptr @.str9411)
+ call void @fn_emit(ptr @.str9449)
%t74 = load ptr, ptr %t0
call void @fn_emit(ptr %t74)
- call void @fn_emit(ptr @.str9412)
+ call void @fn_emit(ptr @.str9450)
%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 @.str9413)
+ call void @fn_emit(ptr @.str9451)
br label %ret
ret:
ret void
@@ -97327,7 +98183,7 @@ wbody1:
%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 @.str9414, ptr %t21, ptr %t24)
+ call void @fn_emit_scene_fn(ptr %t18, ptr @.str9452, 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
@@ -97337,7 +98193,7 @@ wbody1:
%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 @.str9415, ptr %t30, ptr %t33)
+ call void @fn_emit_scene_fn(ptr %t27, ptr @.str9453, ptr %t30, ptr %t33)
%t34 = load i32, ptr %t0
%t35 = add i32 %t34, 1
store i32 %t35, ptr %t0
@@ -97365,8 +98221,8 @@ entry:
%t0 = alloca i32
%t14 = alloca ptr
%t17 = alloca ptr
- call void @fn_emit(ptr @.str9416)
- call void @fn_emit(ptr @.str9417)
+ call void @fn_emit(ptr @.str9454)
+ call void @fn_emit(ptr @.str9455)
store i32 0, ptr %t0
br label %wcond0
wcond0:
@@ -97389,45 +98245,45 @@ wbody1:
%t15 = load i32, ptr %t0
%t16 = call ptr @fn_itoa(i32 %t15)
store ptr %t16, ptr %t17
- call void @fn_emit(ptr @.str9418)
+ call void @fn_emit(ptr @.str9456)
%t18 = load ptr, ptr %t17
call void @fn_emit(ptr %t18)
- call void @fn_emit(ptr @.str9419)
+ call void @fn_emit(ptr @.str9457)
%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 @.str9420)
- call void @fn_emit(ptr @.str9421)
+ call void @fn_emit(ptr @.str9458)
+ call void @fn_emit(ptr @.str9459)
%t23 = load ptr, ptr %t17
call void @fn_emit(ptr %t23)
- call void @fn_emit(ptr @.str9422)
+ call void @fn_emit(ptr @.str9460)
%t24 = load ptr, ptr %t17
call void @fn_emit(ptr %t24)
- call void @fn_emit(ptr @.str9423)
+ call void @fn_emit(ptr @.str9461)
%t25 = load ptr, ptr %t17
call void @fn_emit(ptr %t25)
- call void @fn_emit(ptr @.str9424)
- call void @fn_emit(ptr @.str9425)
+ call void @fn_emit(ptr @.str9462)
+ call void @fn_emit(ptr @.str9463)
%t26 = load ptr, ptr %t17
call void @fn_emit(ptr %t26)
- call void @fn_emit(ptr @.str9426)
+ call void @fn_emit(ptr @.str9464)
%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 @.str9427)
- call void @fn_emit(ptr @.str9428)
+ call void @fn_emit(ptr @.str9465)
+ call void @fn_emit(ptr @.str9466)
%t30 = load ptr, ptr %t17
call void @fn_emit(ptr %t30)
- call void @fn_emit(ptr @.str9429)
+ call void @fn_emit(ptr @.str9467)
%t31 = load i32, ptr %t0
%t32 = add i32 %t31, 1
store i32 %t32, ptr %t0
br label %wcond0
wend2:
- call void @fn_emit(ptr @.str9430)
+ call void @fn_emit(ptr @.str9468)
br label %ret
ret:
ret void
@@ -97471,7 +98327,7 @@ wbody1:
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
store i32 0, ptr @g_nself
- store ptr @.str9431, ptr @g_ret_ty
+ store ptr @.str9469, ptr @g_ret_ty
%t20 = call ptr @fn_buf_new()
store ptr %t20, ptr %t21
%t22 = call ptr @fn_buf_new()
@@ -97488,21 +98344,21 @@ wbody1:
%t31 = icmp ne i32 %t30, 0
br i1 %t31, label %then3, label %ifend5
then3:
- %t32 = call ptr @fn_emit_alloca(ptr @.str9432)
+ %t32 = call ptr @fn_emit_alloca(ptr @.str9470)
store ptr %t32, ptr %t33
- call void @fn_emit(ptr @.str9433)
+ call void @fn_emit(ptr @.str9471)
%t34 = load ptr, ptr %t33
call void @fn_emit(ptr %t34)
- call void @fn_emit(ptr @.str9434)
+ call void @fn_emit(ptr @.str9472)
%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 @.str9435)
+ call void @fn_loc_push(ptr %t37, ptr %t38, ptr @.str9473)
br label %ifend5
ifend5:
%t39 = load ptr, ptr %t19
- call void @fn_emit_bind_props(ptr %t39, ptr @.str9436)
+ call void @fn_emit_bind_props(ptr %t39, ptr @.str9474)
%t40 = load ptr, ptr %t14
%t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4
%t42 = load ptr, ptr %t41
@@ -97513,25 +98369,25 @@ ifend5:
%t46 = icmp ne i32 %t45, 0
br i1 %t46, label %then6, label %ifend8
then6:
- call void @fn_emit(ptr @.str9437)
+ call void @fn_emit(ptr @.str9475)
br label %ifend8
ifend8:
- call void @fn_emit(ptr @.str9438)
+ call void @fn_emit(ptr @.str9476)
%t47 = load ptr, ptr %t24
store ptr %t47, ptr @g_code
- call void @fn_emit(ptr @.str9439)
+ call void @fn_emit(ptr @.str9477)
%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 @.str9440)
+ call void @fn_emit(ptr @.str9478)
%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 @.str9441)
+ call void @fn_emit(ptr @.str9479)
%t55 = load i32, ptr %t0
%t56 = add i32 %t55, 1
store i32 %t56, ptr %t0
@@ -97550,7 +98406,7 @@ entry:
%t25 = alloca ptr
%t28 = alloca ptr
%t41 = alloca ptr
- call void @fn_emit(ptr @.str9442)
+ call void @fn_emit(ptr @.str9480)
%t0 = load ptr, ptr @g_g_ondespawn
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1
%t2 = load i32, ptr %t1
@@ -97561,11 +98417,11 @@ entry:
then0:
%t6 = call ptr @fn_itoa(i32 1024)
store ptr %t6, ptr %t7
- call void @fn_emit(ptr @.str9443)
+ call void @fn_emit(ptr @.str9481)
%t8 = load ptr, ptr %t7
call void @fn_emit(ptr %t8)
- call void @fn_emit(ptr @.str9444)
- call void @fn_emit(ptr @.str9445)
+ call void @fn_emit(ptr @.str9482)
+ call void @fn_emit(ptr @.str9483)
store i32 0, ptr %t9
br label %wcond3
wcond3:
@@ -97590,35 +98446,35 @@ wbody4:
%t26 = load i32, ptr %t9
%t27 = call ptr @fn_itoa(i32 %t26)
store ptr %t27, ptr %t28
- call void @fn_emit(ptr @.str9446)
+ call void @fn_emit(ptr @.str9484)
%t29 = load ptr, ptr %t28
call void @fn_emit(ptr %t29)
- call void @fn_emit(ptr @.str9447)
+ call void @fn_emit(ptr @.str9485)
%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 @.str9448)
- call void @fn_emit(ptr @.str9449)
+ call void @fn_emit(ptr @.str9486)
+ call void @fn_emit(ptr @.str9487)
%t33 = load ptr, ptr %t28
call void @fn_emit(ptr %t33)
- call void @fn_emit(ptr @.str9450)
+ call void @fn_emit(ptr @.str9488)
%t34 = load ptr, ptr %t28
call void @fn_emit(ptr %t34)
- call void @fn_emit(ptr @.str9451)
+ call void @fn_emit(ptr @.str9489)
%t35 = load ptr, ptr %t28
call void @fn_emit(ptr %t35)
- call void @fn_emit(ptr @.str9452)
- call void @fn_emit(ptr @.str9453)
+ call void @fn_emit(ptr @.str9490)
+ call void @fn_emit(ptr @.str9491)
%t36 = load ptr, ptr %t28
call void @fn_emit(ptr %t36)
- call void @fn_emit(ptr @.str9454)
+ call void @fn_emit(ptr @.str9492)
%t37 = load ptr, ptr %t25
call void @fn_emit(ptr %t37)
- call void @fn_emit(ptr @.str9455)
+ call void @fn_emit(ptr @.str9493)
%t38 = load ptr, ptr %t25
- %t39 = call ptr @fn_str_concat(ptr @.str9456, ptr %t38)
- %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str9457)
+ %t39 = call ptr @lp_str_concat(ptr @.str9494, ptr %t38)
+ %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str9495)
store ptr %t40, ptr %t41
%t42 = load ptr, ptr %t41
%t43 = call ptr @fn_find_event(ptr %t42)
@@ -97627,20 +98483,20 @@ wbody4:
%t46 = icmp ne i32 %t45, 0
br i1 %t46, label %then6, label %ifend8
then6:
- call void @fn_emit(ptr @.str9458)
+ call void @fn_emit(ptr @.str9496)
%t47 = load ptr, ptr %t41
call void @fn_emit(ptr %t47)
- call void @fn_emit(ptr @.str9459)
+ call void @fn_emit(ptr @.str9497)
br label %ifend8
ifend8:
- call void @fn_emit(ptr @.str9460)
+ call void @fn_emit(ptr @.str9498)
%t48 = load ptr, ptr %t28
call void @fn_emit(ptr %t48)
- call void @fn_emit(ptr @.str9461)
- call void @fn_emit(ptr @.str9462)
+ call void @fn_emit(ptr @.str9499)
+ call void @fn_emit(ptr @.str9500)
%t49 = load ptr, ptr %t28
call void @fn_emit(ptr %t49)
- call void @fn_emit(ptr @.str9463)
+ call void @fn_emit(ptr @.str9501)
%t50 = load i32, ptr %t9
%t51 = add i32 %t50, 1
store i32 %t51, ptr %t9
@@ -97656,11 +98512,11 @@ ifend2:
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then9, label %ifend11
then9:
- call void @fn_emit(ptr @.str9464)
+ call void @fn_emit(ptr @.str9502)
br label %ifend11
ifend11:
- call void @fn_emit(ptr @.str9465)
- call void @fn_emit(ptr @.str9466)
+ call void @fn_emit(ptr @.str9503)
+ call void @fn_emit(ptr @.str9504)
br label %ret
ret:
ret void
@@ -97685,21 +98541,21 @@ then0:
ifend2:
%t6 = call ptr @fn_itoa(i32 1024)
store ptr %t6, ptr %t7
- call void @fn_emit(ptr @.str9467)
- call void @fn_emit(ptr @.str9468)
- call void @fn_emit(ptr @.str9469)
- call void @fn_emit(ptr @.str9470)
- call void @fn_emit(ptr @.str9471)
+ call void @fn_emit(ptr @.str9505)
+ call void @fn_emit(ptr @.str9506)
+ call void @fn_emit(ptr @.str9507)
+ call void @fn_emit(ptr @.str9508)
+ call void @fn_emit(ptr @.str9509)
%t8 = load ptr, ptr %t7
call void @fn_emit(ptr %t8)
- call void @fn_emit(ptr @.str9472)
- call void @fn_emit(ptr @.str9473)
- call void @fn_emit(ptr @.str9474)
- call void @fn_emit(ptr @.str9475)
+ call void @fn_emit(ptr @.str9510)
+ call void @fn_emit(ptr @.str9511)
+ call void @fn_emit(ptr @.str9512)
+ call void @fn_emit(ptr @.str9513)
%t9 = load ptr, ptr %t7
call void @fn_emit(ptr %t9)
- call void @fn_emit(ptr @.str9476)
- call void @fn_emit(ptr @.str9477)
+ call void @fn_emit(ptr @.str9514)
+ call void @fn_emit(ptr @.str9515)
store i32 0, ptr %t10
br label %wcond3
wcond3:
@@ -97724,35 +98580,35 @@ wbody4:
%t27 = load i32, ptr %t10
%t28 = call ptr @fn_itoa(i32 %t27)
store ptr %t28, ptr %t29
- call void @fn_emit(ptr @.str9478)
+ call void @fn_emit(ptr @.str9516)
%t30 = load ptr, ptr %t29
call void @fn_emit(ptr %t30)
- call void @fn_emit(ptr @.str9479)
+ call void @fn_emit(ptr @.str9517)
%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 @.str9480)
- call void @fn_emit(ptr @.str9481)
+ call void @fn_emit(ptr @.str9518)
+ call void @fn_emit(ptr @.str9519)
%t34 = load ptr, ptr %t29
call void @fn_emit(ptr %t34)
- call void @fn_emit(ptr @.str9482)
+ call void @fn_emit(ptr @.str9520)
%t35 = load ptr, ptr %t29
call void @fn_emit(ptr %t35)
- call void @fn_emit(ptr @.str9483)
+ call void @fn_emit(ptr @.str9521)
%t36 = load ptr, ptr %t29
call void @fn_emit(ptr %t36)
- call void @fn_emit(ptr @.str9484)
- call void @fn_emit(ptr @.str9485)
+ call void @fn_emit(ptr @.str9522)
+ call void @fn_emit(ptr @.str9523)
%t37 = load ptr, ptr %t29
call void @fn_emit(ptr %t37)
- call void @fn_emit(ptr @.str9486)
+ call void @fn_emit(ptr @.str9524)
%t38 = load ptr, ptr %t26
call void @fn_emit(ptr %t38)
- call void @fn_emit(ptr @.str9487)
+ call void @fn_emit(ptr @.str9525)
%t39 = load ptr, ptr %t26
- %t40 = call ptr @fn_str_concat(ptr @.str9488, ptr %t39)
- %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str9489)
+ %t40 = call ptr @lp_str_concat(ptr @.str9526, ptr %t39)
+ %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str9527)
store ptr %t41, ptr %t42
%t43 = load ptr, ptr %t42
%t44 = call ptr @fn_find_event(ptr %t43)
@@ -97761,28 +98617,28 @@ wbody4:
%t47 = icmp ne i32 %t46, 0
br i1 %t47, label %then6, label %ifend8
then6:
- call void @fn_emit(ptr @.str9490)
+ call void @fn_emit(ptr @.str9528)
%t48 = load ptr, ptr %t42
call void @fn_emit(ptr %t48)
- call void @fn_emit(ptr @.str9491)
+ call void @fn_emit(ptr @.str9529)
br label %ifend8
ifend8:
- call void @fn_emit(ptr @.str9492)
+ call void @fn_emit(ptr @.str9530)
%t49 = load ptr, ptr %t29
call void @fn_emit(ptr %t49)
- call void @fn_emit(ptr @.str9493)
- call void @fn_emit(ptr @.str9494)
+ call void @fn_emit(ptr @.str9531)
+ call void @fn_emit(ptr @.str9532)
%t50 = load ptr, ptr %t29
call void @fn_emit(ptr %t50)
- call void @fn_emit(ptr @.str9495)
+ call void @fn_emit(ptr @.str9533)
%t51 = load i32, ptr %t10
%t52 = add i32 %t51, 1
store i32 %t52, ptr %t10
br label %wcond3
wend5:
- call void @fn_emit(ptr @.str9496)
- call void @fn_emit(ptr @.str9497)
- call void @fn_emit(ptr @.str9498)
+ call void @fn_emit(ptr @.str9534)
+ call void @fn_emit(ptr @.str9535)
+ call void @fn_emit(ptr @.str9536)
br label %ret
ret:
ret void
@@ -97826,7 +98682,7 @@ entry:
%t335 = alloca i32
%t351 = alloca ptr
%t354 = alloca ptr
- call void @fn_emith(ptr @.str9499)
+ call void @fn_emith(ptr @.str9537)
store i32 0, ptr %t0
br label %wcond0
wcond0:
@@ -97852,10 +98708,10 @@ wbody1:
store ptr %t17, ptr %t18
%t19 = call ptr @fn_itoa(i32 16)
store ptr %t19, ptr %t20
- call void @fn_emith(ptr @.str9500)
+ call void @fn_emith(ptr @.str9538)
%t21 = load ptr, ptr %t18
call void @fn_emith(ptr %t21)
- call void @fn_emith(ptr @.str9501)
+ call void @fn_emith(ptr @.str9539)
store i32 0, ptr %t22
br label %wcond3
wcond3:
@@ -97876,7 +98732,7 @@ wbody4:
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then6, label %ifend8
then6:
- call void @fn_emith(ptr @.str9502)
+ call void @fn_emith(ptr @.str9540)
br label %ifend8
ifend8:
%t36 = load ptr, ptr %t14
@@ -97914,118 +98770,118 @@ then9:
%t62 = icmp ne i32 %t61, 0
br i1 %t62, label %then12, label %ifend14
then12:
- call void @fn_emith(ptr @.str9503)
+ call void @fn_emith(ptr @.str9541)
br label %ifend14
ifend14:
- call void @fn_emith(ptr @.str9504)
+ call void @fn_emith(ptr @.str9542)
br label %ifend11
ifend11:
- call void @fn_emith(ptr @.str9505)
- call void @fn_emith(ptr @.str9506)
+ call void @fn_emith(ptr @.str9543)
+ call void @fn_emith(ptr @.str9544)
%t63 = load ptr, ptr %t18
call void @fn_emith(ptr %t63)
- call void @fn_emith(ptr @.str9507)
+ call void @fn_emith(ptr @.str9545)
%t64 = load ptr, ptr %t20
call void @fn_emith(ptr %t64)
- call void @fn_emith(ptr @.str9508)
- call void @fn_emith(ptr @.str9509)
+ call void @fn_emith(ptr @.str9546)
+ call void @fn_emith(ptr @.str9547)
%t65 = load ptr, ptr %t18
call void @fn_emith(ptr %t65)
- call void @fn_emith(ptr @.str9510)
- call void @fn_emith(ptr @.str9511)
+ call void @fn_emith(ptr @.str9548)
+ call void @fn_emith(ptr @.str9549)
%t66 = load ptr, ptr %t18
call void @fn_emith(ptr %t66)
- call void @fn_emith(ptr @.str9512)
+ call void @fn_emith(ptr @.str9550)
%t67 = load ptr, ptr %t20
call void @fn_emith(ptr %t67)
- call void @fn_emith(ptr @.str9513)
- call void @fn_emit(ptr @.str9514)
+ call void @fn_emith(ptr @.str9551)
+ call void @fn_emit(ptr @.str9552)
%t68 = load ptr, ptr %t18
call void @fn_emit(ptr %t68)
- call void @fn_emit(ptr @.str9515)
- call void @fn_emit(ptr @.str9516)
- %t69 = load ptr, ptr %t18
- call void @fn_emit(ptr %t69)
- call void @fn_emit(ptr @.str9517)
- call void @fn_emit(ptr @.str9518)
- %t70 = load ptr, ptr %t20
- call void @fn_emit(ptr %t70)
- call void @fn_emit(ptr @.str9519)
- call void @fn_emit(ptr @.str9520)
- call void @fn_emit(ptr @.str9521)
- %t71 = load ptr, ptr %t20
- call void @fn_emit(ptr %t71)
- call void @fn_emit(ptr @.str9522)
- %t72 = load ptr, ptr %t18
- call void @fn_emit(ptr %t72)
- call void @fn_emit(ptr @.str9523)
- call void @fn_emit(ptr @.str9524)
- call void @fn_emit(ptr @.str9525)
- %t73 = load ptr, ptr %t20
- call void @fn_emit(ptr %t73)
- call void @fn_emit(ptr @.str9526)
- %t74 = load ptr, ptr %t18
- call void @fn_emit(ptr %t74)
- call void @fn_emit(ptr @.str9527)
- call void @fn_emit(ptr @.str9528)
- call void @fn_emit(ptr @.str9529)
- %t75 = load ptr, ptr %t18
- call void @fn_emit(ptr %t75)
- call void @fn_emit(ptr @.str9530)
- call void @fn_emit(ptr @.str9531)
- call void @fn_emit(ptr @.str9532)
- %t76 = load ptr, ptr %t18
- call void @fn_emit(ptr %t76)
- call void @fn_emit(ptr @.str9533)
- call void @fn_emit(ptr @.str9534)
- %t77 = load ptr, ptr %t18
- call void @fn_emit(ptr %t77)
- call void @fn_emit(ptr @.str9535)
- call void @fn_emit(ptr @.str9536)
- %t78 = load ptr, ptr %t20
- call void @fn_emit(ptr %t78)
- call void @fn_emit(ptr @.str9537)
- call void @fn_emit(ptr @.str9538)
- call void @fn_emit(ptr @.str9539)
- %t79 = load ptr, ptr %t20
- call void @fn_emit(ptr %t79)
- call void @fn_emit(ptr @.str9540)
- %t80 = load ptr, ptr %t18
- call void @fn_emit(ptr %t80)
- call void @fn_emit(ptr @.str9541)
- call void @fn_emit(ptr @.str9542)
- call void @fn_emit(ptr @.str9543)
- %t81 = load ptr, ptr %t20
- call void @fn_emit(ptr %t81)
- call void @fn_emit(ptr @.str9544)
- %t82 = load ptr, ptr %t18
- call void @fn_emit(ptr %t82)
- call void @fn_emit(ptr @.str9545)
- call void @fn_emit(ptr @.str9546)
- call void @fn_emit(ptr @.str9547)
- %t83 = load ptr, ptr %t18
- call void @fn_emit(ptr %t83)
- call void @fn_emit(ptr @.str9548)
- call void @fn_emit(ptr @.str9549)
- call void @fn_emit(ptr @.str9550)
- %t84 = load ptr, ptr %t18
- call void @fn_emit(ptr %t84)
- call void @fn_emit(ptr @.str9551)
- call void @fn_emit(ptr @.str9552)
- %t85 = load ptr, ptr %t18
- call void @fn_emit(ptr %t85)
call void @fn_emit(ptr @.str9553)
call void @fn_emit(ptr @.str9554)
+ %t69 = load ptr, ptr %t18
+ call void @fn_emit(ptr %t69)
call void @fn_emit(ptr @.str9555)
call void @fn_emit(ptr @.str9556)
- %t86 = load ptr, ptr %t20
- call void @fn_emit(ptr %t86)
+ %t70 = load ptr, ptr %t20
+ call void @fn_emit(ptr %t70)
call void @fn_emit(ptr @.str9557)
- %t87 = load ptr, ptr %t18
- call void @fn_emit(ptr %t87)
call void @fn_emit(ptr @.str9558)
call void @fn_emit(ptr @.str9559)
+ %t71 = load ptr, ptr %t20
+ call void @fn_emit(ptr %t71)
call void @fn_emit(ptr @.str9560)
+ %t72 = load ptr, ptr %t18
+ call void @fn_emit(ptr %t72)
+ call void @fn_emit(ptr @.str9561)
+ call void @fn_emit(ptr @.str9562)
+ call void @fn_emit(ptr @.str9563)
+ %t73 = load ptr, ptr %t20
+ call void @fn_emit(ptr %t73)
+ call void @fn_emit(ptr @.str9564)
+ %t74 = load ptr, ptr %t18
+ call void @fn_emit(ptr %t74)
+ call void @fn_emit(ptr @.str9565)
+ call void @fn_emit(ptr @.str9566)
+ call void @fn_emit(ptr @.str9567)
+ %t75 = load ptr, ptr %t18
+ call void @fn_emit(ptr %t75)
+ call void @fn_emit(ptr @.str9568)
+ call void @fn_emit(ptr @.str9569)
+ call void @fn_emit(ptr @.str9570)
+ %t76 = load ptr, ptr %t18
+ call void @fn_emit(ptr %t76)
+ call void @fn_emit(ptr @.str9571)
+ call void @fn_emit(ptr @.str9572)
+ %t77 = load ptr, ptr %t18
+ call void @fn_emit(ptr %t77)
+ call void @fn_emit(ptr @.str9573)
+ call void @fn_emit(ptr @.str9574)
+ %t78 = load ptr, ptr %t20
+ call void @fn_emit(ptr %t78)
+ call void @fn_emit(ptr @.str9575)
+ call void @fn_emit(ptr @.str9576)
+ call void @fn_emit(ptr @.str9577)
+ %t79 = load ptr, ptr %t20
+ call void @fn_emit(ptr %t79)
+ call void @fn_emit(ptr @.str9578)
+ %t80 = load ptr, ptr %t18
+ call void @fn_emit(ptr %t80)
+ call void @fn_emit(ptr @.str9579)
+ call void @fn_emit(ptr @.str9580)
+ call void @fn_emit(ptr @.str9581)
+ %t81 = load ptr, ptr %t20
+ call void @fn_emit(ptr %t81)
+ call void @fn_emit(ptr @.str9582)
+ %t82 = load ptr, ptr %t18
+ call void @fn_emit(ptr %t82)
+ call void @fn_emit(ptr @.str9583)
+ call void @fn_emit(ptr @.str9584)
+ call void @fn_emit(ptr @.str9585)
+ %t83 = load ptr, ptr %t18
+ call void @fn_emit(ptr %t83)
+ call void @fn_emit(ptr @.str9586)
+ call void @fn_emit(ptr @.str9587)
+ call void @fn_emit(ptr @.str9588)
+ %t84 = load ptr, ptr %t18
+ call void @fn_emit(ptr %t84)
+ call void @fn_emit(ptr @.str9589)
+ call void @fn_emit(ptr @.str9590)
+ %t85 = load ptr, ptr %t18
+ call void @fn_emit(ptr %t85)
+ call void @fn_emit(ptr @.str9591)
+ call void @fn_emit(ptr @.str9592)
+ call void @fn_emit(ptr @.str9593)
+ call void @fn_emit(ptr @.str9594)
+ %t86 = load ptr, ptr %t20
+ call void @fn_emit(ptr %t86)
+ call void @fn_emit(ptr @.str9595)
+ %t87 = load ptr, ptr %t18
+ call void @fn_emit(ptr %t87)
+ call void @fn_emit(ptr @.str9596)
+ call void @fn_emit(ptr @.str9597)
+ call void @fn_emit(ptr @.str9598)
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
store i32 0, ptr @g_g_term
@@ -98033,7 +98889,7 @@ ifend11:
store i32 0, ptr @g_nloop
store i32 0, ptr @g_nself
store ptr null, ptr @g_g_cur_scene
- store ptr @.str9561, ptr @g_ret_ty
+ store ptr @.str9599, ptr @g_ret_ty
%t88 = call ptr @fn_buf_new()
store ptr %t88, ptr %t89
%t90 = call ptr @fn_buf_new()
@@ -98042,13 +98898,13 @@ ifend11:
store ptr %t91, ptr %t92
%t93 = load ptr, ptr %t89
store ptr %t93, ptr @g_code
- call void @fn_emit(ptr @.str9562)
- call void @fn_emit(ptr @.str9563)
+ call void @fn_emit(ptr @.str9600)
+ call void @fn_emit(ptr @.str9601)
%t94 = call ptr @fn_itoa(i32 32)
call void @fn_emit(ptr %t94)
- call void @fn_emit(ptr @.str9564)
- call void @fn_emit(ptr @.str9565)
- call void @fn_emit(ptr @.str9566)
+ call void @fn_emit(ptr @.str9602)
+ call void @fn_emit(ptr @.str9603)
+ call void @fn_emit(ptr @.str9604)
%t95 = load ptr, ptr %t14
%t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 2
%t97 = load i32, ptr %t96
@@ -98057,16 +98913,16 @@ ifend11:
%t100 = icmp ne i32 %t99, 0
br i1 %t100, label %then15, label %else16
then15:
- call void @fn_emit(ptr @.str9567)
+ call void @fn_emit(ptr @.str9605)
br label %ifend17
else16:
- call void @fn_emit(ptr @.str9568)
+ call void @fn_emit(ptr @.str9606)
br label %ifend17
ifend17:
- call void @fn_emit(ptr @.str9569)
- call void @fn_emit(ptr @.str9570)
+ call void @fn_emit(ptr @.str9607)
+ call void @fn_emit(ptr @.str9608)
%t101 = load ptr, ptr %t18
- %t102 = call ptr @fn_str_concat(ptr @.str9571, ptr %t101)
+ %t102 = call ptr @lp_str_concat(ptr @.str9609, ptr %t101)
%t103 = call ptr @fn_emit_alloca(ptr %t102)
store ptr %t103, ptr %t104
store i32 0, ptr %t105
@@ -98099,45 +98955,45 @@ wbody19:
store ptr %t127, ptr %t128
%t129 = call ptr @fn_nreg()
store ptr %t129, ptr %t130
- call void @fn_emit(ptr @.str9572)
+ call void @fn_emit(ptr @.str9610)
%t131 = load ptr, ptr %t130
call void @fn_emit(ptr %t131)
- call void @fn_emit(ptr @.str9573)
+ call void @fn_emit(ptr @.str9611)
%t132 = load ptr, ptr %t18
call void @fn_emit(ptr %t132)
- call void @fn_emit(ptr @.str9574)
+ call void @fn_emit(ptr @.str9612)
%t133 = load ptr, ptr %t104
call void @fn_emit(ptr %t133)
- call void @fn_emit(ptr @.str9575)
+ call void @fn_emit(ptr @.str9613)
%t134 = load i32, ptr %t105
%t135 = call ptr @fn_itoa(i32 %t134)
call void @fn_emit(ptr %t135)
- call void @fn_emit(ptr @.str9576)
- call void @fn_emit(ptr @.str9577)
+ call void @fn_emit(ptr @.str9614)
+ call void @fn_emit(ptr @.str9615)
%t136 = load ptr, ptr %t128
call void @fn_emit(ptr %t136)
- call void @fn_emit(ptr @.str9578)
+ call void @fn_emit(ptr @.str9616)
%t137 = load i32, ptr %t105
%t138 = call ptr @fn_itoa(i32 %t137)
call void @fn_emit(ptr %t138)
- call void @fn_emit(ptr @.str9579)
+ call void @fn_emit(ptr @.str9617)
%t139 = load ptr, ptr %t130
call void @fn_emit(ptr %t139)
- call void @fn_emit(ptr @.str9580)
+ call void @fn_emit(ptr @.str9618)
%t140 = load ptr, ptr %t128
%t141 = call ptr @fn_emit_alloca(ptr %t140)
store ptr %t141, ptr %t142
- call void @fn_emit(ptr @.str9581)
+ call void @fn_emit(ptr @.str9619)
%t143 = load ptr, ptr %t128
call void @fn_emit(ptr %t143)
- call void @fn_emit(ptr @.str9582)
+ call void @fn_emit(ptr @.str9620)
%t144 = load i32, ptr %t105
%t145 = call ptr @fn_itoa(i32 %t144)
call void @fn_emit(ptr %t145)
- call void @fn_emit(ptr @.str9583)
+ call void @fn_emit(ptr @.str9621)
%t146 = load ptr, ptr %t142
call void @fn_emit(ptr %t146)
- call void @fn_emit(ptr @.str9584)
+ call void @fn_emit(ptr @.str9622)
%t147 = load ptr, ptr %t123
%t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 1
%t149 = load ptr, ptr %t148
@@ -98162,16 +99018,16 @@ wend20:
then21:
%t163 = call ptr @fn_nreg()
store ptr %t163, ptr %t156
- call void @fn_emit(ptr @.str9585)
+ call void @fn_emit(ptr @.str9623)
%t164 = load ptr, ptr %t156
call void @fn_emit(ptr %t164)
- call void @fn_emit(ptr @.str9586)
+ call void @fn_emit(ptr @.str9624)
%t165 = load ptr, ptr %t18
call void @fn_emit(ptr %t165)
- call void @fn_emit(ptr @.str9587)
+ call void @fn_emit(ptr @.str9625)
%t166 = load ptr, ptr %t104
call void @fn_emit(ptr %t166)
- call void @fn_emit(ptr @.str9588)
+ call void @fn_emit(ptr @.str9626)
%t167 = load ptr, ptr %t14
%t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 7
%t169 = load ptr, ptr %t168
@@ -98179,11 +99035,11 @@ then21:
%t171 = load i32, ptr %t170
%t172 = call ptr @fn_itoa(i32 %t171)
call void @fn_emit(ptr %t172)
- call void @fn_emit(ptr @.str9589)
- call void @fn_emit(ptr @.str9590)
+ call void @fn_emit(ptr @.str9627)
+ call void @fn_emit(ptr @.str9628)
%t173 = load ptr, ptr %t156
call void @fn_emit(ptr %t173)
- call void @fn_emit(ptr @.str9591)
+ call void @fn_emit(ptr @.str9629)
%t174 = load ptr, ptr %t156
store ptr %t174, ptr @g_g_cancel_addr
br label %ifend23
@@ -98211,7 +99067,7 @@ wbody25:
%t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 1
%t192 = load ptr, ptr %t191
%t193 = load ptr, ptr %t18
- %t194 = call i32 @fn_str_eq(ptr %t192, ptr %t193)
+ %t194 = call i32 @lp_str_eq(ptr %t192, ptr %t193)
%t195 = icmp ne i32 %t194, 0
br i1 %t195, label %then27, label %ifend29
then27:
@@ -98240,132 +99096,132 @@ wend26:
%t210 = icmp ne i32 %t209, 0
br i1 %t210, label %then30, label %ifend32
then30:
- %t211 = call ptr @fn_emit_alloca(ptr @.str9592)
+ %t211 = call ptr @fn_emit_alloca(ptr @.str9630)
store ptr %t211, ptr %t212
- call void @fn_emit(ptr @.str9593)
+ call void @fn_emit(ptr @.str9631)
%t213 = load ptr, ptr %t212
call void @fn_emit(ptr %t213)
- call void @fn_emit(ptr @.str9594)
- %t214 = call ptr @fn_lbl(ptr @.str9595)
+ call void @fn_emit(ptr @.str9632)
+ %t214 = call ptr @fn_lbl(ptr @.str9633)
store ptr %t214, ptr %t215
- %t216 = call ptr @fn_lbl(ptr @.str9596)
+ %t216 = call ptr @fn_lbl(ptr @.str9634)
store ptr %t216, ptr %t217
- %t218 = call ptr @fn_lbl(ptr @.str9597)
+ %t218 = call ptr @fn_lbl(ptr @.str9635)
store ptr %t218, ptr %t219
- call void @fn_emit(ptr @.str9598)
+ call void @fn_emit(ptr @.str9636)
%t220 = load ptr, ptr %t215
call void @fn_emit(ptr %t220)
- call void @fn_emit(ptr @.str9599)
+ call void @fn_emit(ptr @.str9637)
%t221 = load ptr, ptr %t215
call void @fn_emit(ptr %t221)
- call void @fn_emit(ptr @.str9600)
+ call void @fn_emit(ptr @.str9638)
%t222 = load ptr, ptr %t212
- %t223 = call ptr @fn_str_concat(ptr @.str9601, ptr %t222)
+ %t223 = call ptr @lp_str_concat(ptr @.str9639, ptr %t222)
%t224 = call ptr @fn_emit_bind(ptr %t223)
store ptr %t224, ptr %t225
%t226 = load ptr, ptr %t18
- %t227 = call ptr @fn_str_concat(ptr @.str9602, ptr %t226)
+ %t227 = call ptr @lp_str_concat(ptr @.str9640, ptr %t226)
%t228 = call ptr @fn_emit_bind(ptr %t227)
store ptr %t228, ptr %t229
%t230 = load ptr, ptr %t225
- %t231 = call ptr @fn_str_concat(ptr @.str9603, ptr %t230)
- %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str9604)
+ %t231 = call ptr @lp_str_concat(ptr @.str9641, ptr %t230)
+ %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str9642)
%t233 = load ptr, ptr %t229
- %t234 = call ptr @fn_str_concat(ptr %t232, ptr %t233)
+ %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 @.str9605)
+ call void @fn_emit(ptr @.str9643)
%t237 = load ptr, ptr %t236
call void @fn_emit(ptr %t237)
- call void @fn_emit(ptr @.str9606)
+ call void @fn_emit(ptr @.str9644)
%t238 = load ptr, ptr %t217
call void @fn_emit(ptr %t238)
- call void @fn_emit(ptr @.str9607)
+ call void @fn_emit(ptr @.str9645)
%t239 = load ptr, ptr %t219
call void @fn_emit(ptr %t239)
- call void @fn_emit(ptr @.str9608)
+ call void @fn_emit(ptr @.str9646)
%t240 = load ptr, ptr %t217
call void @fn_emit(ptr %t240)
- call void @fn_emit(ptr @.str9609)
+ call void @fn_emit(ptr @.str9647)
%t241 = call ptr @fn_nreg()
store ptr %t241, ptr %t242
- call void @fn_emit(ptr @.str9610)
+ call void @fn_emit(ptr @.str9648)
%t243 = load ptr, ptr %t242
call void @fn_emit(ptr %t243)
- call void @fn_emit(ptr @.str9611)
+ call void @fn_emit(ptr @.str9649)
%t244 = load ptr, ptr %t20
call void @fn_emit(ptr %t244)
- call void @fn_emit(ptr @.str9612)
+ call void @fn_emit(ptr @.str9650)
%t245 = load ptr, ptr %t18
call void @fn_emit(ptr %t245)
- call void @fn_emit(ptr @.str9613)
+ call void @fn_emit(ptr @.str9651)
%t246 = load ptr, ptr %t225
call void @fn_emit(ptr %t246)
- call void @fn_emit(ptr @.str9614)
+ call void @fn_emit(ptr @.str9652)
%t247 = load ptr, ptr %t242
- %t248 = call ptr @fn_str_concat(ptr @.str9615, ptr %t247)
+ %t248 = call ptr @lp_str_concat(ptr @.str9653, ptr %t247)
%t249 = call ptr @fn_emit_bind(ptr %t248)
store ptr %t249, ptr %t250
%t251 = load ptr, ptr %t250
- %t252 = call ptr @fn_str_concat(ptr @.str9616, ptr %t251)
- %t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str9617)
+ %t252 = call ptr @lp_str_concat(ptr @.str9654, ptr %t251)
+ %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str9655)
%t254 = call ptr @fn_emit_bind(ptr %t253)
store ptr %t254, ptr %t255
- %t256 = call ptr @fn_lbl(ptr @.str9618)
+ %t256 = call ptr @fn_lbl(ptr @.str9656)
store ptr %t256, ptr %t257
- %t258 = call ptr @fn_lbl(ptr @.str9619)
+ %t258 = call ptr @fn_lbl(ptr @.str9657)
store ptr %t258, ptr %t259
- call void @fn_emit(ptr @.str9620)
+ call void @fn_emit(ptr @.str9658)
%t260 = load ptr, ptr %t255
call void @fn_emit(ptr %t260)
- call void @fn_emit(ptr @.str9621)
+ call void @fn_emit(ptr @.str9659)
%t261 = load ptr, ptr %t259
call void @fn_emit(ptr %t261)
- call void @fn_emit(ptr @.str9622)
+ call void @fn_emit(ptr @.str9660)
%t262 = load ptr, ptr %t257
call void @fn_emit(ptr %t262)
- call void @fn_emit(ptr @.str9623)
+ call void @fn_emit(ptr @.str9661)
%t263 = load ptr, ptr %t257
call void @fn_emit(ptr %t263)
- call void @fn_emit(ptr @.str9624)
- call void @fn_emit(ptr @.str9625)
+ call void @fn_emit(ptr @.str9662)
+ call void @fn_emit(ptr @.str9663)
%t264 = load ptr, ptr %t250
call void @fn_emit(ptr %t264)
- call void @fn_emit(ptr @.str9626)
+ call void @fn_emit(ptr @.str9664)
%t265 = load ptr, ptr %t104
call void @fn_emit(ptr %t265)
- call void @fn_emit(ptr @.str9627)
- call void @fn_emit(ptr @.str9628)
+ call void @fn_emit(ptr @.str9665)
+ call void @fn_emit(ptr @.str9666)
%t266 = load ptr, ptr %t259
call void @fn_emit(ptr %t266)
- call void @fn_emit(ptr @.str9629)
+ call void @fn_emit(ptr @.str9667)
%t267 = load ptr, ptr %t259
call void @fn_emit(ptr %t267)
- call void @fn_emit(ptr @.str9630)
+ call void @fn_emit(ptr @.str9668)
%t268 = load ptr, ptr %t225
- %t269 = call ptr @fn_str_concat(ptr @.str9631, ptr %t268)
- %t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str9632)
+ %t269 = call ptr @lp_str_concat(ptr @.str9669, ptr %t268)
+ %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str9670)
%t271 = call ptr @fn_emit_bind(ptr %t270)
store ptr %t271, ptr %t272
- call void @fn_emit(ptr @.str9633)
+ call void @fn_emit(ptr @.str9671)
%t273 = load ptr, ptr %t272
call void @fn_emit(ptr %t273)
- call void @fn_emit(ptr @.str9634)
+ call void @fn_emit(ptr @.str9672)
%t274 = load ptr, ptr %t212
call void @fn_emit(ptr %t274)
- call void @fn_emit(ptr @.str9635)
- call void @fn_emit(ptr @.str9636)
+ call void @fn_emit(ptr @.str9673)
+ call void @fn_emit(ptr @.str9674)
%t275 = load ptr, ptr %t215
call void @fn_emit(ptr %t275)
- call void @fn_emit(ptr @.str9637)
+ call void @fn_emit(ptr @.str9675)
%t276 = load ptr, ptr %t219
call void @fn_emit(ptr %t276)
- call void @fn_emit(ptr @.str9638)
- call void @fn_emit(ptr @.str9639)
+ call void @fn_emit(ptr @.str9676)
+ call void @fn_emit(ptr @.str9677)
br label %ifend32
ifend32:
- call void @fn_emit(ptr @.str9640)
- call void @fn_emit(ptr @.str9641)
+ call void @fn_emit(ptr @.str9678)
+ call void @fn_emit(ptr @.str9679)
%t277 = load ptr, ptr %t14
%t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 2
%t279 = load i32, ptr %t278
@@ -98375,22 +99231,22 @@ ifend32:
br i1 %t282, label %then33, label %else34
then33:
%t283 = load ptr, ptr %t156
- %t284 = call ptr @fn_str_concat(ptr @.str9642, ptr %t283)
+ %t284 = call ptr @lp_str_concat(ptr @.str9680, ptr %t283)
%t285 = call ptr @fn_emit_bind(ptr %t284)
store ptr %t285, ptr %t286
- call void @fn_emit(ptr @.str9643)
+ call void @fn_emit(ptr @.str9681)
%t287 = load ptr, ptr %t286
call void @fn_emit(ptr %t287)
- call void @fn_emit(ptr @.str9644)
+ call void @fn_emit(ptr @.str9682)
br label %ifend35
else34:
- call void @fn_emit(ptr @.str9645)
+ call void @fn_emit(ptr @.str9683)
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 @.str9646, ptr %t289
+ store ptr @.str9684, ptr %t289
%t290 = load ptr, ptr %t14
%t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 2
%t292 = load i32, ptr %t291
@@ -98399,16 +99255,16 @@ ifend35:
%t295 = icmp ne i32 %t294, 0
br i1 %t295, label %then36, label %ifend38
then36:
- store ptr @.str9647, ptr %t289
+ store ptr @.str9685, ptr %t289
br label %ifend38
ifend38:
- call void @fn_emit(ptr @.str9648)
+ call void @fn_emit(ptr @.str9686)
%t296 = load ptr, ptr %t289
call void @fn_emit(ptr %t296)
- call void @fn_emit(ptr @.str9649)
+ call void @fn_emit(ptr @.str9687)
%t297 = load ptr, ptr %t18
call void @fn_emit(ptr %t297)
- call void @fn_emit(ptr @.str9650)
+ call void @fn_emit(ptr @.str9688)
store i32 0, ptr %t298
br label %wcond39
wcond39:
@@ -98429,7 +99285,7 @@ wbody40:
%t311 = icmp ne i32 %t310, 0
br i1 %t311, label %then42, label %ifend44
then42:
- call void @fn_emit(ptr @.str9651)
+ call void @fn_emit(ptr @.str9689)
br label %ifend44
ifend44:
%t312 = load ptr, ptr %t14
@@ -98444,7 +99300,7 @@ ifend44:
%t321 = load ptr, ptr %t320
%t322 = call ptr @fn_llty(ptr %t321)
call void @fn_emit(ptr %t322)
- call void @fn_emit(ptr @.str9652)
+ call void @fn_emit(ptr @.str9690)
%t323 = load i32, ptr %t298
%t324 = call ptr @fn_itoa(i32 %t323)
call void @fn_emit(ptr %t324)
@@ -98453,14 +99309,14 @@ ifend44:
store i32 %t326, ptr %t298
br label %wcond39
wend41:
- call void @fn_emit(ptr @.str9653)
+ call void @fn_emit(ptr @.str9691)
%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 @.str9654)
+ call void @fn_emit(ptr @.str9692)
%t331 = load i32, ptr %t0
%t332 = add i32 %t331, 1
store i32 %t332, ptr %t0
@@ -98468,7 +99324,7 @@ wend41:
wend2:
%t333 = call ptr @fn_itoa(i32 16)
store ptr %t333, ptr %t334
- call void @fn_emit(ptr @.str9655)
+ call void @fn_emit(ptr @.str9693)
store i32 0, ptr %t335
br label %wcond45
wcond45:
@@ -98493,127 +99349,127 @@ wbody46:
%t352 = load i32, ptr %t335
%t353 = call ptr @fn_itoa(i32 %t352)
store ptr %t353, ptr %t354
- call void @fn_emit(ptr @.str9656)
+ call void @fn_emit(ptr @.str9694)
%t355 = load ptr, ptr %t354
call void @fn_emit(ptr %t355)
- call void @fn_emit(ptr @.str9657)
- call void @fn_emit(ptr @.str9658)
+ call void @fn_emit(ptr @.str9695)
+ call void @fn_emit(ptr @.str9696)
%t356 = load ptr, ptr %t354
call void @fn_emit(ptr %t356)
- call void @fn_emit(ptr @.str9659)
- call void @fn_emit(ptr @.str9660)
- %t357 = load ptr, ptr %t354
- call void @fn_emit(ptr %t357)
- call void @fn_emit(ptr @.str9661)
- %t358 = load ptr, ptr %t351
- call void @fn_emit(ptr %t358)
- call void @fn_emit(ptr @.str9662)
- call void @fn_emit(ptr @.str9663)
- %t359 = load ptr, ptr %t354
- call void @fn_emit(ptr %t359)
- call void @fn_emit(ptr @.str9664)
- %t360 = load ptr, ptr %t354
- call void @fn_emit(ptr %t360)
- call void @fn_emit(ptr @.str9665)
- %t361 = load ptr, ptr %t354
- call void @fn_emit(ptr %t361)
- call void @fn_emit(ptr @.str9666)
- call void @fn_emit(ptr @.str9667)
- %t362 = load ptr, ptr %t354
- call void @fn_emit(ptr %t362)
- call void @fn_emit(ptr @.str9668)
- %t363 = load ptr, ptr %t354
- call void @fn_emit(ptr %t363)
- call void @fn_emit(ptr @.str9669)
- %t364 = load ptr, ptr %t354
- call void @fn_emit(ptr %t364)
- call void @fn_emit(ptr @.str9670)
- call void @fn_emit(ptr @.str9671)
- %t365 = load ptr, ptr %t354
- call void @fn_emit(ptr %t365)
- call void @fn_emit(ptr @.str9672)
- call void @fn_emit(ptr @.str9673)
- %t366 = load ptr, ptr %t354
- call void @fn_emit(ptr %t366)
- call void @fn_emit(ptr @.str9674)
- %t367 = load ptr, ptr %t334
- call void @fn_emit(ptr %t367)
- call void @fn_emit(ptr @.str9675)
- %t368 = load ptr, ptr %t351
- call void @fn_emit(ptr %t368)
- call void @fn_emit(ptr @.str9676)
- %t369 = load ptr, ptr %t354
- call void @fn_emit(ptr %t369)
- call void @fn_emit(ptr @.str9677)
- call void @fn_emit(ptr @.str9678)
- %t370 = load ptr, ptr %t354
- call void @fn_emit(ptr %t370)
- call void @fn_emit(ptr @.str9679)
- %t371 = load ptr, ptr %t354
- call void @fn_emit(ptr %t371)
- call void @fn_emit(ptr @.str9680)
- call void @fn_emit(ptr @.str9681)
- %t372 = load ptr, ptr %t354
- call void @fn_emit(ptr %t372)
- call void @fn_emit(ptr @.str9682)
- %t373 = load ptr, ptr %t354
- call void @fn_emit(ptr %t373)
- call void @fn_emit(ptr @.str9683)
- call void @fn_emit(ptr @.str9684)
- %t374 = load ptr, ptr %t354
- call void @fn_emit(ptr %t374)
- call void @fn_emit(ptr @.str9685)
- %t375 = load ptr, ptr %t354
- call void @fn_emit(ptr %t375)
- call void @fn_emit(ptr @.str9686)
- %t376 = load ptr, ptr %t354
- call void @fn_emit(ptr %t376)
- call void @fn_emit(ptr @.str9687)
- call void @fn_emit(ptr @.str9688)
- %t377 = load ptr, ptr %t354
- call void @fn_emit(ptr %t377)
- call void @fn_emit(ptr @.str9689)
- call void @fn_emit(ptr @.str9690)
- %t378 = load ptr, ptr %t354
- call void @fn_emit(ptr %t378)
- call void @fn_emit(ptr @.str9691)
- %t379 = load ptr, ptr %t334
- call void @fn_emit(ptr %t379)
- call void @fn_emit(ptr @.str9692)
- %t380 = load ptr, ptr %t351
- call void @fn_emit(ptr %t380)
- call void @fn_emit(ptr @.str9693)
- %t381 = load ptr, ptr %t354
- call void @fn_emit(ptr %t381)
- call void @fn_emit(ptr @.str9694)
- call void @fn_emit(ptr @.str9695)
- %t382 = load ptr, ptr %t354
- call void @fn_emit(ptr %t382)
- call void @fn_emit(ptr @.str9696)
- %t383 = load ptr, ptr %t354
- call void @fn_emit(ptr %t383)
call void @fn_emit(ptr @.str9697)
call void @fn_emit(ptr @.str9698)
- %t384 = load ptr, ptr %t354
- call void @fn_emit(ptr %t384)
+ %t357 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t357)
call void @fn_emit(ptr @.str9699)
+ %t358 = load ptr, ptr %t351
+ call void @fn_emit(ptr %t358)
call void @fn_emit(ptr @.str9700)
- %t385 = load ptr, ptr %t354
- call void @fn_emit(ptr %t385)
call void @fn_emit(ptr @.str9701)
- %t386 = load ptr, ptr %t354
- call void @fn_emit(ptr %t386)
+ %t359 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t359)
call void @fn_emit(ptr @.str9702)
- %t387 = load ptr, ptr %t354
- call void @fn_emit(ptr %t387)
+ %t360 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t360)
call void @fn_emit(ptr @.str9703)
- %t388 = load ptr, ptr %t354
- call void @fn_emit(ptr %t388)
+ %t361 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t361)
call void @fn_emit(ptr @.str9704)
call void @fn_emit(ptr @.str9705)
+ %t362 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t362)
+ call void @fn_emit(ptr @.str9706)
+ %t363 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t363)
+ call void @fn_emit(ptr @.str9707)
+ %t364 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t364)
+ call void @fn_emit(ptr @.str9708)
+ call void @fn_emit(ptr @.str9709)
+ %t365 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t365)
+ call void @fn_emit(ptr @.str9710)
+ call void @fn_emit(ptr @.str9711)
+ %t366 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t366)
+ call void @fn_emit(ptr @.str9712)
+ %t367 = load ptr, ptr %t334
+ call void @fn_emit(ptr %t367)
+ call void @fn_emit(ptr @.str9713)
+ %t368 = load ptr, ptr %t351
+ call void @fn_emit(ptr %t368)
+ call void @fn_emit(ptr @.str9714)
+ %t369 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t369)
+ call void @fn_emit(ptr @.str9715)
+ call void @fn_emit(ptr @.str9716)
+ %t370 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t370)
+ call void @fn_emit(ptr @.str9717)
+ %t371 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t371)
+ call void @fn_emit(ptr @.str9718)
+ call void @fn_emit(ptr @.str9719)
+ %t372 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t372)
+ call void @fn_emit(ptr @.str9720)
+ %t373 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t373)
+ call void @fn_emit(ptr @.str9721)
+ call void @fn_emit(ptr @.str9722)
+ %t374 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t374)
+ call void @fn_emit(ptr @.str9723)
+ %t375 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t375)
+ call void @fn_emit(ptr @.str9724)
+ %t376 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t376)
+ call void @fn_emit(ptr @.str9725)
+ call void @fn_emit(ptr @.str9726)
+ %t377 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t377)
+ call void @fn_emit(ptr @.str9727)
+ call void @fn_emit(ptr @.str9728)
+ %t378 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t378)
+ call void @fn_emit(ptr @.str9729)
+ %t379 = load ptr, ptr %t334
+ call void @fn_emit(ptr %t379)
+ call void @fn_emit(ptr @.str9730)
+ %t380 = load ptr, ptr %t351
+ call void @fn_emit(ptr %t380)
+ call void @fn_emit(ptr @.str9731)
+ %t381 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t381)
+ call void @fn_emit(ptr @.str9732)
+ call void @fn_emit(ptr @.str9733)
+ %t382 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t382)
+ call void @fn_emit(ptr @.str9734)
+ %t383 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t383)
+ call void @fn_emit(ptr @.str9735)
+ call void @fn_emit(ptr @.str9736)
+ %t384 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t384)
+ call void @fn_emit(ptr @.str9737)
+ call void @fn_emit(ptr @.str9738)
+ %t385 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t385)
+ call void @fn_emit(ptr @.str9739)
+ %t386 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t386)
+ call void @fn_emit(ptr @.str9740)
+ %t387 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t387)
+ call void @fn_emit(ptr @.str9741)
+ %t388 = load ptr, ptr %t354
+ call void @fn_emit(ptr %t388)
+ call void @fn_emit(ptr @.str9742)
+ call void @fn_emit(ptr @.str9743)
%t389 = load ptr, ptr %t354
call void @fn_emit(ptr %t389)
- call void @fn_emit(ptr @.str9706)
+ call void @fn_emit(ptr @.str9744)
%t390 = load i32, ptr %t335
%t391 = add i32 %t390, 1
%t392 = load ptr, ptr @g_g_events
@@ -98624,15 +99480,15 @@ wbody46:
%t397 = icmp ne i32 %t396, 0
br i1 %t397, label %then48, label %else49
then48:
- call void @fn_emit(ptr @.str9707)
+ call void @fn_emit(ptr @.str9745)
%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 @.str9708)
+ call void @fn_emit(ptr @.str9746)
br label %ifend50
else49:
- call void @fn_emit(ptr @.str9709)
+ call void @fn_emit(ptr @.str9747)
br label %ifend50
ifend50:
%t401 = load i32, ptr %t335
@@ -98640,7 +99496,7 @@ ifend50:
store i32 %t402, ptr %t335
br label %wcond45
wend47:
- call void @fn_emit(ptr @.str9710)
+ call void @fn_emit(ptr @.str9748)
br label %ret
ret:
ret void
@@ -98725,12 +99581,12 @@ wend2:
%t26 = load i32, ptr %t2
%t27 = call ptr @fn_itoa(i32 %t26)
store ptr %t27, ptr %t28
- call void @fn_emith(ptr @.str9711)
- call void @fn_emith(ptr @.str9712)
- call void @fn_emith(ptr @.str9713)
- call void @fn_emith(ptr @.str9714)
- call void @fn_emith(ptr @.str9715)
- call void @fn_emit(ptr @.str9716)
+ call void @fn_emith(ptr @.str9749)
+ call void @fn_emith(ptr @.str9750)
+ call void @fn_emith(ptr @.str9751)
+ call void @fn_emith(ptr @.str9752)
+ call void @fn_emith(ptr @.str9753)
+ call void @fn_emit(ptr @.str9754)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond6
@@ -98770,41 +99626,41 @@ then9:
%t59 = load i32, ptr %t29
%t60 = call ptr @fn_itoa(i32 %t59)
store ptr %t60, ptr %t61
- call void @fn_emit(ptr @.str9717)
+ call void @fn_emit(ptr @.str9755)
%t62 = load ptr, ptr %t61
call void @fn_emit(ptr %t62)
- call void @fn_emit(ptr @.str9718)
+ call void @fn_emit(ptr @.str9756)
%t63 = load ptr, ptr %t58
call void @fn_emit(ptr %t63)
- call void @fn_emit(ptr @.str9719)
- call void @fn_emit(ptr @.str9720)
+ call void @fn_emit(ptr @.str9757)
+ call void @fn_emit(ptr @.str9758)
%t64 = load ptr, ptr %t61
call void @fn_emit(ptr %t64)
- call void @fn_emit(ptr @.str9721)
+ call void @fn_emit(ptr @.str9759)
%t65 = load ptr, ptr %t61
call void @fn_emit(ptr %t65)
- call void @fn_emit(ptr @.str9722)
- call void @fn_emit(ptr @.str9723)
+ call void @fn_emit(ptr @.str9760)
+ call void @fn_emit(ptr @.str9761)
%t66 = load ptr, ptr %t61
call void @fn_emit(ptr %t66)
- call void @fn_emit(ptr @.str9724)
+ call void @fn_emit(ptr @.str9762)
%t67 = load ptr, ptr %t61
call void @fn_emit(ptr %t67)
- call void @fn_emit(ptr @.str9725)
+ call void @fn_emit(ptr @.str9763)
%t68 = load ptr, ptr %t61
call void @fn_emit(ptr %t68)
- call void @fn_emit(ptr @.str9726)
- call void @fn_emit(ptr @.str9727)
+ call void @fn_emit(ptr @.str9764)
+ call void @fn_emit(ptr @.str9765)
%t69 = load ptr, ptr %t61
call void @fn_emit(ptr %t69)
- call void @fn_emit(ptr @.str9728)
+ call void @fn_emit(ptr @.str9766)
%t70 = load ptr, ptr %t61
call void @fn_emit(ptr %t70)
- call void @fn_emit(ptr @.str9729)
- call void @fn_emit(ptr @.str9730)
+ call void @fn_emit(ptr @.str9767)
+ call void @fn_emit(ptr @.str9768)
%t71 = load ptr, ptr %t61
call void @fn_emit(ptr %t71)
- call void @fn_emit(ptr @.str9731)
+ call void @fn_emit(ptr @.str9769)
%t72 = load i32, ptr %t29
%t73 = add i32 %t72, 1
store i32 %t73, ptr %t29
@@ -98815,16 +99671,16 @@ ifend11:
store i32 %t75, ptr %t30
br label %wcond6
wend8:
- call void @fn_emit(ptr @.str9732)
- call void @fn_emit(ptr @.str9733)
- call void @fn_emit(ptr @.str9734)
- call void @fn_emit(ptr @.str9735)
+ call void @fn_emit(ptr @.str9770)
+ call void @fn_emit(ptr @.str9771)
+ call void @fn_emit(ptr @.str9772)
+ call void @fn_emit(ptr @.str9773)
%t76 = load ptr, ptr %t28
call void @fn_emit(ptr %t76)
- call void @fn_emit(ptr @.str9736)
- call void @fn_emit(ptr @.str9737)
- call void @fn_emit(ptr @.str9738)
- call void @fn_emit(ptr @.str9739)
+ call void @fn_emit(ptr @.str9774)
+ call void @fn_emit(ptr @.str9775)
+ call void @fn_emit(ptr @.str9776)
+ call void @fn_emit(ptr @.str9777)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond12
@@ -98861,27 +99717,27 @@ then15:
%t102 = load i32, ptr %t29
%t103 = call ptr @fn_itoa(i32 %t102)
store ptr %t103, ptr %t104
- call void @fn_emit(ptr @.str9740)
+ call void @fn_emit(ptr @.str9778)
%t105 = load ptr, ptr %t104
call void @fn_emit(ptr %t105)
- call void @fn_emit(ptr @.str9741)
+ call void @fn_emit(ptr @.str9779)
%t106 = load ptr, ptr %t104
call void @fn_emit(ptr %t106)
- call void @fn_emit(ptr @.str9742)
- call void @fn_emit(ptr @.str9743)
+ call void @fn_emit(ptr @.str9780)
+ call void @fn_emit(ptr @.str9781)
%t107 = load ptr, ptr %t104
call void @fn_emit(ptr %t107)
- call void @fn_emit(ptr @.str9744)
+ call void @fn_emit(ptr @.str9782)
%t108 = load ptr, ptr %t104
call void @fn_emit(ptr %t108)
- call void @fn_emit(ptr @.str9745)
+ call void @fn_emit(ptr @.str9783)
%t109 = load ptr, ptr %t104
call void @fn_emit(ptr %t109)
- call void @fn_emit(ptr @.str9746)
- call void @fn_emit(ptr @.str9747)
+ call void @fn_emit(ptr @.str9784)
+ call void @fn_emit(ptr @.str9785)
%t110 = load ptr, ptr %t104
call void @fn_emit(ptr %t110)
- call void @fn_emit(ptr @.str9748)
+ call void @fn_emit(ptr @.str9786)
store i32 0, ptr %t111
br label %wcond18
wcond18:
@@ -98909,57 +99765,57 @@ wbody19:
%t131 = call ptr @fn_emit_str_const(ptr %t130)
store ptr %t131, ptr %t132
%t133 = load ptr, ptr %t104
- %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str9749)
+ %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str9787)
%t135 = load i32, ptr %t111
%t136 = call ptr @fn_itoa(i32 %t135)
- %t137 = call ptr @fn_str_concat(ptr %t134, ptr %t136)
+ %t137 = call ptr @lp_str_concat(ptr %t134, ptr %t136)
store ptr %t137, ptr %t138
- call void @fn_emit(ptr @.str9750)
+ call void @fn_emit(ptr @.str9788)
%t139 = load ptr, ptr %t138
call void @fn_emit(ptr %t139)
- call void @fn_emit(ptr @.str9751)
+ call void @fn_emit(ptr @.str9789)
%t140 = load ptr, ptr %t132
call void @fn_emit(ptr %t140)
- call void @fn_emit(ptr @.str9752)
- call void @fn_emit(ptr @.str9753)
+ call void @fn_emit(ptr @.str9790)
+ call void @fn_emit(ptr @.str9791)
%t141 = load ptr, ptr %t138
call void @fn_emit(ptr %t141)
- call void @fn_emit(ptr @.str9754)
+ call void @fn_emit(ptr @.str9792)
%t142 = load ptr, ptr %t138
call void @fn_emit(ptr %t142)
- call void @fn_emit(ptr @.str9755)
- call void @fn_emit(ptr @.str9756)
+ call void @fn_emit(ptr @.str9793)
+ call void @fn_emit(ptr @.str9794)
%t143 = load ptr, ptr %t138
call void @fn_emit(ptr %t143)
- call void @fn_emit(ptr @.str9757)
+ call void @fn_emit(ptr @.str9795)
%t144 = load ptr, ptr %t138
call void @fn_emit(ptr %t144)
- call void @fn_emit(ptr @.str9758)
+ call void @fn_emit(ptr @.str9796)
%t145 = load ptr, ptr %t138
call void @fn_emit(ptr %t145)
- call void @fn_emit(ptr @.str9759)
- call void @fn_emit(ptr @.str9760)
+ call void @fn_emit(ptr @.str9797)
+ call void @fn_emit(ptr @.str9798)
%t146 = load ptr, ptr %t138
call void @fn_emit(ptr %t146)
- call void @fn_emit(ptr @.str9761)
+ call void @fn_emit(ptr @.str9799)
%t147 = load i32, ptr %t111
%t148 = call ptr @fn_itoa(i32 %t147)
call void @fn_emit(ptr %t148)
- call void @fn_emit(ptr @.str9762)
- call void @fn_emit(ptr @.str9763)
+ call void @fn_emit(ptr @.str9800)
+ call void @fn_emit(ptr @.str9801)
%t149 = load ptr, ptr %t138
call void @fn_emit(ptr %t149)
- call void @fn_emit(ptr @.str9764)
+ call void @fn_emit(ptr @.str9802)
%t150 = load i32, ptr %t111
%t151 = add i32 %t150, 1
store i32 %t151, ptr %t111
br label %wcond18
wend20:
- call void @fn_emit(ptr @.str9765)
- call void @fn_emit(ptr @.str9766)
+ call void @fn_emit(ptr @.str9803)
+ call void @fn_emit(ptr @.str9804)
%t152 = load ptr, ptr %t104
call void @fn_emit(ptr %t152)
- call void @fn_emit(ptr @.str9767)
+ call void @fn_emit(ptr @.str9805)
%t153 = load i32, ptr %t29
%t154 = add i32 %t153, 1
store i32 %t154, ptr %t29
@@ -98970,8 +99826,8 @@ ifend17:
store i32 %t156, ptr %t30
br label %wcond12
wend14:
- call void @fn_emit(ptr @.str9768)
- call void @fn_emit(ptr @.str9769)
+ call void @fn_emit(ptr @.str9806)
+ call void @fn_emit(ptr @.str9807)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond21
@@ -99012,40 +99868,40 @@ then24:
%t186 = load i32, ptr %t29
%t187 = call ptr @fn_itoa(i32 %t186)
store ptr %t187, ptr %t188
- call void @fn_emit(ptr @.str9770)
+ call void @fn_emit(ptr @.str9808)
%t189 = load ptr, ptr %t188
call void @fn_emit(ptr %t189)
- call void @fn_emit(ptr @.str9771)
+ call void @fn_emit(ptr @.str9809)
%t190 = load ptr, ptr %t188
call void @fn_emit(ptr %t190)
- call void @fn_emit(ptr @.str9772)
- call void @fn_emit(ptr @.str9773)
+ call void @fn_emit(ptr @.str9810)
+ call void @fn_emit(ptr @.str9811)
%t191 = load ptr, ptr %t188
call void @fn_emit(ptr %t191)
- call void @fn_emit(ptr @.str9774)
+ call void @fn_emit(ptr @.str9812)
%t192 = load ptr, ptr %t188
call void @fn_emit(ptr %t192)
- call void @fn_emit(ptr @.str9775)
+ call void @fn_emit(ptr @.str9813)
%t193 = load ptr, ptr %t188
call void @fn_emit(ptr %t193)
- call void @fn_emit(ptr @.str9776)
- call void @fn_emit(ptr @.str9777)
+ call void @fn_emit(ptr @.str9814)
+ call void @fn_emit(ptr @.str9815)
%t194 = load ptr, ptr %t188
call void @fn_emit(ptr %t194)
- call void @fn_emit(ptr @.str9778)
- call void @fn_emit(ptr @.str9779)
+ call void @fn_emit(ptr @.str9816)
+ call void @fn_emit(ptr @.str9817)
%t195 = load ptr, ptr %t188
call void @fn_emit(ptr %t195)
- call void @fn_emit(ptr @.str9780)
+ call void @fn_emit(ptr @.str9818)
%t196 = load ptr, ptr %t1
call void @fn_emit(ptr %t196)
- call void @fn_emit(ptr @.str9781)
+ call void @fn_emit(ptr @.str9819)
%t197 = load ptr, ptr %t185
call void @fn_emit(ptr %t197)
- call void @fn_emit(ptr @.str9782)
+ call void @fn_emit(ptr @.str9820)
%t198 = load ptr, ptr %t185
call void @fn_emit(ptr %t198)
- call void @fn_emit(ptr @.str9783)
+ call void @fn_emit(ptr @.str9821)
store i32 0, ptr %t199
br label %wcond27
wcond27:
@@ -99073,130 +99929,130 @@ wbody28:
%t219 = call ptr @fn_llty(ptr %t218)
store ptr %t219, ptr %t220
%t221 = load ptr, ptr %t188
- %t222 = call ptr @fn_str_concat(ptr %t221, ptr @.str9784)
+ %t222 = call ptr @lp_str_concat(ptr %t221, ptr @.str9822)
%t223 = load i32, ptr %t199
%t224 = call ptr @fn_itoa(i32 %t223)
- %t225 = call ptr @fn_str_concat(ptr %t222, ptr %t224)
+ %t225 = call ptr @lp_str_concat(ptr %t222, ptr %t224)
store ptr %t225, ptr %t226
- call void @fn_emit(ptr @.str9785)
+ call void @fn_emit(ptr @.str9823)
%t227 = load ptr, ptr %t226
call void @fn_emit(ptr %t227)
- call void @fn_emit(ptr @.str9786)
+ call void @fn_emit(ptr @.str9824)
%t228 = load i32, ptr %t199
%t229 = call ptr @fn_itoa(i32 %t228)
call void @fn_emit(ptr %t229)
- call void @fn_emit(ptr @.str9787)
- call void @fn_emit(ptr @.str9788)
+ call void @fn_emit(ptr @.str9825)
+ call void @fn_emit(ptr @.str9826)
%t230 = load ptr, ptr %t226
call void @fn_emit(ptr %t230)
- call void @fn_emit(ptr @.str9789)
+ call void @fn_emit(ptr @.str9827)
%t231 = load ptr, ptr %t226
call void @fn_emit(ptr %t231)
- call void @fn_emit(ptr @.str9790)
+ call void @fn_emit(ptr @.str9828)
%t232 = load ptr, ptr %t226
call void @fn_emit(ptr %t232)
- call void @fn_emit(ptr @.str9791)
- call void @fn_emit(ptr @.str9792)
+ call void @fn_emit(ptr @.str9829)
+ call void @fn_emit(ptr @.str9830)
%t233 = load ptr, ptr %t226
call void @fn_emit(ptr %t233)
- call void @fn_emit(ptr @.str9793)
- call void @fn_emit(ptr @.str9794)
+ call void @fn_emit(ptr @.str9831)
+ call void @fn_emit(ptr @.str9832)
%t234 = load ptr, ptr %t226
call void @fn_emit(ptr %t234)
- call void @fn_emit(ptr @.str9795)
+ call void @fn_emit(ptr @.str9833)
%t235 = load ptr, ptr %t185
call void @fn_emit(ptr %t235)
- call void @fn_emit(ptr @.str9796)
+ call void @fn_emit(ptr @.str9834)
%t236 = load ptr, ptr %t188
call void @fn_emit(ptr %t236)
- call void @fn_emit(ptr @.str9797)
+ call void @fn_emit(ptr @.str9835)
%t237 = load i32, ptr %t199
%t238 = call ptr @fn_itoa(i32 %t237)
call void @fn_emit(ptr %t238)
- call void @fn_emit(ptr @.str9798)
+ call void @fn_emit(ptr @.str9836)
%t239 = load ptr, ptr %t220
- %t240 = call i32 @fn_str_eq(ptr %t239, ptr @.str9799)
+ %t240 = call i32 @lp_str_eq(ptr %t239, ptr @.str9837)
%t241 = icmp ne i32 %t240, 0
br i1 %t241, label %then30, label %else31
then30:
- call void @fn_emit(ptr @.str9800)
+ call void @fn_emit(ptr @.str9838)
%t242 = load ptr, ptr %t226
call void @fn_emit(ptr %t242)
- call void @fn_emit(ptr @.str9801)
+ call void @fn_emit(ptr @.str9839)
%t243 = load ptr, ptr %t226
call void @fn_emit(ptr %t243)
- call void @fn_emit(ptr @.str9802)
- call void @fn_emit(ptr @.str9803)
+ call void @fn_emit(ptr @.str9840)
+ call void @fn_emit(ptr @.str9841)
%t244 = load ptr, ptr %t226
call void @fn_emit(ptr %t244)
- call void @fn_emit(ptr @.str9804)
+ call void @fn_emit(ptr @.str9842)
%t245 = load ptr, ptr %t226
call void @fn_emit(ptr %t245)
- call void @fn_emit(ptr @.str9805)
+ call void @fn_emit(ptr @.str9843)
%t246 = load ptr, ptr %t226
call void @fn_emit(ptr %t246)
- call void @fn_emit(ptr @.str9806)
+ call void @fn_emit(ptr @.str9844)
br label %ifend32
else31:
%t247 = load ptr, ptr %t220
- %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str9807)
+ %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str9845)
%t249 = icmp ne i32 %t248, 0
br i1 %t249, label %then33, label %else34
then33:
- call void @fn_emit(ptr @.str9808)
+ call void @fn_emit(ptr @.str9846)
%t250 = load ptr, ptr %t226
call void @fn_emit(ptr %t250)
- call void @fn_emit(ptr @.str9809)
+ call void @fn_emit(ptr @.str9847)
%t251 = load ptr, ptr %t226
call void @fn_emit(ptr %t251)
- call void @fn_emit(ptr @.str9810)
- call void @fn_emit(ptr @.str9811)
+ call void @fn_emit(ptr @.str9848)
+ call void @fn_emit(ptr @.str9849)
%t252 = load ptr, ptr %t226
call void @fn_emit(ptr %t252)
- call void @fn_emit(ptr @.str9812)
+ call void @fn_emit(ptr @.str9850)
%t253 = load ptr, ptr %t226
call void @fn_emit(ptr %t253)
- call void @fn_emit(ptr @.str9813)
+ call void @fn_emit(ptr @.str9851)
%t254 = load ptr, ptr %t226
call void @fn_emit(ptr %t254)
- call void @fn_emit(ptr @.str9814)
+ call void @fn_emit(ptr @.str9852)
br label %ifend35
else34:
- call void @fn_emit(ptr @.str9815)
+ call void @fn_emit(ptr @.str9853)
%t255 = load ptr, ptr %t226
call void @fn_emit(ptr %t255)
- call void @fn_emit(ptr @.str9816)
+ call void @fn_emit(ptr @.str9854)
%t256 = load ptr, ptr %t226
call void @fn_emit(ptr %t256)
- call void @fn_emit(ptr @.str9817)
- call void @fn_emit(ptr @.str9818)
+ call void @fn_emit(ptr @.str9855)
+ call void @fn_emit(ptr @.str9856)
%t257 = load ptr, ptr %t226
call void @fn_emit(ptr %t257)
- call void @fn_emit(ptr @.str9819)
+ call void @fn_emit(ptr @.str9857)
%t258 = load ptr, ptr %t226
call void @fn_emit(ptr %t258)
- call void @fn_emit(ptr @.str9820)
+ call void @fn_emit(ptr @.str9858)
%t259 = load ptr, ptr %t226
call void @fn_emit(ptr %t259)
- call void @fn_emit(ptr @.str9821)
+ call void @fn_emit(ptr @.str9859)
br label %ifend35
ifend35:
br label %ifend32
ifend32:
- call void @fn_emit(ptr @.str9822)
+ call void @fn_emit(ptr @.str9860)
%t260 = load ptr, ptr %t226
call void @fn_emit(ptr %t260)
- call void @fn_emit(ptr @.str9823)
+ call void @fn_emit(ptr @.str9861)
%t261 = load i32, ptr %t199
%t262 = add i32 %t261, 1
store i32 %t262, ptr %t199
br label %wcond27
wend29:
- call void @fn_emit(ptr @.str9824)
- call void @fn_emit(ptr @.str9825)
+ call void @fn_emit(ptr @.str9862)
+ call void @fn_emit(ptr @.str9863)
%t263 = load ptr, ptr %t188
call void @fn_emit(ptr %t263)
- call void @fn_emit(ptr @.str9826)
+ call void @fn_emit(ptr @.str9864)
%t264 = load i32, ptr %t29
%t265 = add i32 %t264, 1
store i32 %t265, ptr %t29
@@ -99207,16 +100063,16 @@ ifend26:
store i32 %t267, ptr %t30
br label %wcond21
wend23:
- call void @fn_emit(ptr @.str9827)
+ call void @fn_emit(ptr @.str9865)
%t268 = load ptr, ptr %t28
call void @fn_emit(ptr %t268)
- call void @fn_emit(ptr @.str9828)
- call void @fn_emit(ptr @.str9829)
- call void @fn_emit(ptr @.str9830)
- call void @fn_emit(ptr @.str9831)
- call void @fn_emit(ptr @.str9832)
- call void @fn_emit(ptr @.str9833)
- call void @fn_emit(ptr @.str9834)
+ call void @fn_emit(ptr @.str9866)
+ call void @fn_emit(ptr @.str9867)
+ call void @fn_emit(ptr @.str9868)
+ call void @fn_emit(ptr @.str9869)
+ call void @fn_emit(ptr @.str9870)
+ call void @fn_emit(ptr @.str9871)
+ call void @fn_emit(ptr @.str9872)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond36
@@ -99257,40 +100113,40 @@ then39:
%t298 = load i32, ptr %t29
%t299 = call ptr @fn_itoa(i32 %t298)
store ptr %t299, ptr %t300
- call void @fn_emit(ptr @.str9835)
+ call void @fn_emit(ptr @.str9873)
%t301 = load ptr, ptr %t300
call void @fn_emit(ptr %t301)
- call void @fn_emit(ptr @.str9836)
+ call void @fn_emit(ptr @.str9874)
%t302 = load ptr, ptr %t300
call void @fn_emit(ptr %t302)
- call void @fn_emit(ptr @.str9837)
- call void @fn_emit(ptr @.str9838)
+ call void @fn_emit(ptr @.str9875)
+ call void @fn_emit(ptr @.str9876)
%t303 = load ptr, ptr %t300
call void @fn_emit(ptr %t303)
- call void @fn_emit(ptr @.str9839)
+ call void @fn_emit(ptr @.str9877)
%t304 = load ptr, ptr %t300
call void @fn_emit(ptr %t304)
- call void @fn_emit(ptr @.str9840)
+ call void @fn_emit(ptr @.str9878)
%t305 = load ptr, ptr %t300
call void @fn_emit(ptr %t305)
- call void @fn_emit(ptr @.str9841)
- call void @fn_emit(ptr @.str9842)
+ call void @fn_emit(ptr @.str9879)
+ call void @fn_emit(ptr @.str9880)
%t306 = load ptr, ptr %t300
call void @fn_emit(ptr %t306)
- call void @fn_emit(ptr @.str9843)
- call void @fn_emit(ptr @.str9844)
+ call void @fn_emit(ptr @.str9881)
+ call void @fn_emit(ptr @.str9882)
%t307 = load ptr, ptr %t300
call void @fn_emit(ptr %t307)
- call void @fn_emit(ptr @.str9845)
+ call void @fn_emit(ptr @.str9883)
%t308 = load ptr, ptr %t1
call void @fn_emit(ptr %t308)
- call void @fn_emit(ptr @.str9846)
+ call void @fn_emit(ptr @.str9884)
%t309 = load ptr, ptr %t297
call void @fn_emit(ptr %t309)
- call void @fn_emit(ptr @.str9847)
+ call void @fn_emit(ptr @.str9885)
%t310 = load ptr, ptr %t297
call void @fn_emit(ptr %t310)
- call void @fn_emit(ptr @.str9848)
+ call void @fn_emit(ptr @.str9886)
store i32 0, ptr %t311
br label %wcond42
wcond42:
@@ -99318,112 +100174,112 @@ wbody43:
%t331 = call ptr @fn_llty(ptr %t330)
store ptr %t331, ptr %t332
%t333 = load ptr, ptr %t300
- %t334 = call ptr @fn_str_concat(ptr %t333, ptr @.str9849)
+ %t334 = call ptr @lp_str_concat(ptr %t333, ptr @.str9887)
%t335 = load i32, ptr %t311
%t336 = call ptr @fn_itoa(i32 %t335)
- %t337 = call ptr @fn_str_concat(ptr %t334, ptr %t336)
+ %t337 = call ptr @lp_str_concat(ptr %t334, ptr %t336)
store ptr %t337, ptr %t338
- call void @fn_emit(ptr @.str9850)
+ call void @fn_emit(ptr @.str9888)
%t339 = load ptr, ptr %t338
call void @fn_emit(ptr %t339)
- call void @fn_emit(ptr @.str9851)
+ call void @fn_emit(ptr @.str9889)
%t340 = load i32, ptr %t311
%t341 = call ptr @fn_itoa(i32 %t340)
call void @fn_emit(ptr %t341)
- call void @fn_emit(ptr @.str9852)
- call void @fn_emit(ptr @.str9853)
+ call void @fn_emit(ptr @.str9890)
+ call void @fn_emit(ptr @.str9891)
%t342 = load ptr, ptr %t338
call void @fn_emit(ptr %t342)
- call void @fn_emit(ptr @.str9854)
+ call void @fn_emit(ptr @.str9892)
%t343 = load ptr, ptr %t338
call void @fn_emit(ptr %t343)
- call void @fn_emit(ptr @.str9855)
+ call void @fn_emit(ptr @.str9893)
%t344 = load ptr, ptr %t338
call void @fn_emit(ptr %t344)
- call void @fn_emit(ptr @.str9856)
- call void @fn_emit(ptr @.str9857)
+ call void @fn_emit(ptr @.str9894)
+ call void @fn_emit(ptr @.str9895)
%t345 = load ptr, ptr %t338
call void @fn_emit(ptr %t345)
- call void @fn_emit(ptr @.str9858)
- call void @fn_emit(ptr @.str9859)
+ call void @fn_emit(ptr @.str9896)
+ call void @fn_emit(ptr @.str9897)
%t346 = load ptr, ptr %t338
call void @fn_emit(ptr %t346)
- call void @fn_emit(ptr @.str9860)
+ call void @fn_emit(ptr @.str9898)
%t347 = load ptr, ptr %t297
call void @fn_emit(ptr %t347)
- call void @fn_emit(ptr @.str9861)
+ call void @fn_emit(ptr @.str9899)
%t348 = load ptr, ptr %t300
call void @fn_emit(ptr %t348)
- call void @fn_emit(ptr @.str9862)
+ call void @fn_emit(ptr @.str9900)
%t349 = load i32, ptr %t311
%t350 = call ptr @fn_itoa(i32 %t349)
call void @fn_emit(ptr %t350)
- call void @fn_emit(ptr @.str9863)
+ call void @fn_emit(ptr @.str9901)
%t351 = load ptr, ptr %t332
- %t352 = call i32 @fn_str_eq(ptr %t351, ptr @.str9864)
+ %t352 = call i32 @lp_str_eq(ptr %t351, ptr @.str9902)
%t353 = icmp ne i32 %t352, 0
br i1 %t353, label %then45, label %else46
then45:
- call void @fn_emit(ptr @.str9865)
+ call void @fn_emit(ptr @.str9903)
%t354 = load ptr, ptr %t338
call void @fn_emit(ptr %t354)
- call void @fn_emit(ptr @.str9866)
- call void @fn_emit(ptr @.str9867)
+ call void @fn_emit(ptr @.str9904)
+ call void @fn_emit(ptr @.str9905)
%t355 = load ptr, ptr %t338
call void @fn_emit(ptr %t355)
- call void @fn_emit(ptr @.str9868)
+ call void @fn_emit(ptr @.str9906)
%t356 = load ptr, ptr %t338
call void @fn_emit(ptr %t356)
- call void @fn_emit(ptr @.str9869)
+ call void @fn_emit(ptr @.str9907)
br label %ifend47
else46:
%t357 = load ptr, ptr %t332
- %t358 = call i32 @fn_str_eq(ptr %t357, ptr @.str9870)
+ %t358 = call i32 @lp_str_eq(ptr %t357, ptr @.str9908)
%t359 = icmp ne i32 %t358, 0
br i1 %t359, label %then48, label %else49
then48:
- call void @fn_emit(ptr @.str9871)
+ call void @fn_emit(ptr @.str9909)
%t360 = load ptr, ptr %t338
call void @fn_emit(ptr %t360)
- call void @fn_emit(ptr @.str9872)
- call void @fn_emit(ptr @.str9873)
+ call void @fn_emit(ptr @.str9910)
+ call void @fn_emit(ptr @.str9911)
%t361 = load ptr, ptr %t338
call void @fn_emit(ptr %t361)
- call void @fn_emit(ptr @.str9874)
+ call void @fn_emit(ptr @.str9912)
%t362 = load ptr, ptr %t338
call void @fn_emit(ptr %t362)
- call void @fn_emit(ptr @.str9875)
+ call void @fn_emit(ptr @.str9913)
br label %ifend50
else49:
- call void @fn_emit(ptr @.str9876)
+ call void @fn_emit(ptr @.str9914)
%t363 = load ptr, ptr %t338
call void @fn_emit(ptr %t363)
- call void @fn_emit(ptr @.str9877)
- call void @fn_emit(ptr @.str9878)
+ call void @fn_emit(ptr @.str9915)
+ call void @fn_emit(ptr @.str9916)
%t364 = load ptr, ptr %t338
call void @fn_emit(ptr %t364)
- call void @fn_emit(ptr @.str9879)
+ call void @fn_emit(ptr @.str9917)
%t365 = load ptr, ptr %t338
call void @fn_emit(ptr %t365)
- call void @fn_emit(ptr @.str9880)
+ call void @fn_emit(ptr @.str9918)
br label %ifend50
ifend50:
br label %ifend47
ifend47:
- call void @fn_emit(ptr @.str9881)
+ call void @fn_emit(ptr @.str9919)
%t366 = load ptr, ptr %t338
call void @fn_emit(ptr %t366)
- call void @fn_emit(ptr @.str9882)
+ call void @fn_emit(ptr @.str9920)
%t367 = load i32, ptr %t311
%t368 = add i32 %t367, 1
store i32 %t368, ptr %t311
br label %wcond42
wend44:
- call void @fn_emit(ptr @.str9883)
- call void @fn_emit(ptr @.str9884)
+ call void @fn_emit(ptr @.str9921)
+ call void @fn_emit(ptr @.str9922)
%t369 = load ptr, ptr %t300
call void @fn_emit(ptr %t369)
- call void @fn_emit(ptr @.str9885)
+ call void @fn_emit(ptr @.str9923)
%t370 = load i32, ptr %t29
%t371 = add i32 %t370, 1
store i32 %t371, ptr %t29
@@ -99434,16 +100290,16 @@ ifend41:
store i32 %t373, ptr %t30
br label %wcond36
wend38:
- call void @fn_emit(ptr @.str9886)
+ call void @fn_emit(ptr @.str9924)
%t374 = load ptr, ptr %t28
call void @fn_emit(ptr %t374)
- call void @fn_emit(ptr @.str9887)
- call void @fn_emit(ptr @.str9888)
- call void @fn_emit(ptr @.str9889)
- call void @fn_emit(ptr @.str9890)
- call void @fn_emit(ptr @.str9891)
- call void @fn_emit(ptr @.str9892)
- call void @fn_emit(ptr @.str9893)
+ call void @fn_emit(ptr @.str9925)
+ call void @fn_emit(ptr @.str9926)
+ call void @fn_emit(ptr @.str9927)
+ call void @fn_emit(ptr @.str9928)
+ call void @fn_emit(ptr @.str9929)
+ call void @fn_emit(ptr @.str9930)
+ call void @fn_emit(ptr @.str9931)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond51
@@ -99482,58 +100338,58 @@ then54:
%t402 = load i32, ptr %t29
%t403 = call ptr @fn_itoa(i32 %t402)
store ptr %t403, ptr %t404
- call void @fn_emit(ptr @.str9894)
+ call void @fn_emit(ptr @.str9932)
%t405 = load ptr, ptr %t404
call void @fn_emit(ptr %t405)
- call void @fn_emit(ptr @.str9895)
+ call void @fn_emit(ptr @.str9933)
%t406 = load ptr, ptr %t404
call void @fn_emit(ptr %t406)
- call void @fn_emit(ptr @.str9896)
- call void @fn_emit(ptr @.str9897)
+ call void @fn_emit(ptr @.str9934)
+ call void @fn_emit(ptr @.str9935)
%t407 = load ptr, ptr %t404
call void @fn_emit(ptr %t407)
- call void @fn_emit(ptr @.str9898)
+ call void @fn_emit(ptr @.str9936)
%t408 = load ptr, ptr %t404
call void @fn_emit(ptr %t408)
- call void @fn_emit(ptr @.str9899)
+ call void @fn_emit(ptr @.str9937)
%t409 = load ptr, ptr %t404
call void @fn_emit(ptr %t409)
- call void @fn_emit(ptr @.str9900)
- call void @fn_emit(ptr @.str9901)
+ call void @fn_emit(ptr @.str9938)
+ call void @fn_emit(ptr @.str9939)
%t410 = load ptr, ptr %t404
call void @fn_emit(ptr %t410)
- call void @fn_emit(ptr @.str9902)
- call void @fn_emit(ptr @.str9903)
+ call void @fn_emit(ptr @.str9940)
+ call void @fn_emit(ptr @.str9941)
%t411 = load ptr, ptr %t404
call void @fn_emit(ptr %t411)
- call void @fn_emit(ptr @.str9904)
+ call void @fn_emit(ptr @.str9942)
%t412 = load ptr, ptr %t1
call void @fn_emit(ptr %t412)
- call void @fn_emit(ptr @.str9905)
+ call void @fn_emit(ptr @.str9943)
%t413 = load ptr, ptr %t401
call void @fn_emit(ptr %t413)
- call void @fn_emit(ptr @.str9906)
- call void @fn_emit(ptr @.str9907)
+ call void @fn_emit(ptr @.str9944)
+ call void @fn_emit(ptr @.str9945)
%t414 = load ptr, ptr %t404
call void @fn_emit(ptr %t414)
- call void @fn_emit(ptr @.str9908)
+ call void @fn_emit(ptr @.str9946)
%t415 = load ptr, ptr %t404
call void @fn_emit(ptr %t415)
- call void @fn_emit(ptr @.str9909)
- call void @fn_emit(ptr @.str9910)
+ call void @fn_emit(ptr @.str9947)
+ call void @fn_emit(ptr @.str9948)
%t416 = load ptr, ptr %t404
call void @fn_emit(ptr %t416)
- call void @fn_emit(ptr @.str9911)
+ call void @fn_emit(ptr @.str9949)
%t417 = load ptr, ptr %t404
call void @fn_emit(ptr %t417)
- call void @fn_emit(ptr @.str9912)
+ call void @fn_emit(ptr @.str9950)
%t418 = load ptr, ptr %t404
call void @fn_emit(ptr %t418)
- call void @fn_emit(ptr @.str9913)
- call void @fn_emit(ptr @.str9914)
+ call void @fn_emit(ptr @.str9951)
+ call void @fn_emit(ptr @.str9952)
%t419 = load ptr, ptr %t404
call void @fn_emit(ptr %t419)
- call void @fn_emit(ptr @.str9915)
+ call void @fn_emit(ptr @.str9953)
%t420 = load i32, ptr %t29
%t421 = add i32 %t420, 1
store i32 %t421, ptr %t29
@@ -99544,54 +100400,54 @@ ifend56:
store i32 %t423, ptr %t30
br label %wcond51
wend53:
- call void @fn_emit(ptr @.str9916)
+ call void @fn_emit(ptr @.str9954)
%t424 = load ptr, ptr %t28
call void @fn_emit(ptr %t424)
- call void @fn_emit(ptr @.str9917)
- call void @fn_emit(ptr @.str9918)
- call void @fn_emit(ptr @.str9919)
- call void @fn_emit(ptr @.str9920)
- call void @fn_emit(ptr @.str9921)
- call void @fn_emit(ptr @.str9922)
- call void @fn_emit(ptr @.str9923)
+ call void @fn_emit(ptr @.str9955)
+ call void @fn_emit(ptr @.str9956)
+ call void @fn_emit(ptr @.str9957)
+ call void @fn_emit(ptr @.str9958)
+ call void @fn_emit(ptr @.str9959)
+ call void @fn_emit(ptr @.str9960)
+ call void @fn_emit(ptr @.str9961)
%t425 = load ptr, ptr %t1
call void @fn_emit(ptr %t425)
- call void @fn_emit(ptr @.str9924)
- call void @fn_emit(ptr @.str9925)
- call void @fn_emit(ptr @.str9926)
- call void @fn_emit(ptr @.str9927)
+ call void @fn_emit(ptr @.str9962)
+ call void @fn_emit(ptr @.str9963)
+ call void @fn_emit(ptr @.str9964)
+ call void @fn_emit(ptr @.str9965)
%t426 = load ptr, ptr %t1
call void @fn_emit(ptr %t426)
- call void @fn_emit(ptr @.str9928)
+ call void @fn_emit(ptr @.str9966)
%t427 = load ptr, ptr %t1
call void @fn_emit(ptr %t427)
- call void @fn_emit(ptr @.str9929)
- call void @fn_emit(ptr @.str9930)
- call void @fn_emit(ptr @.str9931)
- call void @fn_emit(ptr @.str9932)
- call void @fn_emit(ptr @.str9933)
+ call void @fn_emit(ptr @.str9967)
+ call void @fn_emit(ptr @.str9968)
+ call void @fn_emit(ptr @.str9969)
+ call void @fn_emit(ptr @.str9970)
+ call void @fn_emit(ptr @.str9971)
%t428 = load ptr, ptr %t28
call void @fn_emit(ptr %t428)
- call void @fn_emit(ptr @.str9934)
- call void @fn_emit(ptr @.str9935)
- call void @fn_emit(ptr @.str9936)
- call void @fn_emit(ptr @.str9937)
+ call void @fn_emit(ptr @.str9972)
+ call void @fn_emit(ptr @.str9973)
+ call void @fn_emit(ptr @.str9974)
+ call void @fn_emit(ptr @.str9975)
%t429 = load ptr, ptr %t28
call void @fn_emit(ptr %t429)
- call void @fn_emit(ptr @.str9938)
- call void @fn_emit(ptr @.str9939)
- call void @fn_emit(ptr @.str9940)
+ call void @fn_emit(ptr @.str9976)
+ call void @fn_emit(ptr @.str9977)
+ call void @fn_emit(ptr @.str9978)
%t430 = load ptr, ptr %t28
call void @fn_emit(ptr %t430)
- call void @fn_emit(ptr @.str9941)
- call void @fn_emit(ptr @.str9942)
- call void @fn_emit(ptr @.str9943)
- call void @fn_emit(ptr @.str9944)
+ call void @fn_emit(ptr @.str9979)
+ call void @fn_emit(ptr @.str9980)
+ call void @fn_emit(ptr @.str9981)
+ call void @fn_emit(ptr @.str9982)
%t431 = load ptr, ptr %t1
call void @fn_emit(ptr %t431)
- call void @fn_emit(ptr @.str9945)
- call void @fn_emit(ptr @.str9946)
- call void @fn_emit(ptr @.str9947)
+ call void @fn_emit(ptr @.str9983)
+ call void @fn_emit(ptr @.str9984)
+ call void @fn_emit(ptr @.str9985)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond57
@@ -99631,34 +100487,34 @@ then60:
%t460 = load i32, ptr %t29
%t461 = call ptr @fn_itoa(i32 %t460)
store ptr %t461, ptr %t462
- call void @fn_emit(ptr @.str9948)
+ call void @fn_emit(ptr @.str9986)
%t463 = load ptr, ptr %t462
call void @fn_emit(ptr %t463)
- call void @fn_emit(ptr @.str9949)
+ call void @fn_emit(ptr @.str9987)
%t464 = load ptr, ptr %t459
call void @fn_emit(ptr %t464)
- call void @fn_emit(ptr @.str9950)
- call void @fn_emit(ptr @.str9951)
+ call void @fn_emit(ptr @.str9988)
+ call void @fn_emit(ptr @.str9989)
%t465 = load ptr, ptr %t462
call void @fn_emit(ptr %t465)
- call void @fn_emit(ptr @.str9952)
+ call void @fn_emit(ptr @.str9990)
%t466 = load ptr, ptr %t462
call void @fn_emit(ptr %t466)
- call void @fn_emit(ptr @.str9953)
- call void @fn_emit(ptr @.str9954)
+ call void @fn_emit(ptr @.str9991)
+ call void @fn_emit(ptr @.str9992)
%t467 = load ptr, ptr %t462
call void @fn_emit(ptr %t467)
- call void @fn_emit(ptr @.str9955)
+ call void @fn_emit(ptr @.str9993)
%t468 = load ptr, ptr %t462
call void @fn_emit(ptr %t468)
- call void @fn_emit(ptr @.str9956)
+ call void @fn_emit(ptr @.str9994)
%t469 = load ptr, ptr %t462
call void @fn_emit(ptr %t469)
- call void @fn_emit(ptr @.str9957)
- call void @fn_emit(ptr @.str9958)
+ call void @fn_emit(ptr @.str9995)
+ call void @fn_emit(ptr @.str9996)
%t470 = load ptr, ptr %t462
call void @fn_emit(ptr %t470)
- call void @fn_emit(ptr @.str9959)
+ call void @fn_emit(ptr @.str9997)
%t471 = load ptr, ptr @g_prog
%t472 = getelementptr inbounds %LSlice, ptr %t471, i32 0, i32 0
%t473 = load ptr, ptr %t472
@@ -99670,11 +100526,11 @@ then60:
%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 @.str9960)
- call void @fn_emit(ptr @.str9961)
+ call void @fn_emit(ptr @.str9998)
+ call void @fn_emit(ptr @.str9999)
%t481 = load ptr, ptr %t462
call void @fn_emit(ptr %t481)
- call void @fn_emit(ptr @.str9962)
+ call void @fn_emit(ptr @.str10000)
%t482 = load i32, ptr %t29
%t483 = add i32 %t482, 1
store i32 %t483, ptr %t29
@@ -99685,7 +100541,7 @@ ifend62:
store i32 %t485, ptr %t30
br label %wcond57
wend59:
- call void @fn_emit(ptr @.str9963)
+ call void @fn_emit(ptr @.str10001)
store i32 0, ptr %t30
br label %wcond63
wcond63:
@@ -99726,7 +100582,7 @@ then66:
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
store i32 0, ptr @g_nself
- store ptr @.str9964, ptr @g_ret_ty
+ store ptr @.str10002, ptr @g_ret_ty
%t513 = call ptr @fn_buf_new()
store ptr %t513, ptr %t514
%t515 = call ptr @fn_buf_new()
@@ -99744,23 +100600,23 @@ then66:
%t524 = load ptr, ptr %t520
%t525 = call ptr @fn_emit_spawn(ptr %t524)
store ptr %t525, ptr %t526
- call void @fn_emit(ptr @.str9965)
+ call void @fn_emit(ptr @.str10003)
%t527 = load ptr, ptr %t526
call void @fn_emit(ptr %t527)
- call void @fn_emit(ptr @.str9966)
+ call void @fn_emit(ptr @.str10004)
%t528 = load ptr, ptr %t517
store ptr %t528, ptr @g_code
- call void @fn_emit(ptr @.str9967)
+ call void @fn_emit(ptr @.str10005)
%t529 = load ptr, ptr %t512
call void @fn_emit(ptr %t529)
- call void @fn_emit(ptr @.str9968)
+ call void @fn_emit(ptr @.str10006)
%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 @.str9969)
+ call void @fn_emit(ptr @.str10007)
br label %ifend68
ifend68:
%t534 = load i32, ptr %t30
@@ -99768,7 +100624,7 @@ ifend68:
store i32 %t535, ptr %t30
br label %wcond63
wend65:
- call void @fn_emit(ptr @.str9970)
+ call void @fn_emit(ptr @.str10008)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond69
@@ -99807,42 +100663,42 @@ then72:
%t563 = load i32, ptr %t29
%t564 = call ptr @fn_itoa(i32 %t563)
store ptr %t564, ptr %t565
- call void @fn_emit(ptr @.str9971)
+ call void @fn_emit(ptr @.str10009)
%t566 = load ptr, ptr %t565
call void @fn_emit(ptr %t566)
- call void @fn_emit(ptr @.str9972)
+ call void @fn_emit(ptr @.str10010)
%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 @.str9973)
- call void @fn_emit(ptr @.str9974)
+ call void @fn_emit(ptr @.str10011)
+ call void @fn_emit(ptr @.str10012)
%t570 = load ptr, ptr %t565
call void @fn_emit(ptr %t570)
- call void @fn_emit(ptr @.str9975)
+ call void @fn_emit(ptr @.str10013)
%t571 = load ptr, ptr %t565
call void @fn_emit(ptr %t571)
- call void @fn_emit(ptr @.str9976)
+ call void @fn_emit(ptr @.str10014)
%t572 = load ptr, ptr %t565
call void @fn_emit(ptr %t572)
- call void @fn_emit(ptr @.str9977)
- call void @fn_emit(ptr @.str9978)
+ call void @fn_emit(ptr @.str10015)
+ call void @fn_emit(ptr @.str10016)
%t573 = load ptr, ptr %t565
call void @fn_emit(ptr %t573)
- call void @fn_emit(ptr @.str9979)
+ call void @fn_emit(ptr @.str10017)
%t574 = load ptr, ptr %t565
call void @fn_emit(ptr %t574)
- call void @fn_emit(ptr @.str9980)
+ call void @fn_emit(ptr @.str10018)
%t575 = load ptr, ptr %t562
call void @fn_emit(ptr %t575)
- call void @fn_emit(ptr @.str9981)
+ call void @fn_emit(ptr @.str10019)
%t576 = load ptr, ptr %t565
call void @fn_emit(ptr %t576)
- call void @fn_emit(ptr @.str9982)
- call void @fn_emit(ptr @.str9983)
+ call void @fn_emit(ptr @.str10020)
+ call void @fn_emit(ptr @.str10021)
%t577 = load ptr, ptr %t565
call void @fn_emit(ptr %t577)
- call void @fn_emit(ptr @.str9984)
+ call void @fn_emit(ptr @.str10022)
%t578 = load i32, ptr %t29
%t579 = add i32 %t578, 1
store i32 %t579, ptr %t29
@@ -99853,20 +100709,20 @@ ifend74:
store i32 %t581, ptr %t30
br label %wcond69
wend71:
- call void @fn_emit(ptr @.str9985)
- call void @fn_emit(ptr @.str9986)
- call void @fn_emit(ptr @.str9987)
- call void @fn_emit(ptr @.str9988)
- call void @fn_emit(ptr @.str9989)
- call void @fn_emit(ptr @.str9990)
+ call void @fn_emit(ptr @.str10023)
+ call void @fn_emit(ptr @.str10024)
+ call void @fn_emit(ptr @.str10025)
+ call void @fn_emit(ptr @.str10026)
+ call void @fn_emit(ptr @.str10027)
+ call void @fn_emit(ptr @.str10028)
%t582 = load ptr, ptr %t1
call void @fn_emit(ptr %t582)
- call void @fn_emit(ptr @.str9991)
- call void @fn_emit(ptr @.str9992)
- call void @fn_emit(ptr @.str9993)
- call void @fn_emit(ptr @.str9994)
- call void @fn_emit(ptr @.str9995)
- call void @fn_emit(ptr @.str9996)
+ call void @fn_emit(ptr @.str10029)
+ call void @fn_emit(ptr @.str10030)
+ call void @fn_emit(ptr @.str10031)
+ call void @fn_emit(ptr @.str10032)
+ call void @fn_emit(ptr @.str10033)
+ call void @fn_emit(ptr @.str10034)
call void @fn_emit_world_reflect_enum()
br label %ret
ret:
@@ -99895,9 +100751,9 @@ entry:
%t238 = alloca i32
%t259 = alloca ptr
%t265 = alloca ptr
- %t0 = call ptr @fn_emit_str_const(ptr @.str9997)
+ %t0 = call ptr @fn_emit_str_const(ptr @.str10035)
store ptr %t0, ptr %t1
- %t2 = call ptr @fn_emit_str_const(ptr @.str9998)
+ %t2 = call ptr @fn_emit_str_const(ptr @.str10036)
store ptr %t2, ptr %t3
store i32 0, ptr %t4
store i32 0, ptr %t5
@@ -99938,12 +100794,12 @@ wend2:
%t28 = load i32, ptr %t4
%t29 = call ptr @fn_itoa(i32 %t28)
store ptr %t29, ptr %t30
- call void @fn_emit(ptr @.str9999)
- call void @fn_emit(ptr @.str10000)
+ call void @fn_emit(ptr @.str10037)
+ call void @fn_emit(ptr @.str10038)
%t31 = load ptr, ptr %t30
call void @fn_emit(ptr %t31)
- call void @fn_emit(ptr @.str10001)
- call void @fn_emit(ptr @.str10002)
+ call void @fn_emit(ptr @.str10039)
+ call void @fn_emit(ptr @.str10040)
store i32 0, ptr %t32
store i32 0, ptr %t5
br label %wcond6
@@ -99983,34 +100839,34 @@ then9:
%t61 = load i32, ptr %t32
%t62 = call ptr @fn_itoa(i32 %t61)
store ptr %t62, ptr %t63
- call void @fn_emit(ptr @.str10003)
+ call void @fn_emit(ptr @.str10041)
%t64 = load ptr, ptr %t63
call void @fn_emit(ptr %t64)
- call void @fn_emit(ptr @.str10004)
+ call void @fn_emit(ptr @.str10042)
%t65 = load ptr, ptr %t63
call void @fn_emit(ptr %t65)
- call void @fn_emit(ptr @.str10005)
- call void @fn_emit(ptr @.str10006)
+ call void @fn_emit(ptr @.str10043)
+ call void @fn_emit(ptr @.str10044)
%t66 = load ptr, ptr %t63
call void @fn_emit(ptr %t66)
- call void @fn_emit(ptr @.str10007)
+ call void @fn_emit(ptr @.str10045)
%t67 = load ptr, ptr %t63
call void @fn_emit(ptr %t67)
- call void @fn_emit(ptr @.str10008)
+ call void @fn_emit(ptr @.str10046)
%t68 = load ptr, ptr %t63
call void @fn_emit(ptr %t68)
- call void @fn_emit(ptr @.str10009)
- call void @fn_emit(ptr @.str10010)
+ call void @fn_emit(ptr @.str10047)
+ call void @fn_emit(ptr @.str10048)
%t69 = load ptr, ptr %t63
call void @fn_emit(ptr %t69)
- call void @fn_emit(ptr @.str10011)
+ call void @fn_emit(ptr @.str10049)
%t70 = load ptr, ptr %t60
call void @fn_emit(ptr %t70)
- call void @fn_emit(ptr @.str10012)
- call void @fn_emit(ptr @.str10013)
+ call void @fn_emit(ptr @.str10050)
+ call void @fn_emit(ptr @.str10051)
%t71 = load ptr, ptr %t63
call void @fn_emit(ptr %t71)
- call void @fn_emit(ptr @.str10014)
+ call void @fn_emit(ptr @.str10052)
%t72 = load i32, ptr %t32
%t73 = add i32 %t72, 1
store i32 %t73, ptr %t32
@@ -100021,17 +100877,17 @@ ifend11:
store i32 %t75, ptr %t5
br label %wcond6
wend8:
- call void @fn_emit(ptr @.str10015)
+ call void @fn_emit(ptr @.str10053)
%t76 = load ptr, ptr %t30
call void @fn_emit(ptr %t76)
- call void @fn_emit(ptr @.str10016)
- call void @fn_emit(ptr @.str10017)
- call void @fn_emit(ptr @.str10018)
- call void @fn_emit(ptr @.str10019)
+ call void @fn_emit(ptr @.str10054)
+ call void @fn_emit(ptr @.str10055)
+ call void @fn_emit(ptr @.str10056)
+ call void @fn_emit(ptr @.str10057)
%t77 = load ptr, ptr %t1
call void @fn_emit(ptr %t77)
- call void @fn_emit(ptr @.str10020)
- call void @fn_emit(ptr @.str10021)
+ call void @fn_emit(ptr @.str10058)
+ call void @fn_emit(ptr @.str10059)
store i32 0, ptr %t32
store i32 0, ptr %t5
br label %wcond12
@@ -100068,27 +100924,27 @@ then15:
%t103 = load i32, ptr %t32
%t104 = call ptr @fn_itoa(i32 %t103)
store ptr %t104, ptr %t105
- call void @fn_emit(ptr @.str10022)
+ call void @fn_emit(ptr @.str10060)
%t106 = load ptr, ptr %t105
call void @fn_emit(ptr %t106)
- call void @fn_emit(ptr @.str10023)
+ call void @fn_emit(ptr @.str10061)
%t107 = load ptr, ptr %t105
call void @fn_emit(ptr %t107)
- call void @fn_emit(ptr @.str10024)
- call void @fn_emit(ptr @.str10025)
+ call void @fn_emit(ptr @.str10062)
+ call void @fn_emit(ptr @.str10063)
%t108 = load ptr, ptr %t105
call void @fn_emit(ptr %t108)
- call void @fn_emit(ptr @.str10026)
+ call void @fn_emit(ptr @.str10064)
%t109 = load ptr, ptr %t105
call void @fn_emit(ptr %t109)
- call void @fn_emit(ptr @.str10027)
+ call void @fn_emit(ptr @.str10065)
%t110 = load ptr, ptr %t105
call void @fn_emit(ptr %t110)
- call void @fn_emit(ptr @.str10028)
- call void @fn_emit(ptr @.str10029)
+ call void @fn_emit(ptr @.str10066)
+ call void @fn_emit(ptr @.str10067)
%t111 = load ptr, ptr %t105
call void @fn_emit(ptr %t111)
- call void @fn_emit(ptr @.str10030)
+ call void @fn_emit(ptr @.str10068)
%t112 = load ptr, ptr %t102
%t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7
%t114 = load ptr, ptr %t113
@@ -100096,11 +100952,11 @@ then15:
%t116 = load i32, ptr %t115
%t117 = call ptr @fn_itoa(i32 %t116)
call void @fn_emit(ptr %t117)
- call void @fn_emit(ptr @.str10031)
- call void @fn_emit(ptr @.str10032)
+ call void @fn_emit(ptr @.str10069)
+ call void @fn_emit(ptr @.str10070)
%t118 = load ptr, ptr %t105
call void @fn_emit(ptr %t118)
- call void @fn_emit(ptr @.str10033)
+ call void @fn_emit(ptr @.str10071)
%t119 = load i32, ptr %t32
%t120 = add i32 %t119, 1
store i32 %t120, ptr %t32
@@ -100111,14 +100967,14 @@ ifend17:
store i32 %t122, ptr %t5
br label %wcond12
wend14:
- call void @fn_emit(ptr @.str10034)
+ call void @fn_emit(ptr @.str10072)
%t123 = load ptr, ptr %t30
call void @fn_emit(ptr %t123)
- call void @fn_emit(ptr @.str10035)
- call void @fn_emit(ptr @.str10036)
- call void @fn_emit(ptr @.str10037)
- call void @fn_emit(ptr @.str10038)
- call void @fn_emit(ptr @.str10039)
+ call void @fn_emit(ptr @.str10073)
+ call void @fn_emit(ptr @.str10074)
+ call void @fn_emit(ptr @.str10075)
+ call void @fn_emit(ptr @.str10076)
+ call void @fn_emit(ptr @.str10077)
store i32 0, ptr %t32
store i32 0, ptr %t5
br label %wcond18
@@ -100155,27 +101011,27 @@ then21:
%t149 = load i32, ptr %t32
%t150 = call ptr @fn_itoa(i32 %t149)
store ptr %t150, ptr %t151
- call void @fn_emit(ptr @.str10040)
+ call void @fn_emit(ptr @.str10078)
%t152 = load ptr, ptr %t151
call void @fn_emit(ptr %t152)
- call void @fn_emit(ptr @.str10041)
+ call void @fn_emit(ptr @.str10079)
%t153 = load ptr, ptr %t151
call void @fn_emit(ptr %t153)
- call void @fn_emit(ptr @.str10042)
- call void @fn_emit(ptr @.str10043)
+ call void @fn_emit(ptr @.str10080)
+ call void @fn_emit(ptr @.str10081)
%t154 = load ptr, ptr %t151
call void @fn_emit(ptr %t154)
- call void @fn_emit(ptr @.str10044)
+ call void @fn_emit(ptr @.str10082)
%t155 = load ptr, ptr %t151
call void @fn_emit(ptr %t155)
- call void @fn_emit(ptr @.str10045)
+ call void @fn_emit(ptr @.str10083)
%t156 = load ptr, ptr %t151
call void @fn_emit(ptr %t156)
- call void @fn_emit(ptr @.str10046)
- call void @fn_emit(ptr @.str10047)
+ call void @fn_emit(ptr @.str10084)
+ call void @fn_emit(ptr @.str10085)
%t157 = load ptr, ptr %t151
call void @fn_emit(ptr %t157)
- call void @fn_emit(ptr @.str10048)
+ call void @fn_emit(ptr @.str10086)
store i32 0, ptr %t158
br label %wcond24
wcond24:
@@ -100203,53 +101059,53 @@ wbody25:
%t178 = call ptr @fn_emit_str_const(ptr %t177)
store ptr %t178, ptr %t179
%t180 = load ptr, ptr %t151
- %t181 = call ptr @fn_str_concat(ptr %t180, ptr @.str10049)
+ %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str10087)
%t182 = load i32, ptr %t158
%t183 = call ptr @fn_itoa(i32 %t182)
- %t184 = call ptr @fn_str_concat(ptr %t181, ptr %t183)
+ %t184 = call ptr @lp_str_concat(ptr %t181, ptr %t183)
store ptr %t184, ptr %t185
- call void @fn_emit(ptr @.str10050)
+ call void @fn_emit(ptr @.str10088)
%t186 = load ptr, ptr %t185
call void @fn_emit(ptr %t186)
- call void @fn_emit(ptr @.str10051)
+ call void @fn_emit(ptr @.str10089)
%t187 = load i32, ptr %t158
%t188 = call ptr @fn_itoa(i32 %t187)
call void @fn_emit(ptr %t188)
- call void @fn_emit(ptr @.str10052)
- call void @fn_emit(ptr @.str10053)
+ call void @fn_emit(ptr @.str10090)
+ call void @fn_emit(ptr @.str10091)
%t189 = load ptr, ptr %t185
call void @fn_emit(ptr %t189)
- call void @fn_emit(ptr @.str10054)
+ call void @fn_emit(ptr @.str10092)
%t190 = load ptr, ptr %t185
call void @fn_emit(ptr %t190)
- call void @fn_emit(ptr @.str10055)
+ call void @fn_emit(ptr @.str10093)
%t191 = load ptr, ptr %t185
call void @fn_emit(ptr %t191)
- call void @fn_emit(ptr @.str10056)
- call void @fn_emit(ptr @.str10057)
+ call void @fn_emit(ptr @.str10094)
+ call void @fn_emit(ptr @.str10095)
%t192 = load ptr, ptr %t185
call void @fn_emit(ptr %t192)
- call void @fn_emit(ptr @.str10058)
+ call void @fn_emit(ptr @.str10096)
%t193 = load ptr, ptr %t179
call void @fn_emit(ptr %t193)
- call void @fn_emit(ptr @.str10059)
- call void @fn_emit(ptr @.str10060)
+ call void @fn_emit(ptr @.str10097)
+ call void @fn_emit(ptr @.str10098)
%t194 = load ptr, ptr %t185
call void @fn_emit(ptr %t194)
- call void @fn_emit(ptr @.str10061)
+ call void @fn_emit(ptr @.str10099)
%t195 = load i32, ptr %t158
%t196 = add i32 %t195, 1
store i32 %t196, ptr %t158
br label %wcond24
wend26:
- call void @fn_emit(ptr @.str10062)
+ call void @fn_emit(ptr @.str10100)
%t197 = load ptr, ptr %t1
call void @fn_emit(ptr %t197)
- call void @fn_emit(ptr @.str10063)
- call void @fn_emit(ptr @.str10064)
+ call void @fn_emit(ptr @.str10101)
+ call void @fn_emit(ptr @.str10102)
%t198 = load ptr, ptr %t151
call void @fn_emit(ptr %t198)
- call void @fn_emit(ptr @.str10065)
+ call void @fn_emit(ptr @.str10103)
%t199 = load i32, ptr %t32
%t200 = add i32 %t199, 1
store i32 %t200, ptr %t32
@@ -100260,11 +101116,11 @@ ifend23:
store i32 %t202, ptr %t5
br label %wcond18
wend20:
- call void @fn_emit(ptr @.str10066)
+ call void @fn_emit(ptr @.str10104)
%t203 = load ptr, ptr %t1
call void @fn_emit(ptr %t203)
- call void @fn_emit(ptr @.str10067)
- call void @fn_emit(ptr @.str10068)
+ call void @fn_emit(ptr @.str10105)
+ call void @fn_emit(ptr @.str10106)
store i32 0, ptr %t32
store i32 0, ptr %t5
br label %wcond27
@@ -100301,27 +101157,27 @@ then30:
%t229 = load i32, ptr %t32
%t230 = call ptr @fn_itoa(i32 %t229)
store ptr %t230, ptr %t231
- call void @fn_emit(ptr @.str10069)
+ call void @fn_emit(ptr @.str10107)
%t232 = load ptr, ptr %t231
call void @fn_emit(ptr %t232)
- call void @fn_emit(ptr @.str10070)
+ call void @fn_emit(ptr @.str10108)
%t233 = load ptr, ptr %t231
call void @fn_emit(ptr %t233)
- call void @fn_emit(ptr @.str10071)
- call void @fn_emit(ptr @.str10072)
+ call void @fn_emit(ptr @.str10109)
+ call void @fn_emit(ptr @.str10110)
%t234 = load ptr, ptr %t231
call void @fn_emit(ptr %t234)
- call void @fn_emit(ptr @.str10073)
+ call void @fn_emit(ptr @.str10111)
%t235 = load ptr, ptr %t231
call void @fn_emit(ptr %t235)
- call void @fn_emit(ptr @.str10074)
+ call void @fn_emit(ptr @.str10112)
%t236 = load ptr, ptr %t231
call void @fn_emit(ptr %t236)
- call void @fn_emit(ptr @.str10075)
- call void @fn_emit(ptr @.str10076)
+ call void @fn_emit(ptr @.str10113)
+ call void @fn_emit(ptr @.str10114)
%t237 = load ptr, ptr %t231
call void @fn_emit(ptr %t237)
- call void @fn_emit(ptr @.str10077)
+ call void @fn_emit(ptr @.str10115)
store i32 0, ptr %t238
br label %wcond33
wcond33:
@@ -100349,53 +101205,53 @@ wbody34:
%t258 = call ptr @fn_emit_str_const(ptr %t257)
store ptr %t258, ptr %t259
%t260 = load ptr, ptr %t231
- %t261 = call ptr @fn_str_concat(ptr %t260, ptr @.str10078)
+ %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str10116)
%t262 = load i32, ptr %t238
%t263 = call ptr @fn_itoa(i32 %t262)
- %t264 = call ptr @fn_str_concat(ptr %t261, ptr %t263)
+ %t264 = call ptr @lp_str_concat(ptr %t261, ptr %t263)
store ptr %t264, ptr %t265
- call void @fn_emit(ptr @.str10079)
+ call void @fn_emit(ptr @.str10117)
%t266 = load ptr, ptr %t265
call void @fn_emit(ptr %t266)
- call void @fn_emit(ptr @.str10080)
+ call void @fn_emit(ptr @.str10118)
%t267 = load i32, ptr %t238
%t268 = call ptr @fn_itoa(i32 %t267)
call void @fn_emit(ptr %t268)
- call void @fn_emit(ptr @.str10081)
- call void @fn_emit(ptr @.str10082)
+ call void @fn_emit(ptr @.str10119)
+ call void @fn_emit(ptr @.str10120)
%t269 = load ptr, ptr %t265
call void @fn_emit(ptr %t269)
- call void @fn_emit(ptr @.str10083)
+ call void @fn_emit(ptr @.str10121)
%t270 = load ptr, ptr %t265
call void @fn_emit(ptr %t270)
- call void @fn_emit(ptr @.str10084)
+ call void @fn_emit(ptr @.str10122)
%t271 = load ptr, ptr %t265
call void @fn_emit(ptr %t271)
- call void @fn_emit(ptr @.str10085)
- call void @fn_emit(ptr @.str10086)
+ call void @fn_emit(ptr @.str10123)
+ call void @fn_emit(ptr @.str10124)
%t272 = load ptr, ptr %t265
call void @fn_emit(ptr %t272)
- call void @fn_emit(ptr @.str10087)
+ call void @fn_emit(ptr @.str10125)
%t273 = load ptr, ptr %t259
call void @fn_emit(ptr %t273)
- call void @fn_emit(ptr @.str10088)
- call void @fn_emit(ptr @.str10089)
+ call void @fn_emit(ptr @.str10126)
+ call void @fn_emit(ptr @.str10127)
%t274 = load ptr, ptr %t265
call void @fn_emit(ptr %t274)
- call void @fn_emit(ptr @.str10090)
+ call void @fn_emit(ptr @.str10128)
%t275 = load i32, ptr %t238
%t276 = add i32 %t275, 1
store i32 %t276, ptr %t238
br label %wcond33
wend35:
- call void @fn_emit(ptr @.str10091)
+ call void @fn_emit(ptr @.str10129)
%t277 = load ptr, ptr %t3
call void @fn_emit(ptr %t277)
- call void @fn_emit(ptr @.str10092)
- call void @fn_emit(ptr @.str10093)
+ call void @fn_emit(ptr @.str10130)
+ call void @fn_emit(ptr @.str10131)
%t278 = load ptr, ptr %t231
call void @fn_emit(ptr %t278)
- call void @fn_emit(ptr @.str10094)
+ call void @fn_emit(ptr @.str10132)
%t279 = load i32, ptr %t32
%t280 = add i32 %t279, 1
store i32 %t280, ptr %t32
@@ -100406,10 +101262,10 @@ ifend32:
store i32 %t282, ptr %t5
br label %wcond27
wend29:
- call void @fn_emit(ptr @.str10095)
+ call void @fn_emit(ptr @.str10133)
%t283 = load ptr, ptr %t3
call void @fn_emit(ptr %t283)
- call void @fn_emit(ptr @.str10096)
+ call void @fn_emit(ptr @.str10134)
br label %ret
ret:
ret void
@@ -100417,20 +101273,20 @@ ret:
define void @fn_emit_tick_helpers() {
entry:
- call void @fn_emit(ptr @.str10097)
+ call void @fn_emit(ptr @.str10135)
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
- call void @fn_emit_calls_for_phase(ptr @.str10098)
- call void @fn_emit_calls_for_phase(ptr @.str10099)
- call void @fn_emit_calls_for_phase(ptr @.str10100)
- call void @fn_emit_calls_for_phase(ptr @.str10101)
- call void @fn_emit(ptr @.str10102)
- call void @fn_emit(ptr @.str10103)
+ call void @fn_emit_calls_for_phase(ptr @.str10136)
+ call void @fn_emit_calls_for_phase(ptr @.str10137)
+ call void @fn_emit_calls_for_phase(ptr @.str10138)
+ call void @fn_emit_calls_for_phase(ptr @.str10139)
+ call void @fn_emit(ptr @.str10140)
+ call void @fn_emit(ptr @.str10141)
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
- call void @fn_emit_calls_for_phase(ptr @.str10104)
- call void @fn_emit_calls_for_phase(ptr @.str10105)
- call void @fn_emit(ptr @.str10106)
+ call void @fn_emit_calls_for_phase(ptr @.str10142)
+ call void @fn_emit_calls_for_phase(ptr @.str10143)
+ call void @fn_emit(ptr @.str10144)
br label %ret
ret:
ret void
@@ -100515,24 +101371,25 @@ entry:
%t94 = alloca i32
%t106 = alloca ptr
%t108 = alloca i32
- %t121 = alloca i32
- %t133 = alloca ptr
- %t138 = alloca ptr
+ %t121 = alloca ptr
+ %t125 = alloca i32
+ %t137 = alloca ptr
+ %t142 = alloca ptr
call void @fn_emit_game_defs()
- call void @fn_emit(ptr @.str10107)
- call void @fn_emit(ptr @.str10108)
- call void @fn_emit(ptr @.str10109)
- %t0 = call ptr @fn_find_fn(ptr @.str10110)
+ call void @fn_emit(ptr @.str10145)
+ call void @fn_emit(ptr @.str10146)
+ call void @fn_emit(ptr @.str10147)
+ %t0 = call ptr @fn_find_fn(ptr @.str10148)
%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 @.str10111)
+ call void @fn_emit(ptr @.str10149)
br label %ifend2
ifend2:
- call void @fn_emit(ptr @.str10112)
- call void @fn_emit_calls_for_phase(ptr @.str10113)
+ call void @fn_emit(ptr @.str10150)
+ call void @fn_emit_calls_for_phase(ptr @.str10151)
%t4 = load ptr, ptr @g_g_scenes
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
%t6 = load i32, ptr %t5
@@ -100541,11 +101398,11 @@ ifend2:
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
- call void @fn_emit(ptr @.str10114)
+ call void @fn_emit(ptr @.str10152)
%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 @.str10115)
+ call void @fn_emit(ptr @.str10153)
store i32 0, ptr %t12
br label %wcond6
wcond6:
@@ -100572,7 +101429,7 @@ wbody7:
%t31 = icmp ne i32 %t30, 0
br i1 %t31, label %then9, label %ifend11
then9:
- call void @fn_emit(ptr @.str10116)
+ call void @fn_emit(ptr @.str10154)
%t32 = load ptr, ptr @g_g_scenes
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t33
@@ -100582,7 +101439,7 @@ then9:
%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 @.str10117)
+ call void @fn_emit(ptr @.str10155)
br label %ifend11
ifend11:
%t40 = load i32, ptr %t12
@@ -100592,64 +101449,64 @@ ifend11:
wend8:
br label %ifend5
ifend5:
- %t42 = call ptr @fn_find_event(ptr @.str10118)
+ %t42 = call ptr @fn_find_event(ptr @.str10156)
%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 @.str10119)
+ call void @fn_emit(ptr @.str10157)
br label %ifend14
ifend14:
- call void @fn_emit(ptr @.str10120)
- call void @fn_emit(ptr @.str10121)
- %t46 = call ptr @fn_emit_bind(ptr @.str10122)
+ call void @fn_emit(ptr @.str10158)
+ call void @fn_emit(ptr @.str10159)
+ %t46 = call ptr @fn_emit_bind(ptr @.str10160)
store ptr %t46, ptr %t47
%t48 = load ptr, ptr %t47
- %t49 = call ptr @fn_str_concat(ptr @.str10123, ptr %t48)
- %t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str10124)
+ %t49 = call ptr @lp_str_concat(ptr @.str10161, ptr %t48)
+ %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str10162)
%t51 = call ptr @fn_emit_bind(ptr %t50)
store ptr %t51, ptr %t52
- %t53 = call ptr @fn_find_fn(ptr @.str10125)
+ %t53 = call ptr @fn_find_fn(ptr @.str10163)
%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 @.str10126)
+ %t57 = call ptr @fn_emit_bind(ptr @.str10164)
store ptr %t57, ptr %t58
%t59 = load ptr, ptr %t58
- %t60 = call ptr @fn_str_concat(ptr @.str10127, ptr %t59)
- %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str10128)
+ %t60 = call ptr @lp_str_concat(ptr @.str10165, ptr %t59)
+ %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str10166)
%t62 = call ptr @fn_emit_bind(ptr %t61)
store ptr %t62, ptr %t63
%t64 = load ptr, ptr %t52
- %t65 = call ptr @fn_str_concat(ptr @.str10129, ptr %t64)
- %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str10130)
+ %t65 = call ptr @lp_str_concat(ptr @.str10167, ptr %t64)
+ %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str10168)
%t67 = load ptr, ptr %t63
- %t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67)
+ %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 @.str10131)
+ call void @fn_emit(ptr @.str10169)
%t71 = load ptr, ptr %t70
call void @fn_emit(ptr %t71)
- call void @fn_emit(ptr @.str10132)
+ call void @fn_emit(ptr @.str10170)
br label %ifend17
else16:
- call void @fn_emit(ptr @.str10133)
+ call void @fn_emit(ptr @.str10171)
%t72 = load ptr, ptr %t52
call void @fn_emit(ptr %t72)
- call void @fn_emit(ptr @.str10134)
+ call void @fn_emit(ptr @.str10172)
br label %ifend17
ifend17:
- call void @fn_emit(ptr @.str10135)
+ call void @fn_emit(ptr @.str10173)
%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 @.str10136)
+ %t77 = call ptr @fn_find_fn(ptr @.str10174)
%t78 = icmp ne ptr %t77, null
%t79 = zext i1 %t78 to i32
%t80 = icmp ne i32 %t79, 0
@@ -100661,26 +101518,26 @@ scend19:
%t83 = icmp ne i32 %t82, 0
br i1 %t83, label %then20, label %else21
then20:
- %t84 = call ptr @fn_emit_bind(ptr @.str10137)
+ %t84 = call ptr @fn_emit_bind(ptr @.str10175)
store ptr %t84, ptr %t85
- call void @fn_emit(ptr @.str10138)
+ call void @fn_emit(ptr @.str10176)
%t86 = load ptr, ptr %t85
call void @fn_emit(ptr %t86)
- call void @fn_emit(ptr @.str10139)
+ call void @fn_emit(ptr @.str10177)
br label %ifend22
else21:
- %t87 = call ptr @fn_find_fn(ptr @.str10140)
+ %t87 = call ptr @fn_find_fn(ptr @.str10178)
%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 @.str10141)
+ %t91 = call ptr @fn_emit_bind(ptr @.str10179)
store ptr %t91, ptr %t92
- call void @fn_emit(ptr @.str10142)
+ call void @fn_emit(ptr @.str10180)
%t93 = load ptr, ptr %t92
call void @fn_emit(ptr %t93)
- call void @fn_emit(ptr @.str10143)
+ call void @fn_emit(ptr @.str10181)
br label %ifend25
ifend25:
br label %ifend22
@@ -100691,7 +101548,7 @@ ifend22:
store i32 %t97, ptr %t94
br i1 %t96, label %sc26, label %scend27
sc26:
- %t98 = call ptr @fn_find_fn(ptr @.str10144)
+ %t98 = call ptr @fn_find_fn(ptr @.str10182)
%t99 = icmp ne ptr %t98, null
%t100 = zext i1 %t99 to i32
%t101 = icmp ne i32 %t100, 0
@@ -100703,25 +101560,25 @@ scend27:
%t104 = icmp ne i32 %t103, 0
br i1 %t104, label %then28, label %ifend30
then28:
- %t105 = call ptr @fn_emit_bind(ptr @.str10145)
+ %t105 = call ptr @fn_emit_bind(ptr @.str10183)
store ptr %t105, ptr %t106
- call void @fn_emit(ptr @.str10146)
+ call void @fn_emit(ptr @.str10184)
%t107 = load ptr, ptr %t106
call void @fn_emit(ptr %t107)
- call void @fn_emit(ptr @.str10147)
+ call void @fn_emit(ptr @.str10185)
br label %ifend30
ifend30:
- call void @fn_emit_calls_for_phase(ptr @.str10148)
- call void @fn_emit_calls_for_phase(ptr @.str10149)
- call void @fn_emit_calls_for_phase(ptr @.str10150)
- call void @fn_emit_calls_for_phase(ptr @.str10151)
+ call void @fn_emit_calls_for_phase(ptr @.str10186)
+ call void @fn_emit_calls_for_phase(ptr @.str10187)
+ call void @fn_emit_calls_for_phase(ptr @.str10188)
+ call void @fn_emit_calls_for_phase(ptr @.str10189)
%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 @.str10152)
+ %t112 = call ptr @fn_find_fn(ptr @.str10190)
%t113 = icmp ne ptr %t112, null
%t114 = zext i1 %t113 to i32
%t115 = icmp ne i32 %t114, 0
@@ -100733,80 +101590,84 @@ scend32:
%t118 = icmp ne i32 %t117, 0
br i1 %t118, label %then33, label %ifend35
then33:
- call void @fn_emit(ptr @.str10153)
- %t119 = load i32, ptr @g_g_clear_color
- %t120 = call ptr @fn_itoa(i32 %t119)
- call void @fn_emit(ptr %t120)
- call void @fn_emit(ptr @.str10154)
+ %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 @.str10191)
+ %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 @.str10192)
br label %ifend35
ifend35:
- call void @fn_emit_calls_for_phase(ptr @.str10155)
- call void @fn_emit_calls_for_phase(ptr @.str10156)
- %t122 = load i32, ptr @g_g_has_clear_color
- %t123 = icmp ne i32 %t122, 0
- %t124 = zext i1 %t123 to i32
- store i32 %t124, ptr %t121
- br i1 %t123, label %sc36, label %scend37
+ call void @fn_emit_calls_for_phase(ptr @.str10193)
+ call void @fn_emit_calls_for_phase(ptr @.str10194)
+ %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:
- %t125 = call ptr @fn_find_fn(ptr @.str10157)
- %t126 = icmp ne ptr %t125, null
- %t127 = zext i1 %t126 to i32
- %t128 = icmp ne i32 %t127, 0
- %t129 = zext i1 %t128 to i32
- store i32 %t129, ptr %t121
+ %t129 = call ptr @fn_find_fn(ptr @.str10195)
+ %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:
- %t130 = load i32, ptr %t121
- %t131 = icmp ne i32 %t130, 0
- br i1 %t131, label %then38, label %ifend40
+ %t134 = load i32, ptr %t125
+ %t135 = icmp ne i32 %t134, 0
+ br i1 %t135, label %then38, label %ifend40
then38:
- call void @fn_emit(ptr @.str10158)
+ call void @fn_emit(ptr @.str10196)
br label %ifend40
ifend40:
- %t132 = call ptr @fn_emit_bind(ptr @.str10159)
- store ptr %t132, ptr %t133
- %t134 = load ptr, ptr %t133
- %t135 = call ptr @fn_str_concat(ptr @.str10160, ptr %t134)
- %t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str10161)
- %t137 = call ptr @fn_emit_bind(ptr %t136)
- store ptr %t137, ptr %t138
- call void @fn_emit(ptr @.str10162)
- %t139 = load ptr, ptr %t138
- call void @fn_emit(ptr %t139)
- call void @fn_emit(ptr @.str10163)
- call void @fn_emit(ptr @.str10164)
- call void @fn_emit(ptr @.str10165)
- %t140 = load ptr, ptr @g_g_ondespawn
- %t141 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1
- %t142 = load i32, ptr %t141
- %t143 = icmp sgt i32 %t142, 0
- %t144 = zext i1 %t143 to i32
- %t145 = icmp ne i32 %t144, 0
- br i1 %t145, label %then41, label %ifend43
-then41:
- call void @fn_emit(ptr @.str10166)
- br label %ifend43
-ifend43:
- call void @fn_emit_calls_for_phase(ptr @.str10167)
- %t146 = call ptr @fn_find_event(ptr @.str10168)
- %t147 = icmp ne ptr %t146, null
+ %t136 = call ptr @fn_emit_bind(ptr @.str10197)
+ store ptr %t136, ptr %t137
+ %t138 = load ptr, ptr %t137
+ %t139 = call ptr @lp_str_concat(ptr @.str10198, ptr %t138)
+ %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str10199)
+ %t141 = call ptr @fn_emit_bind(ptr %t140)
+ store ptr %t141, ptr %t142
+ call void @fn_emit(ptr @.str10200)
+ %t143 = load ptr, ptr %t142
+ call void @fn_emit(ptr %t143)
+ call void @fn_emit(ptr @.str10201)
+ call void @fn_emit(ptr @.str10202)
+ call void @fn_emit(ptr @.str10203)
+ %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 %then44, label %ifend46
-then44:
- call void @fn_emit(ptr @.str10169)
- br label %ifend46
-ifend46:
- %t150 = call ptr @fn_find_fn(ptr @.str10170)
+ br i1 %t149, label %then41, label %ifend43
+then41:
+ call void @fn_emit(ptr @.str10204)
+ br label %ifend43
+ifend43:
+ call void @fn_emit_calls_for_phase(ptr @.str10205)
+ %t150 = call ptr @fn_find_event(ptr @.str10206)
%t151 = icmp ne ptr %t150, null
%t152 = zext i1 %t151 to i32
%t153 = icmp ne i32 %t152, 0
- br i1 %t153, label %then47, label %ifend49
+ br i1 %t153, label %then44, label %ifend46
+then44:
+ call void @fn_emit(ptr @.str10207)
+ br label %ifend46
+ifend46:
+ %t154 = call ptr @fn_find_fn(ptr @.str10208)
+ %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 @.str10171)
+ call void @fn_emit(ptr @.str10209)
br label %ifend49
ifend49:
- call void @fn_emit(ptr @.str10172)
+ call void @fn_emit(ptr @.str10210)
br label %ret
ret:
ret void
@@ -100936,12 +101797,12 @@ 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 @fn_str_concat(ptr @.str10173, ptr %t52)
- %t54 = call ptr @fn_str_concat(ptr %t53, ptr @.str10174)
+ %t53 = call ptr @lp_str_concat(ptr @.str10211, ptr %t52)
+ %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str10212)
%t55 = load ptr, ptr %t18
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3
%t57 = load ptr, ptr %t56
- %t58 = call ptr @fn_str_concat(ptr %t54, ptr %t57)
+ %t58 = call ptr @lp_str_concat(ptr %t54, ptr %t57)
call void @fn_perr(ptr %t58)
br label %ifend14
ifend14:
@@ -100979,7 +101840,7 @@ entry:
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_machine_var(ptr %t3)
store ptr %t4, ptr %t5
- store ptr @.str10175, ptr %t6
+ store ptr @.str10213, ptr %t6
%t7 = load ptr, ptr %t5
%t8 = icmp ne ptr %t7, null
%t9 = zext i1 %t8 to i32
@@ -100991,7 +101852,7 @@ then0:
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1
%t15 = load ptr, ptr %t14
- %t16 = call ptr @fn_str_concat(ptr @.str10176, ptr %t15)
+ %t16 = call ptr @lp_str_concat(ptr @.str10214, ptr %t15)
%t17 = call ptr @fn_emit_bind(ptr %t16)
store ptr %t17, ptr %t6
br label %ifend2
@@ -101004,8 +101865,8 @@ else1:
%t23 = load ptr, ptr %t22
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
%t25 = load ptr, ptr %t24
- %t26 = call ptr @fn_str_concat(ptr @.str10177, ptr %t25)
- %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str10178)
+ %t26 = call ptr @lp_str_concat(ptr @.str10215, ptr %t25)
+ %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10216)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t6
br label %ifend2
@@ -101029,39 +101890,39 @@ then3:
br label %ifend5
else4:
%t42 = load ptr, ptr @g_mach_stk
- %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1
- %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 2
- %t45 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0
- %t46 = load i32, ptr %t43
+ %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 = icmp sge i32 %t46, %t47
- br i1 %t48, label %grow6, label %put7
+ %t48 = load i32, ptr %t45
+ %t49 = icmp sge i32 %t47, %t48
+ br i1 %t49, label %grow6, label %put7
grow6:
- %t49 = mul i32 %t47, 2
- %t50 = icmp eq i32 %t47, 0
- %t51 = select i1 %t50, i32 8, i32 %t49
- %t52 = getelementptr ptr, ptr null, i32 1
- %t53 = ptrtoint ptr %t52 to i64
- %t54 = zext i32 %t51 to i64
- %t55 = mul i64 %t54, %t53
- %t56 = load ptr, ptr %t45
- %t57 = call ptr @realloc(ptr %t56, i64 %t55)
- store ptr %t57, ptr %t45
- store i32 %t51, ptr %t44
+ %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:
- %t58 = load ptr, ptr %t0
- %t59 = load ptr, ptr %t45
- %t60 = getelementptr inbounds ptr, ptr %t59, i32 %t46
- store ptr %t58, ptr %t60
- %t61 = add i32 %t46, 1
- store i32 %t61, ptr %t43
+ %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 @.str10179)
+ %t64 = call ptr @fn_lbl(ptr @.str10217)
store ptr %t64, ptr %t65
store i32 0, ptr %t66
br label %wcond8
@@ -101091,29 +101952,29 @@ wbody9:
%t87 = call ptr @fn_machine_state_value(ptr %t85, ptr %t86)
store ptr %t87, ptr %t88
%t89 = load ptr, ptr %t6
- %t90 = call ptr @fn_str_concat(ptr @.str10180, ptr %t89)
- %t91 = call ptr @fn_str_concat(ptr %t90, ptr @.str10181)
+ %t90 = call ptr @lp_str_concat(ptr @.str10218, ptr %t89)
+ %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str10219)
%t92 = load ptr, ptr %t88
- %t93 = call ptr @fn_str_concat(ptr %t91, ptr %t92)
+ %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 @.str10182)
+ %t96 = call ptr @fn_lbl(ptr @.str10220)
store ptr %t96, ptr %t97
- %t98 = call ptr @fn_lbl(ptr @.str10183)
+ %t98 = call ptr @fn_lbl(ptr @.str10221)
store ptr %t98, ptr %t99
- call void @fn_emit(ptr @.str10184)
+ call void @fn_emit(ptr @.str10222)
%t100 = load ptr, ptr %t95
call void @fn_emit(ptr %t100)
- call void @fn_emit(ptr @.str10185)
+ call void @fn_emit(ptr @.str10223)
%t101 = load ptr, ptr %t97
call void @fn_emit(ptr %t101)
- call void @fn_emit(ptr @.str10186)
+ call void @fn_emit(ptr @.str10224)
%t102 = load ptr, ptr %t99
call void @fn_emit(ptr %t102)
- call void @fn_emit(ptr @.str10187)
+ call void @fn_emit(ptr @.str10225)
%t103 = load ptr, ptr %t97
call void @fn_emit(ptr %t103)
- call void @fn_emit(ptr @.str10188)
+ call void @fn_emit(ptr @.str10226)
store i32 0, ptr @g_g_term
%t104 = load ptr, ptr %t84
%t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4
@@ -101125,15 +101986,15 @@ wbody9:
%t110 = icmp ne i32 %t109, 0
br i1 %t110, label %then11, label %ifend13
then11:
- call void @fn_emit(ptr @.str10189)
+ call void @fn_emit(ptr @.str10227)
%t111 = load ptr, ptr %t65
call void @fn_emit(ptr %t111)
- call void @fn_emit(ptr @.str10190)
+ call void @fn_emit(ptr @.str10228)
br label %ifend13
ifend13:
%t112 = load ptr, ptr %t99
call void @fn_emit(ptr %t112)
- call void @fn_emit(ptr @.str10191)
+ call void @fn_emit(ptr @.str10229)
store i32 0, ptr @g_g_term
%t113 = load i32, ptr %t66
%t114 = add i32 %t113, 1
@@ -101146,15 +102007,15 @@ wend10:
%t118 = icmp ne i32 %t117, 0
br i1 %t118, label %then14, label %ifend16
then14:
- call void @fn_emit(ptr @.str10192)
+ call void @fn_emit(ptr @.str10230)
%t119 = load ptr, ptr %t65
call void @fn_emit(ptr %t119)
- call void @fn_emit(ptr @.str10193)
+ call void @fn_emit(ptr @.str10231)
br label %ifend16
ifend16:
%t120 = load ptr, ptr %t65
call void @fn_emit(ptr %t120)
- call void @fn_emit(ptr @.str10194)
+ call void @fn_emit(ptr @.str10232)
store i32 0, ptr @g_g_term
%t121 = load i32, ptr @g_nmach
%t122 = sub i32 %t121, 1
@@ -101217,7 +102078,7 @@ wbody4:
%t34 = load ptr, ptr %t0
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1
%t36 = load ptr, ptr %t35
- %t37 = call i32 @fn_str_eq(ptr %t33, ptr %t36)
+ %t37 = call i32 @lp_str_eq(ptr %t33, ptr %t36)
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then6, label %ifend8
then6:
@@ -101258,17 +102119,17 @@ then9:
%t65 = icmp ne i32 %t64, 0
br i1 %t65, label %then12, label %else13
then12:
- call void @fn_emit(ptr @.str10195)
+ call void @fn_emit(ptr @.str10233)
%t66 = load ptr, ptr %t61
call void @fn_emit(ptr %t66)
- call void @fn_emit(ptr @.str10196)
+ call void @fn_emit(ptr @.str10234)
%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 @.str10197)
+ call void @fn_emit(ptr @.str10235)
br label %ifend14
else13:
%t72 = load ptr, ptr %t12
@@ -101276,15 +102137,15 @@ else13:
%t74 = load ptr, ptr %t73
%t75 = call ptr @fn_emit_expr(ptr %t74)
store ptr %t75, ptr %t76
- call void @fn_emit(ptr @.str10198)
+ call void @fn_emit(ptr @.str10236)
%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 @.str10199)
+ call void @fn_emit(ptr @.str10237)
%t80 = load ptr, ptr %t61
call void @fn_emit(ptr %t80)
- call void @fn_emit(ptr @.str10200)
+ call void @fn_emit(ptr @.str10238)
br label %ifend14
ifend14:
br label %ret
@@ -101305,7 +102166,7 @@ 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 @fn_str_concat(ptr @.str10201, ptr %t92)
+ %t93 = call ptr @lp_str_concat(ptr @.str10239, ptr %t92)
call void @fn_perr(ptr %t93)
br label %ifend17
ifend17:
@@ -101315,30 +102176,30 @@ ifend17:
%t97 = icmp ne i32 %t96, 0
br i1 %t97, label %then18, label %else19
then18:
- call void @fn_emit(ptr @.str10202)
+ call void @fn_emit(ptr @.str10240)
%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 @.str10203)
+ call void @fn_emit(ptr @.str10241)
br label %ifend20
else19:
- call void @fn_emit(ptr @.str10204)
+ call void @fn_emit(ptr @.str10242)
br label %ifend20
ifend20:
- call void @fn_emit(ptr @.str10205)
+ call void @fn_emit(ptr @.str10243)
%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 @.str10206)
- call void @fn_emit(ptr @.str10207)
+ call void @fn_emit(ptr @.str10244)
+ call void @fn_emit(ptr @.str10245)
%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 @.str10208)
+ call void @fn_emit(ptr @.str10246)
br label %ret
ret:
ret void
@@ -101357,51 +102218,51 @@ entry:
store ptr %arg_p, ptr %t1
store ptr %arg_bytes, ptr %t2
%t3 = load ptr, ptr @g_g_snap_mode
- %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str10209)
+ %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str10247)
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
%t6 = load i32, ptr @g_g_iok
%t7 = call ptr @fn_itoa(i32 %t6)
- %t8 = call ptr @fn_str_concat(ptr @.str10210, ptr %t7)
+ %t8 = call ptr @lp_str_concat(ptr @.str10248, 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 @.str10211)
+ call void @fn_emit(ptr @.str10249)
%t12 = load ptr, ptr %t9
call void @fn_emit(ptr %t12)
- call void @fn_emit(ptr @.str10212)
+ call void @fn_emit(ptr @.str10250)
%t13 = load ptr, ptr %t0
call void @fn_emit(ptr %t13)
- call void @fn_emit(ptr @.str10213)
+ call void @fn_emit(ptr @.str10251)
%t14 = load ptr, ptr %t1
call void @fn_emit(ptr %t14)
- call void @fn_emit(ptr @.str10214)
+ call void @fn_emit(ptr @.str10252)
%t15 = load ptr, ptr %t2
call void @fn_emit(ptr %t15)
- call void @fn_emit(ptr @.str10215)
+ call void @fn_emit(ptr @.str10253)
br label %ret
ifend2:
%t16 = load ptr, ptr @g_g_snap_mode
- %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str10216)
+ %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str10254)
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
%t19 = load i32, ptr @g_g_iok
%t20 = call ptr @fn_itoa(i32 %t19)
- %t21 = call ptr @fn_str_concat(ptr @.str10217, ptr %t20)
+ %t21 = call ptr @lp_str_concat(ptr @.str10255, ptr %t20)
store ptr %t21, ptr %t22
- call void @fn_emit(ptr @.str10218)
+ call void @fn_emit(ptr @.str10256)
%t23 = load ptr, ptr %t22
call void @fn_emit(ptr %t23)
- call void @fn_emit(ptr @.str10219)
+ call void @fn_emit(ptr @.str10257)
%t24 = load ptr, ptr @g_g_off
call void @fn_emit(ptr %t24)
- call void @fn_emit(ptr @.str10220)
+ call void @fn_emit(ptr @.str10258)
%t25 = load ptr, ptr %t2
call void @fn_emit(ptr %t25)
- call void @fn_emit(ptr @.str10221)
+ call void @fn_emit(ptr @.str10259)
%t26 = load ptr, ptr %t22
store ptr %t26, ptr @g_g_off
%t27 = load i32, ptr @g_g_iok
@@ -101411,58 +102272,58 @@ then3:
ifend5:
%t29 = load i32, ptr @g_g_iok
%t30 = call ptr @fn_itoa(i32 %t29)
- %t31 = call ptr @fn_str_concat(ptr @.str10222, ptr %t30)
+ %t31 = call ptr @lp_str_concat(ptr @.str10260, ptr %t30)
store ptr %t31, ptr %t32
- call void @fn_emit(ptr @.str10223)
+ call void @fn_emit(ptr @.str10261)
%t33 = load ptr, ptr %t32
call void @fn_emit(ptr %t33)
- call void @fn_emit(ptr @.str10224)
+ call void @fn_emit(ptr @.str10262)
%t34 = load ptr, ptr @g_g_off
call void @fn_emit(ptr %t34)
- call void @fn_emit(ptr @.str10225)
+ call void @fn_emit(ptr @.str10263)
%t35 = load ptr, ptr @g_g_snap_mode
- %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str10226)
+ %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str10264)
%t37 = icmp ne i32 %t36, 0
br i1 %t37, label %then6, label %else7
then6:
- call void @fn_emit(ptr @.str10227)
+ call void @fn_emit(ptr @.str10265)
%t38 = load ptr, ptr %t32
call void @fn_emit(ptr %t38)
- call void @fn_emit(ptr @.str10228)
+ call void @fn_emit(ptr @.str10266)
%t39 = load ptr, ptr %t1
call void @fn_emit(ptr %t39)
- call void @fn_emit(ptr @.str10229)
+ call void @fn_emit(ptr @.str10267)
%t40 = load ptr, ptr %t2
call void @fn_emit(ptr %t40)
- call void @fn_emit(ptr @.str10230)
+ call void @fn_emit(ptr @.str10268)
br label %ifend8
else7:
- call void @fn_emit(ptr @.str10231)
+ call void @fn_emit(ptr @.str10269)
%t41 = load ptr, ptr %t1
call void @fn_emit(ptr %t41)
- call void @fn_emit(ptr @.str10232)
+ call void @fn_emit(ptr @.str10270)
%t42 = load ptr, ptr %t32
call void @fn_emit(ptr %t42)
- call void @fn_emit(ptr @.str10233)
+ call void @fn_emit(ptr @.str10271)
%t43 = load ptr, ptr %t2
call void @fn_emit(ptr %t43)
- call void @fn_emit(ptr @.str10234)
+ call void @fn_emit(ptr @.str10272)
br label %ifend8
ifend8:
%t44 = load i32, ptr @g_g_iok
%t45 = call ptr @fn_itoa(i32 %t44)
- %t46 = call ptr @fn_str_concat(ptr @.str10235, ptr %t45)
+ %t46 = call ptr @lp_str_concat(ptr @.str10273, ptr %t45)
store ptr %t46, ptr %t47
- call void @fn_emit(ptr @.str10236)
+ call void @fn_emit(ptr @.str10274)
%t48 = load ptr, ptr %t47
call void @fn_emit(ptr %t48)
- call void @fn_emit(ptr @.str10237)
+ call void @fn_emit(ptr @.str10275)
%t49 = load ptr, ptr @g_g_off
call void @fn_emit(ptr %t49)
- call void @fn_emit(ptr @.str10238)
+ call void @fn_emit(ptr @.str10276)
%t50 = load ptr, ptr %t2
call void @fn_emit(ptr %t50)
- call void @fn_emit(ptr @.str10239)
+ call void @fn_emit(ptr @.str10277)
%t51 = load ptr, ptr %t47
store ptr %t51, ptr @g_g_off
%t52 = load i32, ptr @g_g_iok
@@ -101483,29 +102344,29 @@ entry:
%t74 = alloca ptr
store ptr %arg_fn2, ptr %t0
store i32 0, ptr @g_g_iok
- store ptr @.str10240, ptr @g_g_off
+ store ptr @.str10278, 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 @.str10241, ptr @.str10242)
+ call void @fn_emit_io(ptr %t3, ptr @.str10279, ptr @.str10280)
%t4 = load ptr, ptr %t0
- call void @fn_emit_io(ptr %t4, ptr @.str10243, ptr @.str10244)
- call void @fn_emit(ptr @.str10245)
+ call void @fn_emit_io(ptr %t4, ptr @.str10281, ptr @.str10282)
+ call void @fn_emit(ptr @.str10283)
%t5 = load ptr, ptr %t2
call void @fn_emit(ptr %t5)
- call void @fn_emit(ptr @.str10246)
+ call void @fn_emit(ptr @.str10284)
%t6 = load ptr, ptr %t0
- call void @fn_emit_io(ptr %t6, ptr @.str10247, ptr @.str10248)
+ call void @fn_emit_io(ptr %t6, ptr @.str10285, ptr @.str10286)
%t7 = load ptr, ptr %t0
- call void @fn_emit_io(ptr %t7, ptr @.str10249, ptr @.str10250)
+ call void @fn_emit_io(ptr %t7, ptr @.str10287, ptr @.str10288)
%t8 = load ptr, ptr %t0
- call void @fn_emit_io(ptr %t8, ptr @.str10251, ptr @.str10252)
+ call void @fn_emit_io(ptr %t8, ptr @.str10289, ptr @.str10290)
%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 @.str10253, ptr @.str10254)
+ call void @fn_emit_io(ptr %t11, ptr @.str10291, ptr @.str10292)
br label %ifend2
ifend2:
store i32 0, ptr %t12
@@ -101542,8 +102403,8 @@ then6:
%t37 = load ptr, ptr %t36
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1
%t39 = load ptr, ptr %t38
- %t40 = call ptr @fn_str_concat(ptr @.str10255, ptr %t39)
- call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str10256)
+ %t40 = call ptr @lp_str_concat(ptr @.str10293, ptr %t39)
+ call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str10294)
br label %ifend8
ifend8:
%t41 = load i32, ptr %t12
@@ -101588,26 +102449,26 @@ then12:
store ptr %t69, ptr %t70
%t71 = load i32, ptr %t43
%t72 = call ptr @fn_itoa(i32 %t71)
- %t73 = call ptr @fn_str_concat(ptr @.str10257, ptr %t72)
+ %t73 = call ptr @lp_str_concat(ptr @.str10295, ptr %t72)
store ptr %t73, ptr %t74
- call void @fn_emit(ptr @.str10258)
+ call void @fn_emit(ptr @.str10296)
%t75 = load ptr, ptr %t74
call void @fn_emit(ptr %t75)
- call void @fn_emit(ptr @.str10259)
+ call void @fn_emit(ptr @.str10297)
%t76 = load ptr, ptr %t70
call void @fn_emit(ptr %t76)
- call void @fn_emit(ptr @.str10260)
+ call void @fn_emit(ptr @.str10298)
%t77 = load ptr, ptr %t2
call void @fn_emit(ptr %t77)
- call void @fn_emit(ptr @.str10261)
+ call void @fn_emit(ptr @.str10299)
%t78 = load ptr, ptr %t0
%t79 = load ptr, ptr %t70
- %t80 = call ptr @fn_str_concat(ptr @.str10262, ptr %t79)
+ %t80 = call ptr @lp_str_concat(ptr @.str10300, ptr %t79)
%t81 = load ptr, ptr %t74
call void @fn_emit_io(ptr %t78, ptr %t80, ptr %t81)
%t82 = load ptr, ptr %t0
%t83 = load ptr, ptr %t70
- %t84 = call ptr @fn_str_concat(ptr @.str10263, ptr %t83)
+ %t84 = call ptr @lp_str_concat(ptr @.str10301, ptr %t83)
%t85 = load ptr, ptr %t2
call void @fn_emit_io(ptr %t82, ptr %t84, ptr %t85)
%t86 = load i32, ptr %t43
@@ -101631,85 +102492,85 @@ entry:
%t7 = alloca i32
%t15 = alloca ptr
%t22 = alloca ptr
- store ptr @.str10264, ptr @g_g_snap_mode
- call void @fn_emith(ptr @.str10265)
- call void @fn_emith(ptr @.str10266)
- call void @fn_emith(ptr @.str10267)
- %t0 = call ptr @fn_find_fn(ptr @.str10268)
+ store ptr @.str10302, ptr @g_g_snap_mode
+ call void @fn_emith(ptr @.str10303)
+ call void @fn_emith(ptr @.str10304)
+ call void @fn_emith(ptr @.str10305)
+ %t0 = call ptr @fn_find_fn(ptr @.str10306)
%t1 = icmp ne ptr %t0, null
%t2 = zext i1 %t1 to i32
store i32 %t2, ptr %t3
- %t4 = call ptr @fn_find_fn(ptr @.str10269)
+ %t4 = call ptr @fn_find_fn(ptr @.str10307)
%t5 = icmp ne ptr %t4, null
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t7
- call void @fn_emit(ptr @.str10270)
- call void @fn_emit(ptr @.str10271)
- call void @fn_emit(ptr @.str10272)
- call void @fn_emit(ptr @.str10273)
- call void @fn_emit_snapshot_blocks(ptr @.str10274)
+ call void @fn_emit(ptr @.str10308)
+ call void @fn_emit(ptr @.str10309)
+ call void @fn_emit(ptr @.str10310)
+ call void @fn_emit(ptr @.str10311)
+ call void @fn_emit_snapshot_blocks(ptr @.str10312)
%t8 = load i32, ptr %t3
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then0, label %ifend2
then0:
- call void @fn_emit(ptr @.str10275)
+ call void @fn_emit(ptr @.str10313)
br label %ifend2
ifend2:
- call void @fn_emit(ptr @.str10276)
- call void @fn_emit(ptr @.str10277)
- call void @fn_emit(ptr @.str10278)
- call void @fn_emit(ptr @.str10279)
- call void @fn_emit(ptr @.str10280)
- call void @fn_emit_snapshot_blocks(ptr @.str10281)
+ 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_snapshot_blocks(ptr @.str10319)
%t10 = load i32, ptr %t7
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then3, label %ifend5
then3:
- call void @fn_emit(ptr @.str10282)
+ call void @fn_emit(ptr @.str10320)
br label %ifend5
ifend5:
- call void @fn_emit(ptr @.str10283)
- call void @fn_emit(ptr @.str10284)
- store ptr @.str10285, ptr @g_g_snap_mode
- call void @fn_emit_snapshot_blocks(ptr @.str10286)
+ call void @fn_emit(ptr @.str10321)
+ call void @fn_emit(ptr @.str10322)
+ store ptr @.str10323, ptr @g_g_snap_mode
+ call void @fn_emit_snapshot_blocks(ptr @.str10324)
%t12 = load i32, ptr @g_g_iok
%t13 = call ptr @fn_itoa(i32 %t12)
- %t14 = call ptr @fn_str_concat(ptr @.str10287, ptr %t13)
+ %t14 = call ptr @lp_str_concat(ptr @.str10325, ptr %t13)
store ptr %t14, ptr %t15
- call void @fn_emit(ptr @.str10288)
+ call void @fn_emit(ptr @.str10326)
%t16 = load ptr, ptr %t15
call void @fn_emit(ptr %t16)
- call void @fn_emit(ptr @.str10289)
+ call void @fn_emit(ptr @.str10327)
%t17 = load ptr, ptr @g_g_off
call void @fn_emit(ptr %t17)
- call void @fn_emit(ptr @.str10290)
- call void @fn_emit(ptr @.str10291)
+ call void @fn_emit(ptr @.str10328)
+ call void @fn_emit(ptr @.str10329)
%t18 = load ptr, ptr %t15
call void @fn_emit(ptr %t18)
- call void @fn_emit(ptr @.str10292)
- call void @fn_emit(ptr @.str10293)
- store ptr @.str10294, ptr @g_g_snap_mode
- call void @fn_emit_snapshot_blocks(ptr @.str10295)
- call void @fn_emit(ptr @.str10296)
- call void @fn_emit(ptr @.str10297)
- store ptr @.str10298, ptr @g_g_snap_mode
- call void @fn_emit_snapshot_blocks(ptr @.str10299)
+ call void @fn_emit(ptr @.str10330)
+ call void @fn_emit(ptr @.str10331)
+ store ptr @.str10332, ptr @g_g_snap_mode
+ call void @fn_emit_snapshot_blocks(ptr @.str10333)
+ call void @fn_emit(ptr @.str10334)
+ call void @fn_emit(ptr @.str10335)
+ store ptr @.str10336, ptr @g_g_snap_mode
+ call void @fn_emit_snapshot_blocks(ptr @.str10337)
%t19 = load i32, ptr @g_g_iok
%t20 = call ptr @fn_itoa(i32 %t19)
- %t21 = call ptr @fn_str_concat(ptr @.str10300, ptr %t20)
+ %t21 = call ptr @lp_str_concat(ptr @.str10338, ptr %t20)
store ptr %t21, ptr %t22
- call void @fn_emit(ptr @.str10301)
+ call void @fn_emit(ptr @.str10339)
%t23 = load ptr, ptr %t22
call void @fn_emit(ptr %t23)
- call void @fn_emit(ptr @.str10302)
+ call void @fn_emit(ptr @.str10340)
%t24 = load ptr, ptr @g_g_off
call void @fn_emit(ptr %t24)
- call void @fn_emit(ptr @.str10303)
- call void @fn_emit(ptr @.str10304)
+ call void @fn_emit(ptr @.str10341)
+ call void @fn_emit(ptr @.str10342)
%t25 = load ptr, ptr %t22
call void @fn_emit(ptr %t25)
- call void @fn_emit(ptr @.str10305)
- store ptr @.str10306, ptr @g_g_snap_mode
+ call void @fn_emit(ptr @.str10343)
+ store ptr @.str10344, ptr @g_g_snap_mode
br label %ret
ret:
ret void
@@ -101722,7 +102583,7 @@ entry:
store ptr %arg_ty, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_llty(ptr %t1)
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str10307)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str10345)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
@@ -101743,14 +102604,14 @@ entry:
store ptr %arg_ty, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_llty(ptr %t1)
- %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str10308)
+ %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str10346)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
- store ptr @.str10309, ptr %retval
+ store ptr @.str10347, ptr %retval
br label %ret
ifend2:
- store ptr @.str10310, ptr %retval
+ store ptr @.str10348, ptr %retval
br label %ret
ret:
%t5 = load ptr, ptr %retval
@@ -101843,19 +102704,19 @@ wbody10:
%t63 = icmp ne i32 %t62, 0
br i1 %t63, label %then12, label %ifend14
then12:
- %t64 = load i32, ptr %t1
- %t65 = load ptr, ptr %t36
- %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 7
- %t67 = load ptr, ptr %t66
- %t68 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0
- %t69 = load ptr, ptr %t68
- %t70 = load i32, ptr %t41
- %t71 = getelementptr inbounds ptr, ptr %t69, i32 %t70
- %t72 = load ptr, ptr %t71
- %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 3
- %t74 = load ptr, ptr %t73
- %t75 = call i32 @fn_net_field_ibytes(ptr %t74)
- %t76 = add i32 %t64, %t75
+ %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:
@@ -102131,7 +102992,7 @@ entry:
store ptr %t1, ptr %t2
%t3 = load ptr, ptr %t2
%t4 = zext i32 23 to i64
- %t5 = call i64 @fwrite(ptr @.str10311, i64 1, i64 %t4, ptr %t3)
+ %t5 = call i64 @fwrite(ptr @.str10349, i64 1, i64 %t4, ptr %t3)
%t6 = trunc i64 %t5 to i32
%t7 = load ptr, ptr %t2
%t8 = load ptr, ptr %t0
@@ -102143,7 +103004,7 @@ entry:
%t14 = trunc i64 %t13 to i32
%t15 = load ptr, ptr %t2
%t16 = zext i32 1 to i64
- %t17 = call i64 @fwrite(ptr @.str10312, i64 1, i64 %t16, ptr %t15)
+ %t17 = call i64 @fwrite(ptr @.str10350, i64 1, i64 %t16, ptr %t15)
%t18 = trunc i64 %t17 to i32
br label %ret
ret:
@@ -102282,13 +103143,13 @@ then18:
%t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 3
%t100 = load ptr, ptr %t99
%t101 = call ptr @fn_llty(ptr %t100)
- %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str10313)
+ %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str10351)
%t103 = icmp ne i32 %t102, 0
br i1 %t103, label %then21, label %ifend23
then21:
%t104 = load ptr, ptr %t59
- %t105 = call ptr @fn_str_concat(ptr @.str10314, ptr %t104)
- %t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str10315)
+ %t105 = call ptr @lp_str_concat(ptr @.str10352, ptr %t104)
+ %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str10353)
%t107 = load ptr, ptr %t62
%t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 7
%t109 = load ptr, ptr %t108
@@ -102299,8 +103160,8 @@ then21:
%t114 = load ptr, ptr %t113
%t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1
%t116 = load ptr, ptr %t115
- %t117 = call ptr @fn_str_concat(ptr %t106, ptr %t116)
- %t118 = call ptr @fn_str_concat(ptr %t117, ptr @.str10316)
+ %t117 = call ptr @lp_str_concat(ptr %t106, ptr %t116)
+ %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str10354)
call void @fn_perr(ptr %t118)
br label %ifend23
ifend23:
@@ -102320,11 +103181,11 @@ then24:
%t125 = load ptr, ptr %t25
%t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1
%t127 = load ptr, ptr %t126
- %t128 = call ptr @fn_str_concat(ptr @.str10317, ptr %t127)
- %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str10318)
+ %t128 = call ptr @lp_str_concat(ptr @.str10355, ptr %t127)
+ %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10356)
%t130 = load ptr, ptr %t59
- %t131 = call ptr @fn_str_concat(ptr %t129, ptr %t130)
- %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str10319)
+ %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130)
+ %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str10357)
call void @fn_net_warn(ptr %t132)
br label %ifend26
ifend26:
@@ -102366,12 +103227,12 @@ entry:
store i32 0, ptr @g_ll_t
%t1 = call ptr @fn_itoa(i32 1024)
store ptr %t1, ptr %t2
- call void @fn_emit(ptr @.str10320)
+ call void @fn_emit(ptr @.str10358)
%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 @.str10321)
+ call void @fn_emit(ptr @.str10359)
store i32 0, ptr %t6
store i32 0, ptr %t7
br label %wcond0
@@ -102424,19 +103285,19 @@ then3:
then6:
%t48 = call ptr @fn_nreg()
store ptr %t48, ptr %t49
- call void @fn_emit(ptr @.str10322)
+ call void @fn_emit(ptr @.str10360)
%t50 = load ptr, ptr %t49
call void @fn_emit(ptr %t50)
- call void @fn_emit(ptr @.str10323)
+ call void @fn_emit(ptr @.str10361)
%t51 = load ptr, ptr %t2
call void @fn_emit(ptr %t51)
- call void @fn_emit(ptr @.str10324)
+ call void @fn_emit(ptr @.str10362)
%t52 = load ptr, ptr %t40
call void @fn_emit(ptr %t52)
- call void @fn_emit(ptr @.str10325)
+ call void @fn_emit(ptr @.str10363)
%t53 = load ptr, ptr %t40
call void @fn_emit(ptr %t53)
- call void @fn_emit(ptr @.str10326)
+ call void @fn_emit(ptr @.str10364)
store i32 0, ptr %t54
br label %wcond9
wcond9:
@@ -102480,53 +103341,53 @@ then12:
store ptr %t87, ptr %t88
%t89 = call ptr @fn_nreg()
store ptr %t89, ptr %t90
- call void @fn_emit(ptr @.str10327)
+ call void @fn_emit(ptr @.str10365)
%t91 = load ptr, ptr %t90
call void @fn_emit(ptr %t91)
- call void @fn_emit(ptr @.str10328)
+ call void @fn_emit(ptr @.str10366)
%t92 = load ptr, ptr %t40
call void @fn_emit(ptr %t92)
- call void @fn_emit(ptr @.str10329)
+ call void @fn_emit(ptr @.str10367)
%t93 = load ptr, ptr %t49
call void @fn_emit(ptr %t93)
- call void @fn_emit(ptr @.str10330)
+ call void @fn_emit(ptr @.str10368)
%t94 = load i32, ptr %t54
%t95 = call ptr @fn_itoa(i32 %t94)
call void @fn_emit(ptr %t95)
- call void @fn_emit(ptr @.str10331)
+ call void @fn_emit(ptr @.str10369)
%t96 = call ptr @fn_nreg()
store ptr %t96, ptr %t97
- call void @fn_emit(ptr @.str10332)
+ call void @fn_emit(ptr @.str10370)
%t98 = load ptr, ptr %t97
call void @fn_emit(ptr %t98)
- call void @fn_emit(ptr @.str10333)
+ call void @fn_emit(ptr @.str10371)
%t99 = load i32, ptr %t6
%t100 = call ptr @fn_itoa(i32 %t99)
call void @fn_emit(ptr %t100)
- call void @fn_emit(ptr @.str10334)
- call void @fn_emit(ptr @.str10335)
+ call void @fn_emit(ptr @.str10372)
+ call void @fn_emit(ptr @.str10373)
%t101 = load ptr, ptr %t97
call void @fn_emit(ptr %t101)
- call void @fn_emit(ptr @.str10336)
+ call void @fn_emit(ptr @.str10374)
%t102 = load ptr, ptr %t90
call void @fn_emit(ptr %t102)
- call void @fn_emit(ptr @.str10337)
+ call void @fn_emit(ptr @.str10375)
%t103 = load ptr, ptr %t88
call void @fn_emit(ptr %t103)
- call void @fn_emit(ptr @.str10338)
- %t104 = load i32, ptr %t6
- %t105 = load ptr, ptr %t43
- %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7
- %t107 = load ptr, ptr %t106
- %t108 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0
- %t109 = load ptr, ptr %t108
- %t110 = load i32, ptr %t54
- %t111 = getelementptr inbounds ptr, ptr %t109, i32 %t110
- %t112 = load ptr, ptr %t111
- %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 3
- %t114 = load ptr, ptr %t113
- %t115 = call i32 @fn_net_field_ibytes(ptr %t114)
- %t116 = add i32 %t104, %t115
+ call void @fn_emit(ptr @.str10376)
+ %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:
@@ -102544,11 +103405,11 @@ ifend5:
store i32 %t120, ptr %t7
br label %wcond0
wend2:
- call void @fn_emit(ptr @.str10339)
+ call void @fn_emit(ptr @.str10377)
%t121 = load i32, ptr %t6
%t122 = call ptr @fn_itoa(i32 %t121)
call void @fn_emit(ptr %t122)
- call void @fn_emit(ptr @.str10340)
+ call void @fn_emit(ptr @.str10378)
br label %ret
ret:
ret void
@@ -102571,12 +103432,12 @@ entry:
store i32 0, ptr @g_ll_t
%t1 = call ptr @fn_itoa(i32 1024)
store ptr %t1, ptr %t2
- call void @fn_emit(ptr @.str10341)
+ call void @fn_emit(ptr @.str10379)
%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 @.str10342)
+ call void @fn_emit(ptr @.str10380)
store i32 0, ptr %t6
store i32 0, ptr %t7
br label %wcond0
@@ -102629,19 +103490,19 @@ then3:
then6:
%t48 = call ptr @fn_nreg()
store ptr %t48, ptr %t49
- call void @fn_emit(ptr @.str10343)
+ call void @fn_emit(ptr @.str10381)
%t50 = load ptr, ptr %t49
call void @fn_emit(ptr %t50)
- call void @fn_emit(ptr @.str10344)
+ call void @fn_emit(ptr @.str10382)
%t51 = load ptr, ptr %t2
call void @fn_emit(ptr %t51)
- call void @fn_emit(ptr @.str10345)
+ call void @fn_emit(ptr @.str10383)
%t52 = load ptr, ptr %t40
call void @fn_emit(ptr %t52)
- call void @fn_emit(ptr @.str10346)
+ call void @fn_emit(ptr @.str10384)
%t53 = load ptr, ptr %t40
call void @fn_emit(ptr %t53)
- call void @fn_emit(ptr @.str10347)
+ call void @fn_emit(ptr @.str10385)
store i32 0, ptr %t54
br label %wcond9
wcond9:
@@ -102685,53 +103546,53 @@ then12:
store ptr %t87, ptr %t88
%t89 = call ptr @fn_nreg()
store ptr %t89, ptr %t90
- call void @fn_emit(ptr @.str10348)
+ call void @fn_emit(ptr @.str10386)
%t91 = load ptr, ptr %t90
call void @fn_emit(ptr %t91)
- call void @fn_emit(ptr @.str10349)
+ call void @fn_emit(ptr @.str10387)
%t92 = load ptr, ptr %t40
call void @fn_emit(ptr %t92)
- call void @fn_emit(ptr @.str10350)
+ call void @fn_emit(ptr @.str10388)
%t93 = load ptr, ptr %t49
call void @fn_emit(ptr %t93)
- call void @fn_emit(ptr @.str10351)
+ call void @fn_emit(ptr @.str10389)
%t94 = load i32, ptr %t54
%t95 = call ptr @fn_itoa(i32 %t94)
call void @fn_emit(ptr %t95)
- call void @fn_emit(ptr @.str10352)
+ call void @fn_emit(ptr @.str10390)
%t96 = call ptr @fn_nreg()
store ptr %t96, ptr %t97
- call void @fn_emit(ptr @.str10353)
+ call void @fn_emit(ptr @.str10391)
%t98 = load ptr, ptr %t97
call void @fn_emit(ptr %t98)
- call void @fn_emit(ptr @.str10354)
+ call void @fn_emit(ptr @.str10392)
%t99 = load i32, ptr %t6
%t100 = call ptr @fn_itoa(i32 %t99)
call void @fn_emit(ptr %t100)
- call void @fn_emit(ptr @.str10355)
- call void @fn_emit(ptr @.str10356)
+ call void @fn_emit(ptr @.str10393)
+ call void @fn_emit(ptr @.str10394)
%t101 = load ptr, ptr %t90
call void @fn_emit(ptr %t101)
- call void @fn_emit(ptr @.str10357)
+ call void @fn_emit(ptr @.str10395)
%t102 = load ptr, ptr %t97
call void @fn_emit(ptr %t102)
- call void @fn_emit(ptr @.str10358)
+ call void @fn_emit(ptr @.str10396)
%t103 = load ptr, ptr %t88
call void @fn_emit(ptr %t103)
- call void @fn_emit(ptr @.str10359)
- %t104 = load i32, ptr %t6
- %t105 = load ptr, ptr %t43
- %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7
- %t107 = load ptr, ptr %t106
- %t108 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0
- %t109 = load ptr, ptr %t108
- %t110 = load i32, ptr %t54
- %t111 = getelementptr inbounds ptr, ptr %t109, i32 %t110
- %t112 = load ptr, ptr %t111
- %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 3
- %t114 = load ptr, ptr %t113
- %t115 = call i32 @fn_net_field_ibytes(ptr %t114)
- %t116 = add i32 %t104, %t115
+ call void @fn_emit(ptr @.str10397)
+ %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:
@@ -102749,7 +103610,7 @@ ifend5:
store i32 %t120, ptr %t7
br label %wcond0
wend2:
- call void @fn_emit(ptr @.str10360)
+ call void @fn_emit(ptr @.str10398)
br label %ret
ret:
ret void
@@ -102771,11 +103632,11 @@ entry:
%t165 = alloca ptr
%t0 = call ptr @fn_itoa(i32 1024)
store ptr %t0, ptr %t1
- call void @fn_emit(ptr @.str10361)
- call void @fn_emit(ptr @.str10362)
+ call void @fn_emit(ptr @.str10399)
+ call void @fn_emit(ptr @.str10400)
%t2 = load ptr, ptr %t1
call void @fn_emit(ptr %t2)
- call void @fn_emit(ptr @.str10363)
+ call void @fn_emit(ptr @.str10401)
store i32 0, ptr %t3
store i32 0, ptr %t4
br label %wcond0
@@ -102832,42 +103693,42 @@ then5:
%t45 = load i32, ptr %t3
%t46 = call ptr @fn_itoa(i32 %t45)
store ptr %t46, ptr %t47
- call void @fn_emit(ptr @.str10364)
+ call void @fn_emit(ptr @.str10402)
%t48 = load ptr, ptr %t47
call void @fn_emit(ptr %t48)
- call void @fn_emit(ptr @.str10365)
+ call void @fn_emit(ptr @.str10403)
%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 @.str10366)
- call void @fn_emit(ptr @.str10367)
+ call void @fn_emit(ptr @.str10404)
+ call void @fn_emit(ptr @.str10405)
%t52 = load ptr, ptr %t47
call void @fn_emit(ptr %t52)
- call void @fn_emit(ptr @.str10368)
+ call void @fn_emit(ptr @.str10406)
%t53 = load ptr, ptr %t47
call void @fn_emit(ptr %t53)
- call void @fn_emit(ptr @.str10369)
+ call void @fn_emit(ptr @.str10407)
%t54 = load ptr, ptr %t47
call void @fn_emit(ptr %t54)
- call void @fn_emit(ptr @.str10370)
- call void @fn_emit(ptr @.str10371)
+ call void @fn_emit(ptr @.str10408)
+ call void @fn_emit(ptr @.str10409)
%t55 = load ptr, ptr %t47
call void @fn_emit(ptr %t55)
- call void @fn_emit(ptr @.str10372)
+ call void @fn_emit(ptr @.str10410)
%t56 = load ptr, ptr %t47
call void @fn_emit(ptr %t56)
- call void @fn_emit(ptr @.str10373)
+ call void @fn_emit(ptr @.str10411)
%t57 = load ptr, ptr %t44
call void @fn_emit(ptr %t57)
- call void @fn_emit(ptr @.str10374)
+ call void @fn_emit(ptr @.str10412)
%t58 = load ptr, ptr %t47
call void @fn_emit(ptr %t58)
- call void @fn_emit(ptr @.str10375)
- call void @fn_emit(ptr @.str10376)
+ call void @fn_emit(ptr @.str10413)
+ call void @fn_emit(ptr @.str10414)
%t59 = load ptr, ptr %t47
call void @fn_emit(ptr %t59)
- call void @fn_emit(ptr @.str10377)
+ call void @fn_emit(ptr @.str10415)
%t60 = load i32, ptr %t3
%t61 = add i32 %t60, 1
store i32 %t61, ptr %t3
@@ -102878,12 +103739,12 @@ ifend7:
store i32 %t63, ptr %t4
br label %wcond0
wend2:
- call void @fn_emit(ptr @.str10378)
- call void @fn_emit(ptr @.str10379)
- call void @fn_emit(ptr @.str10380)
+ call void @fn_emit(ptr @.str10416)
+ call void @fn_emit(ptr @.str10417)
+ call void @fn_emit(ptr @.str10418)
%t64 = load ptr, ptr %t1
call void @fn_emit(ptr %t64)
- call void @fn_emit(ptr @.str10381)
+ call void @fn_emit(ptr @.str10419)
store i32 0, ptr %t3
store i32 0, ptr %t4
br label %wcond8
@@ -102940,36 +103801,36 @@ then13:
%t105 = load i32, ptr %t3
%t106 = call ptr @fn_itoa(i32 %t105)
store ptr %t106, ptr %t107
- call void @fn_emit(ptr @.str10382)
+ call void @fn_emit(ptr @.str10420)
%t108 = load ptr, ptr %t107
call void @fn_emit(ptr %t108)
- call void @fn_emit(ptr @.str10383)
+ call void @fn_emit(ptr @.str10421)
%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 @.str10384)
- call void @fn_emit(ptr @.str10385)
+ call void @fn_emit(ptr @.str10422)
+ call void @fn_emit(ptr @.str10423)
%t112 = load ptr, ptr %t107
call void @fn_emit(ptr %t112)
- call void @fn_emit(ptr @.str10386)
+ call void @fn_emit(ptr @.str10424)
%t113 = load ptr, ptr %t107
call void @fn_emit(ptr %t113)
- call void @fn_emit(ptr @.str10387)
+ call void @fn_emit(ptr @.str10425)
%t114 = load ptr, ptr %t107
call void @fn_emit(ptr %t114)
- call void @fn_emit(ptr @.str10388)
- call void @fn_emit(ptr @.str10389)
+ call void @fn_emit(ptr @.str10426)
+ call void @fn_emit(ptr @.str10427)
%t115 = load ptr, ptr %t107
call void @fn_emit(ptr %t115)
- call void @fn_emit(ptr @.str10390)
+ call void @fn_emit(ptr @.str10428)
%t116 = load ptr, ptr %t104
call void @fn_emit(ptr %t116)
- call void @fn_emit(ptr @.str10391)
- call void @fn_emit(ptr @.str10392)
+ call void @fn_emit(ptr @.str10429)
+ call void @fn_emit(ptr @.str10430)
%t117 = load ptr, ptr %t107
call void @fn_emit(ptr %t117)
- call void @fn_emit(ptr @.str10393)
+ call void @fn_emit(ptr @.str10431)
%t118 = load i32, ptr %t3
%t119 = add i32 %t118, 1
store i32 %t119, ptr %t3
@@ -102980,12 +103841,12 @@ ifend15:
store i32 %t121, ptr %t4
br label %wcond8
wend10:
- call void @fn_emit(ptr @.str10394)
- call void @fn_emit(ptr @.str10395)
- call void @fn_emit(ptr @.str10396)
+ call void @fn_emit(ptr @.str10432)
+ call void @fn_emit(ptr @.str10433)
+ call void @fn_emit(ptr @.str10434)
%t122 = load ptr, ptr %t1
call void @fn_emit(ptr %t122)
- call void @fn_emit(ptr @.str10397)
+ call void @fn_emit(ptr @.str10435)
store i32 0, ptr %t3
store i32 0, ptr %t4
br label %wcond16
@@ -103042,29 +103903,29 @@ then21:
%t163 = load i32, ptr %t3
%t164 = call ptr @fn_itoa(i32 %t163)
store ptr %t164, ptr %t165
- call void @fn_emit(ptr @.str10398)
+ call void @fn_emit(ptr @.str10436)
%t166 = load ptr, ptr %t165
call void @fn_emit(ptr %t166)
- call void @fn_emit(ptr @.str10399)
+ call void @fn_emit(ptr @.str10437)
%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 @.str10400)
- call void @fn_emit(ptr @.str10401)
+ call void @fn_emit(ptr @.str10438)
+ call void @fn_emit(ptr @.str10439)
%t170 = load ptr, ptr %t165
call void @fn_emit(ptr %t170)
- call void @fn_emit(ptr @.str10402)
+ call void @fn_emit(ptr @.str10440)
%t171 = load ptr, ptr %t165
call void @fn_emit(ptr %t171)
- call void @fn_emit(ptr @.str10403)
+ call void @fn_emit(ptr @.str10441)
%t172 = load ptr, ptr %t165
call void @fn_emit(ptr %t172)
- call void @fn_emit(ptr @.str10404)
- call void @fn_emit(ptr @.str10405)
+ call void @fn_emit(ptr @.str10442)
+ call void @fn_emit(ptr @.str10443)
%t173 = load ptr, ptr %t165
call void @fn_emit(ptr %t173)
- call void @fn_emit(ptr @.str10406)
+ call void @fn_emit(ptr @.str10444)
%t174 = load ptr, ptr @g_prog
%t175 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 0
%t176 = load ptr, ptr %t175
@@ -103074,11 +103935,11 @@ then21:
%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 @.str10407)
- call void @fn_emit(ptr @.str10408)
+ call void @fn_emit(ptr @.str10445)
+ call void @fn_emit(ptr @.str10446)
%t182 = load ptr, ptr %t165
call void @fn_emit(ptr %t182)
- call void @fn_emit(ptr @.str10409)
+ call void @fn_emit(ptr @.str10447)
%t183 = load i32, ptr %t3
%t184 = add i32 %t183, 1
store i32 %t184, ptr %t3
@@ -103089,7 +103950,7 @@ ifend23:
store i32 %t186, ptr %t4
br label %wcond16
wend18:
- call void @fn_emit(ptr @.str10410)
+ call void @fn_emit(ptr @.str10448)
br label %ret
ret:
ret void
@@ -103100,22 +103961,22 @@ entry:
%t1 = alloca ptr
%t0 = call ptr @fn_itoa(i32 1024)
store ptr %t0, ptr %t1
- call void @fn_emit(ptr @.str10411)
- call void @fn_emit(ptr @.str10412)
+ call void @fn_emit(ptr @.str10449)
+ call void @fn_emit(ptr @.str10450)
%t2 = load ptr, ptr %t1
call void @fn_emit(ptr %t2)
- call void @fn_emit(ptr @.str10413)
- call void @fn_emit(ptr @.str10414)
- call void @fn_emit(ptr @.str10415)
+ call void @fn_emit(ptr @.str10451)
+ call void @fn_emit(ptr @.str10452)
+ call void @fn_emit(ptr @.str10453)
%t3 = load ptr, ptr %t1
call void @fn_emit(ptr %t3)
- call void @fn_emit(ptr @.str10416)
- call void @fn_emit(ptr @.str10417)
- call void @fn_emit(ptr @.str10418)
+ call void @fn_emit(ptr @.str10454)
+ call void @fn_emit(ptr @.str10455)
+ call void @fn_emit(ptr @.str10456)
%t4 = load ptr, ptr %t1
call void @fn_emit(ptr %t4)
- call void @fn_emit(ptr @.str10419)
- call void @fn_emit(ptr @.str10420)
+ call void @fn_emit(ptr @.str10457)
+ call void @fn_emit(ptr @.str10458)
br label %ret
ret:
ret void
@@ -103123,32 +103984,32 @@ ret:
define void @fn_emit_loopback() {
entry:
- call void @fn_emith(ptr @.str10421)
- call void @fn_emith(ptr @.str10422)
- call void @fn_emith(ptr @.str10423)
- call void @fn_emith(ptr @.str10424)
- call void @fn_emit(ptr @.str10425)
- call void @fn_emit(ptr @.str10426)
- call void @fn_emit(ptr @.str10427)
- call void @fn_emit(ptr @.str10428)
- call void @fn_emit(ptr @.str10429)
- call void @fn_emit(ptr @.str10430)
- call void @fn_emit(ptr @.str10431)
- call void @fn_emit(ptr @.str10432)
- call void @fn_emit(ptr @.str10433)
- call void @fn_emit(ptr @.str10434)
- call void @fn_emit(ptr @.str10435)
- call void @fn_emit(ptr @.str10436)
- call void @fn_emit(ptr @.str10437)
- call void @fn_emit(ptr @.str10438)
- call void @fn_emit(ptr @.str10439)
- call void @fn_emit(ptr @.str10440)
- call void @fn_emit(ptr @.str10441)
- call void @fn_emit(ptr @.str10442)
- call void @fn_emit(ptr @.str10443)
- call void @fn_emit(ptr @.str10444)
- call void @fn_emit(ptr @.str10445)
- call void @fn_emit(ptr @.str10446)
+ call void @fn_emith(ptr @.str10459)
+ call void @fn_emith(ptr @.str10460)
+ call void @fn_emith(ptr @.str10461)
+ call void @fn_emith(ptr @.str10462)
+ call void @fn_emit(ptr @.str10463)
+ call void @fn_emit(ptr @.str10464)
+ call void @fn_emit(ptr @.str10465)
+ call void @fn_emit(ptr @.str10466)
+ call void @fn_emit(ptr @.str10467)
+ call void @fn_emit(ptr @.str10468)
+ call void @fn_emit(ptr @.str10469)
+ call void @fn_emit(ptr @.str10470)
+ call void @fn_emit(ptr @.str10471)
+ call void @fn_emit(ptr @.str10472)
+ call void @fn_emit(ptr @.str10473)
+ call void @fn_emit(ptr @.str10474)
+ call void @fn_emit(ptr @.str10475)
+ call void @fn_emit(ptr @.str10476)
+ call void @fn_emit(ptr @.str10477)
+ call void @fn_emit(ptr @.str10478)
+ call void @fn_emit(ptr @.str10479)
+ call void @fn_emit(ptr @.str10480)
+ call void @fn_emit(ptr @.str10481)
+ call void @fn_emit(ptr @.str10482)
+ call void @fn_emit(ptr @.str10483)
+ call void @fn_emit(ptr @.str10484)
br label %ret
ret:
ret void
@@ -103225,7 +104086,7 @@ wbody1:
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
- %t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
+ %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
@@ -103250,7 +104111,7 @@ define ptr @fn_net_send_sym() {
entry:
%retval = alloca ptr
%t1 = alloca ptr
- %t0 = call ptr @fn_find_extern(ptr @.str10447)
+ %t0 = call ptr @fn_find_extern(ptr @.str10485)
store ptr %t0, ptr %t1
%t2 = load ptr, ptr %t1
%t3 = icmp ne ptr %t2, null
@@ -103266,7 +104127,7 @@ then0:
store ptr %t10, ptr %retval
br label %ret
ifend2:
- store ptr @.str10448, ptr %retval
+ store ptr @.str10486, ptr %retval
br label %ret
ret:
%t11 = load ptr, ptr %retval
@@ -103277,7 +104138,7 @@ define ptr @fn_net_poll_sym() {
entry:
%retval = alloca ptr
%t1 = alloca ptr
- %t0 = call ptr @fn_find_extern(ptr @.str10449)
+ %t0 = call ptr @fn_find_extern(ptr @.str10487)
store ptr %t0, ptr %t1
%t2 = load ptr, ptr %t1
%t3 = icmp ne ptr %t2, null
@@ -103293,7 +104154,7 @@ then0:
store ptr %t10, ptr %retval
br label %ret
ifend2:
- store ptr @.str10450, ptr %retval
+ store ptr @.str10488, ptr %retval
br label %ret
ret:
%t11 = load ptr, ptr %retval
@@ -103311,8 +104172,8 @@ entry:
%t44 = alloca ptr
%t65 = alloca ptr
%t71 = alloca ptr
- call void @fn_emith(ptr @.str10451)
- %t0 = call ptr @fn_find_extern(ptr @.str10452)
+ call void @fn_emith(ptr @.str10489)
+ %t0 = call ptr @fn_find_extern(ptr @.str10490)
%t1 = icmp eq ptr %t0, null
%t2 = zext i1 %t1 to i32
%t3 = icmp ne i32 %t2, 0
@@ -103323,13 +104184,13 @@ then0:
ifend2:
%t4 = call ptr @fn_net_poll_sym()
store ptr %t4, ptr %t5
- call void @fn_emit(ptr @.str10453)
- call void @fn_emit(ptr @.str10454)
+ call void @fn_emit(ptr @.str10491)
+ call void @fn_emit(ptr @.str10492)
%t6 = load ptr, ptr %t5
call void @fn_emit(ptr %t6)
- call void @fn_emit(ptr @.str10455)
- call void @fn_emit(ptr @.str10456)
- call void @fn_emit(ptr @.str10457)
+ call void @fn_emit(ptr @.str10493)
+ call void @fn_emit(ptr @.str10494)
+ call void @fn_emit(ptr @.str10495)
store i32 0, ptr %t7
br label %wcond3
wcond3:
@@ -103360,31 +104221,31 @@ then6:
%t28 = load i32, ptr %t7
%t29 = call ptr @fn_itoa(i32 %t28)
store ptr %t29, ptr %t30
- call void @fn_emit(ptr @.str10458)
+ call void @fn_emit(ptr @.str10496)
%t31 = load ptr, ptr %t30
call void @fn_emit(ptr %t31)
- call void @fn_emit(ptr @.str10459)
+ call void @fn_emit(ptr @.str10497)
%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 @.str10460)
- call void @fn_emit(ptr @.str10461)
+ call void @fn_emit(ptr @.str10498)
+ call void @fn_emit(ptr @.str10499)
%t37 = load ptr, ptr %t30
call void @fn_emit(ptr %t37)
- call void @fn_emit(ptr @.str10462)
+ call void @fn_emit(ptr @.str10500)
%t38 = load ptr, ptr %t30
call void @fn_emit(ptr %t38)
- call void @fn_emit(ptr @.str10463)
+ call void @fn_emit(ptr @.str10501)
%t39 = load ptr, ptr %t30
call void @fn_emit(ptr %t39)
- call void @fn_emit(ptr @.str10464)
- call void @fn_emit(ptr @.str10465)
+ call void @fn_emit(ptr @.str10502)
+ call void @fn_emit(ptr @.str10503)
%t40 = load ptr, ptr %t30
call void @fn_emit(ptr %t40)
- call void @fn_emit(ptr @.str10466)
+ call void @fn_emit(ptr @.str10504)
store i32 4, ptr %t41
store i32 0, ptr %t42
%t43 = call ptr @fn_buf_new()
@@ -103415,29 +104276,29 @@ wbody10:
%t64 = call ptr @fn_llty(ptr %t63)
store ptr %t64, ptr %t65
%t66 = load ptr, ptr %t30
- %t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str10467)
+ %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str10505)
%t68 = load i32, ptr %t42
%t69 = call ptr @fn_itoa(i32 %t68)
- %t70 = call ptr @fn_str_concat(ptr %t67, ptr %t69)
+ %t70 = call ptr @lp_str_concat(ptr %t67, ptr %t69)
store ptr %t70, ptr %t71
- call void @fn_emit(ptr @.str10468)
+ call void @fn_emit(ptr @.str10506)
%t72 = load ptr, ptr %t71
call void @fn_emit(ptr %t72)
- call void @fn_emit(ptr @.str10469)
+ call void @fn_emit(ptr @.str10507)
%t73 = load i32, ptr %t41
%t74 = call ptr @fn_itoa(i32 %t73)
call void @fn_emit(ptr %t74)
- call void @fn_emit(ptr @.str10470)
- call void @fn_emit(ptr @.str10471)
+ call void @fn_emit(ptr @.str10508)
+ call void @fn_emit(ptr @.str10509)
%t75 = load ptr, ptr %t71
call void @fn_emit(ptr %t75)
- call void @fn_emit(ptr @.str10472)
+ call void @fn_emit(ptr @.str10510)
%t76 = load ptr, ptr %t65
call void @fn_emit(ptr %t76)
- call void @fn_emit(ptr @.str10473)
+ call void @fn_emit(ptr @.str10511)
%t77 = load ptr, ptr %t71
call void @fn_emit(ptr %t77)
- call void @fn_emit(ptr @.str10474)
+ call void @fn_emit(ptr @.str10512)
%t78 = load i32, ptr %t42
%t79 = icmp sgt i32 %t78, 0
%t80 = zext i1 %t79 to i32
@@ -103445,51 +104306,51 @@ wbody10:
br i1 %t81, label %then12, label %ifend14
then12:
%t82 = load ptr, ptr %t44
- call void @fn_buf_puts(ptr %t82, ptr @.str10475)
+ call void @fn_buf_puts(ptr %t82, ptr @.str10513)
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 @.str10476)
+ call void @fn_buf_puts(ptr %t85, ptr @.str10514)
%t86 = load ptr, ptr %t44
%t87 = load ptr, ptr %t71
call void @fn_buf_puts(ptr %t86, ptr %t87)
- %t88 = load i32, ptr %t41
- %t89 = load ptr, ptr %t21
- %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 7
- %t91 = load ptr, ptr %t90
- %t92 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 0
- %t93 = load ptr, ptr %t92
- %t94 = load i32, ptr %t42
- %t95 = getelementptr inbounds ptr, ptr %t93, i32 %t94
- %t96 = load ptr, ptr %t95
- %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 3
- %t98 = load ptr, ptr %t97
- %t99 = call i32 @fn_net_field_ibytes(ptr %t98)
- %t100 = add i32 %t88, %t99
+ %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 @.str10477)
+ call void @fn_emit(ptr @.str10515)
%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 @.str10478)
+ call void @fn_emit(ptr @.str10516)
%t106 = load ptr, ptr %t44
%t107 = call ptr @fn_buf_str(ptr %t106)
call void @fn_emit(ptr %t107)
- call void @fn_emit(ptr @.str10479)
- call void @fn_emit(ptr @.str10480)
- call void @fn_emit(ptr @.str10481)
+ call void @fn_emit(ptr @.str10517)
+ call void @fn_emit(ptr @.str10518)
+ call void @fn_emit(ptr @.str10519)
%t108 = load ptr, ptr %t30
call void @fn_emit(ptr %t108)
- call void @fn_emit(ptr @.str10482)
+ call void @fn_emit(ptr @.str10520)
br label %ifend8
ifend8:
%t109 = load i32, ptr %t7
@@ -103497,8 +104358,8 @@ ifend8:
store i32 %t110, ptr %t7
br label %wcond3
wend5:
- call void @fn_emit(ptr @.str10483)
- call void @fn_emit(ptr @.str10484)
+ call void @fn_emit(ptr @.str10521)
+ call void @fn_emit(ptr @.str10522)
br label %ret
ret:
ret void
@@ -103591,7 +104452,7 @@ ifend13:
%t51 = icmp ne i32 %t50, 0
br i1 %t51, label %then14, label %ifend16
then14:
- call void @fn_emith(ptr @.str10485)
+ call void @fn_emith(ptr @.str10523)
call void @fn_emit_net_pump()
br label %ifend16
ifend16:
@@ -103611,7 +104472,7 @@ entry:
%t3 = load ptr, ptr %t2
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t4
- %t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str10486)
+ %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str10524)
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %then0, label %ifend2
then0:
@@ -103619,7 +104480,7 @@ then0:
br label %ret
ifend2:
%t8 = load ptr, ptr %t4
- %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str10487)
+ %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str10525)
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %then3, label %ifend5
then3:
@@ -103627,7 +104488,7 @@ then3:
br label %ret
ifend5:
%t11 = load ptr, ptr %t4
- %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str10488)
+ %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str10526)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then6, label %ifend8
then6:
@@ -103635,7 +104496,7 @@ then6:
br label %ret
ifend8:
%t14 = load ptr, ptr %t4
- %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str10489)
+ %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str10527)
%t16 = icmp ne i32 %t15, 0
br i1 %t16, label %then9, label %ifend11
then9:
@@ -103643,7 +104504,7 @@ then9:
br label %ret
ifend11:
%t17 = load ptr, ptr %t4
- %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str10490)
+ %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str10528)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then12, label %ifend14
then12:
@@ -103651,7 +104512,7 @@ then12:
br label %ret
ifend14:
%t20 = load ptr, ptr %t4
- %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str10491)
+ %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str10529)
%t22 = icmp ne i32 %t21, 0
br i1 %t22, label %then15, label %ifend17
then15:
@@ -103659,7 +104520,7 @@ then15:
br label %ret
ifend17:
%t23 = load ptr, ptr %t4
- %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str10492)
+ %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str10530)
%t25 = icmp ne i32 %t24, 0
br i1 %t25, label %then18, label %ifend20
then18:
@@ -103710,7 +104571,7 @@ wbody1:
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1
%t25 = load ptr, ptr %t24
%t26 = load ptr, ptr %t1
- %t27 = call i32 @fn_str_eq(ptr %t25, ptr %t26)
+ %t27 = call i32 @lp_str_eq(ptr %t25, ptr %t26)
%t28 = icmp ne i32 %t27, 0
br i1 %t28, label %then3, label %ifend5
then3:
@@ -103788,42 +104649,42 @@ wcond0:
br i1 %t26, label %wbody1, label %wend2
wbody1:
%t27 = load ptr, ptr %t14
- %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1
- %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 2
- %t30 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0
- %t31 = load i32, ptr %t28
- %t32 = load i32, ptr %t29
- %t33 = icmp sge i32 %t31, %t32
- br i1 %t33, label %grow3, label %put4
+ %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:
- %t34 = mul i32 %t32, 2
- %t35 = icmp eq i32 %t32, 0
- %t36 = select i1 %t35, i32 8, i32 %t34
- %t37 = getelementptr ptr, ptr null, i32 1
- %t38 = ptrtoint ptr %t37 to i64
- %t39 = zext i32 %t36 to i64
- %t40 = mul i64 %t39, %t38
- %t41 = load ptr, ptr %t30
- %t42 = call ptr @realloc(ptr %t41, i64 %t40)
- store ptr %t42, ptr %t30
- store i32 %t36, ptr %t29
+ %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:
- %t43 = load ptr, ptr %t7
- %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 5
- %t45 = load ptr, ptr %t44
- %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 7
- %t47 = load ptr, ptr %t46
- %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0
- %t49 = load ptr, ptr %t48
- %t50 = load i32, ptr %t15
- %t51 = getelementptr inbounds ptr, ptr %t49, i32 %t50
- %t52 = load ptr, ptr %t51
- %t53 = load ptr, ptr %t30
- %t54 = getelementptr inbounds ptr, ptr %t53, i32 %t31
- store ptr %t52, ptr %t54
- %t55 = add i32 %t31, 1
- store i32 %t55, ptr %t28
+ %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
@@ -103863,7 +104724,7 @@ grow5:
put6:
%t81 = load ptr, ptr %t68
%t82 = getelementptr inbounds ptr, ptr %t81, i32 %t69
- store ptr @.str10493, ptr %t82
+ store ptr @.str10531, ptr %t82
%t83 = add i32 %t69, 1
store i32 %t83, ptr %t66
%t84 = load ptr, ptr %t64
@@ -103890,7 +104751,7 @@ grow7:
put8:
%t100 = load ptr, ptr %t87
%t101 = getelementptr inbounds ptr, ptr %t100, i32 %t88
- store ptr @.str10494, ptr %t101
+ store ptr @.str10532, ptr %t101
%t102 = add i32 %t88, 1
store i32 %t102, ptr %t85
%t103 = load ptr, ptr %t64
@@ -103917,7 +104778,7 @@ grow9:
put10:
%t119 = load ptr, ptr %t106
%t120 = getelementptr inbounds ptr, ptr %t119, i32 %t107
- store ptr @.str10495, ptr %t120
+ store ptr @.str10533, ptr %t120
%t121 = add i32 %t107, 1
store i32 %t121, ptr %t104
%t122 = load ptr, ptr %t64
@@ -103944,7 +104805,7 @@ grow11:
put12:
%t138 = load ptr, ptr %t125
%t139 = getelementptr inbounds ptr, ptr %t138, i32 %t126
- store ptr @.str10496, ptr %t139
+ store ptr @.str10534, ptr %t139
%t140 = add i32 %t126, 1
store i32 %t140, ptr %t123
store i32 0, ptr %t141
@@ -104023,33 +104884,33 @@ then22:
%t201 = load ptr, ptr %t184
store ptr %t201, ptr %t200
%t202 = load ptr, ptr %t14
- %t203 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 1
- %t204 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 2
- %t205 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 0
- %t206 = load i32, ptr %t203
+ %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 = icmp sge i32 %t206, %t207
- br i1 %t208, label %grow25, label %put26
+ %t208 = load i32, ptr %t205
+ %t209 = icmp sge i32 %t207, %t208
+ br i1 %t209, label %grow25, label %put26
grow25:
- %t209 = mul i32 %t207, 2
- %t210 = icmp eq i32 %t207, 0
- %t211 = select i1 %t210, i32 8, i32 %t209
- %t212 = getelementptr ptr, ptr null, i32 1
- %t213 = ptrtoint ptr %t212 to i64
- %t214 = zext i32 %t211 to i64
- %t215 = mul i64 %t214, %t213
- %t216 = load ptr, ptr %t205
- %t217 = call ptr @realloc(ptr %t216, i64 %t215)
- store ptr %t217, ptr %t205
- store i32 %t211, ptr %t204
+ %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:
- %t218 = load ptr, ptr %t190
- %t219 = load ptr, ptr %t205
- %t220 = getelementptr inbounds ptr, ptr %t219, i32 %t206
- store ptr %t218, ptr %t220
- %t221 = add i32 %t206, 1
- store i32 %t221, ptr %t203
+ %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
@@ -104093,61 +104954,61 @@ entry:
%t4 = load i32, ptr %t3
store i32 %t4, ptr %t5
%t6 = load ptr, ptr @g_uiw
- %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
- %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 2
- %t9 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0
- %t10 = load i32, ptr %t7
+ %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 = icmp sge i32 %t10, %t11
- br i1 %t12, label %grow0, label %put1
+ %t12 = load i32, ptr %t9
+ %t13 = icmp sge i32 %t11, %t12
+ br i1 %t13, label %grow0, label %put1
grow0:
- %t13 = mul i32 %t11, 2
- %t14 = icmp eq i32 %t11, 0
- %t15 = select i1 %t14, i32 8, i32 %t13
- %t16 = getelementptr ptr, ptr null, i32 1
- %t17 = ptrtoint ptr %t16 to i64
- %t18 = zext i32 %t15 to i64
- %t19 = mul i64 %t18, %t17
- %t20 = load ptr, ptr %t9
- %t21 = call ptr @realloc(ptr %t20, i64 %t19)
- store ptr %t21, ptr %t9
- store i32 %t15, ptr %t8
+ %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:
- %t22 = load ptr, ptr %t0
- %t23 = load ptr, ptr %t9
- %t24 = getelementptr inbounds ptr, ptr %t23, i32 %t10
- store ptr %t22, ptr %t24
- %t25 = add i32 %t10, 1
- store i32 %t25, ptr %t7
+ %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 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1
- %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2
- %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
- %t30 = load i32, ptr %t27
+ %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 = icmp sge i32 %t30, %t31
- br i1 %t32, label %grow2, label %put3
+ %t32 = load i32, ptr %t29
+ %t33 = icmp sge i32 %t31, %t32
+ br i1 %t33, label %grow2, label %put3
grow2:
- %t33 = mul i32 %t31, 2
- %t34 = icmp eq i32 %t31, 0
- %t35 = select i1 %t34, i32 8, i32 %t33
- %t36 = getelementptr i32, ptr null, i32 1
- %t37 = ptrtoint ptr %t36 to i64
- %t38 = zext i32 %t35 to i64
- %t39 = mul i64 %t38, %t37
- %t40 = load ptr, ptr %t29
- %t41 = call ptr @realloc(ptr %t40, i64 %t39)
- store ptr %t41, ptr %t29
- store i32 %t35, ptr %t28
+ %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:
- %t42 = load i32, ptr %t1
- %t43 = load ptr, ptr %t29
- %t44 = getelementptr inbounds i32, ptr %t43, i32 %t30
- store i32 %t42, ptr %t44
- %t45 = add i32 %t30, 1
- store i32 %t45, ptr %t27
+ %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:
@@ -104263,35 +105124,35 @@ scend4:
br i1 %t52, label %then5, label %ifend7
then5:
%t53 = load ptr, ptr @g_ui_roots
- %t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1
- %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 2
- %t56 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0
- %t57 = load i32, ptr %t54
- %t58 = load i32, ptr %t55
- %t59 = icmp sge i32 %t57, %t58
- br i1 %t59, label %grow8, label %put9
+ %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:
- %t60 = mul i32 %t58, 2
- %t61 = icmp eq i32 %t58, 0
- %t62 = select i1 %t61, i32 8, i32 %t60
- %t63 = getelementptr i32, ptr null, i32 1
- %t64 = ptrtoint ptr %t63 to i64
- %t65 = zext i32 %t62 to i64
- %t66 = mul i64 %t65, %t64
- %t67 = load ptr, ptr %t56
- %t68 = call ptr @realloc(ptr %t67, i64 %t66)
- store ptr %t68, ptr %t56
- store i32 %t62, ptr %t55
+ %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:
- %t69 = load ptr, ptr @g_uiw
- %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1
- %t71 = load i32, ptr %t70
- %t72 = load ptr, ptr %t56
- %t73 = getelementptr inbounds i32, ptr %t72, i32 %t57
- store i32 %t71, ptr %t73
- %t74 = add i32 %t57, 1
- store i32 %t74, ptr %t54
+ %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
@@ -104405,7 +105266,7 @@ ifend2:
%t6 = load ptr, ptr %t0
%t7 = call i64 @strlen(ptr %t6)
%t8 = trunc i64 %t7 to i32
- %t9 = call ptr @fn_str_slice(ptr %t5, i32 3, i32 %t8)
+ %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
@@ -104464,7 +105325,7 @@ then8:
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1
%t55 = load ptr, ptr %t54
%t56 = load ptr, ptr %t10
- %t57 = call i32 @fn_str_eq(ptr %t55, ptr %t56)
+ %t57 = call i32 @lp_str_eq(ptr %t55, ptr %t56)
%t58 = icmp ne i32 %t57, 0
br i1 %t58, label %then11, label %ifend13
then11:
@@ -104505,7 +105366,7 @@ wbody15:
%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 @.str10497)
+ %t82 = call ptr @fn_ui_prop(ptr %t81, ptr @.str10535)
store ptr %t82, ptr %t83
%t84 = load ptr, ptr %t83
%t85 = icmp ne ptr %t84, null
@@ -104527,7 +105388,7 @@ sc20:
%t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1
%t98 = load ptr, ptr %t97
%t99 = load ptr, ptr %t10
- %t100 = call i32 @fn_str_eq(ptr %t98, ptr %t99)
+ %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
@@ -104634,18 +105495,18 @@ entry:
store i32 %arg_idx, ptr %t0
store i32 %arg_key, ptr %t1
store ptr %arg_val, ptr %t2
- call void @fn_emit(ptr @.str10498)
+ call void @fn_emit(ptr @.str10536)
%t3 = load i32, ptr %t0
%t4 = call ptr @fn_itoa(i32 %t3)
call void @fn_emit(ptr %t4)
- call void @fn_emit(ptr @.str10499)
+ call void @fn_emit(ptr @.str10537)
%t5 = load i32, ptr %t1
%t6 = call ptr @fn_itoa(i32 %t5)
call void @fn_emit(ptr %t6)
- call void @fn_emit(ptr @.str10500)
+ call void @fn_emit(ptr @.str10538)
%t7 = load ptr, ptr %t2
call void @fn_emit(ptr %t7)
- call void @fn_emit(ptr @.str10501)
+ call void @fn_emit(ptr @.str10539)
br label %ret
ret:
ret void
@@ -104657,7 +105518,7 @@ entry:
%t0 = alloca ptr
store ptr %arg_k, ptr %t0
%t1 = load ptr, ptr %t0
- %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str10502)
+ %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str10540)
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then0, label %ifend2
then0:
@@ -104665,7 +105526,7 @@ then0:
br label %ret
ifend2:
%t4 = load ptr, ptr %t0
- %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str10503)
+ %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str10541)
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then3, label %ifend5
then3:
@@ -104673,7 +105534,7 @@ then3:
br label %ret
ifend5:
%t7 = load ptr, ptr %t0
- %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str10504)
+ %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str10542)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then6, label %ifend8
then6:
@@ -104681,7 +105542,7 @@ then6:
br label %ret
ifend8:
%t10 = load ptr, ptr %t0
- %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str10505)
+ %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str10543)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then9, label %ifend11
then9:
@@ -104689,7 +105550,7 @@ then9:
br label %ret
ifend11:
%t13 = load ptr, ptr %t0
- %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str10506)
+ %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str10544)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then12, label %ifend14
then12:
@@ -104697,7 +105558,7 @@ then12:
br label %ret
ifend14:
%t16 = load ptr, ptr %t0
- %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str10507)
+ %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str10545)
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then15, label %ifend17
then15:
@@ -104705,7 +105566,7 @@ then15:
br label %ret
ifend17:
%t19 = load ptr, ptr %t0
- %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str10508)
+ %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str10546)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then18, label %ifend20
then18:
@@ -104713,7 +105574,7 @@ then18:
br label %ret
ifend20:
%t22 = load ptr, ptr %t0
- %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str10509)
+ %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str10547)
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then21, label %ifend23
then21:
@@ -104721,7 +105582,7 @@ then21:
br label %ret
ifend23:
%t25 = load ptr, ptr %t0
- %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str10510)
+ %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str10548)
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then24, label %ifend26
then24:
@@ -104729,7 +105590,7 @@ then24:
br label %ret
ifend26:
%t28 = load ptr, ptr %t0
- %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str10511)
+ %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str10549)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then27, label %ifend29
then27:
@@ -104737,7 +105598,7 @@ then27:
br label %ret
ifend29:
%t31 = load ptr, ptr %t0
- %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str10512)
+ %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str10550)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then30, label %ifend32
then30:
@@ -104745,7 +105606,7 @@ then30:
br label %ret
ifend32:
%t34 = load ptr, ptr %t0
- %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str10513)
+ %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str10551)
%t36 = icmp ne i32 %t35, 0
br i1 %t36, label %then33, label %ifend35
then33:
@@ -104753,7 +105614,7 @@ then33:
br label %ret
ifend35:
%t37 = load ptr, ptr %t0
- %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str10514)
+ %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str10552)
%t39 = icmp ne i32 %t38, 0
br i1 %t39, label %then36, label %ifend38
then36:
@@ -104761,7 +105622,7 @@ then36:
br label %ret
ifend38:
%t40 = load ptr, ptr %t0
- %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str10515)
+ %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str10553)
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then39, label %ifend41
then39:
@@ -104812,13 +105673,13 @@ entry:
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t1
store ptr %t5, ptr @g_code
- call void @fn_emit(ptr @.str10516)
+ call void @fn_emit(ptr @.str10554)
%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 @.str10517)
+ call void @fn_emit(ptr @.str10555)
store i32 0, ptr %t10
br label %wcond0
wcond0:
@@ -104861,7 +105722,7 @@ wbody1:
br i1 %t42, label %then3, label %ifend5
then3:
%t43 = load i32, ptr %t10
- call void @fn_ll_ui_set(i32 %t43, i32 17, ptr @.str10518)
+ call void @fn_ll_ui_set(i32 %t43, i32 17, ptr @.str10556)
br label %ifend5
ifend5:
%t44 = load i32, ptr %t10
@@ -104895,14 +105756,14 @@ wbody7:
%t68 = load ptr, ptr %t67
store ptr %t68, ptr %t69
%t71 = load ptr, ptr %t65
- %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str10519)
+ %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str10557)
%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 @fn_str_eq(ptr %t75, ptr @.str10520)
+ %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str10558)
%t77 = icmp ne i32 %t76, 0
%t78 = zext i1 %t77 to i32
store i32 %t78, ptr %t70
@@ -104918,34 +105779,34 @@ then11:
br label %wcond6
ifend13:
%t83 = load ptr, ptr %t65
- %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str10521)
+ %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str10559)
%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 @.str10522)
+ call void @fn_emit(ptr @.str10560)
%t89 = load i32, ptr %t10
%t90 = call ptr @fn_itoa(i32 %t89)
call void @fn_emit(ptr %t90)
- call void @fn_emit(ptr @.str10523)
+ call void @fn_emit(ptr @.str10561)
%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 @.str10524)
+ call void @fn_emit(ptr @.str10562)
br label %ifend16
else15:
%t95 = load ptr, ptr %t65
- %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str10525)
+ %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str10563)
%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 @fn_str_eq(ptr %t99, ptr @.str10526)
+ %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str10564)
%t101 = icmp ne i32 %t100, 0
%t102 = zext i1 %t101 to i32
store i32 %t102, ptr %t94
@@ -104961,12 +105822,12 @@ then19:
%t108 = load ptr, ptr %t107
%t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0
%t110 = load ptr, ptr %t109
- %t111 = call ptr @fn_str_concat(ptr @.str10527, ptr %t110)
- %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str10528)
+ %t111 = call ptr @lp_str_concat(ptr @.str10565, ptr %t110)
+ %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str10566)
%t113 = call ptr @fn_emit_bind(ptr %t112)
store ptr %t113, ptr %t114
%t115 = load ptr, ptr %t65
- %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str10529)
+ %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str10567)
%t117 = icmp ne i32 %t116, 0
br i1 %t117, label %then22, label %else23
then22:
@@ -104983,7 +105844,7 @@ ifend24:
br label %ifend21
else20:
%t122 = load ptr, ptr %t65
- %t123 = call i32 @fn_str_eq(ptr %t122, ptr @.str10530)
+ %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str10568)
%t124 = icmp ne i32 %t123, 0
br i1 %t124, label %then25, label %else26
then25:
@@ -104999,7 +105860,7 @@ then28:
%t132 = load ptr, ptr %t69
%t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 1
%t134 = load ptr, ptr %t133
- %t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str10531)
+ %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str10569)
%t136 = icmp ne i32 %t135, 0
br i1 %t136, label %then31, label %ifend33
then31:
@@ -105009,7 +105870,7 @@ 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 @fn_str_eq(ptr %t139, ptr @.str10532)
+ %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str10570)
%t141 = icmp ne i32 %t140, 0
br i1 %t141, label %then34, label %ifend36
then34:
@@ -105073,7 +105934,7 @@ scend41:
br i1 %t179, label %then42, label %ifend44
then42:
%t180 = load i32, ptr %t10
- call void @fn_ll_ui_set(i32 %t180, i32 6, ptr @.str10533)
+ call void @fn_ll_ui_set(i32 %t180, i32 6, ptr @.str10571)
br label %ifend44
ifend44:
br label %ifend39
@@ -105096,14 +105957,14 @@ wend8:
wend2:
%t185 = load ptr, ptr %t4
store ptr %t185, ptr @g_code
- call void @fn_emit(ptr @.str10534)
+ call void @fn_emit(ptr @.str10572)
%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 @.str10535)
+ call void @fn_emit(ptr @.str10573)
br label %ret
ret:
ret void
@@ -105134,7 +105995,7 @@ wbody1:
%t14 = icmp ne i32 %t13, 0
br i1 %t14, label %then3, label %ifend5
then3:
- call void @fn_emit(ptr @.str10536)
+ call void @fn_emit(ptr @.str10574)
br label %ifend5
ifend5:
%t15 = load ptr, ptr %t0
@@ -105149,7 +106010,7 @@ ifend5:
%t24 = load ptr, ptr %t23
%t25 = call ptr @fn_llty(ptr %t24)
call void @fn_emit(ptr %t25)
- call void @fn_emit(ptr @.str10537)
+ call void @fn_emit(ptr @.str10575)
%t26 = load ptr, ptr %t0
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7
%t28 = load ptr, ptr %t27
@@ -105204,19 +106065,19 @@ entry:
%t11 = call ptr @fn_llty(ptr %t10)
store ptr %t11, ptr %t12
%t13 = load ptr, ptr %t12
- %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str10538)
+ %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str10576)
%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 @.str10539)
+ call void @fn_buf_puts(ptr %t18, ptr @.str10577)
%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 @.str10540)
+ call void @fn_buf_puts(ptr %t21, ptr @.str10578)
br label %ifend2
ifend2:
store i32 0, ptr %t22
@@ -105248,21 +106109,21 @@ wbody4:
%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 @.str10541)
+ call void @fn_emit(ptr @.str10579)
%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 @.str10542)
+ call void @fn_emit(ptr @.str10580)
%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 @.str10543)
+ call void @fn_emit(ptr @.str10581)
%t54 = load ptr, ptr %t46
call void @fn_emit(ptr %t54)
- call void @fn_emit(ptr @.str10544)
+ call void @fn_emit(ptr @.str10582)
%t55 = load ptr, ptr %t40
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1
%t57 = load ptr, ptr %t56
@@ -105286,53 +106147,53 @@ wend5:
%t70 = icmp ne i32 %t69, 0
br i1 %t70, label %then6, label %ifend8
then6:
- call void @fn_emit(ptr @.str10545)
+ call void @fn_emit(ptr @.str10583)
br label %ifend8
ifend8:
- call void @fn_emit(ptr @.str10546)
+ call void @fn_emit(ptr @.str10584)
%t71 = load ptr, ptr %t12
- %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str10547)
+ %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str10585)
%t73 = icmp ne i32 %t72, 0
br i1 %t73, label %then9, label %else10
then9:
- call void @fn_emit(ptr @.str10548)
+ call void @fn_emit(ptr @.str10586)
br label %ifend11
else10:
%t74 = load ptr, ptr %t12
- %t75 = call ptr @fn_str_concat(ptr @.str10549, ptr %t74)
- %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str10550)
+ %t75 = call ptr @lp_str_concat(ptr @.str10587, ptr %t74)
+ %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str10588)
%t77 = call ptr @fn_emit_bind(ptr %t76)
store ptr %t77, ptr %t78
- call void @fn_emit(ptr @.str10551)
+ call void @fn_emit(ptr @.str10589)
%t79 = load ptr, ptr %t12
call void @fn_emit(ptr %t79)
- call void @fn_emit(ptr @.str10552)
+ call void @fn_emit(ptr @.str10590)
%t80 = load ptr, ptr %t78
call void @fn_emit(ptr %t80)
- call void @fn_emit(ptr @.str10553)
+ call void @fn_emit(ptr @.str10591)
br label %ifend11
ifend11:
%t81 = load ptr, ptr %t8
store ptr %t81, ptr @g_code
- call void @fn_emit(ptr @.str10554)
+ call void @fn_emit(ptr @.str10592)
%t82 = load ptr, ptr %t12
call void @fn_emit(ptr %t82)
- call void @fn_emit(ptr @.str10555)
+ call void @fn_emit(ptr @.str10593)
%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 @.str10556)
+ call void @fn_emit(ptr @.str10594)
%t86 = load ptr, ptr %t0
call void @fn_emit_params_sig(ptr %t86)
- call void @fn_emit(ptr @.str10557)
+ call void @fn_emit(ptr @.str10595)
%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 @.str10558)
+ call void @fn_emit(ptr @.str10596)
br label %ret
ret:
ret void
@@ -105350,7 +106211,7 @@ entry:
store i32 0, ptr @g_g_term
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
- store ptr @.str10559, ptr @g_ret_ty
+ store ptr @.str10597, ptr @g_ret_ty
%t1 = call ptr @fn_buf_new()
store ptr %t1, ptr %t2
%t3 = call ptr @fn_buf_new()
@@ -105360,20 +106221,20 @@ entry:
%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 @.str10560)
- call void @fn_emit(ptr @.str10561)
- call void @fn_emit(ptr @.str10562)
- call void @fn_emit(ptr @.str10563)
- %t8 = call ptr @fn_find_fn(ptr @.str10564)
+ call void @fn_buf_puts(ptr %t7, ptr @.str10598)
+ call void @fn_emit(ptr @.str10599)
+ call void @fn_emit(ptr @.str10600)
+ call void @fn_emit(ptr @.str10601)
+ %t8 = call ptr @fn_find_fn(ptr @.str10602)
%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 @.str10565)
+ call void @fn_emit(ptr @.str10603)
br label %ifend2
ifend2:
- call void @fn_emit(ptr @.str10566)
+ call void @fn_emit(ptr @.str10604)
%t12 = load ptr, ptr %t0
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4
%t14 = load ptr, ptr %t13
@@ -105384,26 +106245,26 @@ ifend2:
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
- call void @fn_emit(ptr @.str10567)
+ call void @fn_emit(ptr @.str10605)
br label %ifend5
ifend5:
- call void @fn_emit(ptr @.str10568)
- %t19 = call ptr @fn_emit_bind(ptr @.str10569)
+ call void @fn_emit(ptr @.str10606)
+ %t19 = call ptr @fn_emit_bind(ptr @.str10607)
store ptr %t19, ptr %t20
- call void @fn_emit(ptr @.str10570)
+ call void @fn_emit(ptr @.str10608)
%t21 = load ptr, ptr %t20
call void @fn_emit(ptr %t21)
- call void @fn_emit(ptr @.str10571)
+ call void @fn_emit(ptr @.str10609)
%t22 = load ptr, ptr %t5
store ptr %t22, ptr @g_code
- call void @fn_emit(ptr @.str10572)
+ call void @fn_emit(ptr @.str10610)
%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 @.str10573)
+ call void @fn_emit(ptr @.str10611)
br label %ret
ret:
ret void
@@ -105422,7 +106283,7 @@ entry:
store i32 0, ptr @g_g_term
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
- store ptr @.str10574, ptr @g_ret_ty
+ store ptr @.str10612, ptr @g_ret_ty
%t2 = call ptr @fn_buf_new()
store ptr %t2, ptr %t3
%t4 = call ptr @fn_buf_new()
@@ -105441,24 +106302,24 @@ entry:
%t14 = icmp ne i32 %t13, 0
br i1 %t14, label %then0, label %ifend2
then0:
- call void @fn_emit(ptr @.str10575)
+ call void @fn_emit(ptr @.str10613)
br label %ifend2
ifend2:
- call void @fn_emit(ptr @.str10576)
+ call void @fn_emit(ptr @.str10614)
%t15 = load ptr, ptr %t6
store ptr %t15, ptr @g_code
- call void @fn_emit(ptr @.str10577)
+ call void @fn_emit(ptr @.str10615)
%t16 = load i32, ptr %t1
%t17 = call ptr @fn_itoa(i32 %t16)
call void @fn_emit(ptr %t17)
- call void @fn_emit(ptr @.str10578)
+ call void @fn_emit(ptr @.str10616)
%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 @.str10579)
+ call void @fn_emit(ptr @.str10617)
br label %ret
ret:
ret void
@@ -105480,8 +106341,8 @@ entry:
%t117 = alloca ptr
%t128 = alloca ptr
%t133 = alloca ptr
- call void @fn_emith(ptr @.str10580)
- call void @fn_emith(ptr @.str10581)
+ call void @fn_emith(ptr @.str10618)
+ call void @fn_emith(ptr @.str10619)
store i32 0, ptr %t0
br label %wcond0
wcond0:
@@ -105511,23 +106372,23 @@ wend2:
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
- call void @fn_emith(ptr @.str10582)
+ call void @fn_emith(ptr @.str10620)
br label %ifend5
ifend5:
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
- call void @fn_emit(ptr @.str10583)
- call void @fn_emit(ptr @.str10584)
- call void @fn_emit(ptr @.str10585)
- call void @fn_emit(ptr @.str10586)
+ call void @fn_emit(ptr @.str10621)
+ call void @fn_emit(ptr @.str10622)
+ call void @fn_emit(ptr @.str10623)
+ call void @fn_emit(ptr @.str10624)
%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 @.str10587)
+ call void @fn_emit(ptr @.str10625)
br label %ifend8
ifend8:
- call void @fn_emit(ptr @.str10588)
+ call void @fn_emit(ptr @.str10626)
store i32 0, ptr %t0
br label %wcond9
wcond9:
@@ -105548,7 +106409,7 @@ wbody10:
%t33 = load ptr, ptr %t32
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1
%t35 = load ptr, ptr %t34
- %t36 = call ptr @fn_str_concat(ptr @.str10589, ptr %t35)
+ %t36 = call ptr @lp_str_concat(ptr @.str10627, ptr %t35)
%t37 = call ptr @fn_emit_str_const(ptr %t36)
store ptr %t37, ptr %t38
%t39 = load ptr, ptr @g_g_tests
@@ -105559,121 +106420,247 @@ wbody10:
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1
%t46 = load ptr, ptr %t45
- %t47 = call ptr @fn_str_concat(ptr @.str10590, ptr %t46)
+ %t47 = call ptr @lp_str_concat(ptr @.str10628, ptr %t46)
%t48 = call ptr @fn_emit_str_const(ptr %t47)
store ptr %t48, ptr %t49
- call void @fn_emit(ptr @.str10591)
+ call void @fn_emit(ptr @.str10629)
%t50 = load i32, ptr %t0
%t51 = call ptr @fn_itoa(i32 %t50)
- %t52 = call ptr @fn_str_concat(ptr @.str10592, ptr %t51)
- %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str10593)
+ %t52 = call ptr @lp_str_concat(ptr @.str10630, ptr %t51)
+ %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10631)
call void @fn_emit(ptr %t53)
- %t54 = call ptr @fn_emit_bind(ptr @.str10594)
+ %t54 = call ptr @fn_emit_bind(ptr @.str10632)
store ptr %t54, ptr %t55
%t56 = load ptr, ptr %t55
- %t57 = call ptr @fn_str_concat(ptr @.str10595, ptr %t56)
- %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str10596)
+ %t57 = call ptr @lp_str_concat(ptr @.str10633, ptr %t56)
+ %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str10634)
%t59 = call ptr @fn_emit_bind(ptr %t58)
store ptr %t59, ptr %t60
- %t61 = call ptr @fn_lbl(ptr @.str10597)
+ %t61 = call ptr @fn_lbl(ptr @.str10635)
store ptr %t61, ptr %t62
- %t63 = call ptr @fn_lbl(ptr @.str10598)
+ %t63 = call ptr @fn_lbl(ptr @.str10636)
store ptr %t63, ptr %t64
- %t65 = call ptr @fn_lbl(ptr @.str10599)
+ %t65 = call ptr @fn_lbl(ptr @.str10637)
store ptr %t65, ptr %t66
%t67 = load ptr, ptr %t60
- %t68 = call ptr @fn_str_concat(ptr @.str10600, ptr %t67)
- %t69 = call ptr @fn_str_concat(ptr %t68, ptr @.str10601)
+ %t68 = call ptr @lp_str_concat(ptr @.str10638, ptr %t67)
+ %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str10639)
%t70 = load ptr, ptr %t64
- %t71 = call ptr @fn_str_concat(ptr %t69, ptr %t70)
- %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str10602)
+ %t71 = call ptr @lp_str_concat(ptr %t69, ptr %t70)
+ %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str10640)
%t73 = load ptr, ptr %t62
- %t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
- %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str10603)
+ %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73)
+ %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str10641)
call void @fn_emit(ptr %t75)
%t76 = load ptr, ptr %t62
- %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str10604)
+ %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str10642)
call void @fn_emit(ptr %t77)
%t78 = load ptr, ptr %t38
- %t79 = call ptr @fn_str_concat(ptr @.str10605, ptr %t78)
- %t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str10606)
+ %t79 = call ptr @lp_str_concat(ptr @.str10643, ptr %t78)
+ %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str10644)
call void @fn_emit(ptr %t80)
%t81 = load ptr, ptr %t66
- %t82 = call ptr @fn_str_concat(ptr @.str10607, ptr %t81)
- %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str10608)
+ %t82 = call ptr @lp_str_concat(ptr @.str10645, ptr %t81)
+ %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str10646)
call void @fn_emit(ptr %t83)
%t84 = load ptr, ptr %t64
- %t85 = call ptr @fn_str_concat(ptr %t84, ptr @.str10609)
+ %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str10647)
call void @fn_emit(ptr %t85)
- %t86 = call ptr @fn_emit_bind(ptr @.str10610)
+ %t86 = call ptr @fn_emit_bind(ptr @.str10648)
store ptr %t86, ptr %t87
%t88 = load ptr, ptr %t87
- %t89 = call ptr @fn_str_concat(ptr @.str10611, ptr %t88)
- %t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str10612)
+ %t89 = call ptr @lp_str_concat(ptr @.str10649, ptr %t88)
+ %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str10650)
%t91 = call ptr @fn_emit_bind(ptr %t90)
store ptr %t91, ptr %t92
%t93 = load ptr, ptr %t92
- %t94 = call ptr @fn_str_concat(ptr @.str10613, ptr %t93)
- %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str10614)
+ %t94 = call ptr @lp_str_concat(ptr @.str10651, ptr %t93)
+ %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str10652)
call void @fn_emit(ptr %t95)
%t96 = load ptr, ptr %t49
- %t97 = call ptr @fn_str_concat(ptr @.str10615, ptr %t96)
- %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str10616)
+ %t97 = call ptr @lp_str_concat(ptr @.str10653, ptr %t96)
+ %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str10654)
call void @fn_emit(ptr %t98)
%t99 = load ptr, ptr %t66
- %t100 = call ptr @fn_str_concat(ptr @.str10617, ptr %t99)
- %t101 = call ptr @fn_str_concat(ptr %t100, ptr @.str10618)
+ %t100 = call ptr @lp_str_concat(ptr @.str10655, ptr %t99)
+ %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str10656)
call void @fn_emit(ptr %t101)
%t102 = load ptr, ptr %t66
- %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str10619)
+ %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str10657)
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 @.str10620)
+ %t106 = call ptr @fn_emit_bind(ptr @.str10658)
store ptr %t106, ptr %t107
%t108 = load ptr, ptr @g_g_tests
%t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1
%t110 = load i32, ptr %t109
%t111 = call ptr @fn_itoa(i32 %t110)
- %t112 = call ptr @fn_str_concat(ptr @.str10621, ptr %t111)
- %t113 = call ptr @fn_str_concat(ptr %t112, ptr @.str10622)
+ %t112 = call ptr @lp_str_concat(ptr @.str10659, ptr %t111)
+ %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str10660)
%t114 = load ptr, ptr %t107
- %t115 = call ptr @fn_str_concat(ptr %t113, ptr %t114)
+ %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 @fn_str_concat(ptr @.str10623, ptr %t118)
- %t120 = call ptr @fn_str_concat(ptr %t119, ptr @.str10624)
+ %t119 = call ptr @lp_str_concat(ptr @.str10661, ptr %t118)
+ %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str10662)
%t121 = load ptr, ptr %t107
- %t122 = call ptr @fn_str_concat(ptr %t120, ptr %t121)
- %t123 = call ptr @fn_str_concat(ptr %t122, ptr @.str10625)
+ %t122 = call ptr @lp_str_concat(ptr %t120, ptr %t121)
+ %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str10663)
call void @fn_emit(ptr %t123)
%t124 = load ptr, ptr %t107
- %t125 = call ptr @fn_str_concat(ptr @.str10626, ptr %t124)
- %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str10627)
+ %t125 = call ptr @lp_str_concat(ptr @.str10664, ptr %t124)
+ %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str10665)
%t127 = call ptr @fn_emit_bind(ptr %t126)
store ptr %t127, ptr %t128
%t129 = load ptr, ptr %t128
- %t130 = call ptr @fn_str_concat(ptr @.str10628, ptr %t129)
- %t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str10629)
+ %t130 = call ptr @lp_str_concat(ptr @.str10666, ptr %t129)
+ %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str10667)
%t132 = call ptr @fn_emit_bind(ptr %t131)
store ptr %t132, ptr %t133
%t134 = load ptr, ptr %t133
- %t135 = call ptr @fn_str_concat(ptr @.str10630, ptr %t134)
- %t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str10631)
+ %t135 = call ptr @lp_str_concat(ptr @.str10668, ptr %t134)
+ %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str10669)
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 @.str10670, ptr %t65)
+ %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str10671)
+ %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 @.str10672)
+ %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 @.str10673)
+ 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
+ call void @fn_check_duplicate_fns()
%t0 = call ptr @fn_buf_new()
store ptr %t0, ptr @g_head
%t1 = call ptr @fn_buf_new()
@@ -106106,57 +107093,64 @@ then92:
call void @fn_emit_os_prelude()
br label %ifend94
ifend94:
- %t204 = load i32, ptr @g_g_uses_unicodert
+ %t204 = load i32, ptr @g_g_uses_pid
%t205 = icmp ne i32 %t204, 0
br i1 %t205, label %then95, label %ifend97
then95:
- call void @fn_emit_unicode_prelude()
+ call void @fn_emith(ptr @.str10674)
br label %ifend97
ifend97:
- %t206 = load i32, ptr @g_g_uses_fsrt
+ %t206 = load i32, ptr @g_g_uses_unicodert
%t207 = icmp ne i32 %t206, 0
br i1 %t207, label %then98, label %ifend100
then98:
- call void @fn_emit_fs_prelude()
+ call void @fn_emit_unicode_prelude()
br label %ifend100
ifend100:
- %t208 = load i32, ptr @g_g_uses_datert
+ %t208 = load i32, ptr @g_g_uses_fsrt
%t209 = icmp ne i32 %t208, 0
br i1 %t209, label %then101, label %ifend103
then101:
- call void @fn_emit_datetime_prelude()
+ call void @fn_emit_fs_prelude()
br label %ifend103
ifend103:
- %t210 = load i32, ptr @g_g_uses_panic
+ %t210 = load i32, ptr @g_g_uses_datert
%t211 = icmp ne i32 %t210, 0
br i1 %t211, label %then104, label %ifend106
then104:
- call void @fn_emith(ptr @.str10632)
- call void @fn_emith(ptr @.str10633)
+ call void @fn_emit_datetime_prelude()
br label %ifend106
ifend106:
- %t212 = load i32, ptr @g_g_uses_result
+ %t212 = load i32, ptr @g_g_uses_panic
%t213 = icmp ne i32 %t212, 0
br i1 %t213, label %then107, label %ifend109
then107:
- call void @fn_emith(ptr @.str10634)
+ call void @fn_emith(ptr @.str10675)
+ call void @fn_emith(ptr @.str10676)
br label %ifend109
ifend109:
- %t214 = load i32, ptr @g_g_uses_option
+ %t214 = load i32, ptr @g_g_uses_result
%t215 = icmp ne i32 %t214, 0
br i1 %t215, label %then110, label %ifend112
then110:
- call void @fn_emith(ptr @.str10635)
+ call void @fn_emith(ptr @.str10677)
br label %ifend112
ifend112:
- call void @fn_emit_cov_runtime()
- %t216 = load i32, ptr @g_g_emit_module
+ %t216 = load i32, ptr @g_g_uses_option
%t217 = icmp ne i32 %t216, 0
br i1 %t217, label %then113, label %ifend115
then113:
- call void @fn_emit_module_glue()
+ call void @fn_emith(ptr @.str10678)
br label %ifend115
ifend115:
+ call void @fn_emit_cov_runtime()
+ %t218 = load i32, ptr @g_g_emit_module
+ %t219 = icmp ne i32 %t218, 0
+ br i1 %t219, label %then116, label %ifend118
+then116:
+ call void @fn_emit_module_glue()
+ br label %ifend118
+ifend118:
br label %ret
ret:
ret void
@@ -106194,10 +107188,10 @@ ifend5:
%t12 = load i32, ptr %t7
%t13 = call ptr @fn_itoa(i32 %t12)
store ptr %t13, ptr %t14
- call void @fn_emith(ptr @.str10636)
+ call void @fn_emith(ptr @.str10679)
%t15 = load ptr, ptr %t14
call void @fn_emith(ptr %t15)
- call void @fn_emith(ptr @.str10637)
+ call void @fn_emith(ptr @.str10680)
store i32 0, ptr %t16
br label %wcond6
wcond6:
@@ -106214,10 +107208,10 @@ wbody7:
%t25 = icmp ne i32 %t24, 0
br i1 %t25, label %then9, label %ifend11
then9:
- call void @fn_emith(ptr @.str10638)
+ call void @fn_emith(ptr @.str10681)
br label %ifend11
ifend11:
- call void @fn_emith(ptr @.str10639)
+ call void @fn_emith(ptr @.str10682)
%t26 = load ptr, ptr @g_g_cov_lines
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
%t28 = load ptr, ptr %t27
@@ -106231,87 +107225,87 @@ ifend11:
store i32 %t34, ptr %t16
br label %wcond6
wend8:
- call void @fn_emith(ptr @.str10640)
- call void @fn_emith(ptr @.str10641)
+ call void @fn_emith(ptr @.str10683)
+ call void @fn_emith(ptr @.str10684)
%t35 = load ptr, ptr %t14
call void @fn_emith(ptr %t35)
- call void @fn_emith(ptr @.str10642)
+ call void @fn_emith(ptr @.str10685)
%t36 = load ptr, ptr %t14
- %t37 = call ptr @fn_str_concat(ptr @.str10643, ptr %t36)
- %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str10644)
+ %t37 = call ptr @lp_str_concat(ptr @.str10686, ptr %t36)
+ %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str10687)
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 @.str10645)
+ %t42 = call ptr @fn_emit_str_const(ptr @.str10688)
store ptr %t42, ptr %t43
- %t44 = call ptr @fn_emit_str_const(ptr @.str10646)
+ %t44 = call ptr @fn_emit_str_const(ptr @.str10689)
store ptr %t44, ptr %t45
- %t46 = call ptr @fn_emit_str_const(ptr @.str10647)
+ %t46 = call ptr @fn_emit_str_const(ptr @.str10690)
store ptr %t46, ptr %t47
- call void @fn_emith(ptr @.str10648)
- call void @fn_emith(ptr @.str10649)
+ call void @fn_emith(ptr @.str10691)
+ call void @fn_emith(ptr @.str10692)
%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 @.str10650)
+ call void @fn_emith(ptr @.str10693)
br label %ifend14
ifend14:
- call void @fn_emith(ptr @.str10651)
- call void @fn_emit(ptr @.str10652)
+ call void @fn_emith(ptr @.str10694)
+ call void @fn_emit(ptr @.str10695)
%t52 = load ptr, ptr %t43
- %t53 = call ptr @fn_str_concat(ptr @.str10653, ptr %t52)
- %t54 = call ptr @fn_str_concat(ptr %t53, ptr @.str10654)
+ %t53 = call ptr @lp_str_concat(ptr @.str10696, ptr %t52)
+ %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str10697)
call void @fn_emit(ptr %t54)
- call void @fn_emit(ptr @.str10655)
+ call void @fn_emit(ptr @.str10698)
%t55 = load ptr, ptr %t45
- %t56 = call ptr @fn_str_concat(ptr @.str10656, ptr %t55)
- %t57 = call ptr @fn_str_concat(ptr %t56, ptr @.str10657)
+ %t56 = call ptr @lp_str_concat(ptr @.str10699, ptr %t55)
+ %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str10700)
call void @fn_emit(ptr %t57)
%t58 = load ptr, ptr %t47
- %t59 = call ptr @fn_str_concat(ptr @.str10658, ptr %t58)
- %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str10659)
+ %t59 = call ptr @lp_str_concat(ptr @.str10701, ptr %t58)
+ %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str10702)
call void @fn_emit(ptr %t60)
- call void @fn_emit(ptr @.str10660)
- call void @fn_emit(ptr @.str10661)
- call void @fn_emit(ptr @.str10662)
+ call void @fn_emit(ptr @.str10703)
+ call void @fn_emit(ptr @.str10704)
+ call void @fn_emit(ptr @.str10705)
%t61 = load ptr, ptr %t41
- %t62 = call ptr @fn_str_concat(ptr @.str10663, ptr %t61)
- %t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str10664)
+ %t62 = call ptr @lp_str_concat(ptr @.str10706, ptr %t61)
+ %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str10707)
call void @fn_emit(ptr %t63)
- call void @fn_emit(ptr @.str10665)
- call void @fn_emit(ptr @.str10666)
- call void @fn_emit(ptr @.str10667)
+ call void @fn_emit(ptr @.str10708)
+ call void @fn_emit(ptr @.str10709)
+ call void @fn_emit(ptr @.str10710)
%t64 = load ptr, ptr %t14
- %t65 = call ptr @fn_str_concat(ptr @.str10668, ptr %t64)
- %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str10669)
+ %t65 = call ptr @lp_str_concat(ptr @.str10711, ptr %t64)
+ %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str10712)
call void @fn_emit(ptr %t66)
- call void @fn_emit(ptr @.str10670)
- call void @fn_emit(ptr @.str10671)
- call void @fn_emit(ptr @.str10672)
+ call void @fn_emit(ptr @.str10713)
+ call void @fn_emit(ptr @.str10714)
+ call void @fn_emit(ptr @.str10715)
%t67 = load ptr, ptr %t14
call void @fn_emit(ptr %t67)
- call void @fn_emit(ptr @.str10673)
- call void @fn_emit(ptr @.str10674)
- call void @fn_emit(ptr @.str10675)
+ call void @fn_emit(ptr @.str10716)
+ call void @fn_emit(ptr @.str10717)
+ call void @fn_emit(ptr @.str10718)
%t68 = load ptr, ptr %t14
call void @fn_emit(ptr %t68)
- call void @fn_emit(ptr @.str10676)
- call void @fn_emit(ptr @.str10677)
- call void @fn_emit(ptr @.str10678)
- call void @fn_emit(ptr @.str10679)
- call void @fn_emit(ptr @.str10680)
- call void @fn_emit(ptr @.str10681)
- call void @fn_emit(ptr @.str10682)
- call void @fn_emit(ptr @.str10683)
- call void @fn_emit(ptr @.str10684)
- call void @fn_emit(ptr @.str10685)
- call void @fn_emit(ptr @.str10686)
- call void @fn_emit(ptr @.str10687)
- call void @fn_emith(ptr @.str10688)
+ call void @fn_emit(ptr @.str10719)
+ call void @fn_emit(ptr @.str10720)
+ call void @fn_emit(ptr @.str10721)
+ call void @fn_emit(ptr @.str10722)
+ call void @fn_emit(ptr @.str10723)
+ call void @fn_emit(ptr @.str10724)
+ call void @fn_emit(ptr @.str10725)
+ call void @fn_emit(ptr @.str10726)
+ call void @fn_emit(ptr @.str10727)
+ call void @fn_emit(ptr @.str10728)
+ call void @fn_emit(ptr @.str10729)
+ call void @fn_emit(ptr @.str10730)
+ call void @fn_emith(ptr @.str10731)
br label %ret
ret:
ret void
@@ -106360,7 +107354,7 @@ then0:
br label %ret
ifend2:
%t29 = load ptr, ptr %t0
- %t30 = call ptr @fopen(ptr %t29, ptr @.str10689)
+ %t30 = call ptr @fopen(ptr %t29, ptr @.str10732)
store ptr %t30, ptr %t31
%t32 = load ptr, ptr %t31
%t33 = icmp eq ptr %t32, null
@@ -106441,7 +107435,7 @@ wend2:
%t24 = load i32, ptr %t2
%t25 = add i32 %t24, 1
%t26 = load i32, ptr %t3
- %t27 = call ptr @fn_str_slice(ptr %t23, i32 %t25, i32 %t26)
+ %t27 = call ptr @lp_str_slice(ptr %t23, i32 %t25, i32 %t26)
store ptr %t27, ptr %retval
br label %ret
ret:
@@ -106469,15 +107463,15 @@ then0:
%t10 = load i32, ptr %t4
%t11 = sub i32 %t10, 6
%t12 = load i32, ptr %t4
- %t13 = call ptr @fn_str_slice(ptr %t9, i32 %t11, i32 %t12)
- %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str10690)
+ %t13 = call ptr @lp_str_slice(ptr %t9, i32 %t11, i32 %t12)
+ %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str10733)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then3, label %ifend5
then3:
%t16 = load ptr, ptr %t0
%t17 = load i32, ptr %t4
%t18 = sub i32 %t17, 6
- %t19 = call ptr @fn_str_slice(ptr %t16, i32 0, i32 %t18)
+ %t19 = call ptr @lp_str_slice(ptr %t16, i32 0, i32 %t18)
store ptr %t19, ptr %retval
br label %ret
ifend5:
@@ -106556,7 +107550,7 @@ then3:
br label %ret
ifend5:
%t20 = load ptr, ptr %t0
- %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str10691)
+ %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str10734)
store ptr %t21, ptr %retval
br label %ret
ret:
@@ -106667,7 +107661,7 @@ wbody1:
wend2:
%t53 = load ptr, ptr %t0
%t54 = load i32, ptr %t4
- %t55 = call ptr @fn_str_slice(ptr %t53, i32 0, i32 %t54)
+ %t55 = call ptr @lp_str_slice(ptr %t53, i32 0, i32 %t54)
store ptr %t55, ptr %retval
br label %ret
ret:
@@ -106683,11 +107677,11 @@ entry:
%t1 = getelementptr ptr, ptr %t0, i32 0
%t2 = load ptr, ptr %t1
%t3 = call ptr @fn_dir_of(ptr %t2)
- %t4 = call ptr @fn_getenv_or(ptr @.str10692, ptr %t3)
+ %t4 = call ptr @fn_getenv_or(ptr @.str10735, ptr %t3)
%t5 = call ptr @fn_ensure_slash(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t6
- %t8 = call ptr @fn_join_path(ptr %t7, ptr @.str10693)
+ %t8 = call ptr @fn_join_path(ptr %t7, ptr @.str10736)
%t9 = call ptr @fn_read_file(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t10
@@ -106696,12 +107690,12 @@ entry:
%t14 = icmp ne i32 %t13, 0
br i1 %t14, label %then0, label %else1
then0:
- call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr @.str10694)
+ call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr @.str10737)
br label %ifend2
else1:
%t15 = load ptr, ptr %t10
%t16 = call ptr @fn_chomp(ptr %t15)
- %t17 = call ptr @fn_str_concat(ptr @.str10695, ptr %t16)
+ %t17 = call ptr @lp_str_concat(ptr @.str10738, ptr %t16)
call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr %t17)
br label %ifend2
ifend2:
@@ -106713,7 +107707,9 @@ ret:
define void @L_init_globals() {
entry:
- store ptr @.str10696, ptr @g_g_src_name
+ store ptr @.str10739, ptr @g_g_parse_file
+ store ptr @.str10740, ptr @g_g_err_file
+ store ptr @.str10741, ptr @g_g_src_name
ret void
}
@@ -106731,20 +107727,20 @@ entry:
%t23 = alloca ptr
%t75 = alloca ptr
%t93 = alloca ptr
- %t108 = alloca i32
- %t118 = alloca i32
- %t127 = alloca i32
- %t144 = alloca i32
- %t161 = alloca ptr
- %t173 = alloca ptr
- %t180 = alloca ptr
- %t187 = alloca ptr
- %t192 = alloca ptr
- %t197 = alloca ptr
- %t207 = alloca ptr
- %t217 = alloca ptr
- %t229 = alloca i32
- %t245 = alloca i32
+ %t109 = alloca i32
+ %t119 = alloca i32
+ %t128 = alloca i32
+ %t145 = alloca i32
+ %t162 = alloca ptr
+ %t174 = alloca ptr
+ %t181 = alloca ptr
+ %t188 = alloca ptr
+ %t193 = alloca ptr
+ %t198 = alloca ptr
+ %t208 = alloca ptr
+ %t218 = alloca ptr
+ %t230 = alloca i32
+ %t246 = alloca i32
store i32 %argc, ptr @L_argc
store ptr %argv, ptr @L_argv
store i32 0, ptr %retval
@@ -106761,7 +107757,7 @@ entry:
%t8 = getelementptr ptr, ptr %t7, i32 0
%t9 = load ptr, ptr %t8
%t10 = call ptr @fn_base_name(ptr %t9)
- %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str10697)
+ %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str10742)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then0, label %ifend2
then0:
@@ -106784,7 +107780,7 @@ wbody4:
%t22 = load ptr, ptr %t21
store ptr %t22, ptr %t23
%t24 = load ptr, ptr %t23
- %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str10698)
+ %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str10743)
%t26 = icmp ne i32 %t25, 0
br i1 %t26, label %then6, label %else7
then6:
@@ -106792,7 +107788,7 @@ then6:
br label %ifend8
else7:
%t27 = load ptr, ptr %t23
- %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str10699)
+ %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str10744)
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then9, label %else10
then9:
@@ -106800,7 +107796,7 @@ then9:
br label %ifend11
else10:
%t30 = load ptr, ptr %t23
- %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str10700)
+ %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str10745)
%t32 = icmp ne i32 %t31, 0
br i1 %t32, label %then12, label %else13
then12:
@@ -106808,7 +107804,7 @@ then12:
br label %ifend14
else13:
%t33 = load ptr, ptr %t23
- %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str10701)
+ %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str10746)
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then15, label %else16
then15:
@@ -106816,7 +107812,7 @@ then15:
br label %ifend17
else16:
%t36 = load ptr, ptr %t23
- %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str10702)
+ %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str10747)
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then18, label %else19
then18:
@@ -106825,7 +107821,7 @@ then18:
br label %ifend20
else19:
%t39 = load ptr, ptr %t23
- %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str10703)
+ %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str10748)
%t41 = icmp ne i32 %t40, 0
br i1 %t41, label %then21, label %else22
then21:
@@ -106833,7 +107829,7 @@ then21:
br label %ifend23
else22:
%t42 = load ptr, ptr %t23
- %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str10704)
+ %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str10749)
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %then24, label %else25
then24:
@@ -106841,7 +107837,7 @@ then24:
br label %ifend26
else25:
%t45 = load ptr, ptr %t23
- %t46 = call i32 @fn_str_eq(ptr %t45, ptr @.str10705)
+ %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str10750)
%t47 = icmp ne i32 %t46, 0
br i1 %t47, label %then27, label %else28
then27:
@@ -106849,7 +107845,7 @@ then27:
br label %ifend29
else28:
%t48 = load ptr, ptr %t23
- %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str10706)
+ %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str10751)
%t50 = icmp ne i32 %t49, 0
br i1 %t50, label %then30, label %else31
then30:
@@ -106857,7 +107853,7 @@ then30:
br label %ifend32
else31:
%t51 = load ptr, ptr %t23
- %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str10707)
+ %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str10752)
%t53 = icmp ne i32 %t52, 0
br i1 %t53, label %then33, label %else34
then33:
@@ -106890,8 +107886,8 @@ else34:
br i1 %t71, label %then39, label %else40
then39:
%t72 = load ptr, ptr %t23
- %t73 = call ptr @fn_str_concat(ptr @.str10708, ptr %t72)
- %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str10709)
+ %t73 = call ptr @lp_str_concat(ptr @.str10753, ptr %t72)
+ %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str10754)
store ptr %t74, ptr %t75
%t76 = load ptr, ptr @__stderrp
%t77 = load ptr, ptr %t75
@@ -106938,7 +107934,7 @@ wend5:
%t90 = icmp ne i32 %t89, 0
br i1 %t90, label %then42, label %ifend44
then42:
- call void @fn_die(ptr @.str10710)
+ call void @fn_die(ptr @.str10755)
br label %ifend44
ifend44:
%t91 = load ptr, ptr %t0
@@ -106950,7 +107946,7 @@ ifend44:
%t97 = icmp ne i32 %t96, 0
br i1 %t97, label %then45, label %ifend47
then45:
- call void @fn_die(ptr @.str10711)
+ call void @fn_die(ptr @.str10756)
br label %ifend47
ifend47:
%t98 = load ptr, ptr %t0
@@ -106959,248 +107955,251 @@ ifend47:
%t100 = load ptr, ptr %t0
%t101 = call ptr @fn_base_name(ptr %t100)
store ptr %t101, ptr @g_g_src_name
- %t102 = load ptr, ptr %t93
- call void @fn_lex(ptr %t102)
+ %t102 = load ptr, ptr %t0
+ store ptr %t102, ptr @g_g_parse_file
+ %t103 = load ptr, ptr %t93
+ call void @fn_lex(ptr %t103)
call void @fn_parse_program()
- %t103 = load ptr, ptr @g_prog
- %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1
- %t105 = load i32, ptr %t104
- store i32 %t105, ptr @g_g_prog_user_end
- %t106 = load i32, ptr %t4
- %t107 = icmp ne i32 %t106, 0
- br i1 %t107, label %then48, label %ifend50
+ %t104 = load ptr, ptr @g_prog
+ %t105 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1
+ %t106 = load i32, ptr %t105
+ store i32 %t106, ptr @g_g_prog_user_end
+ %t107 = load i32, ptr %t4
+ %t108 = icmp ne i32 %t107, 0
+ br i1 %t108, label %then48, label %ifend50
then48:
call void @exit(i32 0)
unreachable
ifend50:
call void @fn_maybe_splice_runtime()
call void @fn_ui_register_gotos()
- %t109 = load i32, ptr %t6
- %t110 = icmp ne i32 %t109, 0
- %t111 = zext i1 %t110 to i32
- store i32 %t111, ptr %t108
- br i1 %t110, label %scend52, label %sc51
+ %t110 = load i32, ptr %t6
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = zext i1 %t111 to i32
+ store i32 %t112, ptr %t109
+ br i1 %t111, label %scend52, label %sc51
sc51:
- %t112 = load ptr, ptr %t1
- %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
+ %t113 = load ptr, ptr %t1
+ %t114 = icmp ne ptr %t113, null
+ %t115 = zext i1 %t114 to i32
+ %t116 = icmp ne i32 %t115, 0
+ %t117 = zext i1 %t116 to i32
+ store i32 %t117, ptr %t109
br label %scend52
scend52:
- %t117 = load i32, ptr %t108
- store i32 %t117, ptr %t118
- %t119 = load i32, ptr %t2
- %t120 = icmp eq i32 %t119, 1
- %t121 = zext i1 %t120 to i32
- %t122 = icmp ne i32 %t121, 0
- br i1 %t122, label %then53, label %else54
+ %t118 = load i32, ptr %t109
+ store i32 %t118, ptr %t119
+ %t120 = load i32, ptr %t2
+ %t121 = icmp eq i32 %t120, 1
+ %t122 = zext i1 %t121 to i32
+ %t123 = icmp ne i32 %t122, 0
+ br i1 %t123, label %then53, label %else54
then53:
store i32 1, ptr @g_g_windowed
br label %ifend55
else54:
- %t123 = load i32, ptr %t2
- %t124 = icmp eq i32 %t123, 2
- %t125 = zext i1 %t124 to i32
- %t126 = icmp ne i32 %t125, 0
- br i1 %t126, label %then56, label %else57
+ %t124 = load i32, ptr %t2
+ %t125 = icmp eq i32 %t124, 2
+ %t126 = zext i1 %t125 to i32
+ %t127 = icmp ne i32 %t126, 0
+ br i1 %t127, label %then56, label %else57
then56:
store i32 0, ptr @g_g_windowed
br label %ifend58
else57:
- %t128 = load i32, ptr %t118
- %t129 = icmp ne i32 %t128, 0
- %t130 = zext i1 %t129 to i32
- store i32 %t130, ptr %t127
- br i1 %t129, label %sc59, label %scend60
+ %t129 = load i32, ptr %t119
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = zext i1 %t130 to i32
+ store i32 %t131, ptr %t128
+ br i1 %t130, label %sc59, label %scend60
sc59:
- %t131 = call i32 @fn_has_systems()
- %t132 = icmp ne i32 %t131, 0
- %t133 = zext i1 %t132 to i32
- store i32 %t133, ptr %t127
+ %t132 = call i32 @fn_has_systems()
+ %t133 = icmp ne i32 %t132, 0
+ %t134 = zext i1 %t133 to i32
+ store i32 %t134, ptr %t128
br label %scend60
scend60:
- %t134 = load i32, ptr %t127
- store i32 %t134, ptr @g_g_windowed
+ %t135 = load i32, ptr %t128
+ store i32 %t135, ptr @g_g_windowed
br label %ifend58
ifend58:
br label %ifend55
ifend55:
+ store i32 0, ptr @g_g_parsing
call void @fn_emit_program()
- %t135 = load i32, ptr %t3
- %t136 = icmp ne i32 %t135, 0
- br i1 %t136, label %then61, label %ifend63
+ %t136 = load i32, ptr %t3
+ %t137 = icmp ne i32 %t136, 0
+ br i1 %t137, label %then61, label %ifend63
then61:
- %t137 = load ptr, ptr %t1
- %t138 = call i32 @fn_ir_flush(ptr %t137)
+ %t138 = load ptr, ptr %t1
+ %t139 = call i32 @fn_ir_flush(ptr %t138)
br label %ret
ifend63:
- %t139 = load i32, ptr %t118
- %t140 = icmp eq i32 %t139, 0
- %t141 = zext i1 %t140 to i32
- %t142 = icmp ne i32 %t141, 0
- br i1 %t142, label %then64, label %ifend66
+ %t140 = load i32, ptr %t119
+ %t141 = icmp eq i32 %t140, 0
+ %t142 = zext i1 %t141 to i32
+ %t143 = icmp ne i32 %t142, 0
+ br i1 %t143, label %then64, label %ifend66
then64:
- %t143 = call i32 @fn_ir_flush(ptr null)
+ %t144 = call i32 @fn_ir_flush(ptr null)
br label %ret
ifend66:
- %t145 = load i32, ptr %t6
- %t146 = icmp ne i32 %t145, 0
- %t147 = zext i1 %t146 to i32
- store i32 %t147, ptr %t144
- br i1 %t146, label %sc67, label %scend68
+ %t146 = load i32, ptr %t6
+ %t147 = icmp ne i32 %t146, 0
+ %t148 = zext i1 %t147 to i32
+ store i32 %t148, ptr %t145
+ br i1 %t147, label %sc67, label %scend68
sc67:
- %t148 = load ptr, ptr %t1
- %t149 = icmp eq ptr %t148, null
- %t150 = zext i1 %t149 to i32
- %t151 = icmp ne i32 %t150, 0
- %t152 = zext i1 %t151 to i32
- store i32 %t152, ptr %t144
+ %t149 = load ptr, ptr %t1
+ %t150 = icmp eq ptr %t149, null
+ %t151 = zext i1 %t150 to i32
+ %t152 = icmp ne i32 %t151, 0
+ %t153 = zext i1 %t152 to i32
+ store i32 %t153, ptr %t145
br label %scend68
scend68:
- %t153 = load i32, ptr %t144
- %t154 = icmp ne i32 %t153, 0
- br i1 %t154, label %then69, label %ifend71
+ %t154 = load i32, ptr %t145
+ %t155 = icmp ne i32 %t154, 0
+ br i1 %t155, label %then69, label %ifend71
then69:
- %t155 = load ptr, ptr %t0
- %t156 = call ptr @fn_base_name(ptr %t155)
- %t157 = call ptr @fn_strip_ludic(ptr %t156)
- %t158 = call ptr @fn_str_concat(ptr @.str10712, ptr %t157)
- store ptr %t158, ptr %t1
+ %t156 = load ptr, ptr %t0
+ %t157 = call ptr @fn_base_name(ptr %t156)
+ %t158 = call ptr @fn_strip_ludic(ptr %t157)
+ %t159 = call ptr @lp_str_concat(ptr @.str10757, ptr %t158)
+ store ptr %t159, ptr %t1
br label %ifend71
ifend71:
- %t159 = load ptr, ptr %t1
- %t160 = call ptr @fn_dir_of(ptr %t159)
- store ptr %t160, ptr %t161
- %t162 = load ptr, ptr %t161
- %t163 = call i64 @strlen(ptr %t162)
- %t164 = trunc i64 %t163 to i32
- %t165 = icmp sgt i32 %t164, 0
- %t166 = zext i1 %t165 to i32
- %t167 = icmp ne i32 %t166, 0
- br i1 %t167, label %then72, label %ifend74
+ %t160 = load ptr, ptr %t1
+ %t161 = call ptr @fn_dir_of(ptr %t160)
+ store ptr %t161, ptr %t162
+ %t163 = load ptr, ptr %t162
+ %t164 = call i64 @strlen(ptr %t163)
+ %t165 = trunc i64 %t164 to i32
+ %t166 = icmp sgt i32 %t165, 0
+ %t167 = zext i1 %t166 to i32
+ %t168 = icmp ne i32 %t167, 0
+ br i1 %t168, label %then72, label %ifend74
then72:
- %t168 = load ptr, ptr %t161
- %t169 = call ptr @fn_str_concat(ptr @.str10713, ptr %t168)
- %t170 = call i32 @system(ptr %t169)
+ %t169 = load ptr, ptr %t162
+ %t170 = call ptr @lp_str_concat(ptr @.str10758, ptr %t169)
+ %t171 = call i32 @system(ptr %t170)
br label %ifend74
ifend74:
- %t171 = load ptr, ptr %t1
- %t172 = call ptr @fn_str_concat(ptr %t171, ptr @.str10714)
- store ptr %t172, ptr %t173
- %t174 = load ptr, ptr %t173
- %t175 = call i32 @fn_ir_flush(ptr %t174)
- %t176 = icmp eq i32 %t175, 0
- %t177 = zext i1 %t176 to i32
- %t178 = icmp ne i32 %t177, 0
- br i1 %t178, label %then75, label %ifend77
+ %t172 = load ptr, ptr %t1
+ %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str10759)
+ store ptr %t173, ptr %t174
+ %t175 = load ptr, ptr %t174
+ %t176 = call i32 @fn_ir_flush(ptr %t175)
+ %t177 = icmp eq i32 %t176, 0
+ %t178 = zext i1 %t177 to i32
+ %t179 = icmp ne i32 %t178, 0
+ br i1 %t179, label %then75, label %ifend77
then75:
- call void @fn_die(ptr @.str10715)
+ call void @fn_die(ptr @.str10760)
br label %ifend77
ifend77:
- %t179 = call ptr @fn_getenv_or(ptr @.str10716, ptr @.str10717)
- store ptr %t179, ptr %t180
- %t181 = load ptr, ptr @L_argv
- %t182 = getelementptr ptr, ptr %t181, i32 0
- %t183 = load ptr, ptr %t182
- %t184 = call ptr @fn_dir_of(ptr %t183)
- %t185 = call ptr @fn_getenv_or(ptr @.str10718, ptr %t184)
- %t186 = call ptr @fn_ensure_slash(ptr %t185)
- store ptr %t186, ptr %t187
- %t188 = load ptr, ptr %t180
- %t189 = call ptr @fn_str_concat(ptr %t188, ptr @.str10719)
- %t190 = load ptr, ptr %t173
- %t191 = call ptr @fn_str_concat(ptr %t189, ptr %t190)
- store ptr %t191, ptr %t192
- %t193 = load i32, ptr @g_g_windowed
- %t194 = icmp ne i32 %t193, 0
- br i1 %t194, label %then78, label %ifend80
+ %t180 = call ptr @fn_getenv_or(ptr @.str10761, ptr @.str10762)
+ store ptr %t180, ptr %t181
+ %t182 = load ptr, ptr @L_argv
+ %t183 = getelementptr ptr, ptr %t182, i32 0
+ %t184 = load ptr, ptr %t183
+ %t185 = call ptr @fn_dir_of(ptr %t184)
+ %t186 = call ptr @fn_getenv_or(ptr @.str10763, ptr %t185)
+ %t187 = call ptr @fn_ensure_slash(ptr %t186)
+ store ptr %t187, ptr %t188
+ %t189 = load ptr, ptr %t181
+ %t190 = call ptr @lp_str_concat(ptr %t189, ptr @.str10764)
+ %t191 = load ptr, ptr %t174
+ %t192 = call ptr @lp_str_concat(ptr %t190, ptr %t191)
+ store ptr %t192, ptr %t193
+ %t194 = load i32, ptr @g_g_windowed
+ %t195 = icmp ne i32 %t194, 0
+ br i1 %t195, label %then78, label %ifend80
then78:
- %t195 = load ptr, ptr %t187
- %t196 = call ptr @fn_join_path(ptr %t195, ptr @.str10720)
- store ptr %t196, ptr %t197
- %t198 = load ptr, ptr %t192
- %t199 = call ptr @fn_str_concat(ptr %t198, ptr @.str10721)
- %t200 = load ptr, ptr %t197
- %t201 = call ptr @fn_str_concat(ptr %t199, ptr %t200)
- %t202 = call ptr @fn_str_concat(ptr %t201, ptr @.str10722)
- store ptr %t202, ptr %t192
- %t203 = load i32, ptr @g_g_uses_audio
- %t204 = icmp ne i32 %t203, 0
- br i1 %t204, label %then81, label %ifend83
+ %t196 = load ptr, ptr %t188
+ %t197 = call ptr @fn_join_path(ptr %t196, ptr @.str10765)
+ store ptr %t197, ptr %t198
+ %t199 = load ptr, ptr %t193
+ %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str10766)
+ %t201 = load ptr, ptr %t198
+ %t202 = call ptr @lp_str_concat(ptr %t200, ptr %t201)
+ %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str10767)
+ store ptr %t203, ptr %t193
+ %t204 = load i32, ptr @g_g_uses_audio
+ %t205 = icmp ne i32 %t204, 0
+ br i1 %t205, label %then81, label %ifend83
then81:
- %t205 = load ptr, ptr %t187
- %t206 = call ptr @fn_join_path(ptr %t205, ptr @.str10723)
- store ptr %t206, ptr %t207
- %t208 = load ptr, ptr %t192
- %t209 = call ptr @fn_str_concat(ptr %t208, ptr @.str10724)
- %t210 = load ptr, ptr %t207
- %t211 = call ptr @fn_str_concat(ptr %t209, ptr %t210)
- %t212 = call ptr @fn_str_concat(ptr %t211, ptr @.str10725)
- store ptr %t212, ptr %t192
+ %t206 = load ptr, ptr %t188
+ %t207 = call ptr @fn_join_path(ptr %t206, ptr @.str10768)
+ store ptr %t207, ptr %t208
+ %t209 = load ptr, ptr %t193
+ %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str10769)
+ %t211 = load ptr, ptr %t208
+ %t212 = call ptr @lp_str_concat(ptr %t210, ptr %t211)
+ %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str10770)
+ store ptr %t213, ptr %t193
br label %ifend83
ifend83:
br label %ifend80
ifend80:
- %t213 = load i32, ptr @g_g_uses_http
- %t214 = icmp ne i32 %t213, 0
- br i1 %t214, label %then84, label %ifend86
+ %t214 = load i32, ptr @g_g_uses_http
+ %t215 = icmp ne i32 %t214, 0
+ br i1 %t215, label %then84, label %ifend86
then84:
- %t215 = load ptr, ptr %t187
- %t216 = call ptr @fn_join_path(ptr %t215, ptr @.str10726)
- store ptr %t216, ptr %t217
- %t218 = load ptr, ptr %t192
- %t219 = call ptr @fn_str_concat(ptr %t218, ptr @.str10727)
- %t220 = load ptr, ptr %t217
- %t221 = call ptr @fn_str_concat(ptr %t219, ptr %t220)
- %t222 = call ptr @fn_str_concat(ptr %t221, ptr @.str10728)
- store ptr %t222, ptr %t192
+ %t216 = load ptr, ptr %t188
+ %t217 = call ptr @fn_join_path(ptr %t216, ptr @.str10771)
+ store ptr %t217, ptr %t218
+ %t219 = load ptr, ptr %t193
+ %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str10772)
+ %t221 = load ptr, ptr %t218
+ %t222 = call ptr @lp_str_concat(ptr %t220, ptr %t221)
+ %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str10773)
+ store ptr %t223, ptr %t193
br label %ifend86
ifend86:
- %t223 = load ptr, ptr %t192
- %t224 = call ptr @fn_str_concat(ptr %t223, ptr @.str10729)
- %t225 = load ptr, ptr %t1
- %t226 = call ptr @fn_str_concat(ptr %t224, ptr %t225)
- store ptr %t226, ptr %t192
- %t227 = load ptr, ptr %t192
- %t228 = call i32 @system(ptr %t227)
- store i32 %t228, ptr %t229
- %t230 = load i32, ptr %t5
- %t231 = icmp eq i32 %t230, 0
- %t232 = zext i1 %t231 to i32
- %t233 = icmp ne i32 %t232, 0
- br i1 %t233, label %then87, label %ifend89
+ %t224 = load ptr, ptr %t193
+ %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str10774)
+ %t226 = load ptr, ptr %t1
+ %t227 = call ptr @lp_str_concat(ptr %t225, ptr %t226)
+ store ptr %t227, ptr %t193
+ %t228 = load ptr, ptr %t193
+ %t229 = call i32 @system(ptr %t228)
+ store i32 %t229, ptr %t230
+ %t231 = load i32, ptr %t5
+ %t232 = icmp eq i32 %t231, 0
+ %t233 = zext i1 %t232 to i32
+ %t234 = icmp ne i32 %t233, 0
+ br i1 %t234, label %then87, label %ifend89
then87:
- %t234 = load ptr, ptr %t173
- %t235 = call ptr @fn_str_concat(ptr @.str10730, ptr %t234)
- %t236 = call i32 @system(ptr %t235)
+ %t235 = load ptr, ptr %t174
+ %t236 = call ptr @lp_str_concat(ptr @.str10775, ptr %t235)
+ %t237 = call i32 @system(ptr %t236)
br label %ifend89
ifend89:
- %t237 = load i32, ptr %t229
- %t238 = icmp ne i32 %t237, 0
- %t239 = zext i1 %t238 to i32
- %t240 = icmp ne i32 %t239, 0
- br i1 %t240, label %then90, label %ifend92
+ %t238 = load i32, ptr %t230
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = zext i1 %t239 to i32
+ %t241 = icmp ne i32 %t240, 0
+ br i1 %t241, label %then90, label %ifend92
then90:
- call void @fn_die(ptr @.str10731)
+ call void @fn_die(ptr @.str10776)
br label %ifend92
ifend92:
- %t241 = load i32, ptr %t6
- %t242 = icmp ne i32 %t241, 0
- br i1 %t242, label %then93, label %ifend95
+ %t242 = load i32, ptr %t6
+ %t243 = icmp ne i32 %t242, 0
+ br i1 %t243, label %then93, label %ifend95
then93:
- %t243 = load ptr, ptr %t1
- %t244 = call i32 @system(ptr %t243)
- store i32 %t244, ptr %t245
- %t246 = load i32, ptr %t245
- %t247 = lshr i32 %t246, 8
- %t248 = and i32 %t247, 255
- call void @exit(i32 %t248)
+ %t244 = load ptr, ptr %t1
+ %t245 = call i32 @system(ptr %t244)
+ store i32 %t245, ptr %t246
+ %t247 = load i32, ptr %t246
+ %t248 = lshr i32 %t247, 8
+ %t249 = and i32 %t248, 255
+ call void @exit(i32 %t249)
unreachable
ifend95:
br label %ret
ret:
- %t249 = load i32, ptr %retval
- ret i32 %t249
+ %t250 = load i32, ptr %retval
+ ret i32 %t250
}
diff --git a/selfhost/main.ludic b/selfhost/main.ludic
index 30cb91de..ea080d1e 100644
--- a/selfhost/main.ludic
+++ b/selfhost/main.ludic
@@ -11,14 +11,14 @@
# ludic app.ludic # compile to a temp binary and run it
#
# The multi-call twist: when argv[0] is "ludic" it defaults to compile-and-run.
-# With no -o and no run, IR still goes to stdout — the contract build.sh and
-# reseed.sh rely on, so the bootstrap is untouched.
+# With no -o and no run, IR still goes to stdout — the contract `x reseed` and
+# `x bootstrap` rely on, so the bootstrap is untouched.
# basename: the part of a path after the last '/'.
function base_name(path: pointer) -> pointer {
- var last = 0 - 1
+ var last = -1
var i = 0
- while path[i] != 0 { if path[i] == 47 { last = i }; i = i + 1 }
+ while path[i] != 0 { if path[i] == '/' { last = i }; i += 1 }
return path[last + 1..i]
}
@@ -42,8 +42,8 @@ function getenv_or(name: pointer, dflt: pointer) -> pointer {
function ensure_slash(d: pointer) -> pointer {
let n = len(d)
if n == 0 { return d }
- if d[n - 1] == 47 { return d }
- return (d + ("/"))
+ if d[n - 1] == '/' { return d }
+ return d + "/"
}
function die(msg: pointer) -> void {
@@ -54,7 +54,7 @@ function die(msg: pointer) -> void {
# strip trailing newline/carriage-return/space (the VERSION file's trailing \n)
function chomp(s: pointer) -> pointer {
var n = len(s)
- while (n > 0) and ((s[n - 1] == 10) or (s[n - 1] == 13) or (s[n - 1] == 32)) { n = n - 1 }
+ while (n > 0) and ((s[n - 1] == '\n') or (s[n - 1] == '\r') or (s[n - 1] == ' ')) { n -= 1 }
return s[0..n]
}
@@ -85,25 +85,23 @@ entry {
var ai = 1
while ai < arg_count() {
let a = arg(ai)
- if (a == ("--version")) { show_version() }
- else { if (a == ("--windowed")) { want = 1 }
- else { if (a == ("--headless")) { want = 2 }
- else { if (a == ("--emit-llvm")) { emit_ir = true }
- else { if (a == ("--emit-module")) { g_emit_module = true; emit_ir = true } # issue #64: prebuilt binary module IR
- else { if (a == ("--fmt")) { fmt = true }
- else { if (a == ("--save-temps")) { save = true }
- else { if (a == ("--run")) { run = true }
- else { if (a == ("--coverage")) { g_coverage = true }
- else { if (a == ("-o")) { ai = ai + 1; if ai < arg_count() { out = arg(ai) } }
- else {
- # an unknown flag is ignored (with a note) rather than mistaken for the
- # input file — '-' is ASCII 45
- if a[0] == 45 {
- let m = `ludicc: ignoring unknown flag {a}\n`
- file_write(file_stderr(), m, len(m))
- } else { path = a }
- } } } } } } } } } }
- ai = ai + 1
+ if a == "--version" { show_version() }
+ else if a == "--windowed" { want = 1 }
+ else if a == "--headless" { want = 2 }
+ else if a == "--emit-llvm" { emit_ir = true }
+ else if a == "--emit-module" { g_emit_module = true; emit_ir = true } # issue #64: prebuilt binary module IR
+ else if a == "--fmt" { fmt = true }
+ else if a == "--save-temps" { save = true }
+ else if a == "--run" { run = true }
+ else if a == "--coverage" { g_coverage = true }
+ 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
+ let m = `ludicc: ignoring unknown flag {a}\n`
+ file_write(file_stderr(), m, len(m))
+ }
+ else { path = a }
+ ai += 1
}
if (path == null) {
@@ -114,6 +112,7 @@ entry {
cur_dir = dir_of(path)
g_src_name = base_name(path) # for panic/expect file:line messages
+ g_parse_file = path # for the compiler's own file:line diagnostics
lex(src)
parse_program()
g_prog_user_end = len(prog) # decls from the user's source; runtime splice appends after
@@ -128,12 +127,13 @@ entry {
# a game gets a window by default; a plain program stays headless. An explicit
# flag always wins. The stdout-IR path (no target) also stays headless, which
- # is what reseed.sh compiles the compiler itself with.
- let has_target = run or ((out != null))
+ # is what `x reseed` compiles the compiler itself with.
+ let has_target = run or (out != null)
if want == 1 { g_windowed = true }
- else { if want == 2 { g_windowed = false }
- else { g_windowed = has_target and has_systems() } }
+ else if want == 2 { g_windowed = false }
+ else { g_windowed = has_target and has_systems() }
+ g_parsing = false # lowering errors now locate by statement, not token
emit_program()
# --emit-llvm, or no binary target: emit IR and stop (stdout when out is null).
diff --git a/selfhost/support/buf.ludic b/selfhost/support/buf.ludic
index a17e534c..41fcc620 100644
--- a/selfhost/support/buf.ludic
+++ b/selfhost/support/buf.ludic
@@ -13,17 +13,17 @@ function buf_new() -> Buf {
}
function buf_ensure(b: Buf, extra: int) -> void {
if b.len + extra + 1 <= b.cap { return }
- while b.len + extra + 1 > b.cap { b.cap = b.cap * 2 }
+ while b.len + extra + 1 > b.cap { b.cap *= 2 }
b.data = resize(b.data, b.cap)
}
function buf_putc(b: Buf, c: int) -> void {
buf_ensure(b, 1)
b.data[b.len] = c
- b.len = b.len + 1
+ b.len += 1
}
function buf_puts(b: Buf, s: pointer) -> void {
var i = 0
- while s[i] != 0 { buf_putc(b, s[i]); i = i + 1 }
+ while s[i] != 0 { buf_putc(b, s[i]); i += 1 }
}
function buf_puti(b: Buf, n: int) -> void { buf_puts(b, itoa(n)) }
function buf_str(b: Buf) -> pointer { b.data[b.len] = 0; return b.data }
diff --git a/selfhost/support/io.ludic b/selfhost/support/io.ludic
index aba29e1c..98d5998b 100644
--- a/selfhost/support/io.ludic
+++ b/selfhost/support/io.ludic
@@ -17,6 +17,6 @@ function read_file(path: string) -> pointer {
# length of a NUL-terminated buffer
function cstr_len(s: pointer) -> int {
var n = 0
- while s[n] != 0 { n = n + 1 }
+ while s[n] != 0 { n += 1 }
return n
}
diff --git a/selfhost/support/str.ludic b/selfhost/support/str.ludic
index f9a2fa43..850d3106 100644
--- a/selfhost/support/str.ludic
+++ b/selfhost/support/str.ludic
@@ -2,32 +2,37 @@
# slicing out substrings, and integer<->text. All over raw NUL-terminated
# byte buffers reached with peek8/poke8.
-# a fresh NUL-terminated copy of src[start .. start+n]
-
-function char_is_digit(c: int) -> bool { return c >= 48 and c <= 57 }
+function char_is_digit(c: int) -> bool { return c >= '0' and c <= '9' }
function char_is_alpha(c: int) -> bool {
- if c >= 65 and c <= 90 { return true }
- if c >= 97 and c <= 122 { return true }
- return c == 95
+ if c >= 'A' and c <= 'Z' { return true }
+ if c >= 'a' and c <= 'z' { return true }
+ return c == '_'
}
function char_is_alnum(c: int) -> bool { return char_is_alpha(c) or char_is_digit(c) }
+# does `s` begin with `prefix`? (byte-wise; both NUL-terminated)
+function str_starts(s: pointer, prefix: pointer) -> bool {
+ var i = 0
+ while prefix[i] != 0 { if s[i] != prefix[i] { return false }; i += 1 }
+ return true
+}
+
# integer -> fresh decimal string
function itoa(v: int) -> pointer {
- if v == 0 { let z = bytes(2); z[0] = 48; z[1] = 0; return z }
+ if v == 0 { let z = bytes(2); z[0] = '0'; z[1] = 0; return z }
var neg = false
var x = v
- if x < 0 { neg = true; x = 0 - x }
+ if x < 0 { neg = true; x = -x }
let tmp = bytes(16)
var n = 0
- while x > 0 { tmp[n] = 48 + x % 10; x = x / 10; n = n + 1 }
+ while x > 0 { tmp[n] = 48 + x % 10; x /= 10; n += 1 }
var total = n
- if neg { total = total + 1 }
+ if neg { total += 1 }
let out = bytes(total + 1)
var k = 0
- if neg { out[0] = 45; k = 1 }
+ if neg { out[0] = '-'; k = 1 }
var i = 0
- while i < n { out[k + i] = tmp[n - 1 - i]; i = i + 1 }
+ while i < n { out[k + i] = tmp[n - 1 - i]; i += 1 }
out[total] = 0
return out
}
diff --git a/selfhost/tests/control.ludic b/selfhost/tests/control.ludic
index 5fa067c7..ff39fab0 100644
--- a/selfhost/tests/control.ludic
+++ b/selfhost/tests/control.ludic
@@ -1,13 +1,13 @@
program T {
- function fib(n: int) -> int { if n < 2 { return n }; return fib(n-1) + fib(n-2) }
+ function fib(n: int) -> int { if n < 2 { return n }; return fib(n - 1) + fib(n - 2) }
entry {
print(fib(10)) # 55
var s = 0
- for i in 0 .. 10 { if i == 5 { break }; if i % 2 == 0 { continue }; s = s + i }
+ for i in 0 .. 10 { if i == 5 { break }; if i % 2 == 0 { continue }; s += i }
print(s) # 1+3 = 4
var i = 0; var t = 0
- while true { i = i + 1; if i > 5 { break }; t = t + i }
+ while true { i += 1; if i > 5 { break }; t += i }
print(t) # 15
- if false and (1/0 == 0) { print(999) } else { print(1) } # short-circuit: no div by zero
+ if false and (1 / 0 == 0) { print(999) } else { print(1) } # short-circuit: no div by zero
}
}
diff --git a/selfhost/tests/crypto.ludic b/selfhost/tests/crypto.ludic
index 8422a7fa..7b8e9055 100644
--- a/selfhost/tests/crypto.ludic
+++ b/selfhost/tests/crypto.ludic
@@ -23,7 +23,7 @@ program T {
let payload = "score=9001;level=12"
let mac = Crypto.hmac_sha256(key, payload)
if Crypto.verify_hmac(key, payload, mac) { print(1) } else { print(0) } # 1: untampered
- if Crypto.verify_hmac(key, "score=9999;level=12", mac) { print(1) } else { print(0) } # 0: tampered payload
+ if Crypto.verify_hmac(key, "score=9999;level=12", mac) { print(1) } else { print(0) } # 0: tampered payload
let forged = "0000000000000000000000000000000000000000000000000000000000000000"
if Crypto.verify_hmac(key, payload, forged) { print(1) } else { print(0) } # 0: forged mac
diff --git a/selfhost/tests/datetime.ludic b/selfhost/tests/datetime.ludic
index 9b2ba1aa..61875ba2 100644
--- a/selfhost/tests/datetime.ludic
+++ b/selfhost/tests/datetime.ludic
@@ -2,7 +2,7 @@ program T {
entry {
# Duration — spans in whole seconds
print(Duration.hours(3)) # 10800
- print(Duration.minutes(5) + Duration.seconds(30)) # 330
+ print(Duration.minutes(5) + Duration.seconds(30)) # 330
print(Duration.days(2)) # 172800
print(Duration.as_hours(10800)) # 3
print(Duration.as_days(172800)) # 2
@@ -25,7 +25,7 @@ program T {
let feb = Date.add_days(Date.new(2026, 1, 1), 31)
print(Date.month(feb)) # 2
print(Date.day(feb)) # 1
- print(Date.diff_days(Date.new(2026, 1, 1), Date.new(2025, 1, 1))) # 365
+ print(Date.diff_days(Date.new(2026, 1, 1), Date.new(2025, 1, 1))) # 365
# DateTime — instant as seconds-since-1970
let t = DateTime.from(2000, 1, 1, 12, 30, 15)
@@ -38,6 +38,6 @@ program T {
print(DateTime.second(t)) # 15
print(DateTime.weekday(t)) # 6
print(DateTime.date(t)) # 10957
- print(DateTime.hour(DateTime.add(0, Duration.hours(1)))) # 1
+ print(DateTime.hour(DateTime.add(0, Duration.hours(1)))) # 1
}
}
diff --git a/selfhost/tests/datetime2.ludic b/selfhost/tests/datetime2.ludic
index 7f3214be..069ec285 100644
--- a/selfhost/tests/datetime2.ludic
+++ b/selfhost/tests/datetime2.ludic
@@ -8,7 +8,7 @@ program T {
print(DateTime.format(t, "DD/MM/YY")) # 30/08/26
# parse — round-trips to the same instant; missing fields default to midnight
- print(DateTime.parse("2026-08-30", "YYYY-MM-DD") - Date.to_epoch(Date.new(2026, 8, 30))) # 0
+ print(DateTime.parse("2026-08-30", "YYYY-MM-DD") - Date.to_epoch(Date.new(2026, 8, 30))) # 0
print(DateTime.parse("zz", "YYYY")) # -1 (non-digit -> parse fails)
# Clock — the game-controlled simulated clock
diff --git a/selfhost/tests/enums.ludic b/selfhost/tests/enums.ludic
index eb191a7b..5a0adefc 100644
--- a/selfhost/tests/enums.ludic
+++ b/selfhost/tests/enums.ludic
@@ -38,7 +38,7 @@ program T {
let t = Portal(2, 40)
match t {
Empty, Wall => { print(100) }
- Portal(x, y) => { print(x * y) } # 80
+ Portal(x, y) => { print(x * y) } # 80
_ => { print(999) }
}
diff --git a/selfhost/tests/long.ludic b/selfhost/tests/long.ludic
index 04f6ae4c..5e4b4727 100644
--- a/selfhost/tests/long.ludic
+++ b/selfhost/tests/long.ludic
@@ -16,7 +16,7 @@ program T {
print(x > y) # 1
print(y < x) # 1
print(x == x) # 1
- print(0 - sq) # -1000000000000 (unary negate stays 64-bit)
+ print(-sq) # -1000000000000 (unary negate stays 64-bit)
print(big) # 1000000
print(Text.length(string(sq))) # 13 — string(long) renders all 13 digits
}
diff --git a/selfhost/tests/math.ludic b/selfhost/tests/math.ludic
index 8cea638d..8beaeb5b 100644
--- a/selfhost/tests/math.ludic
+++ b/selfhost/tests/math.ludic
@@ -3,11 +3,11 @@ program T {
# min / max / abs / clamp, now reachable under the Math namespace
print(Math.min(3, 7)) # 3
print(Math.max(3, 7)) # 7
- print(Math.abs(0 - 5)) # 5
+ print(Math.abs(-5)) # 5
print(Math.clamp(12, 0, 10)) # 10
# sign -> -1 / 0 / 1
- print(Math.sign(0 - 4)) # -1
+ print(Math.sign(-4)) # -1
print(Math.sign(0)) # 0
print(Math.sign(9)) # 1
diff --git a/selfhost/tests/math2.ludic b/selfhost/tests/math2.ludic
index 982b7590..0a16b38e 100644
--- a/selfhost/tests/math2.ludic
+++ b/selfhost/tests/math2.ludic
@@ -10,11 +10,11 @@ program T {
print(Math.floor(Math.dist2(0.0, 0.0, 3.0, 4.0))) # 25
print(Math.floor(Math.deg_to_rad(180.0) * 1000.0)) # 3142
print(Math.floor(Math.rad_to_deg(3.1415926))) # 180
- print(Math.posmod(0 - 1, 5)) # 4
+ print(Math.posmod(-1, 5)) # 4
print(Math.wrap(12, 0, 10)) # 2
print(Math.ping_pong(13, 10)) # 7
print(Math.floor(Math.snapped(2.3, 0.5) * 10.0)) # 25
print(Math.floor(Math.move_toward(0.0, 10.0, 3.0) * 10.0)) # 30
- print(Math.floor(Math.smoothstep(0.0, 10.0, 5.0) * 1000.0)) # 500
+ print(Math.floor(Math.smoothstep(0.0, 10.0, 5.0) * 1000.0)) # 500
}
}
diff --git a/selfhost/tests/math3.ludic b/selfhost/tests/math3.ludic
index 84732ed6..595445cd 100644
--- a/selfhost/tests/math3.ludic
+++ b/selfhost/tests/math3.ludic
@@ -3,7 +3,7 @@ program T {
print(Math.round(Math.rad_to_deg(Math.atan2(1.0, 1.0)))) # 45
print(Math.round(Math.rad_to_deg(Math.atan2(1.0, 0.0)))) # 90
print(Math.round(Math.rad_to_deg(Math.atan2(0.0, 0.0 - 1.0)))) # 180
- print(Math.round(Math.rad_to_deg(Math.atan2(0.0 - 1.0, 0.0 - 1.0)))) # -135
+ print(Math.round(Math.rad_to_deg(Math.atan2(0.0 - 1.0, 0.0 - 1.0)))) # -135
print(Math.round(Math.rad_to_deg(Math.asin(0.5)))) # 30
print(Math.round(Math.rad_to_deg(Math.acos(0.5)))) # 60
print(Math.round(Math.rad_to_deg(Math.asin(1.0)))) # 90
diff --git a/selfhost/tests/structs.ludic b/selfhost/tests/structs.ludic
index 260e75ee..ee8a8a4c 100644
--- a/selfhost/tests/structs.ludic
+++ b/selfhost/tests/structs.ludic
@@ -1,6 +1,6 @@
program T {
property P { x: int = 0, y: int = 7, next: P }
- function bump(p: P) -> void { p.x = p.x + 100 }
+ function bump(p: P) -> void { p.x += 100 }
entry {
let a = new P
print(a.y) # 7 default
diff --git a/selfhost/tests/transcend.ludic b/selfhost/tests/transcend.ludic
index d0fe8cbf..dc8e6238 100644
--- a/selfhost/tests/transcend.ludic
+++ b/selfhost/tests/transcend.ludic
@@ -9,7 +9,7 @@ program T {
print(Math.round(Math.pow(2.0, 10.0))) # 1024 -> 1024
print(Math.round(Math.pow(2.0, 0.5) * 1000)) # sqrt 2 -> 1414
print(Math.round(Math.pow(9.0, 0.5))) # 3 -> 3
- print(Math.round(Math.pow(2.0, 0.0 - 2.0) * 1000)) # 0.25 -> 250
+ print(Math.round(Math.pow(2.0, 0.0 - 2.0) * 1000)) # 0.25 -> 250
print(Math.round(Ease.elastic(0.0) * 1000)) # anchored -> 0
print(Math.round(Ease.elastic(1.0) * 1000)) # settles -> 1000
print(Math.round(Ease.elastic(0.5) * 1000)) # overshoot -> 1016
diff --git a/selfhost/tests/vector.ludic b/selfhost/tests/vector.ludic
index 77f5ceba..82d48751 100644
--- a/selfhost/tests/vector.ludic
+++ b/selfhost/tests/vector.ludic
@@ -13,13 +13,13 @@ program T {
print(floor(Vector.y(d))) # 2
print(floor(Vector.dot(a, b))) # 11
print(floor(Vector.distance(a, b))) # 2 (sqrt 8)
- print(floor(Vector.x(Vector.scale(a, 2.0)))) # 6
+ print(floor(Vector.x(Vector.scale(a, 2.0)))) # 6
let n = Vector.normalize(a)
print(floor(Vector.length(n) * 1000)) # 999 (unit)
print(floor(Vector.x(Vector.from_angle(0.0)) * 1000)) # 999 (cos 0)
- let r = Vector.rotate(Vector.make(1.0, 0.0), 1.5707963) # rotate 90 deg
+ let r = Vector.rotate(Vector.make(1.0, 0.0), 1.5707963) # rotate 90 deg
print(floor(Vector.y(r) * 1000)) # 999 (-> (0,1))
- print(floor(Vector.angle(Vector.make(0.0, 1.0)) * 1000)) # pi/2 -> 1570
+ print(floor(Vector.angle(Vector.make(0.0, 1.0)) * 1000)) # pi/2 -> 1570
let m = Vector.lerp(Vector.zero(), Vector.make(10.0, 20.0), 0.5)
print(floor(Vector.x(m))) # 5
print(floor(Vector.y(m))) # 10
diff --git a/tools/ci/forgejo_release.py b/tools/ci/forgejo_release.py
deleted file mode 100644
index 2c4d5b35..00000000
--- a/tools/ci/forgejo_release.py
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/usr/bin/env python3
-"""Create a Forgejo release and attach build artifacts.
-
- forgejo_release.py
-
-Reads the access token from $FORGEJO_TOKEN. `x release --publish` calls this
-after it has pushed the tag; it is the one piece of the release flow that speaks
-HTTP, which the Ludic task runner cannot do yet (a native Http client is issue
-#6). Python stdlib only — no third-party deps — matching the docgen tooling.
-
-Idempotent-ish: if the release for already exists it is reused, and each
-asset in is uploaded (a duplicate name is skipped, not fatal).
-"""
-import json
-import os
-import sys
-import urllib.request
-import urllib.error
-
-API = "https://git.workshopsoft.io/api/v1/repos/workshopsoft/ludic"
-
-
-def token():
- t = os.environ.get("FORGEJO_TOKEN", "").strip()
- if not t:
- sys.exit("forgejo_release: FORGEJO_TOKEN is not set")
- return t
-
-
-def api(method, path, tok, data=None, headers=None, raw=False):
- url = API + path
- h = {"Authorization": "token " + tok}
- body = None
- if data is not None and not raw:
- h["Content-Type"] = "application/json"
- body = json.dumps(data).encode()
- elif raw:
- body = data
- h.update(headers or {})
- req = urllib.request.Request(url, data=body, headers=h, method=method)
- with urllib.request.urlopen(req) as r:
- return r.getcode(), json.loads(r.read().decode() or "null")
-
-
-def get_release_by_tag(tag, tok):
- try:
- _, rel = api("GET", "/releases/tags/" + tag, tok)
- return rel
- except urllib.error.HTTPError as e:
- if e.code == 404:
- return None
- raise
-
-
-def main():
- if len(sys.argv) != 4:
- sys.exit(__doc__)
- tag, body_file, assets_dir = sys.argv[1], sys.argv[2], sys.argv[3]
- tok = token()
-
- body = ""
- if os.path.exists(body_file):
- with open(body_file, encoding="utf-8") as fh:
- body = fh.read()
-
- rel = get_release_by_tag(tag, tok)
- if rel is None:
- _, rel = api("POST", "/releases", tok, {
- "tag_name": tag,
- "name": tag,
- "body": body,
- "draft": False,
- "prerelease": tag.startswith("v0."),
- })
- print("created release", tag, "id", rel["id"])
- else:
- print("release", tag, "already exists (id %s); uploading assets" % rel["id"])
-
- rid = rel["id"]
- existing = {a["name"] for a in (rel.get("assets") or [])}
- if os.path.isdir(assets_dir):
- for name in sorted(os.listdir(assets_dir)):
- if name in existing:
- print(" skip (exists):", name)
- continue
- path = os.path.join(assets_dir, name)
- if not os.path.isfile(path):
- continue
- with open(path, "rb") as fh:
- blob = fh.read()
- boundary = "----ludicrelease7f3b2a"
- payload = (
- ("--%s\r\n" % boundary)
- + ('Content-Disposition: form-data; name="attachment"; filename="%s"\r\n' % name)
- + "Content-Type: application/octet-stream\r\n\r\n"
- ).encode() + blob + ("\r\n--%s--\r\n" % boundary).encode()
- code, _ = api(
- "POST", "/releases/%s/assets?name=%s" % (rid, name), tok,
- data=payload, raw=True,
- headers={"Content-Type": "multipart/form-data; boundary=" + boundary},
- )
- print(" uploaded:", name, "(HTTP %d)" % code)
- print("done:", API + "/releases/tag/" + tag)
-
-
-if __name__ == "__main__":
- main()
diff --git a/tools/docgen/inventory.json b/tools/docgen/inventory.json
index 27c627e4..a1aa6fd4 100644
--- a/tools/docgen/inventory.json
+++ b/tools/docgen/inventory.json
@@ -217,6 +217,7 @@
"phase-fixedupdate",
"phase-input",
"phase-lateupdate",
+ "phase-overlay",
"phase-render",
"phase-start",
"phase-update"
@@ -601,6 +602,7 @@
"os-set_env",
"os-unset_env",
"os-exit",
+ "os-pid",
"os-platform",
"os-arch",
"os-stdout_write",
diff --git a/tools/test-lsp.py b/tools/test-lsp.py
deleted file mode 100755
index b994ba30..00000000
--- a/tools/test-lsp.py
+++ /dev/null
@@ -1,301 +0,0 @@
-#!/usr/bin/env python3
-"""Drive build/ludic-lsp over real LSP traffic against the real source tree.
-
-Every assertion here is about a feature an editor actually calls: if this
-passes, VS Code, JetBrains, Neovim and the rest are exercising code paths that
-have been checked, because they all speak to this one binary.
-"""
-import json
-import os
-import subprocess
-import sys
-
-ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
-# the toolchain binaries live in bin/ (built by `x tools`); LUDIC_LSP overrides.
-SERVER = os.environ.get("LUDIC_LSP", os.path.join(ROOT, "bin", "ludic-lsp"))
-
-passed = 0
-failed = 0
-
-
-def check(name, got, want):
- global passed, failed
- if got == want:
- passed += 1
- print(f" ok {name}")
- else:
- failed += 1
- print(f" FAIL {name}\n expected {want!r}, got {got!r}")
-
-
-def check_true(name, cond, detail=""):
- check(name, bool(cond), True) if cond else check(name + (f" ({detail})" if detail else ""), False, True)
-
-
-class Client:
- def __init__(self, cwd):
- self.p = subprocess.Popen([SERVER], stdin=subprocess.PIPE,
- stdout=subprocess.PIPE, cwd=cwd)
- self.diagnostics = {}
-
- def _send(self, obj):
- body = json.dumps(obj).encode()
- self.p.stdin.write(b"Content-Length: %d\r\n\r\n" % len(body) + body)
- self.p.stdin.flush()
-
- def _read(self):
- header = b""
- while not header.endswith(b"\r\n\r\n"):
- c = self.p.stdout.read(1)
- if not c:
- return None
- header += c
- length = int([l for l in header.decode().split("\r\n")
- if l.lower().startswith("content-length")][0].split(":")[1])
- return json.loads(self.p.stdout.read(length))
-
- def request(self, method, params, _id=[0]):
- _id[0] += 1
- rid = _id[0]
- self._send({"jsonrpc": "2.0", "id": rid, "method": method, "params": params})
- while True:
- msg = self._read()
- if msg is None:
- raise RuntimeError(f"server closed during {method}")
- if msg.get("id") == rid:
- return msg.get("result")
- if msg.get("method") == "textDocument/publishDiagnostics":
- p = msg["params"]
- self.diagnostics[os.path.basename(p["uri"])] = [d["message"] for d in p["diagnostics"]]
-
- def notify(self, method, params):
- self._send({"jsonrpc": "2.0", "method": method, "params": params})
-
- def open(self, path, language_id="ludic"):
- with open(path) as fh:
- text = fh.read()
- self.notify("textDocument/didOpen", {"textDocument": {
- "uri": "file://" + path, "languageId": language_id, "version": 1, "text": text}})
- return text
-
- def close(self):
- try:
- self.request("shutdown", None)
- self.notify("exit", None)
- except Exception:
- pass
- self.p.kill()
-
-
-def position_of(text, needle, offset=0):
- for i, line in enumerate(text.split("\n")):
- if needle in line:
- return {"line": i, "character": line.index(needle) + offset}
- raise AssertionError(f"{needle!r} not found")
-
-
-def main():
- if not os.access(SERVER, os.X_OK):
- print(" skip ludic-lsp missing")
- return 2
-
- c = Client(ROOT)
- caps = c.request("initialize", {"rootUri": "file://" + ROOT, "capabilities": {}})["capabilities"]
- c.notify("initialized", {})
-
- for cap in ["completionProvider", "hoverProvider", "definitionProvider",
- "referencesProvider", "renameProvider", "documentSymbolProvider",
- "workspaceSymbolProvider", "documentFormattingProvider",
- "semanticTokensProvider", "foldingRangeProvider",
- "signatureHelpProvider", "inlayHintProvider", "documentLinkProvider"]:
- check_true(f"advertises {cap}", cap in caps)
-
- # ---- a fragment file: no `program` block, only reachable through an import --
- frag = os.path.join(ROOT, "examples/games/chronorift/combat.ludic")
- text = c.open(frag)
- uri = {"uri": "file://" + frag}
-
- syms = c.request("textDocument/documentSymbol", {"textDocument": uri})
- check_true("document symbols in an imported fragment", len(syms) >= 3)
-
- # a field reached through a query binding, declared in ANOTHER file
- pos = position_of(text, "st.guard", 3)
- hov = c.request("textDocument/hover", {"textDocument": uri, "position": pos})
- check_true("hover resolves a field through a query binding",
- hov and "Stats.guard: int" in hov["contents"]["value"])
-
- d = c.request("textDocument/definition", {"textDocument": uri, "position": pos})
- check_true("go-to-definition crosses files", d and d["uri"].endswith("world.ludic"))
-
- # a binding is not yet inside its own scope at the point it is written, so
- # resolving it has to go through the declaration table, not scope lookup
- qpos = position_of(text, "for (e) in query", 5)
- qhov = c.request("textDocument/hover", {"textDocument": uri, "position": qpos})
- check_true("hover works on a query binding at its declaration site",
- qhov and "query binding" in qhov["contents"]["value"],
- json.dumps(qhov)[:80])
-
- comp = c.request("textDocument/completion", {"textDocument": uri,
- "position": position_of(text, "st.guard", 3)})
- labels = [i["label"] for i in comp["items"]]
- check_true("completion after '.' offers only that property's fields",
- "guard" in labels and "hp" in labels and "clear" not in labels)
-
- # a query's term list admits propertys and models and nothing else —
- # not the loop variables, not builtins, not keywords
- qsrc = ('program QT {\n property Pos { x: int = 0 }\n property Vel { dx: int = 0 }\n'
- ' handler S phase Update {\n for (a, b) in query [Pos, ] { }\n }\n}\n')
- qfile = "/tmp/ludic_lsp_test_query.ludic"
- with open(qfile, "w") as fh:
- fh.write(qsrc)
- c.open(qfile)
- quri = {"uri": "file://" + qfile}
- qcomp = c.request("textDocument/completion",
- {"textDocument": quri, "position": position_of(qsrc, "[Pos, ]", 6)})
- qlabels = sorted(i["label"] for i in qcomp["items"])
- check("completion inside query terms lists propertys only", qlabels, ["Pos", "Vel"])
- body = c.request("textDocument/completion",
- {"textDocument": quri, "position": position_of(qsrc, "] { }", 3)})
- blabels = [i["label"] for i in body["items"]]
- check_true("completion in the loop body still has locals and builtins",
- "a" in blabels and "clear" in blabels)
- os.unlink(qfile)
-
- refs = c.request("textDocument/references", {"textDocument": uri,
- "position": position_of(text, "query [Stats", 7),
- "context": {"includeDeclaration": True}})
- files = {os.path.basename(r["uri"]) for r in refs}
- check_true("find-usages spans the compilation unit", len(files) >= 3, str(sorted(files)))
-
- hints = c.request("textDocument/inlayHint", {"textDocument": uri,
- "range": {"start": {"line": 0, "character": 0},
- "end": {"line": 9999, "character": 0}}})
- check_true("inlay hints name query binding types", any(": Stats" == h["label"] for h in hints))
-
- # a namespaced call resolves to its underlying bare-builtin signature
- sig = c.request("textDocument/signatureHelp",
- {"textDocument": uri, "position": position_of(text, "Random.chance(", 14)})
- check_true("signature help for a namespaced builtin",
- sig and sig["signatures"][0]["label"].startswith("rng_chance("))
-
- toks = c.request("textDocument/semanticTokens/full", {"textDocument": uri})
- check_true("semantic tokens produced", len(toks["data"]) // 5 > 100)
- check_true("semantic token stream is well formed", len(toks["data"]) % 5 == 0)
-
- folds = c.request("textDocument/foldingRange", {"textDocument": uri})
- check_true("folding ranges produced", len(folds) > 5)
-
- # ---- structural diagnostics arrive while typing --------------------------
- c.notify("textDocument/didChange", {"textDocument": {"uri": uri["uri"], "version": 2},
- "contentChanges": [{"text": text + "\n{ oops"}]})
- c.request("textDocument/documentSymbol", {"textDocument": uri})
- check_true("unbalanced brace reported while typing",
- any("unclosed" in m for m in c.diagnostics.get("combat.ludic", [])))
-
- # ---- the LSP analyses opened files on its own ----------------------------
- # (Deep semantic diagnostics once came from `ludicc --fmt`; the compiler is
- # now written in Ludic and the LSP relies on its own parser. It still opens
- # any file and answers structural queries without a compiler present.)
- bad = "/tmp/ludic_lsp_test_bad.ludic"
- with open(bad, "w") as fh:
- fh.write("program Bad {\n property P { x: nosuchtype = 0 }\n}\n")
- c.open(bad)
- syms = c.request("textDocument/documentSymbol", {"textDocument": {"uri": "file://" + bad}})
- check_true("LSP opens and analyses a file with no compiler present",
- any(s["name"] == "Bad" for s in syms))
- os.unlink(bad)
-
- # ---- markdown: ```ludic fences are real Ludic ---------------------------
- md = "/tmp/ludic_lsp_test.md"
- with open(md, "w") as fh:
- fh.write("# Title\n\nprose\n\n```ludic\nprogram D { property Pt { x: int = 0 } }\n```\n\n"
- "```python\nz = 1\n```\n")
- c.open(md, "markdown")
- mduri = {"uri": "file://" + md}
- mdsyms = c.request("textDocument/documentSymbol", {"textDocument": mduri})
- check_true("symbols found inside a markdown fence", [s["name"] for s in mdsyms] == ["D"])
- mdtoks = c.request("textDocument/semanticTokens/full", {"textDocument": mduri})
- check("markdown tokens start on the fence body line", mdtoks["data"][0], 5)
- # A fence is a snippet: elisions and half-shown blocks are the documentation
- # doing its job, so errors there would be noise. Highlighting still applies.
- check("no diagnostics are reported for markdown", c.diagnostics.get("ludic_lsp_test.md"), [])
- fmt = c.request("textDocument/formatting", {"textDocument": mduri,
- "options": {"tabSize": 2, "insertSpaces": True}})
- check_true("markdown formatting leaves prose and other fences alone",
- "prose" in fmt[0]["newText"] and "z = 1" in fmt[0]["newText"])
- os.unlink(md)
-
- # the repository's own documentation must not light up with false errors
- for doc in ("LANGUAGE.md", "README.md", "COMPILING.md"):
- path = os.path.join(ROOT, doc)
- if not os.path.exists(path):
- continue
- c.open(path, "markdown")
- c.request("textDocument/documentSymbol", {"textDocument": {"uri": "file://" + path}})
- check(f"{doc} opens with no diagnostics", c.diagnostics.get(doc, []), [])
- lang = os.path.join(ROOT, "LANGUAGE.md")
- if os.path.exists(lang):
- t = c.request("textDocument/semanticTokens/full", {"textDocument": {"uri": "file://" + lang}})
- check_true("LANGUAGE.md fences are highlighted", len(t["data"]) // 5 > 100)
-
- # ---- rename has to be resolution-based, not textual ----------------------
- # `x` here is a field of Pos, a field of Vel, a local, and a parameter.
- # Renaming any one of them must leave the other three alone.
- amb = "/tmp/ludic_lsp_test_rename.ludic"
- with open(amb, "w") as fh:
- fh.write("program R {\n"
- " property Pos { x: int = 0, y: int = 0 }\n"
- " property Vel { x: int = 0 }\n"
- " function helper(x: int) -> int { return x + 1 }\n"
- " handler A phase Update {\n"
- " for (p) in query [Pos] {\n"
- " let x = 5\n"
- " p.x = p.x + x\n"
- " }\n"
- " }\n"
- " handler B phase Update {\n"
- " for (v) in query [Vel] { v.x = v.x + 1 }\n"
- " }\n"
- "}\n")
- atext = c.open(amb)
- auri = {"uri": "file://" + amb}
-
- def rename_at(pos):
- r = c.request("textDocument/rename",
- {"textDocument": auri, "position": pos, "newName": "ZZZ"})
- if not r or not r.get("changes"):
- return []
- return list(r["changes"].values())[0]
-
- def lines_touched(edits):
- return sorted({e["range"]["start"]["line"] for e in edits})
-
- field = rename_at(position_of(atext, "property Pos { x", 15))
- check("renaming Pos.x touches only its declaration and its uses",
- lines_touched(field), [1, 7])
- local = rename_at(position_of(atext, "let x = 5", 4))
- check("renaming a local touches only that local", lines_touched(local), [6, 7])
- param = rename_at(position_of(atext, "function helper(x", 16))
- check("renaming a parameter touches only that function", lines_touched(param), [3])
- check("renaming a parameter makes exactly two edits", len(param), 2)
-
- # find-usages must be equally precise
- refs_x = c.request("textDocument/references",
- {"textDocument": auri,
- "position": position_of(atext, "property Vel { x", 15),
- "context": {"includeDeclaration": True}})
- check("find-usages of Vel.x does not pick up Pos.x",
- sorted({r["range"]["start"]["line"] for r in refs_x}), [2, 11])
- os.unlink(amb)
-
- # ---- workspace-wide symbol search ---------------------------------------
- ws = c.request("workspace/symbol", {"query": "Stats"})
- check_true("workspace symbol search finds a property", any(s["name"] == "Stats" for s in ws))
-
- c.close()
- print(f" {passed} passed, {failed} failed")
- return 1 if failed else 0
-
-
-if __name__ == "__main__":
- sys.exit(main())