From a3a1e4d1601a2d390e4a495cf32c954686e1c3b4 Mon Sep 17 00:00:00 2001 From: Orkuncakilkaya Date: Sat, 29 Aug 2026 16:05:55 +0300 Subject: [PATCH] Language: named colors, namespaced Screen/Input/Random/Map API, named args An opinionated, game-facing surface for the language: - Color.: 221 named colors resolved to 0xRRGGBB at compile time (selfhost/emit_color.ludic). - Namespaced builtins Screen.* / Input.key / Random.* / Map.*, so calls read as subject.action; present() -> Screen.show(), clear -> Screen.clear, fill_rect -> Screen.fill_rectangle, etc. - Named arguments, e.g. Screen.fill_rectangle(x:, y:, width:, height:, color:), reordered to the callee's parameters at emit time. - machine/become can run over a named program-scope var, not just a register. - Migrate examples off numeric registers to named vars; snake/menu/chronorift render byte-identical to the goldens and the bootstrap fixpoint is preserved. - Regenerate the checked-in seed (selfhost/ludicc.seed.ll). Co-Authored-By: Claude Opus 4.8 --- examples/chronorift/combat.ludic | 100 +- examples/chronorift/draw.ludic | 130 +- examples/chronorift/overworld.ludic | 74 +- examples/chronorift/rules.ludic | 78 +- examples/chronorift/world.ludic | 24 +- examples/menu.ludic | 23 +- examples/scenes.ludic | 20 +- examples/snake.ludic | 179 +- runtime/native/core.ludic | 3 + selfhost/emit_color.ludic | 236 + selfhost/emit_expr.ludic | 93 +- selfhost/emit_machine.ludic | 34 +- selfhost/ludicc.seed.ll | 18268 ++++++++++++++++---------- selfhost/parse.ludic | 15 +- 14 files changed, 11784 insertions(+), 7493 deletions(-) create mode 100644 selfhost/emit_color.ludic diff --git a/examples/chronorift/combat.ludic b/examples/chronorift/combat.ludic index 35d31403..e716a6e8 100644 --- a/examples/chronorift/combat.ludic +++ b/examples/chronorift/combat.ludic @@ -1,50 +1,50 @@ # combat.ludic — the co-op turn-based battle state machine. -# The battle is a state machine over R_PHASE. `machine` dispatches on the -# register and `become` transitions to a named state — no more `if ph == N` -# ladders. Knight turn (0,1), Mage turn (2,3), Enemy turn (4). +# The battle is a state machine over the `turn_phase` variable. `machine` +# dispatches on its value and `become` transitions to a named state — no more +# `if ph == N` ladders. Knight turn (0,1), Mage turn (2,3), Enemy turn (4). -# Menu selections, named instead of matched on bare integers (R_CUR holds one). +# Menu selections, named instead of matched on bare integers (menu_cursor holds one). enum KnightAct { Attack, Guard, Item, Flee } enum MageAct { Attack, Heal, Guard } handler Battle phase Update { - if reg(R_MODE) == 1 { - let k = key() + if game_mode == 1 { + let k = Input.key() for (e) in query [Stats, {Enemy}] { - machine R_PHASE { + machine turn_phase { state KnightMenu { for (st, pt) in query [Stats, Party] { if pt.slot == 0 { if st.hp <= 0 { become MageMenu - set_reg(R_CUR, 0) + menu_cursor = 0 } else { - if k == 'w' { set_reg(R_CUR, max(0, reg(R_CUR) - 1)) } - if k == 's' { set_reg(R_CUR, min(3, reg(R_CUR) + 1)) } + if k == 'w' { menu_cursor = max(0, menu_cursor - 1) } + if k == 's' { menu_cursor = min(3, menu_cursor + 1) } if is_confirm(k) { - match reg(R_CUR) { + match menu_cursor { KnightAct.Attack => { - let d = max(1, st.atk - e.def + rng_range(0, 4)) + let d = max(1, st.atk - e.def + Random.range(0, 4)) e.hp = e.hp - d - set_reg(R_PDMG, d) + player_hit = d } - KnightAct.Guard => { st.guard = 1; set_reg(R_PDMG, 0) } + KnightAct.Guard => { st.guard = 1; player_hit = 0 } KnightAct.Item => { - if reg(R_POTION) > 0 { - set_reg(R_POTION, reg(R_POTION) - 1) + if potions > 0 { + potions = potions - 1 st.hp = min(st.maxhp, st.hp + 24) - set_reg(R_PDMG, 24) - } else { set_reg(R_PDMG, 0) } + player_hit = 24 + } else { player_hit = 0 } } KnightAct.Flee => { - if rng_chance(50) { e.hp = 0; set_reg(R_MODE, 0) } - else { set_reg(R_PDMG, 0) } + if Random.chance(50) { e.hp = 0; game_mode = 0 } + else { player_hit = 0 } } } become KnightResolve - set_reg(R_CUR, 0) + menu_cursor = 0 } } } @@ -55,13 +55,13 @@ handler Battle phase Update { if k != 0 { if e.hp <= 0 { grant_xp(e.xp) - set_reg(R_GOLD, reg(R_GOLD) + e.xp) - if reg(R_ETYPE) == 2 { set_reg(R_BOSS, 1); set_reg(R_MODE, 3); set_reg(R_ACK, 0) } - else { set_reg(R_MODE, 0) } + gold = gold + e.xp + if enemy_type == 2 { boss_down = 1; game_mode = 3; ack = 0 } + else { game_mode = 0 } become KnightMenu } else { become MageMenu - set_reg(R_CUR, 0) + menu_cursor = 0 } } } @@ -72,14 +72,14 @@ handler Battle phase Update { if st.hp <= 0 { become EnemyTurn } else { - if k == 'i' { set_reg(R_CUR, max(0, reg(R_CUR) - 1)) } - if k == 'k' { set_reg(R_CUR, min(2, reg(R_CUR) + 1)) } + if k == 'i' { menu_cursor = max(0, menu_cursor - 1) } + if k == 'k' { menu_cursor = min(2, menu_cursor + 1) } if k == 'j' { - match reg(R_CUR) { + match menu_cursor { MageAct.Attack => { - let d = max(1, st.atk + 5 - e.def + rng_range(0, 5)) + let d = max(1, st.atk + 5 - e.def + Random.range(0, 5)) e.hp = e.hp - d - set_reg(R_PDMG, d) + player_hit = d } MageAct.Heal => { if st.mp >= 4 { @@ -87,13 +87,13 @@ handler Battle phase Update { for (t2, p2) in query [Stats, Party] { if p2.slot == 0 { t2.hp = min(t2.maxhp, t2.hp + 16) } } - set_reg(R_PDMG, 16) - } else { set_reg(R_PDMG, 0) } + player_hit = 16 + } else { player_hit = 0 } } - MageAct.Guard => { st.guard = 1; set_reg(R_PDMG, 0) } + MageAct.Guard => { st.guard = 1; player_hit = 0 } } become MageResolve - set_reg(R_CUR, 0) + menu_cursor = 0 } } } @@ -104,9 +104,9 @@ handler Battle phase Update { if k != 0 { if e.hp <= 0 { grant_xp(e.xp) - set_reg(R_GOLD, reg(R_GOLD) + e.xp) - if reg(R_ETYPE) == 2 { set_reg(R_BOSS, 1); set_reg(R_MODE, 3); set_reg(R_ACK, 0) } - else { set_reg(R_MODE, 0) } + gold = gold + e.xp + if enemy_type == 2 { boss_down = 1; game_mode = 3; ack = 0 } + else { game_mode = 0 } become KnightMenu } else { become EnemyTurn @@ -120,10 +120,10 @@ handler Battle phase Update { for (t3) in query [Stats, {Party}] { if done == 0 { if t3.hp > 0 { - var ed = max(1, e.atk - t3.def + rng_range(0, 4)) + var ed = max(1, e.atk - t3.def + Random.range(0, 4)) if t3.guard == 1 { ed = ed / 2; t3.guard = 0 } t3.hp = t3.hp - ed - set_reg(R_EDMG, ed) + enemy_hit = ed done = 1 } } @@ -132,10 +132,10 @@ handler Battle phase Update { for (t4) in query [Stats, {Party}] { if t4.hp > 0 { alive = alive + 1 } } - if alive == 0 { set_reg(R_MODE, 2); set_reg(R_ACK, 0) } + if alive == 0 { game_mode = 2; ack = 0 } else { become KnightMenu - set_reg(R_CUR, 0) + menu_cursor = 0 } } } @@ -145,7 +145,7 @@ handler Battle phase Update { } handler CleanBattle phase LateUpdate { - if reg(R_MODE) != 1 { + if game_mode != 1 { for (e) in query [Stats, {Enemy}] { despawn self() } @@ -153,20 +153,20 @@ handler CleanBattle phase LateUpdate { } handler Meta phase Update { - let k = key() - if reg(R_MODE) == 2 { - if k == 0 { set_reg(R_ACK, 1) } + let k = Input.key() + if game_mode == 2 { + if k == 0 { ack = 1 } if k != 0 { - if reg(R_ACK) == 1 { + if ack == 1 { for (h) in query [Stats, {Party}] { h.hp = h.maxhp } - set_reg(R_MODE, 0) + game_mode = 0 } } } - if reg(R_MODE) == 3 { - if k == 0 { set_reg(R_ACK, 1) } + if game_mode == 3 { + if k == 0 { ack = 1 } if k != 0 { - if reg(R_ACK) == 1 { set_reg(R_MODE, 0) } + if ack == 1 { game_mode = 0 } } } } diff --git a/examples/chronorift/draw.ludic b/examples/chronorift/draw.ludic index 90af9402..1a2ee8a2 100644 --- a/examples/chronorift/draw.ludic +++ b/examples/chronorift/draw.ludic @@ -1,8 +1,8 @@ # draw.ludic — the Render system (overworld, battle, and overlay screens). handler Draw phase Render { - let m = reg(R_MODE) - clear(0x101018) + let m = game_mode + Screen.clear(0x101018) if m == 0 { var cx = 0 @@ -15,7 +15,7 @@ handler Draw phase Render { let ty0 = cy / 16 for ty in ty0 .. ty0 + 16 { for tx in tx0 .. tx0 + 21 { - let c = tile(tx, ty) + let c = Map.tile(tx, ty) let sx = tx * 16 - cx let sy = ty * 16 - cy var base = SPR_GRASS @@ -31,7 +31,7 @@ handler Draw phase Render { if c == 'D' { draw_sprite(SPR_DOOR, sx, sy) } if c == 'S' { draw_sprite(SPR_DOOR, sx, sy) } if c == 'B' { - if reg(R_BOSS) == 0 { draw_sprite(SPR_BOSS, sx, sy) } + if boss_down == 0 { draw_sprite(SPR_BOSS, sx, sy) } } } } @@ -40,99 +40,99 @@ handler Draw phase Render { } for (h, pp) in query [Stats, Party] { if pp.slot == 0 { - fill_rect(4, 4, 96, 38, 0x0c0c16) - frame_rect(4, 4, 96, 38, 0x3a3a55) - text(8, 8, "LV", 0xffe08a, 1) - text_int(24, 8, h.lvl, 0xffffff, 1) - text(8, 18, "HP", 0x88ff88, 1) - text_int(24, 18, h.hp, 0xffffff, 1) - text(8, 28, "G", 0xffd24a, 1) - text_int(18, 28, reg(R_GOLD), 0xffffff, 1) - text(54, 28, "PO", 0x88ffcc, 1) - text_int(72, 28, reg(R_POTION), 0xffffff, 1) + Screen.fill_rectangle(4, 4, 96, 38, 0x0c0c16) + Screen.draw_rectangle(4, 4, 96, 38, 0x3a3a55) + Screen.draw_text(8, 8, "LV", 0xffe08a, 1) + Screen.draw_number(24, 8, h.lvl, 0xffffff, 1) + Screen.draw_text(8, 18, "HP", 0x88ff88, 1) + Screen.draw_number(24, 18, h.hp, 0xffffff, 1) + Screen.draw_text(8, 28, "G", 0xffd24a, 1) + Screen.draw_number(18, 28, gold, 0xffffff, 1) + Screen.draw_text(54, 28, "PO", 0x88ffcc, 1) + Screen.draw_number(72, 28, potions, 0xffffff, 1) } } } if m == 1 { - fill_rect(0, 0, 320, 176, 0x241a2e) + Screen.fill_rectangle(0, 0, 320, 176, 0x241a2e) for (e, a) in query [Stats, Actor, {Enemy}] { var bs = 5 - if reg(R_ETYPE) == 2 { bs = 7 } + if enemy_type == 2 { bs = 7 } draw_sprite_scaled(a.kind, 160 - bs * 8, 44, bs) - text(100, 20, enemy_name(reg(R_ETYPE)), 0xffffff, 1) - fill_rect(100, 30, 120, 8, 0x401018) - fill_rect(100, 30, e.hp * 120 / e.maxhp, 8, 0xe04040) + Screen.draw_text(100, 20, enemy_name(enemy_type), 0xffffff, 1) + Screen.fill_rectangle(100, 30, 120, 8, 0x401018) + Screen.fill_rectangle(100, 30, e.hp * 120 / e.maxhp, 8, 0xe04040) } - let ph = reg(R_PHASE) + let ph = turn_phase var act = 0 if ph >= 2 { act = 1 } if ph >= 4 { act = 2 } - fill_rect(0, 176, 320, 64, 0x0c0c16) - frame_rect(0, 176, 320, 64, 0x3a3a55) + Screen.fill_rectangle(0, 176, 320, 64, 0x0c0c16) + Screen.draw_rectangle(0, 176, 320, 64, 0x3a3a55) for (st, pt) in query [Stats, Party] { let hx = 6 + pt.slot * 92 var spr = 5 if pt.slot == 1 { spr = 9 } - if pt.slot == act { frame_rect(hx - 2, 180, 88, 44, 0xffff00) } + if pt.slot == act { Screen.draw_rectangle(hx - 2, 180, 88, 44, 0xffff00) } draw_sprite_scaled(spr, hx, 184, 2) - if pt.slot == 0 { text(hx + 36, 182, "KNIGHT", 0xffe08a, 1) } - if pt.slot == 1 { text(hx + 36, 182, "MAGE", 0xc9a0ff, 1) } - text(hx + 36, 195, "HP", 0x88ff88, 1) - text_int(hx + 56, 195, st.hp, 0xffffff, 1) - text(hx + 36, 207, "MP", 0x88aaff, 1) - text_int(hx + 56, 207, st.mp, 0xffffff, 1) + if pt.slot == 0 { Screen.draw_text(hx + 36, 182, "KNIGHT", 0xffe08a, 1) } + if pt.slot == 1 { Screen.draw_text(hx + 36, 182, "MAGE", 0xc9a0ff, 1) } + Screen.draw_text(hx + 36, 195, "HP", 0x88ff88, 1) + Screen.draw_number(hx + 56, 195, st.hp, 0xffffff, 1) + Screen.draw_text(hx + 36, 207, "MP", 0x88aaff, 1) + Screen.draw_number(hx + 56, 207, st.mp, 0xffffff, 1) } - let cur = reg(R_CUR) + let cur = menu_cursor if ph == 0 or ph == 1 { - text(206, 181, "P1 KNIGHT", 0xffe08a, 1) - text(214, 192, "ATTACK", 0xffffff, 1) - text(214, 203, "DEFEND", 0xffffff, 1) - text(214, 214, "ITEM", 0xffffff, 1) - text(256, 214, "x", 0x777777, 1) - text_int(264, 214, reg(R_POTION), 0xffd24a, 1) - text(214, 225, "RUN", 0xffffff, 1) - if ph == 0 { text(204, 192 + cur * 11, ">", 0xffff00, 1) } + Screen.draw_text(206, 181, "P1 KNIGHT", 0xffe08a, 1) + Screen.draw_text(214, 192, "ATTACK", 0xffffff, 1) + Screen.draw_text(214, 203, "DEFEND", 0xffffff, 1) + Screen.draw_text(214, 214, "ITEM", 0xffffff, 1) + Screen.draw_text(256, 214, "x", 0x777777, 1) + Screen.draw_number(264, 214, potions, 0xffd24a, 1) + Screen.draw_text(214, 225, "RUN", 0xffffff, 1) + if ph == 0 { Screen.draw_text(204, 192 + cur * 11, ">", 0xffff00, 1) } } if ph == 2 or ph == 3 { - text(206, 182, "P2 MAGE", 0xc9a0ff, 1) - text(214, 196, "ATTACK", 0xffffff, 1) - text(214, 208, "HEAL", 0xffffff, 1) - text(214, 220, "DEFEND", 0xffffff, 1) - if ph == 2 { text(204, 196 + cur * 12, ">", 0xffff00, 1) } + Screen.draw_text(206, 182, "P2 MAGE", 0xc9a0ff, 1) + Screen.draw_text(214, 196, "ATTACK", 0xffffff, 1) + Screen.draw_text(214, 208, "HEAL", 0xffffff, 1) + Screen.draw_text(214, 220, "DEFEND", 0xffffff, 1) + if ph == 2 { Screen.draw_text(204, 196 + cur * 12, ">", 0xffff00, 1) } } - if ph == 4 { text(206, 200, "ENEMY TURN", 0xff8888, 1) } + if ph == 4 { Screen.draw_text(206, 200, "ENEMY TURN", 0xff8888, 1) } if ph == 1 or ph == 3 { - text(6, 232, "DMG", 0xffff88, 1) - text_int(34, 232, reg(R_PDMG), 0xffffff, 1) + Screen.draw_text(6, 232, "DMG", 0xffff88, 1) + Screen.draw_number(34, 232, player_hit, 0xffffff, 1) } if ph == 4 { - text(6, 232, "FOE HITS", 0xff8888, 1) - text_int(66, 232, reg(R_EDMG), 0xffffff, 1) + Screen.draw_text(6, 232, "FOE HITS", 0xff8888, 1) + Screen.draw_number(66, 232, enemy_hit, 0xffffff, 1) } } if m == 2 { - text(112, 104, "YOU FELL", 0xff5555, 2) - text(84, 140, "PRESS ANY KEY", 0xffffff, 1) + Screen.draw_text(112, 104, "YOU FELL", 0xff5555, 2) + Screen.draw_text(84, 140, "PRESS ANY KEY", 0xffffff, 1) } if m == 3 { - text(60, 96, "THE RIFT IS SEALED", 0x88ffcc, 2) - text(96, 132, "VICTORY!", 0xffe060, 3) - text(84, 170, "PRESS ANY KEY", 0xffffff, 1) + Screen.draw_text(60, 96, "THE RIFT IS SEALED", 0x88ffcc, 2) + Screen.draw_text(96, 132, "VICTORY!", 0xffe060, 3) + Screen.draw_text(84, 170, "PRESS ANY KEY", 0xffffff, 1) } if m == 4 { - fill_rect(60, 60, 200, 120, 0x141422) - frame_rect(60, 60, 200, 120, 0x6a6a95) - text(96, 72, "ITEM SHOP", 0xffe060, 2) - text(80, 104, "BUY POTION", 0xffffff, 1) - text(180, 104, "10 G", 0xffd24a, 1) - text(80, 122, "LEAVE", 0xffffff, 1) - text(70, 104 + reg(R_CUR) * 18, ">", 0xffff00, 1) - text(80, 150, "GOLD", 0xffd24a, 1) - text_int(120, 150, reg(R_GOLD), 0xffffff, 1) - text(160, 150, "POTIONS", 0x88ffcc, 1) - text_int(226, 150, reg(R_POTION), 0xffffff, 1) + Screen.fill_rectangle(60, 60, 200, 120, 0x141422) + Screen.draw_rectangle(60, 60, 200, 120, 0x6a6a95) + Screen.draw_text(96, 72, "ITEM SHOP", 0xffe060, 2) + Screen.draw_text(80, 104, "BUY POTION", 0xffffff, 1) + Screen.draw_text(180, 104, "10 G", 0xffd24a, 1) + Screen.draw_text(80, 122, "LEAVE", 0xffffff, 1) + Screen.draw_text(70, 104 + menu_cursor * 18, ">", 0xffff00, 1) + Screen.draw_text(80, 150, "GOLD", 0xffd24a, 1) + Screen.draw_number(120, 150, gold, 0xffffff, 1) + Screen.draw_text(160, 150, "POTIONS", 0x88ffcc, 1) + Screen.draw_number(226, 150, potions, 0xffffff, 1) } - present() + Screen.show() } diff --git a/examples/chronorift/overworld.ludic b/examples/chronorift/overworld.ludic index f4466fbf..5b82a2e1 100644 --- a/examples/chronorift/overworld.ludic +++ b/examples/chronorift/overworld.ludic @@ -25,18 +25,18 @@ handler Boot phase Start { Party { slot: 1 } Stats { hp: 26, maxhp: 26, mp: 16, maxmp: 16, atk: 8, def: 4, lvl: 1, xp: 0, guard: 0 } } - set_reg(R_MODE, 0) - set_reg(R_ENC, 4) - set_reg(R_MAP, 0) - set_reg(R_BOSS, 0) - set_reg(R_GOLD, 20) - set_reg(R_POTION, 2) + game_mode = 0 + encounter = 4 + world_map = 0 + boss_down = 0 + gold = 20 + potions = 2 } handler Control phase Input { - if reg(R_MODE) == 0 { + if game_mode == 0 { for (p) in query [Pos, {Player}] { - let k = key() + let k = Input.key() var nx = p.x var ny = p.y if k == 'w' { ny = p.y - 1 } @@ -52,48 +52,48 @@ handler Control phase Input { } } if moved == 1 { - let tc = tile(p.x, p.y) + let tc = Map.tile(p.x, p.y) if tc == 'D' { build_dungeon(0) p.x = 3 p.y = 2 - set_reg(R_MAP, 1) + world_map = 1 } if tc == 'S' { build_field(0) p.x = 36 p.y = 3 - set_reg(R_MAP, 0) + world_map = 0 } if tc == 'B' { - if reg(R_BOSS) == 0 { - set_reg(R_ETYPE, 2) + if boss_down == 0 { + enemy_type = 2 spawn Enemy { Actor { kind: 8 } Stats { hp: 120, maxhp: 120, mp: 0, maxmp: 0, atk: 18, def: 10, lvl: 5, xp: 300, guard: 0 } } - set_reg(R_MODE, 1) - set_reg(R_PHASE, 0) - set_reg(R_CUR, 0) + game_mode = 1 + turn_phase = 0 + menu_cursor = 0 } } if tc == 'h' { - set_reg(R_MODE, 4) - set_reg(R_CUR, 0) + game_mode = 4 + menu_cursor = 0 } if tc != 'D' { if tc != 'S' { if tc != 'B' { if tc != 'h' { - set_reg(R_ENC, reg(R_ENC) - 1) - if reg(R_ENC) <= 0 { - set_reg(R_ENC, rng_range(4, 9)) + encounter = encounter - 1 + if encounter <= 0 { + encounter = Random.range(4, 9) var et = 0 - if reg(R_MAP) == 1 { et = 1 } - if reg(R_MAP) == 0 { - if rng_chance(40) { et = 1 } + if world_map == 1 { et = 1 } + if world_map == 0 { + if Random.chance(40) { et = 1 } } - set_reg(R_ETYPE, et) + enemy_type = et if et == 0 { spawn Enemy { Actor { kind: 6 } @@ -106,9 +106,9 @@ handler Control phase Input { Stats { hp: 30, maxhp: 30, mp: 0, maxmp: 0, atk: 11, def: 5, lvl: 1, xp: 15, guard: 0 } } } - set_reg(R_MODE, 1) - set_reg(R_PHASE, 0) - set_reg(R_CUR, 0) + game_mode = 1 + turn_phase = 0 + menu_cursor = 0 } } } @@ -123,18 +123,18 @@ handler Control phase Input { # shop (at the house 'h' tile): buy potions with gold handler Shop phase Update { - if reg(R_MODE) == 4 { - let k = key() - if k == 'w' { set_reg(R_CUR, max(0, reg(R_CUR) - 1)) } - if k == 's' { set_reg(R_CUR, min(1, reg(R_CUR) + 1)) } + if game_mode == 4 { + let k = Input.key() + if k == 'w' { menu_cursor = max(0, menu_cursor - 1) } + if k == 's' { menu_cursor = min(1, menu_cursor + 1) } if is_confirm(k) { - if reg(R_CUR) == 0 { - if reg(R_GOLD) >= 10 { - set_reg(R_GOLD, reg(R_GOLD) - 10) - set_reg(R_POTION, reg(R_POTION) + 1) + if menu_cursor == 0 { + if gold >= 10 { + gold = gold - 10 + potions = potions + 1 } } - if reg(R_CUR) == 1 { set_reg(R_MODE, 0) } + if menu_cursor == 1 { game_mode = 0 } } } } diff --git a/examples/chronorift/rules.ludic b/examples/chronorift/rules.ludic index 12d77dc8..35b393ee 100644 --- a/examples/chronorift/rules.ludic +++ b/examples/chronorift/rules.ludic @@ -12,7 +12,7 @@ fn tile_sprite(c: int) -> int { return SPR_GRASS } fn walkable(x: int, y: int) -> bool { - let c = tile(x, y) + let c = Map.tile(x, y) return c == '.' or c == 'D' or c == 'r' or c == ',' or c == 'S' or c == 'B' or c == 'h' } fn is_confirm(k: int) -> bool { return k == 32 or k == 10 or k == 13 } @@ -23,47 +23,47 @@ fn enemy_name(et: int) -> str { } fn build_field(x: int) -> int { - map_size(40, 18) - map_row(0, "########################################") - map_row(1, "#......................................#") - map_row(2, "#...TT.........................TT.....D#") - map_row(3, "#..TT.......................TT.........#") - map_row(4, "#..T.........................T.........#") - map_row(5, "#....................................T.#") - map_row(6, "#.....TT....................TT.......T.#") - map_row(7, "#....TT.....................T..........#") - map_row(8, "#...........rrrrrrrr........HH.........#") - map_row(9, "#..........r........r.......HH.........#") - map_row(10, "#......TT...r........rrrrrrrrhr......T.#") - map_row(11, "#.....TT...r.................r.......T.#") - map_row(12, "#..........r.......TT.......r..........#") - map_row(13, "#..........rrrrrrrrrrrrrrrrr.........T.#") - map_row(14, "#.........TT.........................T.#") - map_row(15, "#........TT..........................T.#") - map_row(16, "#....................................T.#") - map_row(17, "########################################") + Map.size(40, 18) + Map.row(0, "########################################") + Map.row(1, "#......................................#") + Map.row(2, "#...TT.........................TT.....D#") + Map.row(3, "#..TT.......................TT.........#") + Map.row(4, "#..T.........................T.........#") + Map.row(5, "#....................................T.#") + Map.row(6, "#.....TT....................TT.......T.#") + Map.row(7, "#....TT.....................T..........#") + Map.row(8, "#...........rrrrrrrr........HH.........#") + Map.row(9, "#..........r........r.......HH.........#") + Map.row(10, "#......TT...r........rrrrrrrrhr......T.#") + Map.row(11, "#.....TT...r.................r.......T.#") + Map.row(12, "#..........r.......TT.......r..........#") + Map.row(13, "#..........rrrrrrrrrrrrrrrrr.........T.#") + Map.row(14, "#.........TT.........................T.#") + Map.row(15, "#........TT..........................T.#") + Map.row(16, "#....................................T.#") + Map.row(17, "########################################") return 0 } fn build_dungeon(x: int) -> int { - map_size(40, 18) - map_row(0, "========================================") - map_row(1, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") - map_row(2, "=,S,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") - map_row(3, "=,,,,,====,,,,,,,,,,,,,,,====,,,,,,,,,,=") - map_row(4, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") - map_row(5, "=,,,,,,,,,,,,,====,,,,,,,,,,,,,,,,,,,,,=") - map_row(6, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,====,,,,,=") - map_row(7, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") - map_row(8, "=,,,====,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") - map_row(9, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") - map_row(10, "=,,,,,,,,,,,,,,,,,,====,,,,,,,,,,,,,,,,=") - map_row(11, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") - map_row(12, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,====,,,,,,,=") - map_row(13, "=,,,,,,,,,====,,,,,,,,,,,,,,,,,,,,,,,,,=") - map_row(14, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") - map_row(15, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,B,,=") - map_row(16, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") - map_row(17, "========================================") + Map.size(40, 18) + Map.row(0, "========================================") + Map.row(1, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") + Map.row(2, "=,S,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") + Map.row(3, "=,,,,,====,,,,,,,,,,,,,,,====,,,,,,,,,,=") + Map.row(4, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") + Map.row(5, "=,,,,,,,,,,,,,====,,,,,,,,,,,,,,,,,,,,,=") + Map.row(6, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,====,,,,,=") + Map.row(7, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") + Map.row(8, "=,,,====,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") + Map.row(9, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") + Map.row(10, "=,,,,,,,,,,,,,,,,,,====,,,,,,,,,,,,,,,,=") + Map.row(11, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") + Map.row(12, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,====,,,,,,,=") + Map.row(13, "=,,,,,,,,,====,,,,,,,,,,,,,,,,,,,,,,,,,=") + Map.row(14, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") + Map.row(15, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,B,,=") + Map.row(16, "=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=") + Map.row(17, "========================================") return 0 } diff --git a/examples/chronorift/world.ludic b/examples/chronorift/world.ludic index 94b34793..c7e7b400 100644 --- a/examples/chronorift/world.ludic +++ b/examples/chronorift/world.ludic @@ -29,15 +29,15 @@ const SPR_MAGE: int = 9 const SPR_FLOOR: int = 10 const SPR_WALL: int = 11 -const R_MODE: int = 0 # 0 field, 1 battle, 2 gameover, 3 victory -const R_PHASE: int = 1 -const R_CUR: int = 2 -const R_ENC: int = 3 -const R_ETYPE: int = 4 # 0 slime, 1 skeleton, 2 boss -const R_PDMG: int = 5 -const R_EDMG: int = 6 -const R_GOLD: int = 7 -const R_MAP: int = 8 # 0 overworld, 1 dungeon -const R_BOSS: int = 9 # boss defeated flag -const R_ACK: int = 10 # debounce for end screens -const R_POTION: int = 11 # potions in inventory +var game_mode: int = 0 # 0 field, 1 battle, 2 gameover, 3 victory +var turn_phase: int = 0 +var menu_cursor: int = 0 +var encounter: int = 0 +var enemy_type: int = 0 # 0 slime, 1 skeleton, 2 boss +var player_hit: int = 0 +var enemy_hit: int = 0 +var gold: int = 0 +var world_map: int = 0 # 0 overworld, 1 dungeon +var boss_down: int = 0 # boss defeated flag +var ack: int = 0 # debounce for end screens +var potions: int = 0 # potions in inventory diff --git a/examples/menu.ludic b/examples/menu.ludic index 92d0e9e9..eac3d8ee 100644 --- a/examples/menu.ludic +++ b/examples/menu.ludic @@ -4,29 +4,28 @@ # and activation. The game only loads a font, opens the UI, and reads clicks. program Menu { - const R_FONT: int = 0 - const R_MSG: int = 1 + var title_font: int = 0 ui MainMenu { panel id: Root w: 288 pad: 16 gap: 6 bg: 0x1a1a2c border: 0x4a4a72 skin: "assets/ui/panel.png" inset: 10 align: center { - label text: "CHRONO RIFT" font: reg(R_FONT) size: 26 fg: 0xffe060 align: center - label text: "a Ludic retained-UI demo" font: reg(R_FONT) size: 14 fg: 0x9aa0c8 align: center + label text: "CHRONO RIFT" font: title_font size: 26 fg: 0xffe060 align: center + label text: "a Ludic retained-UI demo" font: title_font size: 14 fg: 0x9aa0c8 align: center spacer h: 4 - button id: NewGame text: "New Game" font: reg(R_FONT) size: 16 w: 236 - button id: Continue text: "Continue" font: reg(R_FONT) size: 16 w: 236 - button id: Options text: "Options" font: reg(R_FONT) size: 16 w: 236 - button id: Quit text: "Quit" font: reg(R_FONT) size: 16 w: 236 + button id: NewGame text: "New Game" font: title_font size: 16 w: 236 + button id: Continue text: "Continue" font: title_font size: 16 w: 236 + button id: Options text: "Options" font: title_font size: 16 w: 236 + button id: Quit text: "Quit" font: title_font size: 16 w: 236 } } handler Boot phase Start { - set_reg(R_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) } handler Nav phase Update { - ui_tick(key()) + ui_tick(Input.key()) if ui_clicked(UI_NewGame) { ui_set_text(UI_NewGame, "Starting...") } if ui_clicked(UI_Continue) { ui_set_text(UI_Continue, "No save") } if ui_clicked(UI_Options) { ui_set_text(UI_Options, "Soon (TM)") } @@ -34,8 +33,8 @@ program Menu { } handler Draw phase Render { - clear(0x0e0e16) + Screen.clear(0x0e0e16) ui_render() - present() + Screen.show() } } diff --git a/examples/scenes.ludic b/examples/scenes.ludic index b3a6e099..1bfa0eb3 100644 --- a/examples/scenes.ludic +++ b/examples/scenes.ludic @@ -12,33 +12,33 @@ # 201 900 frame 3: Play.World.Step, then Hud.Draw # 202 900 frame 4: Step reaches 2 -> quit(); Hud.Draw paints the last frame # -# ./selfhost/game-build.sh build/ludicc examples/scenes.ludic /tmp/scenes +# bin/x game-build bin/ludicc examples/scenes.ludic /tmp/scenes # printf 'aaaa' | /tmp/scenes program SceneDemo { - const R_N: int = 0 + var counter: int = 0 - handler Boot phase Start { set_reg(R_N, 0); print(1000) } + handler Boot phase Start { counter = 0; print(1000) } scene Title start { on enter { print(1) } on exit { print(2) } layer Main { handler Tick phase Update { - set_reg(R_N, reg(R_N) + 1) - print(100 + reg(R_N)) - if reg(R_N) >= 2 { become Play } + counter = counter + 1 + print(100 + counter) + if counter >= 2 { become Play } } } } scene Play { - on enter { print(3); set_reg(R_N, 0) } + on enter { print(3); counter = 0 } on exit { print(4) } layer World { handler Step phase Update { - set_reg(R_N, reg(R_N) + 1) - print(200 + reg(R_N)) - if reg(R_N) >= 2 { quit() } + counter = counter + 1 + print(200 + counter) + if counter >= 2 { quit() } } } layer Hud { diff --git a/examples/snake.ludic b/examples/snake.ludic index b2357b70..71907a68 100644 --- a/examples/snake.ludic +++ b/examples/snake.ludic @@ -1,71 +1,93 @@ # ============================================================================ -# snake.ludic — a second, unrelated game in Ludic, to prove the language is -# general: compiled by the SAME unmodified ludicc + runtime as the JRPG. -# No sprites/assets — pure primitives. Build: ./build.sh examples/snake.ludic +# snake.ludic — a small, complete game in Ludic. No sprites or assets: every +# pixel is drawn from primitives. Build: bin/x app examples/snake.ludic +# +# It shows the everyday shape of a Ludic game: an ECS for the moving parts (one +# entity per snake segment), named program state for the rest, and a Render +# handler that paints the frame with the Screen API and named colors. # ============================================================================ program Snake { property Pos { x: int = 0, y: int = 0 } - property Seg { order: int = 0 } + property Seg { order: int = 0 } # 0 = head, 1.. = body toward the tail - const GW: int = 20 - const GH: int = 15 - const TS: int = 16 + const GRID_W: int = 20 # playfield, in tiles + const GRID_H: int = 15 + const TILE: int = 16 # pixels per tile - const R_DIR: int = 0 # 0 up 1 down 2 left 3 right - const R_LEN: int = 1 - const R_TICK: int = 2 - const R_FX: int = 3 - const R_FY: int = 4 - const R_MODE: int = 5 # 0 play 1 gameover - const R_SCORE: int = 6 - const R_ATE: int = 7 - const R_TX: int = 8 - const R_TY: int = 9 - const R_ACK: int = 10 + const DIR_UP: int = 0 + const DIR_DOWN: int = 1 + const DIR_LEFT: int = 2 + const DIR_RIGHT: int = 3 - fn reset(x: int) -> int { + const MODE_PLAY: int = 0 + const MODE_OVER: int = 1 + + # ---- the game's whole state, named ---------------------------------------- + var direction: int = DIR_RIGHT + var length: int = 3 + var tick: int = 0 + var food_x: int = 14 + var food_y: int = 7 + var mode: int = MODE_PLAY + var score: int = 0 + var ate: int = 0 # did the head reach the food this step? + var tail_x: int = 0 # where the tail sat before it moved (grow here) + var tail_y: int = 0 + var acked: int = 0 # game-over key must be released before restart + + # ---- custom shades this game uses (values the named palette doesn't carry) - + const SHADE_BG: int = 0x0d1020 # backdrop behind the board + const SHADE_TILE_A: int = 0x141a2e # checkerboard, light square + const SHADE_TILE_B: int = 0x10162a # checkerboard, dark square + const SHADE_FOOD: int = 0xe0405a + const SHADE_BODY: int = 0x40c060 + const SHADE_HEAD: int = 0x9dffb0 + const SHADE_SCORE: int = 0xffe060 + const SHADE_OVER: int = 0xff5555 + + fn reset(unused: int) -> int { for (p, s) in query [Pos, Seg] { despawn self() } spawn S0 { Seg { order: 0 }; Pos { x: 10, y: 7 } } spawn S1 { Seg { order: 1 }; Pos { x: 9, y: 7 } } spawn S2 { Seg { order: 2 }; Pos { x: 8, y: 7 } } - set_reg(R_DIR, 3) - set_reg(R_LEN, 3) - set_reg(R_TICK, 0) - set_reg(R_MODE, 0) - set_reg(R_SCORE, 0) - set_reg(R_FX, 14) - set_reg(R_FY, 7) + direction = DIR_RIGHT + length = 3 + tick = 0 + mode = MODE_PLAY + score = 0 + food_x = 14 + food_y = 7 return 0 } handler Boot phase Start { reset(0) } handler Input phase Input { - let k = key() - if reg(R_MODE) == 0 { - if k == 'w' { if reg(R_DIR) != 1 { set_reg(R_DIR, 0) } } - if k == 's' { if reg(R_DIR) != 0 { set_reg(R_DIR, 1) } } - if k == 'a' { if reg(R_DIR) != 3 { set_reg(R_DIR, 2) } } - if k == 'd' { if reg(R_DIR) != 2 { set_reg(R_DIR, 3) } } + let k = Input.key() + if mode == MODE_PLAY { + if k == 'w' { if direction != DIR_DOWN { direction = DIR_UP } } + if k == 's' { if direction != DIR_UP { direction = DIR_DOWN } } + if k == 'a' { if direction != DIR_RIGHT { direction = DIR_LEFT } } + if k == 'd' { if direction != DIR_LEFT { direction = DIR_RIGHT } } } - if reg(R_MODE) == 1 { - if k == 0 { set_reg(R_ACK, 1) } - if k != 0 { if reg(R_ACK) == 1 { reset(0) } } + if mode == MODE_OVER { + if k == 0 { acked = 1 } + if k != 0 { if acked == 1 { reset(0) } } } } handler Move phase Update { - if reg(R_MODE) == 0 { - set_reg(R_TICK, reg(R_TICK) + 1) - if reg(R_TICK) >= 6 { - set_reg(R_TICK, 0) - let len = reg(R_LEN) + if mode == MODE_PLAY { + tick = tick + 1 + if tick >= 6 { + tick = 0 + # remember the tail cell, then drag every segment onto the one ahead of it for (pt, stg) in query [Pos, Seg] { - if stg.order == len - 1 { set_reg(R_TX, pt.x); set_reg(R_TY, pt.y) } + if stg.order == length - 1 { tail_x = pt.x; tail_y = pt.y } } - for step in 0 .. len { - let i = len - 1 - step + for step in 0 .. length { + let i = length - 1 - step if i >= 1 { for (pa, sa) in query [Pos, Seg] { if sa.order == i { @@ -76,61 +98,66 @@ program Snake { } } } - set_reg(R_ATE, 0) + # move the head, check the walls, check the food + ate = 0 for (ph, sh) in query [Pos, Seg] { if sh.order == 0 { - if reg(R_DIR) == 0 { ph.y = ph.y - 1 } - if reg(R_DIR) == 1 { ph.y = ph.y + 1 } - if reg(R_DIR) == 2 { ph.x = ph.x - 1 } - if reg(R_DIR) == 3 { ph.x = ph.x + 1 } - if ph.x < 0 { set_reg(R_MODE, 1) } - if ph.x >= GW { set_reg(R_MODE, 1) } - if ph.y < 0 { set_reg(R_MODE, 1) } - if ph.y >= GH { set_reg(R_MODE, 1) } - if ph.x == reg(R_FX) { if ph.y == reg(R_FY) { set_reg(R_ATE, 1) } } + if direction == DIR_UP { ph.y = ph.y - 1 } + if direction == DIR_DOWN { ph.y = ph.y + 1 } + if direction == DIR_LEFT { ph.x = ph.x - 1 } + if direction == DIR_RIGHT { ph.x = ph.x + 1 } + if ph.x < 0 { mode = MODE_OVER } + if ph.x >= GRID_W { mode = MODE_OVER } + if ph.y < 0 { mode = MODE_OVER } + if ph.y >= GRID_H { mode = MODE_OVER } + if ph.x == food_x { if ph.y == food_y { ate = 1 } } } } + # self-collision: head onto any body segment for (ph, sh) in query [Pos, Seg] { if sh.order == 0 { for (pb, sb) in query [Pos, Seg] { if sb.order > 0 { - if pb.x == ph.x { if pb.y == ph.y { set_reg(R_MODE, 1) } } + if pb.x == ph.x { if pb.y == ph.y { mode = MODE_OVER } } } } } } - if reg(R_ATE) == 1 { - set_reg(R_SCORE, reg(R_SCORE) + 1) - spawn Body { Seg { order: len }; Pos { x: reg(R_TX), y: reg(R_TY) } } - set_reg(R_LEN, len + 1) - set_reg(R_FX, rng_range(0, GW - 1)) - set_reg(R_FY, rng_range(0, GH - 1)) + if ate == 1 { + score = score + 1 + spawn Body { Seg { order: length }; Pos { x: tail_x, y: tail_y } } + length = length + 1 + food_x = Random.range(low: 0, high: GRID_W - 1) + food_y = Random.range(low: 0, high: GRID_H - 1) } } } } handler Draw phase Render { - clear(0x0d1020) - for gy in 0 .. GH { - for gx in 0 .. GW { - var col = 0x141a2e - if (gx + gy) % 2 == 0 { col = 0x10162a } - fill_rect(gx * TS, gy * TS, TS, TS, col) + Screen.clear(SHADE_BG) + # checkerboard field + for gy in 0 .. GRID_H { + for gx in 0 .. GRID_W { + var tile_color = SHADE_TILE_A + if (gx + gy) % 2 == 0 { tile_color = SHADE_TILE_B } + Screen.fill_rectangle(x: gx * TILE, y: gy * TILE, width: TILE, height: TILE, color: tile_color) } } - fill_rect(reg(R_FX) * TS + 3, reg(R_FY) * TS + 3, TS - 6, TS - 6, 0xe0405a) + # food, inset a few pixels inside its tile + Screen.fill_rectangle(x: food_x * TILE + 3, y: food_y * TILE + 3, width: TILE - 6, height: TILE - 6, color: SHADE_FOOD) + # every snake segment, straight from the ECS for (p, s) in query [Pos, Seg] { - var col = 0x40c060 - if s.order == 0 { col = 0x9dffb0 } - fill_rect(p.x * TS + 1, p.y * TS + 1, TS - 2, TS - 2, col) + var seg_color = SHADE_BODY + if s.order == 0 { seg_color = SHADE_HEAD } # the head is brighter + Screen.fill_rectangle(x: p.x * TILE + 1, y: p.y * TILE + 1, width: TILE - 2, height: TILE - 2, color: seg_color) } - text(6, 4, "SCORE", 0xffffff, 1) - text_int(52, 4, reg(R_SCORE), 0xffe060, 1) - if reg(R_MODE) == 1 { - text(112, 104, "GAME OVER", 0xff5555, 2) - text(84, 140, "PRESS ANY KEY", 0xffffff, 1) + Screen.draw_text(x: 6, y: 4, text: "SCORE", color: Color.White, scale: 1) + Screen.draw_number(x: 52, y: 4, value: score, color: SHADE_SCORE, scale: 1) + if mode == MODE_OVER { + Screen.draw_text(x: 112, y: 104, text: "GAME OVER", color: SHADE_OVER, scale: 2) + Screen.draw_text(x: 84, y: 140, text: "PRESS ANY KEY", color: Color.White, scale: 1) } - present() + Screen.show() } } diff --git a/runtime/native/core.ludic b/runtime/native/core.ludic index dece1e35..2a3a5f39 100644 --- a/runtime/native/core.ludic +++ b/runtime/native/core.ludic @@ -59,6 +59,9 @@ fn rt_shutdown() -> void { } # ---- framebuffer ---------------------------------------------------------- +fn rt_screen_w() -> int { return rt_fbw } +fn rt_screen_h() -> int { return rt_fbh } + fn rt_clear(c: int) -> void { let n = rt_fbw * rt_fbh for i in 0 .. n { diff --git a/selfhost/emit_color.ludic b/selfhost/emit_color.ludic new file mode 100644 index 00000000..a5b24471 --- /dev/null +++ b/selfhost/emit_color.ludic @@ -0,0 +1,236 @@ +# ============================================================================ +# emit_color.ludic — the named-color palette, resolved at compile time. +# +# `Color.Name` in a game lowers to a plain 0xRRGGBB int here: no runtime cost, +# no allocation, identical codegen to writing the hex by hand. Unknown names are +# a compile error (color_lookup returns -1, which emit_expr reports). +# +# GENERATED by scratchpad/palette.py from the single source-of-truth palette. +# Edit the palette there and regenerate; do not hand-edit this file. +# ============================================================================ + +fn color_lookup(name: ptr) -> int { + if (name == "White") { return 0xFFFFFF } + if (name == "Snow") { return 0xFFFAFA } + if (name == "Ivory") { return 0xFFFFF0 } + if (name == "EggShellWhite") { return 0xF0EAD6 } + if (name == "FloralWhite") { return 0xFFFAF0 } + if (name == "SeaShell") { return 0xFFF5EE } + if (name == "Linen") { return 0xFAF0E6 } + if (name == "AntiqueWhite") { return 0xFAEBD7 } + if (name == "OldLace") { return 0xFDF5E6 } + if (name == "Beige") { return 0xF5F5DC } + if (name == "Cream") { return 0xFFFDD0 } + if (name == "Honeydew") { return 0xF0FFF0 } + if (name == "MintCream") { return 0xF5FFFA } + if (name == "Azure") { return 0xF0FFFF } + if (name == "AliceBlue") { return 0xF0F8FF } + if (name == "GhostWhite") { return 0xF8F8FF } + if (name == "WhiteSmoke") { return 0xF5F5F5 } + if (name == "Lavender") { return 0xE6E6FA } + if (name == "Bone") { return 0xE3DAC9 } + if (name == "Parchment") { return 0xF1E9D2 } + if (name == "Gainsboro") { return 0xDCDCDC } + if (name == "LightGray") { return 0xD3D3D3 } + if (name == "Silver") { return 0xC0C0C0 } + if (name == "Ash") { return 0xB2BEB5 } + if (name == "DarkGray") { return 0xA9A9A9 } + if (name == "Gray") { return 0x808080 } + if (name == "DimGray") { return 0x696969 } + if (name == "Nickel") { return 0x727472 } + if (name == "Slate") { return 0x708090 } + if (name == "SlateGray") { return 0x708090 } + if (name == "LightSlateGray") { return 0x778899 } + if (name == "Gunmetal") { return 0x2A3439 } + if (name == "Charcoal") { return 0x36454F } + if (name == "Graphite") { return 0x1C1C1C } + if (name == "Onyx") { return 0x353839 } + if (name == "Jet") { return 0x343434 } + if (name == "Black") { return 0x000000 } + if (name == "EerieBlack") { return 0x1B1B1B } + if (name == "RaisinBlack") { return 0x242124 } + if (name == "Ebony") { return 0x555D50 } + if (name == "Red") { return 0xFF0000 } + if (name == "Crimson") { return 0xDC143C } + if (name == "Scarlet") { return 0xFF2400 } + if (name == "Vermilion") { return 0xE34234 } + if (name == "FireBrick") { return 0xB22222 } + if (name == "Cinnabar") { return 0xE44D2E } + if (name == "DarkRed") { return 0x8B0000 } + if (name == "Maroon") { return 0x800000 } + if (name == "Ruby") { return 0xE0115F } + if (name == "Cardinal") { return 0xC41E3A } + if (name == "IndianRed") { return 0xCD5C5C } + if (name == "Rust") { return 0xB7410E } + if (name == "Sangria") { return 0x92000A } + if (name == "Redwood") { return 0xA45A52 } + if (name == "Cerise") { return 0xDE3163 } + if (name == "Amaranth") { return 0xE52B50 } + if (name == "Carmine") { return 0x960018 } + if (name == "Chestnut") { return 0x954535 } + if (name == "Brick") { return 0xCB4154 } + if (name == "TerraCotta") { return 0xE2725B } + if (name == "Pink") { return 0xFFC0CB } + if (name == "LightPink") { return 0xFFB6C1 } + if (name == "HotPink") { return 0xFF69B4 } + if (name == "DeepPink") { return 0xFF1493 } + if (name == "PaleVioletRed") { return 0xDB7093 } + if (name == "Rose") { return 0xFF007F } + if (name == "Blush") { return 0xDE5D83 } + if (name == "Salmon") { return 0xFA8072 } + if (name == "LightSalmon") { return 0xFFA07A } + if (name == "DarkSalmon") { return 0xE9967A } + if (name == "Coral") { return 0xFF7F50 } + if (name == "Watermelon") { return 0xFC6C85 } + if (name == "Flamingo") { return 0xFC8EAC } + if (name == "Bubblegum") { return 0xFFC1CC } + if (name == "Fuchsia") { return 0xFF00FF } + if (name == "Magenta") { return 0xFF00FF } + if (name == "Mauve") { return 0xE0B0FF } + if (name == "Puce") { return 0xCC8899 } + if (name == "Thistle") { return 0xD8BFD8 } + if (name == "Orchid") { return 0xDA70D6 } + if (name == "Orange") { return 0xFFA500 } + if (name == "DarkOrange") { return 0xFF8C00 } + if (name == "Tangerine") { return 0xF28500 } + if (name == "Pumpkin") { return 0xFF7518 } + if (name == "Apricot") { return 0xFBCEB1 } + if (name == "Peach") { return 0xFFE5B4 } + if (name == "Cantaloupe") { return 0xFFA62B } + if (name == "Amber") { return 0xFFBF00 } + if (name == "Bronze") { return 0xCD7F32 } + if (name == "Copper") { return 0xB87333 } + if (name == "Marigold") { return 0xEAA221 } + if (name == "Carrot") { return 0xED9121 } + if (name == "Persimmon") { return 0xEC5800 } + if (name == "Papaya") { return 0xFF9E2C } + if (name == "Sunset") { return 0xFAD6A5 } + if (name == "Yellow") { return 0xFFFF00 } + if (name == "LightYellow") { return 0xFFFFE0 } + if (name == "Gold") { return 0xFFD700 } + if (name == "Goldenrod") { return 0xDAA520 } + if (name == "Lemon") { return 0xFFF700 } + if (name == "Canary") { return 0xFFEF00 } + if (name == "Mustard") { return 0xFFDB58 } + if (name == "Flax") { return 0xEEDC82 } + if (name == "Wheat") { return 0xF5DEB3 } + if (name == "Corn") { return 0xFBEC5D } + if (name == "Dandelion") { return 0xF0E130 } + if (name == "Saffron") { return 0xF4C430 } + if (name == "Khaki") { return 0xF0E68C } + if (name == "DarkKhaki") { return 0xBDB76B } + if (name == "Straw") { return 0xE4D96F } + if (name == "Brown") { return 0x8B4513 } + if (name == "SaddleBrown") { return 0x8B4513 } + if (name == "Sienna") { return 0xA0522D } + if (name == "Chocolate") { return 0xD2691E } + if (name == "Peru") { return 0xCD853F } + if (name == "Tan") { return 0xD2B48C } + if (name == "BurlyWood") { return 0xDEB887 } + if (name == "Sand") { return 0xC2B280 } + if (name == "Coffee") { return 0x6F4E37 } + if (name == "Espresso") { return 0x4B3621 } + if (name == "Mahogany") { return 0xC04000 } + if (name == "Walnut") { return 0x773F1A } + if (name == "Umber") { return 0x635147 } + if (name == "Sepia") { return 0x704214 } + if (name == "Taupe") { return 0x483C32 } + if (name == "Fawn") { return 0xE5AA70 } + if (name == "Caramel") { return 0xC68E17 } + if (name == "Cocoa") { return 0xD2691E } + if (name == "Hazel") { return 0x8E7618 } + if (name == "Wenge") { return 0x645452 } + if (name == "Green") { return 0x008000 } + if (name == "Lime") { return 0x00FF00 } + if (name == "LimeGreen") { return 0x32CD32 } + if (name == "LawnGreen") { return 0x7CFC00 } + if (name == "Chartreuse") { return 0x7FFF00 } + if (name == "GreenYellow") { return 0xADFF2F } + if (name == "SpringGreen") { return 0x00FF7F } + if (name == "MintGreen") { return 0x98FF98 } + if (name == "SeaGreen") { return 0x2E8B57 } + if (name == "MediumSeaGreen") { return 0x3CB371 } + if (name == "ForestGreen") { return 0x228B22 } + if (name == "DarkGreen") { return 0x006400 } + if (name == "OliveDrab") { return 0x6B8E23 } + if (name == "Olive") { return 0x808000 } + if (name == "Moss") { return 0x8A9A5B } + if (name == "Fern") { return 0x4F7942 } + if (name == "Emerald") { return 0x50C878 } + if (name == "Jade") { return 0x00A86B } + if (name == "Malachite") { return 0x0BDA51 } + if (name == "Shamrock") { return 0x009E60 } + if (name == "Pistachio") { return 0x93C572 } + if (name == "Avocado") { return 0x568203 } + if (name == "Pine") { return 0x01796F } + if (name == "Sage") { return 0x9CAF88 } + if (name == "Kelly") { return 0x4CBB17 } + if (name == "Hunter") { return 0x355E3B } + if (name == "Basil") { return 0x579229 } + if (name == "Clover") { return 0x2E8B57 } + if (name == "Juniper") { return 0x6D9A79 } + if (name == "Neon") { return 0x39FF14 } + if (name == "Cyan") { return 0x00FFFF } + if (name == "Aqua") { return 0x00FFFF } + if (name == "LightCyan") { return 0xE0FFFF } + if (name == "PaleTurquoise") { return 0xAFEEEE } + if (name == "Aquamarine") { return 0x7FFFD4 } + if (name == "Turquoise") { return 0x40E0D0 } + if (name == "MediumTurquoise") { return 0x48D1CC } + if (name == "DarkTurquoise") { return 0x00CED1 } + if (name == "Teal") { return 0x008080 } + if (name == "DarkCyan") { return 0x008B8B } + if (name == "CadetBlue") { return 0x5F9EA0 } + if (name == "Lagoon") { return 0x018E8E } + if (name == "Seafoam") { return 0x93E9BE } + if (name == "Cerulean") { return 0x007BA7 } + if (name == "SkyBlueLight") { return 0x80DAEB } + if (name == "Robin") { return 0x00CCCC } + if (name == "Verdigris") { return 0x43B3AE } + if (name == "Celadon") { return 0xACE1AF } + if (name == "Blue") { return 0x0000FF } + if (name == "LightBlue") { return 0xADD8E6 } + if (name == "PowderBlue") { return 0xB0E0E6 } + if (name == "SkyBlue") { return 0x87CEEB } + if (name == "LightSkyBlue") { return 0x87CEFA } + if (name == "DeepSkyBlue") { return 0x00BFFF } + if (name == "DodgerBlue") { return 0x1E90FF } + if (name == "CornflowerBlue") { return 0x6495ED } + if (name == "SteelBlue") { return 0x4682B4 } + if (name == "RoyalBlue") { return 0x4169E1 } + if (name == "MediumBlue") { return 0x0000CD } + if (name == "DarkBlue") { return 0x00008B } + if (name == "Navy") { return 0x000080 } + if (name == "MidnightBlue") { return 0x191970 } + if (name == "Cobalt") { return 0x0047AB } + if (name == "Sapphire") { return 0x0F52BA } + if (name == "Denim") { return 0x1560BD } + if (name == "Indigo") { return 0x4B0082 } + if (name == "Prussian") { return 0x003153 } + if (name == "Ultramarine") { return 0x3F00FF } + if (name == "Periwinkle") { return 0xCCCCFF } + if (name == "Iris") { return 0x5A4FCF } + if (name == "Glaucous") { return 0x6082B6 } + if (name == "Zaffre") { return 0x0014A8 } + if (name == "Berry") { return 0x2E2D88 } + if (name == "Purple") { return 0x800080 } + if (name == "Violet") { return 0xEE82EE } + if (name == "DarkViolet") { return 0x9400D3 } + if (name == "BlueViolet") { return 0x8A2BE2 } + if (name == "MediumPurple") { return 0x9370DB } + if (name == "Amethyst") { return 0x9966CC } + if (name == "Plum") { return 0x8E4585 } + if (name == "Eggplant") { return 0x614051 } + if (name == "Grape") { return 0x6F2DA8 } + if (name == "Wine") { return 0x722F37 } + if (name == "Mulberry") { return 0xC54B8C } + if (name == "Lilac") { return 0xC8A2C8 } + if (name == "Wisteria") { return 0xC9A0DC } + if (name == "Heliotrope") { return 0xDF73FF } + if (name == "Byzantium") { return 0x702963 } + if (name == "Tyrian") { return 0x66023C } + if (name == "RebeccaPurple") { return 0x663399 } + if (name == "Orchid2") { return 0xAF69EF } + return -1 +} + diff --git a/selfhost/emit_expr.ludic b/selfhost/emit_expr.ludic index 52a2a2a4..10da4940 100644 --- a/selfhost/emit_expr.ludic +++ b/selfhost/emit_expr.ludic @@ -116,7 +116,89 @@ fn emit_bin(e: Node) -> Val { return val(r, "int") } +# ---- named arguments ------------------------------------------------------- +# An argument list is either all-positional or all-named. When named, each kid +# is an E_FINIT (label -> value); this rewrites e.kids into plain value exprs in +# the order the callee declares its parameters, so the rest of emit_call is +# oblivious to whether the caller used names. +fn 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 } + return false +} +fn reorder_named(e: Node, labels: []ptr) -> void { + if not args_are_named(e) { return } + 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 + } + if len(e.kids) != len(labels) { perr("wrong number of arguments") } + let out = new []Node + var li = 0 + 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 } + if (found == null) { perr(`no argument named {labels[li]}`) } + push(out, found.a) + li = li + 1 + } + e.kids = out +} +# The parameter labels of a resolved fn/extern, in declaration order. +fn param_labels(fn: Node) -> []ptr { + let out = new []ptr + var i = 0 + while i < len(fn.kids) { if fn.kids[i].kind == N_PARAM { push(out, fn.kids[i].s) }; i = i + 1 } + return out +} + +# ---- namespaced builtins: Screen.* / Random.* / Input.* -------------------- +# The game-facing API reads as `subject.action(...)`. Each method maps to a bare +# runtime builtin plus the parameter labels callers may use as named arguments; +# after reordering we rewrite the callee to that bare name and fall back into the +# ordinary builtin path (which resolves it to its rt_ function). +fn emit_ns_call(ns: ptr, meth: ptr, e: Node) -> Val { + var bare: ptr = null + let labels = new []ptr + if (ns == "Screen") { + if (meth == "clear") { bare = "clear"; push(labels, "color") } + if (meth == "fill_rectangle") { bare = "fill_rect"; push(labels, "x"); push(labels, "y"); push(labels, "width"); push(labels, "height"); push(labels, "color") } + if (meth == "draw_rectangle") { bare = "frame_rect"; push(labels, "x"); push(labels, "y"); push(labels, "width"); push(labels, "height"); push(labels, "color") } + if (meth == "put_pixel") { bare = "put_px"; push(labels, "x"); push(labels, "y"); push(labels, "color") } + if (meth == "draw_text") { bare = "text"; push(labels, "x"); push(labels, "y"); push(labels, "text"); push(labels, "color"); push(labels, "scale") } + if (meth == "draw_number") { bare = "text_int"; push(labels, "x"); push(labels, "y"); push(labels, "value"); push(labels, "color"); push(labels, "scale") } + if (meth == "show") { bare = "present" } + if (meth == "width") { bare = "screen_w" } + if (meth == "height") { bare = "screen_h" } + if (meth == "status") { bare = "status"; push(labels, "text") } + } + if (ns == "Map") { + if (meth == "size") { bare = "map_size"; push(labels, "width"); push(labels, "height") } + if (meth == "row") { bare = "map_row"; push(labels, "y"); push(labels, "cells") } + if (meth == "tile") { bare = "tile"; push(labels, "x"); push(labels, "y") } + } + if (ns == "Random") { + if (meth == "range") { bare = "rng_range"; push(labels, "low"); push(labels, "high") } + if (meth == "chance") { bare = "rng_chance"; push(labels, "percent") } + if (meth == "seed") { bare = "seed"; push(labels, "value") } + } + if (ns == "Input") { + if (meth == "key") { bare = "key" } + } + if (bare == null) { perr(`unknown builtin {ns}.{meth}`) } + reorder_named(e, labels) + let id = node(E_ID); id.s = bare; e.a = id + return emit_call(e) +} + fn emit_call(e: Node) -> Val { + # `Subject.action(...)` — a namespaced builtin (Screen/Random/Input). + if e.a.kind == E_MEMBER { + if e.a.a.kind == E_ID { return emit_ns_call(e.a.a.s, e.a.s, e) } + perr("call target is not a function") + } let name = e.a.s if (name == "self") { if nself == 0 { return val("0", "entity") }; return val(emit_bind(`load i32, ptr {self_stk[nself - 1]}`), "entity") } if (name == "key") { return val(emit_bind("load i32, ptr @L_key"), "int") } @@ -253,6 +335,7 @@ fn emit_call(e: Node) -> Val { # extern fn: a direct call to the declared link symbol (no @fn_ prefix) let ext = find_extern(name) if (ext != null) { + reorder_named(e, param_labels(ext)) let eargs = new []ptr let eatys = new []ptr var ei = 0 @@ -280,6 +363,7 @@ fn emit_call(e: Node) -> Val { if (fn2 == null) { perr(`unknown function {name}`) } cname = rtname } + reorder_named(e, param_labels(fn2)) # evaluate args first (their IR is emitted before the call instruction) let args = new []ptr let atys = new []ptr @@ -332,8 +416,13 @@ fn emit_expr(e: Node) -> Val { perr(`unknown identifier {e.s}`) } if e.kind == E_MEMBER { - if e.a.kind == E_ID { # `Enum.Variant` -> its ordinal, a compile-time int - let ord = enum_ordinal(e.a.s, e.s) + if e.a.kind == E_ID { + if (e.a.s == "Color") { # `Color.Name` -> its 0xRRGGBB int, at compile time + let cv = color_lookup(e.s) + if (cv < 0) { perr(`unknown color Color.{e.s}`) } + return val(itoa(cv), "int") + } + let ord = enum_ordinal(e.a.s, e.s) # `Enum.Variant` -> its ordinal, a compile-time int if ord >= 0 { return val(itoa(ord), "int") } } let bt = static_type(e.a) # `x.field` where field is @Computed -> inline it diff --git a/selfhost/emit_machine.ludic b/selfhost/emit_machine.ludic index 96987f65..caefed11 100644 --- a/selfhost/emit_machine.ludic +++ b/selfhost/emit_machine.ludic @@ -1,10 +1,25 @@ -# emit_machine.ludic — `machine { state Name = v { .. } }` dispatches on a -# register's value; `become Name` stores the target state's value back. Both are -# reg()/set_reg() calls, resolved to the runtime like any other builtin. +# emit_machine.ludic — `machine { state Name = v { .. } }` dispatches on +# an int state store; `become Name` writes the target state's value back. The +# store is either a named program-scope `var` (loaded/stored directly) or, for +# older code, a register index (reg()/set_reg()). + +# If `a` names a program-scope `var`, return it; else null (a register index). +fn machine_var(a: Node) -> Node { + if a.kind == E_ID { + let g = find_global(a.s) + if (g != null) { if g.kind == N_VAR { return g } } + } + return null +} fn emit_machine(st: Node) -> void { - let regv = emit_expr(st.a) - let s = emit_bind(`call i32 @fn_rt_reg(i32 {regv.code})`) + let gv = machine_var(st.a) + var s = "" + if (gv != null) { s = emit_bind(`load i32, ptr @g_{st.a.s}`) } + else { + let regv = emit_expr(st.a) + 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 let endl = lbl("smend") @@ -37,9 +52,14 @@ fn emit_become(st: Node) -> void { var i = 0 while i < len(m.kids) { if (m.kids[i].s == st.s) { target = m.kids[i] }; i = i + 1 } if (target != null) { - let regv = emit_expr(m.a) + let gv = machine_var(m.a) let sv = emit_expr(target.b) - emit(" call void @fn_rt_set_reg(i32 "); emit(regv.code); emit(", i32 "); emit(sv.code); emit(")\n") + if (gv != null) { + emit(" store i32 "); emit(sv.code); emit(", ptr @g_"); emit(m.a.s); emit("\n") + } else { + let regv = emit_expr(m.a) + emit(" call void @fn_rt_set_reg(i32 "); emit(regv.code); emit(", i32 "); emit(sv.code); emit(")\n") + } return } } diff --git a/selfhost/ludicc.seed.ll b/selfhost/ludicc.seed.ll index 40b36ef4..2e2de5e6 100644 --- a/selfhost/ludicc.seed.ll +++ b/selfhost/ludicc.seed.ll @@ -97,2809 +97,3119 @@ declare void @win_close() @.str5 = private unnamed_addr constant [2 x i8] c"]\00" @.str6 = private unnamed_addr constant [2 x i8] c"(\00" @.str7 = private unnamed_addr constant [2 x i8] c")\00" -@.str8 = private unnamed_addr constant [2 x i8] c",\00" -@.str9 = private unnamed_addr constant [2 x i8] c")\00" -@.str10 = private unnamed_addr constant [2 x i8] c"+\00" -@.str11 = private unnamed_addr constant [4 x i8] c"str\00" -@.str12 = private unnamed_addr constant [2 x i8] c"(\00" -@.str13 = private unnamed_addr constant [2 x i8] c")\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 [5 x i8] c"emit\00" -@.str18 = private unnamed_addr constant [5 x i8] c"true\00" -@.str19 = private unnamed_addr constant [6 x i8] c"false\00" -@.str20 = private unnamed_addr constant [5 x i8] c"null\00" -@.str21 = private unnamed_addr constant [4 x i8] c"new\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 [20 x i8] c"expected expression\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 [3 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 [2 x i8] c"-\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 [4 x i8] c"not\00" -@.str36 = private unnamed_addr constant [4 x i8] c"not\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 [3 x i8] c"<<\00" -@.str41 = private unnamed_addr constant [3 x i8] c">>\00" -@.str42 = private unnamed_addr constant [2 x i8] c"&\00" -@.str43 = private unnamed_addr constant [2 x i8] c"+\00" -@.str44 = private unnamed_addr constant [2 x i8] c"-\00" -@.str45 = private unnamed_addr constant [2 x i8] c"|\00" -@.str46 = private unnamed_addr constant [2 x i8] c"^\00" -@.str47 = private unnamed_addr constant [2 x i8] c"<\00" -@.str48 = private unnamed_addr constant [3 x i8] c"<=\00" -@.str49 = private unnamed_addr constant [2 x i8] c">\00" -@.str50 = private unnamed_addr constant [3 x i8] c">=\00" -@.str51 = private unnamed_addr constant [3 x i8] c"==\00" -@.str52 = private unnamed_addr constant [3 x i8] c"!=\00" -@.str53 = private unnamed_addr constant [4 x i8] c"and\00" -@.str54 = private unnamed_addr constant [4 x i8] c"and\00" -@.str55 = private unnamed_addr constant [3 x i8] c"or\00" -@.str56 = private unnamed_addr constant [3 x i8] c"or\00" -@.str57 = private unnamed_addr constant [2 x i8] c"{\00" -@.str58 = private unnamed_addr constant [2 x i8] c"}\00" -@.str59 = private unnamed_addr constant [2 x i8] c":\00" -@.str60 = private unnamed_addr constant [2 x i8] c",\00" -@.str61 = private unnamed_addr constant [2 x i8] c"}\00" -@.str62 = private unnamed_addr constant [2 x i8] c"{\00" +@.str8 = private unnamed_addr constant [2 x i8] c":\00" +@.str9 = private unnamed_addr constant [2 x i8] c":\00" +@.str10 = private unnamed_addr constant [2 x i8] c",\00" +@.str11 = private unnamed_addr constant [2 x i8] c")\00" +@.str12 = private unnamed_addr constant [2 x i8] c"+\00" +@.str13 = private unnamed_addr constant [4 x i8] c"str\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 [2 x i8] c")\00" +@.str26 = private unnamed_addr constant [20 x i8] c"expected expression\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 [3 x i8] c"..\00" +@.str30 = private unnamed_addr constant [2 x i8] c"]\00" +@.str31 = private unnamed_addr constant [2 x i8] c"]\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 [4 x i8] c"not\00" +@.str38 = private unnamed_addr constant [4 x i8] c"not\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 [3 x i8] c"<<\00" +@.str43 = private unnamed_addr constant [3 x i8] c">>\00" +@.str44 = private unnamed_addr constant [2 x i8] c"&\00" +@.str45 = private unnamed_addr constant [2 x i8] c"+\00" +@.str46 = private unnamed_addr constant [2 x i8] c"-\00" +@.str47 = private unnamed_addr constant [2 x i8] c"|\00" +@.str48 = private unnamed_addr constant [2 x i8] c"^\00" +@.str49 = private unnamed_addr constant [2 x i8] c"<\00" +@.str50 = private unnamed_addr constant [3 x i8] c"<=\00" +@.str51 = private unnamed_addr constant [2 x i8] c">\00" +@.str52 = private unnamed_addr constant [3 x i8] c">=\00" +@.str53 = private unnamed_addr constant [3 x i8] c"==\00" +@.str54 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str55 = private unnamed_addr constant [4 x i8] c"and\00" +@.str56 = private unnamed_addr constant [4 x i8] c"and\00" +@.str57 = private unnamed_addr constant [3 x i8] c"or\00" +@.str58 = private unnamed_addr constant [3 x i8] c"or\00" +@.str59 = private unnamed_addr constant [2 x i8] c"{\00" +@.str60 = private unnamed_addr constant [2 x i8] c"}\00" +@.str61 = private unnamed_addr constant [2 x i8] c":\00" +@.str62 = private unnamed_addr constant [2 x i8] c",\00" @.str63 = private unnamed_addr constant [2 x i8] c"}\00" -@.str64 = private unnamed_addr constant [2 x i8] c"}\00" -@.str65 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00" +@.str64 = private unnamed_addr constant [2 x i8] c"{\00" +@.str65 = private unnamed_addr constant [2 x i8] c"}\00" @.str66 = private unnamed_addr constant [2 x i8] c"}\00" -@.str67 = private unnamed_addr constant [4 x i8] c"let\00" -@.str68 = private unnamed_addr constant [4 x i8] c"var\00" -@.str69 = private unnamed_addr constant [4 x i8] c"var\00" -@.str70 = private unnamed_addr constant [2 x i8] c":\00" -@.str71 = private unnamed_addr constant [2 x i8] c"=\00" -@.str72 = private unnamed_addr constant [7 x i8] c"return\00" -@.str73 = private unnamed_addr constant [2 x i8] c"}\00" -@.str74 = private unnamed_addr constant [3 x i8] c"if\00" -@.str75 = private unnamed_addr constant [5 x i8] c"else\00" +@.str67 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00" +@.str68 = private unnamed_addr constant [2 x i8] c"}\00" +@.str69 = private unnamed_addr constant [4 x i8] c"let\00" +@.str70 = private unnamed_addr constant [4 x i8] c"var\00" +@.str71 = private unnamed_addr constant [4 x i8] c"var\00" +@.str72 = private unnamed_addr constant [2 x i8] c":\00" +@.str73 = private unnamed_addr constant [2 x i8] c"=\00" +@.str74 = private unnamed_addr constant [7 x i8] c"return\00" +@.str75 = private unnamed_addr constant [2 x i8] c"}\00" @.str76 = private unnamed_addr constant [3 x i8] c"if\00" -@.str77 = private unnamed_addr constant [6 x i8] c"while\00" -@.str78 = private unnamed_addr constant [4 x i8] c"for\00" -@.str79 = private unnamed_addr constant [2 x i8] c"(\00" -@.str80 = private unnamed_addr constant [3 x i8] c"..\00" -@.str81 = private unnamed_addr constant [6 x i8] c"spawn\00" -@.str82 = private unnamed_addr constant [8 x i8] c"machine\00" -@.str83 = private unnamed_addr constant [2 x i8] c"{\00" -@.str84 = private unnamed_addr constant [2 x i8] c"}\00" -@.str85 = private unnamed_addr constant [2 x i8] c"=\00" +@.str77 = private unnamed_addr constant [5 x i8] c"else\00" +@.str78 = private unnamed_addr constant [3 x i8] c"if\00" +@.str79 = private unnamed_addr constant [6 x i8] c"while\00" +@.str80 = private unnamed_addr constant [4 x i8] c"for\00" +@.str81 = private unnamed_addr constant [2 x i8] c"(\00" +@.str82 = private unnamed_addr constant [3 x i8] c"..\00" +@.str83 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str84 = private unnamed_addr constant [8 x i8] c"machine\00" +@.str85 = private unnamed_addr constant [2 x i8] c"{\00" @.str86 = private unnamed_addr constant [2 x i8] c"}\00" -@.str87 = private unnamed_addr constant [5 x i8] c"emit\00" -@.str88 = private unnamed_addr constant [7 x i8] c"become\00" -@.str89 = private unnamed_addr constant [8 x i8] c"despawn\00" -@.str90 = private unnamed_addr constant [7 x i8] c"enable\00" -@.str91 = private unnamed_addr constant [8 x i8] c"disable\00" +@.str87 = private unnamed_addr constant [2 x i8] c"=\00" +@.str88 = private unnamed_addr constant [2 x i8] c"}\00" +@.str89 = private unnamed_addr constant [5 x i8] c"emit\00" +@.str90 = private unnamed_addr constant [7 x i8] c"become\00" +@.str91 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str92 = private unnamed_addr constant [7 x i8] c"enable\00" -@.str93 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str94 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str95 = private unnamed_addr constant [3 x i8] c"on\00" -@.str96 = private unnamed_addr constant [7 x i8] c"attach\00" +@.str93 = private unnamed_addr constant [8 x i8] c"disable\00" +@.str94 = private unnamed_addr constant [7 x i8] c"enable\00" +@.str95 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str96 = private unnamed_addr constant [6 x i8] c"layer\00" @.str97 = private unnamed_addr constant [3 x i8] c"on\00" -@.str98 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00" -@.str99 = private unnamed_addr constant [2 x i8] c"{\00" -@.str100 = private unnamed_addr constant [7 x i8] c"detach\00" -@.str101 = private unnamed_addr constant [3 x i8] c"on\00" -@.str102 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00" -@.str103 = private unnamed_addr constant [6 x i8] c"break\00" -@.str104 = private unnamed_addr constant [9 x i8] c"continue\00" -@.str105 = private unnamed_addr constant [7 x i8] c"cancel\00" -@.str106 = private unnamed_addr constant [6 x i8] c"match\00" -@.str107 = private unnamed_addr constant [2 x i8] c"{\00" -@.str108 = private unnamed_addr constant [2 x i8] c"}\00" -@.str109 = private unnamed_addr constant [2 x i8] c",\00" -@.str110 = private unnamed_addr constant [3 x i8] c"=>\00" -@.str111 = private unnamed_addr constant [2 x i8] c"{\00" -@.str112 = private unnamed_addr constant [2 x i8] c"}\00" -@.str113 = private unnamed_addr constant [2 x i8] c"=\00" -@.str114 = private unnamed_addr constant [3 x i8] c"+=\00" -@.str115 = private unnamed_addr constant [3 x i8] c"-=\00" -@.str116 = private unnamed_addr constant [3 x i8] c"*=\00" -@.str117 = private unnamed_addr constant [3 x i8] c"/=\00" -@.str118 = private unnamed_addr constant [2 x i8] c":\00" -@.str119 = private unnamed_addr constant [2 x i8] c"=\00" +@.str98 = private unnamed_addr constant [7 x i8] c"attach\00" +@.str99 = private unnamed_addr constant [3 x i8] c"on\00" +@.str100 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00" +@.str101 = private unnamed_addr constant [2 x i8] c"{\00" +@.str102 = private unnamed_addr constant [7 x i8] c"detach\00" +@.str103 = private unnamed_addr constant [3 x i8] c"on\00" +@.str104 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00" +@.str105 = private unnamed_addr constant [6 x i8] c"break\00" +@.str106 = private unnamed_addr constant [9 x i8] c"continue\00" +@.str107 = private unnamed_addr constant [7 x i8] c"cancel\00" +@.str108 = private unnamed_addr constant [6 x i8] c"match\00" +@.str109 = private unnamed_addr constant [2 x i8] c"{\00" +@.str110 = private unnamed_addr constant [2 x i8] c"}\00" +@.str111 = private unnamed_addr constant [2 x i8] c",\00" +@.str112 = private unnamed_addr constant [3 x i8] c"=>\00" +@.str113 = private unnamed_addr constant [2 x i8] c"{\00" +@.str114 = private unnamed_addr constant [2 x i8] c"}\00" +@.str115 = private unnamed_addr constant [2 x i8] c"=\00" +@.str116 = private unnamed_addr constant [3 x i8] c"+=\00" +@.str117 = private unnamed_addr constant [3 x i8] c"-=\00" +@.str118 = private unnamed_addr constant [3 x i8] c"*=\00" +@.str119 = private unnamed_addr constant [3 x i8] c"/=\00" @.str120 = private unnamed_addr constant [2 x i8] c":\00" @.str121 = private unnamed_addr constant [2 x i8] c"=\00" -@.str122 = private unnamed_addr constant [2 x i8] c"(\00" -@.str123 = private unnamed_addr constant [2 x i8] c")\00" -@.str124 = private unnamed_addr constant [2 x i8] c":\00" -@.str125 = private unnamed_addr constant [2 x i8] c",\00" -@.str126 = private unnamed_addr constant [2 x i8] c")\00" -@.str127 = private unnamed_addr constant [5 x i8] c"void\00" -@.str128 = private unnamed_addr constant [3 x i8] c"->\00" -@.str129 = private unnamed_addr constant [1 x i8] c"\00" -@.str130 = private unnamed_addr constant [2 x i8] c"@\00" -@.str131 = private unnamed_addr constant [7 x i8] c"export\00" -@.str132 = private unnamed_addr constant [7 x i8] c"Public\00" -@.str133 = private unnamed_addr constant [3 x i8] c"On\00" -@.str134 = private unnamed_addr constant [2 x i8] c"(\00" -@.str135 = private unnamed_addr constant [2 x i8] c")\00" -@.str136 = private unnamed_addr constant [8 x i8] c"Queries\00" -@.str137 = private unnamed_addr constant [8 x i8] c"OnSpawn\00" -@.str138 = private unnamed_addr constant [2 x i8] c"(\00" -@.str139 = private unnamed_addr constant [2 x i8] c")\00" -@.str140 = private unnamed_addr constant [10 x i8] c"OnDespawn\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 [9 x i8] c"OnAttach\00" -@.str146 = private unnamed_addr constant [2 x i8] c"(\00" -@.str147 = private unnamed_addr constant [2 x i8] c")\00" -@.str148 = private unnamed_addr constant [9 x i8] c"OnDetach\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 [9 x i8] c"OnEnable\00" -@.str152 = private unnamed_addr constant [2 x i8] c"(\00" -@.str153 = private unnamed_addr constant [2 x i8] c")\00" -@.str154 = private unnamed_addr constant [10 x i8] c"OnDisable\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 [8 x i8] c"OnStart\00" -@.str158 = private unnamed_addr constant [6 x i8] c"Start\00" -@.str159 = private unnamed_addr constant [7 x i8] c"OnQuit\00" -@.str160 = private unnamed_addr constant [7 x i8] c"OnQuit\00" -@.str161 = private unnamed_addr constant [5 x i8] c"Sync\00" -@.str162 = private unnamed_addr constant [6 x i8] c"Owned\00" -@.str163 = private unnamed_addr constant [7 x i8] c"Server\00" -@.str164 = private unnamed_addr constant [7 x i8] c"server\00" -@.str165 = private unnamed_addr constant [10 x i8] c"Predicted\00" -@.str166 = private unnamed_addr constant [10 x i8] c"predicted\00" -@.str167 = private unnamed_addr constant [9 x i8] c"ToServer\00" -@.str168 = private unnamed_addr constant [9 x i8] c"toserver\00" -@.str169 = private unnamed_addr constant [10 x i8] c"ToClients\00" -@.str170 = private unnamed_addr constant [10 x i8] c"toclients\00" -@.str171 = private unnamed_addr constant [2 x i8] c"(\00" -@.str172 = private unnamed_addr constant [2 x i8] c"(\00" -@.str173 = private unnamed_addr constant [2 x i8] c")\00" -@.str174 = private unnamed_addr constant [7 x i8] c"import\00" -@.str175 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00" -@.str176 = private unnamed_addr constant [5 x i8] c"enum\00" -@.str177 = private unnamed_addr constant [6 x i8] c"event\00" -@.str178 = private unnamed_addr constant [9 x i8] c"property\00" -@.str179 = private unnamed_addr constant [6 x i8] c"model\00" -@.str180 = private unnamed_addr constant [6 x i8] c"scene\00" -@.str181 = private unnamed_addr constant [8 x i8] c"handler\00" -@.str182 = private unnamed_addr constant [7 x i8] c"server\00" -@.str183 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str184 = private unnamed_addr constant [7 x i8] c"_spawn\00" +@.str122 = private unnamed_addr constant [2 x i8] c":\00" +@.str123 = private unnamed_addr constant [2 x i8] c"=\00" +@.str124 = private unnamed_addr constant [2 x i8] c"(\00" +@.str125 = private unnamed_addr constant [2 x i8] c")\00" +@.str126 = private unnamed_addr constant [2 x i8] c":\00" +@.str127 = private unnamed_addr constant [2 x i8] c",\00" +@.str128 = private unnamed_addr constant [2 x i8] c")\00" +@.str129 = private unnamed_addr constant [5 x i8] c"void\00" +@.str130 = private unnamed_addr constant [3 x i8] c"->\00" +@.str131 = private unnamed_addr constant [1 x i8] c"\00" +@.str132 = private unnamed_addr constant [2 x i8] c"@\00" +@.str133 = private unnamed_addr constant [7 x i8] c"export\00" +@.str134 = private unnamed_addr constant [7 x i8] c"Public\00" +@.str135 = private unnamed_addr constant [3 x i8] c"On\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 [8 x i8] c"Queries\00" +@.str139 = private unnamed_addr constant [8 x i8] c"OnSpawn\00" +@.str140 = private unnamed_addr constant [2 x i8] c"(\00" +@.str141 = private unnamed_addr constant [2 x i8] c")\00" +@.str142 = private unnamed_addr constant [10 x i8] c"OnDespawn\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 [9 x i8] c"OnAttach\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 [9 x i8] c"OnDetach\00" +@.str151 = private unnamed_addr constant [2 x i8] c"(\00" +@.str152 = private unnamed_addr constant [2 x i8] c")\00" +@.str153 = private unnamed_addr constant [9 x i8] c"OnEnable\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 [10 x i8] c"OnDisable\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 [8 x i8] c"OnStart\00" +@.str160 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str161 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str162 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str163 = private unnamed_addr constant [5 x i8] c"Sync\00" +@.str164 = private unnamed_addr constant [6 x i8] c"Owned\00" +@.str165 = private unnamed_addr constant [7 x i8] c"Server\00" +@.str166 = private unnamed_addr constant [7 x i8] c"server\00" +@.str167 = private unnamed_addr constant [10 x i8] c"Predicted\00" +@.str168 = private unnamed_addr constant [10 x i8] c"predicted\00" +@.str169 = private unnamed_addr constant [9 x i8] c"ToServer\00" +@.str170 = private unnamed_addr constant [9 x i8] c"toserver\00" +@.str171 = private unnamed_addr constant [10 x i8] c"ToClients\00" +@.str172 = private unnamed_addr constant [10 x i8] c"toclients\00" +@.str173 = private unnamed_addr constant [2 x i8] c"(\00" +@.str174 = private unnamed_addr constant [2 x i8] c"(\00" +@.str175 = private unnamed_addr constant [2 x i8] c")\00" +@.str176 = private unnamed_addr constant [7 x i8] c"import\00" +@.str177 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00" +@.str178 = private unnamed_addr constant [5 x i8] c"enum\00" +@.str179 = private unnamed_addr constant [6 x i8] c"event\00" +@.str180 = private unnamed_addr constant [9 x i8] c"property\00" +@.str181 = private unnamed_addr constant [6 x i8] c"model\00" +@.str182 = private unnamed_addr constant [6 x i8] c"scene\00" +@.str183 = private unnamed_addr constant [8 x i8] c"handler\00" +@.str184 = private unnamed_addr constant [7 x i8] c"server\00" @.str185 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str186 = private unnamed_addr constant [9 x i8] c"_despawn\00" -@.str187 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str188 = private unnamed_addr constant [8 x i8] c"_attach\00" +@.str186 = private unnamed_addr constant [7 x i8] c"_spawn\00" +@.str187 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str188 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str189 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str190 = private unnamed_addr constant [8 x i8] c"_detach\00" +@.str190 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str191 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str192 = private unnamed_addr constant [8 x i8] c"_enable\00" +@.str192 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str193 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str194 = private unnamed_addr constant [9 x i8] c"_disable\00" -@.str195 = private unnamed_addr constant [6 x i8] c"Start\00" -@.str196 = private unnamed_addr constant [14 x i8] c"program_start\00" -@.str197 = private unnamed_addr constant [13 x i8] c"program_quit\00" -@.str198 = private unnamed_addr constant [3 x i8] c"ui\00" -@.str199 = private unnamed_addr constant [4 x i8] c"var\00" -@.str200 = private unnamed_addr constant [6 x i8] c"const\00" -@.str201 = private unnamed_addr constant [3 x i8] c"fn\00" -@.str202 = private unnamed_addr constant [7 x i8] c"extern\00" -@.str203 = private unnamed_addr constant [6 x i8] c"entry\00" -@.str204 = private unnamed_addr constant [21 x i8] c"expected declaration\00" -@.str205 = private unnamed_addr constant [20 x i8] c"cannot open import \00" -@.str206 = private unnamed_addr constant [1 x i8] c"\00" -@.str207 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" -@.str208 = private unnamed_addr constant [6 x i8] c"Ludic\00" -@.str209 = private unnamed_addr constant [7 x i8] c"import\00" -@.str210 = private unnamed_addr constant [2 x i8] c"@\00" -@.str211 = private unnamed_addr constant [2 x i8] c"(\00" -@.str212 = private unnamed_addr constant [2 x i8] c"(\00" -@.str213 = private unnamed_addr constant [2 x i8] c")\00" -@.str214 = private unnamed_addr constant [8 x i8] c"program\00" -@.str215 = private unnamed_addr constant [2 x i8] c"{\00" -@.str216 = private unnamed_addr constant [2 x i8] c"}\00" +@.str194 = private unnamed_addr constant [8 x i8] c"_enable\00" +@.str195 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str196 = private unnamed_addr constant [9 x i8] c"_disable\00" +@.str197 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str198 = private unnamed_addr constant [14 x i8] c"program_start\00" +@.str199 = private unnamed_addr constant [13 x i8] c"program_quit\00" +@.str200 = private unnamed_addr constant [3 x i8] c"ui\00" +@.str201 = private unnamed_addr constant [4 x i8] c"var\00" +@.str202 = private unnamed_addr constant [6 x i8] c"const\00" +@.str203 = private unnamed_addr constant [3 x i8] c"fn\00" +@.str204 = private unnamed_addr constant [7 x i8] c"extern\00" +@.str205 = private unnamed_addr constant [6 x i8] c"entry\00" +@.str206 = private unnamed_addr constant [21 x i8] c"expected declaration\00" +@.str207 = private unnamed_addr constant [20 x i8] c"cannot open import \00" +@.str208 = private unnamed_addr constant [1 x i8] c"\00" +@.str209 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str210 = private unnamed_addr constant [6 x i8] c"Ludic\00" +@.str211 = private unnamed_addr constant [7 x i8] c"import\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 [2 x i8] c")\00" +@.str216 = private unnamed_addr constant [8 x i8] c"program\00" @.str217 = private unnamed_addr constant [2 x i8] c"{\00" @.str218 = private unnamed_addr constant [2 x i8] c"}\00" -@.str219 = private unnamed_addr constant [2 x i8] c"@\00" -@.str220 = private unnamed_addr constant [9 x i8] c"Computed\00" -@.str221 = private unnamed_addr constant [5 x i8] c"Sync\00" -@.str222 = private unnamed_addr constant [2 x i8] c":\00" -@.str223 = private unnamed_addr constant [2 x i8] c"=\00" -@.str224 = private unnamed_addr constant [2 x i8] c",\00" -@.str225 = private unnamed_addr constant [2 x i8] c"}\00" -@.str226 = private unnamed_addr constant [12 x i8] c"cancellable\00" -@.str227 = private unnamed_addr constant [2 x i8] c"{\00" -@.str228 = private unnamed_addr constant [2 x i8] c"}\00" -@.str229 = private unnamed_addr constant [2 x i8] c":\00" -@.str230 = private unnamed_addr constant [2 x i8] c"=\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 [7 x i8] c"Update\00" -@.str234 = private unnamed_addr constant [2 x i8] c"@\00" -@.str235 = private unnamed_addr constant [2 x i8] c"(\00" -@.str236 = private unnamed_addr constant [2 x i8] c"(\00" -@.str237 = private unnamed_addr constant [2 x i8] c")\00" -@.str238 = private unnamed_addr constant [6 x i8] c"phase\00" -@.str239 = private unnamed_addr constant [2 x i8] c"[\00" -@.str240 = private unnamed_addr constant [2 x i8] c"]\00" -@.str241 = private unnamed_addr constant [2 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 [6 x i8] c"where\00" -@.str246 = private unnamed_addr constant [2 x i8] c"(\00" -@.str247 = private unnamed_addr constant [2 x i8] c")\00" -@.str248 = private unnamed_addr constant [2 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 [9 x i8] c"Computed\00" +@.str223 = private unnamed_addr constant [5 x i8] c"Sync\00" +@.str224 = private unnamed_addr constant [2 x i8] c":\00" +@.str225 = private unnamed_addr constant [2 x i8] c"=\00" +@.str226 = private unnamed_addr constant [2 x i8] c",\00" +@.str227 = private unnamed_addr constant [2 x i8] c"}\00" +@.str228 = private unnamed_addr constant [12 x i8] c"cancellable\00" +@.str229 = private unnamed_addr constant [2 x i8] c"{\00" +@.str230 = private unnamed_addr constant [2 x i8] c"}\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 [2 x i8] c"}\00" +@.str235 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str236 = private unnamed_addr constant [2 x i8] c"@\00" +@.str237 = private unnamed_addr constant [2 x i8] c"(\00" +@.str238 = private unnamed_addr constant [2 x i8] c"(\00" +@.str239 = private unnamed_addr constant [2 x i8] c")\00" +@.str240 = private unnamed_addr constant [6 x i8] c"phase\00" +@.str241 = private unnamed_addr constant [2 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 [2 x i8] c"]\00" +@.str247 = private unnamed_addr constant [6 x i8] c"where\00" +@.str248 = private unnamed_addr constant [2 x i8] c"(\00" @.str249 = private unnamed_addr constant [2 x i8] c")\00" -@.str250 = private unnamed_addr constant [6 x i8] c"query\00" -@.str251 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00" -@.str252 = private unnamed_addr constant [4 x i8] c"and\00" -@.str253 = private unnamed_addr constant [2 x i8] c"(\00" -@.str254 = private unnamed_addr constant [2 x i8] c")\00" -@.str255 = private unnamed_addr constant [2 x i8] c")\00" -@.str256 = private unnamed_addr constant [2 x i8] c":\00" -@.str257 = private unnamed_addr constant [6 x i8] c"these\00" -@.str258 = private unnamed_addr constant [2 x i8] c"[\00" -@.str259 = private unnamed_addr constant [2 x i8] c"]\00" -@.str260 = private unnamed_addr constant [2 x i8] c"{\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 [2 x i8] c"]\00" -@.str264 = private unnamed_addr constant [3 x i8] c"on\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 [2 x i8] c"}\00" -@.str269 = private unnamed_addr constant [2 x i8] c",\00" +@.str250 = private unnamed_addr constant [2 x i8] c",\00" +@.str251 = private unnamed_addr constant [2 x i8] c")\00" +@.str252 = private unnamed_addr constant [6 x i8] c"query\00" +@.str253 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00" +@.str254 = private unnamed_addr constant [4 x i8] c"and\00" +@.str255 = private unnamed_addr constant [2 x i8] c"(\00" +@.str256 = private unnamed_addr constant [2 x i8] c")\00" +@.str257 = private unnamed_addr constant [2 x i8] c")\00" +@.str258 = private unnamed_addr constant [2 x i8] c":\00" +@.str259 = private unnamed_addr constant [6 x i8] c"these\00" +@.str260 = private unnamed_addr constant [2 x i8] c"[\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 [2 x i8] c"}\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 [3 x i8] c"on\00" +@.str267 = private unnamed_addr constant [2 x i8] c",\00" +@.str268 = private unnamed_addr constant [2 x i8] c")\00" +@.str269 = private unnamed_addr constant [2 x i8] c"{\00" @.str270 = private unnamed_addr constant [2 x i8] c"}\00" -@.str271 = private unnamed_addr constant [6 x i8] c"start\00" -@.str272 = private unnamed_addr constant [7 x i8] c"public\00" +@.str271 = private unnamed_addr constant [2 x i8] c",\00" +@.str272 = private unnamed_addr constant [2 x i8] c"}\00" @.str273 = private unnamed_addr constant [6 x i8] c"start\00" -@.str274 = private unnamed_addr constant [7 x i8] c"scene_\00" -@.str275 = private unnamed_addr constant [7 x i8] c"_enter\00" +@.str274 = private unnamed_addr constant [7 x i8] c"public\00" +@.str275 = private unnamed_addr constant [6 x i8] c"start\00" @.str276 = private unnamed_addr constant [7 x i8] c"scene_\00" -@.str277 = private unnamed_addr constant [6 x i8] c"_exit\00" -@.str278 = private unnamed_addr constant [2 x i8] c"{\00" -@.str279 = private unnamed_addr constant [2 x i8] c"}\00" -@.str280 = private unnamed_addr constant [3 x i8] c"on\00" -@.str281 = private unnamed_addr constant [6 x i8] c"enter\00" -@.str282 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str283 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00" -@.str284 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str285 = private unnamed_addr constant [7 x i8] c"public\00" -@.str286 = private unnamed_addr constant [7 x i8] c"layer_\00" -@.str287 = private unnamed_addr constant [6 x i8] c"_show\00" +@.str277 = private unnamed_addr constant [7 x i8] c"_enter\00" +@.str278 = private unnamed_addr constant [7 x i8] c"scene_\00" +@.str279 = private unnamed_addr constant [6 x i8] c"_exit\00" +@.str280 = private unnamed_addr constant [2 x i8] c"{\00" +@.str281 = private unnamed_addr constant [2 x i8] c"}\00" +@.str282 = private unnamed_addr constant [3 x i8] c"on\00" +@.str283 = private unnamed_addr constant [6 x i8] c"enter\00" +@.str284 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str285 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00" +@.str286 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str287 = private unnamed_addr constant [7 x i8] c"public\00" @.str288 = private unnamed_addr constant [7 x i8] c"layer_\00" -@.str289 = private unnamed_addr constant [6 x i8] c"_hide\00" -@.str290 = private unnamed_addr constant [2 x i8] c"{\00" -@.str291 = private unnamed_addr constant [2 x i8] c"}\00" -@.str292 = private unnamed_addr constant [8 x i8] c"handler\00" -@.str293 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00" -@.str294 = private unnamed_addr constant [2 x i8] c"}\00" -@.str295 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00" +@.str289 = private unnamed_addr constant [6 x i8] c"_show\00" +@.str290 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str291 = private unnamed_addr constant [6 x i8] c"_hide\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 [8 x i8] c"handler\00" +@.str295 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00" @.str296 = private unnamed_addr constant [2 x i8] c"}\00" -@.str297 = private unnamed_addr constant [2 x i8] c"{\00" +@.str297 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00" @.str298 = private unnamed_addr constant [2 x i8] c"}\00" -@.str299 = private unnamed_addr constant [2 x i8] c",\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 [2 x i8] c"{\00" +@.str301 = private unnamed_addr constant [2 x i8] c",\00" @.str302 = private unnamed_addr constant [2 x i8] c"}\00" -@.str303 = private unnamed_addr constant [2 x i8] c"@\00" -@.str304 = private unnamed_addr constant [5 x i8] c"Sync\00" -@.str305 = private unnamed_addr constant [2 x i8] c",\00" -@.str306 = private unnamed_addr constant [2 x i8] c"}\00" -@.str307 = private unnamed_addr constant [2 x i8] c"(\00" -@.str308 = private unnamed_addr constant [2 x i8] c")\00" -@.str309 = private unnamed_addr constant [2 x i8] c":\00" -@.str310 = private unnamed_addr constant [2 x i8] c",\00" -@.str311 = private unnamed_addr constant [2 x i8] c")\00" -@.str312 = private unnamed_addr constant [5 x i8] c"void\00" -@.str313 = private unnamed_addr constant [3 x i8] c"->\00" -@.str314 = private unnamed_addr constant [2 x i8] c"=\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 [2 x i8] c"}\00" -@.str320 = private unnamed_addr constant [2 x i8] c"{\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 [2 x i8] c"@\00" +@.str306 = private unnamed_addr constant [5 x i8] c"Sync\00" +@.str307 = private unnamed_addr constant [2 x i8] c",\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 [2 x i8] c")\00" +@.str311 = private unnamed_addr constant [2 x i8] c":\00" +@.str312 = private unnamed_addr constant [2 x i8] c",\00" +@.str313 = private unnamed_addr constant [2 x i8] c")\00" +@.str314 = private unnamed_addr constant [5 x i8] c"void\00" +@.str315 = private unnamed_addr constant [3 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 [2 x i8] c"{\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 [3 x i8] c"%t\00" -@.str323 = private unnamed_addr constant [3 x i8] c" \00" -@.str324 = private unnamed_addr constant [11 x i8] c" = alloca \00" -@.str325 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str326 = private unnamed_addr constant [3 x i8] c"%t\00" -@.str327 = private unnamed_addr constant [4 x i8] c"int\00" -@.str328 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str329 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str330 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str331 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str332 = private unnamed_addr constant [5 x i8] c"byte\00" -@.str333 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str334 = private unnamed_addr constant [6 x i8] c"words\00" -@.str335 = private unnamed_addr constant [7 x i8] c"fixeds\00" -@.str336 = private unnamed_addr constant [5 x i8] c"ptrs\00" -@.str337 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str338 = private unnamed_addr constant [5 x i8] c"void\00" -@.str339 = private unnamed_addr constant [5 x i8] c"void\00" -@.str340 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str341 = private unnamed_addr constant [6 x i8] c"%Cmp_\00" -@.str342 = private unnamed_addr constant [4 x i8] c"int\00" -@.str343 = private unnamed_addr constant [10 x i8] c"EndReason\00" -@.str344 = private unnamed_addr constant [10 x i8] c"Despawned\00" -@.str345 = private unnamed_addr constant [10 x i8] c"SceneExit\00" -@.str346 = private unnamed_addr constant [5 x i8] c"Quit\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 [7 x i8] c"entity\00" -@.str350 = private unnamed_addr constant [4 x i8] c"int\00" -@.str351 = private unnamed_addr constant [7 x i8] c"reason\00" +@.str322 = private unnamed_addr constant [2 x i8] c"{\00" +@.str323 = private unnamed_addr constant [2 x i8] c"}\00" +@.str324 = private unnamed_addr constant [3 x i8] c"%t\00" +@.str325 = private unnamed_addr constant [3 x i8] c" \00" +@.str326 = private unnamed_addr constant [11 x i8] c" = alloca \00" +@.str327 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str328 = private unnamed_addr constant [3 x i8] c"%t\00" +@.str329 = private unnamed_addr constant [4 x i8] c"int\00" +@.str330 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str331 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str332 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str333 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str334 = private unnamed_addr constant [5 x i8] c"byte\00" +@.str335 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str336 = private unnamed_addr constant [6 x i8] c"words\00" +@.str337 = private unnamed_addr constant [7 x i8] c"fixeds\00" +@.str338 = private unnamed_addr constant [5 x i8] c"ptrs\00" +@.str339 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str340 = private unnamed_addr constant [5 x i8] c"void\00" +@.str341 = private unnamed_addr constant [5 x i8] c"void\00" +@.str342 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str343 = private unnamed_addr constant [6 x i8] c"%Cmp_\00" +@.str344 = private unnamed_addr constant [4 x i8] c"int\00" +@.str345 = private unnamed_addr constant [10 x i8] c"EndReason\00" +@.str346 = private unnamed_addr constant [10 x i8] c"Despawned\00" +@.str347 = private unnamed_addr constant [10 x i8] c"SceneExit\00" +@.str348 = private unnamed_addr constant [5 x i8] c"Quit\00" +@.str349 = private unnamed_addr constant [2 x i8] c".\00" +@.str350 = private unnamed_addr constant [2 x i8] c".\00" +@.str351 = private unnamed_addr constant [7 x i8] c"entity\00" @.str352 = private unnamed_addr constant [4 x i8] c"int\00" -@.str353 = private unnamed_addr constant [6 x i8] c"@.str\00" -@.str354 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00" -@.str355 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" -@.str356 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" -@.str357 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str358 = private unnamed_addr constant [5 x i8] c"null\00" -@.str359 = private unnamed_addr constant [2 x i8] c"0\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 [4 x i8] c"ptr\00" -@.str363 = private unnamed_addr constant [5 x i8] c"null\00" -@.str364 = private unnamed_addr constant [2 x i8] c"0\00" -@.str365 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00" -@.str366 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00" -@.str367 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00" -@.str368 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00" -@.str369 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00" -@.str370 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00" -@.str371 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00" -@.str372 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00" -@.str373 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00" -@.str374 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00" -@.str375 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00" -@.str376 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00" -@.str377 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00" -@.str378 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00" -@.str379 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00" -@.str380 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00" -@.str381 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00" -@.str382 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00" -@.str383 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00" -@.str384 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00" -@.str385 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00" -@.str386 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00" -@.str387 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00" -@.str388 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00" -@.str389 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00" -@.str390 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00" -@.str391 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00" -@.str392 = 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" -@.str393 = 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" -@.str394 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00" -@.str395 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00" -@.str396 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00" -@.str397 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" -@.str398 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" -@.str399 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00" -@.str400 = private unnamed_addr constant [11 x i8] c" = type { \00" -@.str401 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str402 = private unnamed_addr constant [3 x i8] c", \00" -@.str403 = private unnamed_addr constant [4 x i8] c" }\0A\00" -@.str404 = private unnamed_addr constant [4 x i8] c"@g_\00" -@.str405 = private unnamed_addr constant [20 x i8] c" = internal global \00" -@.str406 = private unnamed_addr constant [2 x i8] c" \00" -@.str407 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str408 = private unnamed_addr constant [9 x i8] c"declare \00" -@.str409 = private unnamed_addr constant [3 x i8] c" @\00" -@.str410 = private unnamed_addr constant [2 x i8] c"(\00" -@.str411 = private unnamed_addr constant [3 x i8] c", \00" -@.str412 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str413 = private unnamed_addr constant [41 x i8] c"define i32 @fn_str_eq(ptr %a, ptr %b) {\0A\00" -@.str414 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00" -@.str415 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" -@.str416 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00" -@.str417 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00" -@.str418 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00" -@.str419 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00" -@.str420 = 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" -@.str421 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" -@.str422 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00" -@.str423 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_concat(ptr %a, ptr %b) {\0A\00" -@.str424 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00" -@.str425 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00" -@.str426 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00" -@.str427 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00" -@.str428 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00" -@.str429 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00" -@.str430 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00" -@.str431 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00" -@.str432 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00" -@.str433 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00" -@.str434 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00" -@.str435 = 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" -@.str436 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00" -@.str437 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00" -@.str438 = 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" -@.str439 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00" -@.str440 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00" -@.str441 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00" -@.str442 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00" -@.str443 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00" -@.str444 = 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" -@.str445 = 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" -@.str446 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00" -@.str447 = 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" -@.str448 = private unnamed_addr constant [35 x i8] c"define ptr @fn_int_str(i32 %n0) {\0A\00" -@.str449 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" -@.str450 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00" -@.str451 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00" -@.str452 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" -@.str453 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" -@.str454 = 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" -@.str455 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" -@.str456 = 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" -@.str457 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" -@.str458 = 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" -@.str459 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" -@.str460 = 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" -@.str461 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" -@.str462 = 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" -@.str463 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" -@.str464 = 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" -@.str465 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00" -@.str466 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00" -@.str467 = 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" -@.str468 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" -@.str469 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00" -@.str470 = 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" -@.str471 = 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" -@.str472 = 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" -@.str473 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00" -@.str474 = private unnamed_addr constant [15 x i8] c"no such field \00" -@.str475 = private unnamed_addr constant [3 x i8] c" \00" -@.str476 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" -@.str477 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str478 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str479 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str480 = private unnamed_addr constant [6 x i8] c"words\00" -@.str481 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" -@.str482 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str483 = private unnamed_addr constant [4 x i8] c"int\00" -@.str484 = private unnamed_addr constant [7 x i8] c"fixeds\00" -@.str485 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" -@.str486 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str487 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str488 = private unnamed_addr constant [5 x i8] c"ptrs\00" -@.str489 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00" -@.str490 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str491 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str492 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" -@.str493 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str494 = private unnamed_addr constant [5 x i8] c"byte\00" -@.str495 = private unnamed_addr constant [3 x i8] c" \00" -@.str496 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" -@.str497 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" -@.str498 = private unnamed_addr constant [3 x i8] c" \00" -@.str499 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00" -@.str500 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str501 = private unnamed_addr constant [3 x i8] c" \00" -@.str502 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" -@.str503 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str504 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str505 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str506 = private unnamed_addr constant [7 x i8] c"resize\00" -@.str507 = private unnamed_addr constant [10 x i8] c"file_open\00" -@.str508 = private unnamed_addr constant [10 x i8] c"file_read\00" -@.str509 = private unnamed_addr constant [11 x i8] c"file_write\00" -@.str510 = private unnamed_addr constant [10 x i8] c"file_seek\00" -@.str511 = private unnamed_addr constant [10 x i8] c"file_tell\00" -@.str512 = private unnamed_addr constant [11 x i8] c"file_close\00" -@.str513 = private unnamed_addr constant [10 x i8] c"arg_count\00" -@.str514 = private unnamed_addr constant [4 x i8] c"arg\00" -@.str515 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str516 = private unnamed_addr constant [12 x i8] c"file_stderr\00" -@.str517 = private unnamed_addr constant [12 x i8] c"file_stdout\00" -@.str518 = private unnamed_addr constant [4 x i8] c"run\00" -@.str519 = private unnamed_addr constant [7 x i8] c"getenv\00" -@.str520 = private unnamed_addr constant [3 x i8] c" \00" -@.str521 = private unnamed_addr constant [4 x i8] c" = \00" -@.str522 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str523 = private unnamed_addr constant [7 x i8] c"resize\00" -@.str524 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str525 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str526 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" -@.str527 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str528 = private unnamed_addr constant [2 x i8] c")\00" -@.str529 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str530 = private unnamed_addr constant [10 x i8] c"file_open\00" -@.str531 = private unnamed_addr constant [21 x i8] c"call ptr @fopen(ptr \00" -@.str532 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str533 = private unnamed_addr constant [2 x i8] c")\00" -@.str534 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str535 = private unnamed_addr constant [10 x i8] c"file_read\00" -@.str536 = private unnamed_addr constant [11 x i8] c"file_write\00" -@.str537 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str538 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str539 = private unnamed_addr constant [7 x i8] c"@fread\00" -@.str540 = private unnamed_addr constant [11 x i8] c"file_write\00" -@.str541 = private unnamed_addr constant [8 x i8] c"@fwrite\00" -@.str542 = private unnamed_addr constant [10 x i8] c"call i64 \00" -@.str543 = private unnamed_addr constant [6 x i8] c"(ptr \00" -@.str544 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" -@.str545 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str546 = private unnamed_addr constant [2 x i8] c")\00" -@.str547 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str548 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str549 = private unnamed_addr constant [4 x i8] c"int\00" -@.str550 = private unnamed_addr constant [10 x i8] c"file_seek\00" -@.str551 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str552 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str553 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00" -@.str554 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str555 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str556 = private unnamed_addr constant [2 x i8] c")\00" -@.str557 = private unnamed_addr constant [4 x i8] c"int\00" -@.str558 = private unnamed_addr constant [10 x i8] c"file_tell\00" -@.str559 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00" -@.str560 = private unnamed_addr constant [2 x i8] c")\00" -@.str561 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str562 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str563 = private unnamed_addr constant [4 x i8] c"int\00" -@.str564 = private unnamed_addr constant [11 x i8] c"file_close\00" -@.str565 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00" -@.str566 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str567 = private unnamed_addr constant [2 x i8] c"0\00" -@.str568 = private unnamed_addr constant [5 x i8] c"void\00" -@.str569 = private unnamed_addr constant [10 x i8] c"arg_count\00" -@.str570 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" -@.str571 = private unnamed_addr constant [4 x i8] c"int\00" -@.str572 = private unnamed_addr constant [4 x i8] c"arg\00" -@.str573 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" -@.str574 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" -@.str575 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str576 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str577 = private unnamed_addr constant [4 x i8] c"str\00" -@.str578 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str579 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" -@.str580 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str581 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" -@.str582 = private unnamed_addr constant [2 x i8] c"0\00" -@.str583 = private unnamed_addr constant [5 x i8] c"void\00" -@.str584 = private unnamed_addr constant [12 x i8] c"file_stderr\00" -@.str585 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" -@.str586 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str587 = private unnamed_addr constant [12 x i8] c"file_stdout\00" -@.str588 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00" -@.str589 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str590 = private unnamed_addr constant [4 x i8] c"run\00" -@.str591 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00" -@.str592 = private unnamed_addr constant [2 x i8] c")\00" -@.str593 = private unnamed_addr constant [4 x i8] c"int\00" -@.str594 = private unnamed_addr constant [7 x i8] c"getenv\00" -@.str595 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" -@.str596 = private unnamed_addr constant [2 x i8] c")\00" -@.str597 = private unnamed_addr constant [4 x i8] c"str\00" -@.str598 = private unnamed_addr constant [2 x i8] c"0\00" -@.str599 = private unnamed_addr constant [5 x i8] c"void\00" -@.str600 = private unnamed_addr constant [5 x i8] c"free\00" -@.str601 = private unnamed_addr constant [5 x i8] c"fill\00" -@.str602 = private unnamed_addr constant [7 x i8] c"offset\00" -@.str603 = private unnamed_addr constant [10 x i8] c"read_char\00" -@.str604 = private unnamed_addr constant [9 x i8] c"as_fixed\00" -@.str605 = private unnamed_addr constant [7 x i8] c"as_int\00" -@.str606 = private unnamed_addr constant [12 x i8] c"is_windowed\00" -@.str607 = private unnamed_addr constant [11 x i8] c"game_title\00" -@.str608 = private unnamed_addr constant [9 x i8] c"win_open\00" -@.str609 = private unnamed_addr constant [9 x i8] c"win_poll\00" -@.str610 = private unnamed_addr constant [12 x i8] c"win_present\00" -@.str611 = private unnamed_addr constant [12 x i8] c"win_running\00" -@.str612 = private unnamed_addr constant [10 x i8] c"win_close\00" -@.str613 = private unnamed_addr constant [5 x i8] c"free\00" -@.str614 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" -@.str615 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str616 = private unnamed_addr constant [2 x i8] c"0\00" -@.str617 = private unnamed_addr constant [5 x i8] c"void\00" -@.str618 = private unnamed_addr constant [5 x i8] c"fill\00" -@.str619 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str620 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str621 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" -@.str622 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str623 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str624 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str625 = private unnamed_addr constant [2 x i8] c"0\00" -@.str626 = private unnamed_addr constant [5 x i8] c"void\00" -@.str627 = private unnamed_addr constant [7 x i8] c"offset\00" -@.str628 = private unnamed_addr constant [3 x i8] c" \00" -@.str629 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" -@.str630 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str631 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str632 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str633 = private unnamed_addr constant [10 x i8] c"read_char\00" -@.str634 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00" -@.str635 = private unnamed_addr constant [4 x i8] c"int\00" -@.str636 = private unnamed_addr constant [9 x i8] c"as_fixed\00" -@.str637 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str638 = private unnamed_addr constant [7 x i8] c"as_int\00" -@.str639 = private unnamed_addr constant [4 x i8] c"int\00" -@.str640 = private unnamed_addr constant [12 x i8] c"is_windowed\00" -@.str641 = private unnamed_addr constant [2 x i8] c"1\00" -@.str642 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str643 = private unnamed_addr constant [2 x i8] c"0\00" +@.str353 = private unnamed_addr constant [7 x i8] c"reason\00" +@.str354 = private unnamed_addr constant [4 x i8] c"int\00" +@.str355 = private unnamed_addr constant [6 x i8] c"@.str\00" +@.str356 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00" +@.str357 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" +@.str358 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" +@.str359 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str360 = private unnamed_addr constant [5 x i8] c"null\00" +@.str361 = private unnamed_addr constant [2 x i8] c"0\00" +@.str362 = private unnamed_addr constant [2 x i8] c"-\00" +@.str363 = private unnamed_addr constant [2 x i8] c"-\00" +@.str364 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str365 = private unnamed_addr constant [5 x i8] c"null\00" +@.str366 = private unnamed_addr constant [2 x i8] c"0\00" +@.str367 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00" +@.str368 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00" +@.str369 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00" +@.str370 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00" +@.str371 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00" +@.str372 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00" +@.str373 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00" +@.str374 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00" +@.str375 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00" +@.str376 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00" +@.str377 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00" +@.str378 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00" +@.str379 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00" +@.str380 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00" +@.str381 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00" +@.str382 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00" +@.str383 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00" +@.str384 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00" +@.str385 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00" +@.str386 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00" +@.str387 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00" +@.str388 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00" +@.str389 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00" +@.str390 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00" +@.str391 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00" +@.str392 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00" +@.str393 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00" +@.str394 = 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" +@.str395 = 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" +@.str396 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00" +@.str397 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00" +@.str398 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00" +@.str399 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" +@.str400 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" +@.str401 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00" +@.str402 = private unnamed_addr constant [11 x i8] c" = type { \00" +@.str403 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str404 = private unnamed_addr constant [3 x i8] c", \00" +@.str405 = private unnamed_addr constant [4 x i8] c" }\0A\00" +@.str406 = private unnamed_addr constant [4 x i8] c"@g_\00" +@.str407 = private unnamed_addr constant [20 x i8] c" = internal global \00" +@.str408 = private unnamed_addr constant [2 x i8] c" \00" +@.str409 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str410 = private unnamed_addr constant [9 x i8] c"declare \00" +@.str411 = private unnamed_addr constant [3 x i8] c" @\00" +@.str412 = private unnamed_addr constant [2 x i8] c"(\00" +@.str413 = private unnamed_addr constant [3 x i8] c", \00" +@.str414 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str415 = private unnamed_addr constant [41 x i8] c"define i32 @fn_str_eq(ptr %a, ptr %b) {\0A\00" +@.str416 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00" +@.str417 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" +@.str418 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00" +@.str419 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00" +@.str420 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00" +@.str421 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00" +@.str422 = 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" +@.str423 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" +@.str424 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00" +@.str425 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_concat(ptr %a, ptr %b) {\0A\00" +@.str426 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00" +@.str427 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00" +@.str428 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00" +@.str429 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00" +@.str430 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00" +@.str431 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00" +@.str432 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00" +@.str433 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00" +@.str434 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00" +@.str435 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00" +@.str436 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00" +@.str437 = 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" +@.str438 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00" +@.str439 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00" +@.str440 = 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" +@.str441 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00" +@.str442 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00" +@.str443 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00" +@.str444 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00" +@.str445 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00" +@.str446 = 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" +@.str447 = 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" +@.str448 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00" +@.str449 = 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" +@.str450 = private unnamed_addr constant [35 x i8] c"define ptr @fn_int_str(i32 %n0) {\0A\00" +@.str451 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" +@.str452 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00" +@.str453 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00" +@.str454 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" +@.str455 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" +@.str456 = 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" +@.str457 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" +@.str458 = 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" +@.str459 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" +@.str460 = 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" +@.str461 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" +@.str462 = 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" +@.str463 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" +@.str464 = 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" +@.str465 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" +@.str466 = 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" +@.str467 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00" +@.str468 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00" +@.str469 = 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" +@.str470 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" +@.str471 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00" +@.str472 = 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" +@.str473 = 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" +@.str474 = 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" +@.str475 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00" +@.str476 = private unnamed_addr constant [15 x i8] c"no such field \00" +@.str477 = private unnamed_addr constant [3 x i8] c" \00" +@.str478 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" +@.str479 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str480 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str481 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str482 = private unnamed_addr constant [6 x i8] c"words\00" +@.str483 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" +@.str484 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str485 = private unnamed_addr constant [4 x i8] c"int\00" +@.str486 = private unnamed_addr constant [7 x i8] c"fixeds\00" +@.str487 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" +@.str488 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str489 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str490 = private unnamed_addr constant [5 x i8] c"ptrs\00" +@.str491 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00" +@.str492 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str493 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str494 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" +@.str495 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str496 = private unnamed_addr constant [5 x i8] c"byte\00" +@.str497 = private unnamed_addr constant [3 x i8] c" \00" +@.str498 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str499 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" +@.str500 = private unnamed_addr constant [3 x i8] c" \00" +@.str501 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00" +@.str502 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str503 = private unnamed_addr constant [3 x i8] c" \00" +@.str504 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" +@.str505 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str506 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str507 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str508 = private unnamed_addr constant [7 x i8] c"resize\00" +@.str509 = private unnamed_addr constant [10 x i8] c"file_open\00" +@.str510 = private unnamed_addr constant [10 x i8] c"file_read\00" +@.str511 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str512 = private unnamed_addr constant [10 x i8] c"file_seek\00" +@.str513 = private unnamed_addr constant [10 x i8] c"file_tell\00" +@.str514 = private unnamed_addr constant [11 x i8] c"file_close\00" +@.str515 = private unnamed_addr constant [10 x i8] c"arg_count\00" +@.str516 = private unnamed_addr constant [4 x i8] c"arg\00" +@.str517 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str518 = private unnamed_addr constant [12 x i8] c"file_stderr\00" +@.str519 = private unnamed_addr constant [12 x i8] c"file_stdout\00" +@.str520 = private unnamed_addr constant [4 x i8] c"run\00" +@.str521 = private unnamed_addr constant [7 x i8] c"getenv\00" +@.str522 = private unnamed_addr constant [3 x i8] c" \00" +@.str523 = private unnamed_addr constant [4 x i8] c" = \00" +@.str524 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str525 = private unnamed_addr constant [7 x i8] c"resize\00" +@.str526 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str527 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str528 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" +@.str529 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str530 = private unnamed_addr constant [2 x i8] c")\00" +@.str531 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str532 = private unnamed_addr constant [10 x i8] c"file_open\00" +@.str533 = private unnamed_addr constant [21 x i8] c"call ptr @fopen(ptr \00" +@.str534 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str535 = private unnamed_addr constant [2 x i8] c")\00" +@.str536 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str537 = private unnamed_addr constant [10 x i8] c"file_read\00" +@.str538 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str539 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str540 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str541 = private unnamed_addr constant [7 x i8] c"@fread\00" +@.str542 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str543 = private unnamed_addr constant [8 x i8] c"@fwrite\00" +@.str544 = private unnamed_addr constant [10 x i8] c"call i64 \00" +@.str545 = private unnamed_addr constant [6 x i8] c"(ptr \00" +@.str546 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" +@.str547 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str548 = private unnamed_addr constant [2 x i8] c")\00" +@.str549 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str550 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str551 = private unnamed_addr constant [4 x i8] c"int\00" +@.str552 = private unnamed_addr constant [10 x i8] c"file_seek\00" +@.str553 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str554 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str555 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00" +@.str556 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str557 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str558 = private unnamed_addr constant [2 x i8] c")\00" +@.str559 = private unnamed_addr constant [4 x i8] c"int\00" +@.str560 = private unnamed_addr constant [10 x i8] c"file_tell\00" +@.str561 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00" +@.str562 = private unnamed_addr constant [2 x i8] c")\00" +@.str563 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str564 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str565 = private unnamed_addr constant [4 x i8] c"int\00" +@.str566 = private unnamed_addr constant [11 x i8] c"file_close\00" +@.str567 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00" +@.str568 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str569 = private unnamed_addr constant [2 x i8] c"0\00" +@.str570 = private unnamed_addr constant [5 x i8] c"void\00" +@.str571 = private unnamed_addr constant [10 x i8] c"arg_count\00" +@.str572 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" +@.str573 = private unnamed_addr constant [4 x i8] c"int\00" +@.str574 = private unnamed_addr constant [4 x i8] c"arg\00" +@.str575 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" +@.str576 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" +@.str577 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str578 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str579 = private unnamed_addr constant [4 x i8] c"str\00" +@.str580 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str581 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" +@.str582 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str583 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" +@.str584 = private unnamed_addr constant [2 x i8] c"0\00" +@.str585 = private unnamed_addr constant [5 x i8] c"void\00" +@.str586 = private unnamed_addr constant [12 x i8] c"file_stderr\00" +@.str587 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" +@.str588 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str589 = private unnamed_addr constant [12 x i8] c"file_stdout\00" +@.str590 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00" +@.str591 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str592 = private unnamed_addr constant [4 x i8] c"run\00" +@.str593 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00" +@.str594 = private unnamed_addr constant [2 x i8] c")\00" +@.str595 = private unnamed_addr constant [4 x i8] c"int\00" +@.str596 = private unnamed_addr constant [7 x i8] c"getenv\00" +@.str597 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" +@.str598 = private unnamed_addr constant [2 x i8] c")\00" +@.str599 = private unnamed_addr constant [4 x i8] c"str\00" +@.str600 = private unnamed_addr constant [2 x i8] c"0\00" +@.str601 = private unnamed_addr constant [5 x i8] c"void\00" +@.str602 = private unnamed_addr constant [5 x i8] c"free\00" +@.str603 = private unnamed_addr constant [5 x i8] c"fill\00" +@.str604 = private unnamed_addr constant [7 x i8] c"offset\00" +@.str605 = private unnamed_addr constant [10 x i8] c"read_char\00" +@.str606 = private unnamed_addr constant [9 x i8] c"as_fixed\00" +@.str607 = private unnamed_addr constant [7 x i8] c"as_int\00" +@.str608 = private unnamed_addr constant [12 x i8] c"is_windowed\00" +@.str609 = private unnamed_addr constant [11 x i8] c"game_title\00" +@.str610 = private unnamed_addr constant [9 x i8] c"win_open\00" +@.str611 = private unnamed_addr constant [9 x i8] c"win_poll\00" +@.str612 = private unnamed_addr constant [12 x i8] c"win_present\00" +@.str613 = private unnamed_addr constant [12 x i8] c"win_running\00" +@.str614 = private unnamed_addr constant [10 x i8] c"win_close\00" +@.str615 = private unnamed_addr constant [5 x i8] c"free\00" +@.str616 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" +@.str617 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str618 = private unnamed_addr constant [2 x i8] c"0\00" +@.str619 = private unnamed_addr constant [5 x i8] c"void\00" +@.str620 = private unnamed_addr constant [5 x i8] c"fill\00" +@.str621 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str622 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str623 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" +@.str624 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str625 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str626 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str627 = private unnamed_addr constant [2 x i8] c"0\00" +@.str628 = private unnamed_addr constant [5 x i8] c"void\00" +@.str629 = private unnamed_addr constant [7 x i8] c"offset\00" +@.str630 = private unnamed_addr constant [3 x i8] c" \00" +@.str631 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" +@.str632 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str633 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str634 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str635 = private unnamed_addr constant [10 x i8] c"read_char\00" +@.str636 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00" +@.str637 = private unnamed_addr constant [4 x i8] c"int\00" +@.str638 = private unnamed_addr constant [9 x i8] c"as_fixed\00" +@.str639 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str640 = private unnamed_addr constant [7 x i8] c"as_int\00" +@.str641 = private unnamed_addr constant [4 x i8] c"int\00" +@.str642 = private unnamed_addr constant [12 x i8] c"is_windowed\00" +@.str643 = private unnamed_addr constant [2 x i8] c"1\00" @.str644 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str645 = private unnamed_addr constant [11 x i8] c"game_title\00" -@.str646 = private unnamed_addr constant [12 x i8] c"@.gametitle\00" -@.str647 = private unnamed_addr constant [4 x i8] c"str\00" -@.str648 = private unnamed_addr constant [9 x i8] c"win_poll\00" -@.str649 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00" -@.str650 = private unnamed_addr constant [4 x i8] c"int\00" -@.str651 = private unnamed_addr constant [12 x i8] c"win_running\00" -@.str652 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00" -@.str653 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str654 = private unnamed_addr constant [9 x i8] c"win_open\00" -@.str655 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00" -@.str656 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str657 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str658 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str659 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str660 = private unnamed_addr constant [2 x i8] c"0\00" -@.str661 = private unnamed_addr constant [5 x i8] c"void\00" -@.str662 = private unnamed_addr constant [12 x i8] c"win_present\00" -@.str663 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00" -@.str664 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str665 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str666 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str667 = private unnamed_addr constant [2 x i8] c"0\00" -@.str668 = private unnamed_addr constant [5 x i8] c"void\00" -@.str669 = private unnamed_addr constant [10 x i8] c"win_close\00" -@.str670 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00" -@.str671 = private unnamed_addr constant [2 x i8] c"0\00" -@.str672 = private unnamed_addr constant [5 x i8] c"void\00" +@.str645 = private unnamed_addr constant [2 x i8] c"0\00" +@.str646 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str647 = private unnamed_addr constant [11 x i8] c"game_title\00" +@.str648 = private unnamed_addr constant [12 x i8] c"@.gametitle\00" +@.str649 = private unnamed_addr constant [4 x i8] c"str\00" +@.str650 = private unnamed_addr constant [9 x i8] c"win_poll\00" +@.str651 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00" +@.str652 = private unnamed_addr constant [4 x i8] c"int\00" +@.str653 = private unnamed_addr constant [12 x i8] c"win_running\00" +@.str654 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00" +@.str655 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str656 = private unnamed_addr constant [9 x i8] c"win_open\00" +@.str657 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00" +@.str658 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str659 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str660 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str661 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str662 = private unnamed_addr constant [2 x i8] c"0\00" +@.str663 = private unnamed_addr constant [5 x i8] c"void\00" +@.str664 = private unnamed_addr constant [12 x i8] c"win_present\00" +@.str665 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00" +@.str666 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str667 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str668 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str669 = private unnamed_addr constant [2 x i8] c"0\00" +@.str670 = private unnamed_addr constant [5 x i8] c"void\00" +@.str671 = private unnamed_addr constant [10 x i8] c"win_close\00" +@.str672 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00" @.str673 = private unnamed_addr constant [2 x i8] c"0\00" @.str674 = private unnamed_addr constant [5 x i8] c"void\00" -@.str675 = private unnamed_addr constant [4 x i8] c"min\00" -@.str676 = private unnamed_addr constant [4 x i8] c"max\00" -@.str677 = private unnamed_addr constant [4 x i8] c"abs\00" -@.str678 = private unnamed_addr constant [6 x i8] c"clamp\00" +@.str675 = private unnamed_addr constant [2 x i8] c"0\00" +@.str676 = private unnamed_addr constant [5 x i8] c"void\00" +@.str677 = private unnamed_addr constant [4 x i8] c"min\00" +@.str678 = private unnamed_addr constant [4 x i8] c"max\00" @.str679 = private unnamed_addr constant [4 x i8] c"abs\00" -@.str680 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str681 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str682 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" -@.str683 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str684 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str685 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str686 = private unnamed_addr constant [4 x i8] c"int\00" -@.str687 = private unnamed_addr constant [4 x i8] c"min\00" -@.str688 = private unnamed_addr constant [4 x i8] c"max\00" -@.str689 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str680 = private unnamed_addr constant [6 x i8] c"clamp\00" +@.str681 = private unnamed_addr constant [4 x i8] c"abs\00" +@.str682 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str683 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str684 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str685 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str686 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str687 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str688 = private unnamed_addr constant [4 x i8] c"int\00" +@.str689 = private unnamed_addr constant [4 x i8] c"min\00" @.str690 = private unnamed_addr constant [4 x i8] c"max\00" -@.str691 = private unnamed_addr constant [4 x i8] c"sgt\00" -@.str692 = private unnamed_addr constant [6 x i8] c"icmp \00" -@.str693 = private unnamed_addr constant [6 x i8] c" i32 \00" -@.str694 = private unnamed_addr constant [3 x i8] c", \00" -@.str695 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str696 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str697 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str698 = private unnamed_addr constant [4 x i8] c"int\00" -@.str699 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str700 = private unnamed_addr constant [3 x i8] c", \00" -@.str701 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str702 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str703 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str704 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" -@.str705 = private unnamed_addr constant [3 x i8] c", \00" -@.str706 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str707 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str708 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str709 = private unnamed_addr constant [4 x i8] c"int\00" -@.str710 = private unnamed_addr constant [15 x i8] c"getelementptr \00" -@.str711 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00" -@.str712 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" -@.str713 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str714 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00" -@.str715 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" -@.str716 = private unnamed_addr constant [2 x i8] c")\00" -@.str717 = private unnamed_addr constant [3 x i8] c" \00" -@.str718 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" -@.str719 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str720 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str721 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str722 = private unnamed_addr constant [2 x i8] c"0\00" -@.str723 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str724 = private unnamed_addr constant [5 x i8] c"null\00" -@.str725 = private unnamed_addr constant [9 x i8] c" store \00" -@.str726 = private unnamed_addr constant [2 x i8] c" \00" -@.str727 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str728 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str729 = private unnamed_addr constant [8 x i8] c"%LSlice\00" -@.str730 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" -@.str731 = private unnamed_addr constant [2 x i8] c")\00" -@.str732 = private unnamed_addr constant [3 x i8] c" \00" -@.str733 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" -@.str734 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" -@.str735 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" -@.str736 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str737 = private unnamed_addr constant [3 x i8] c" \00" -@.str738 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" -@.str739 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" -@.str740 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str741 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str742 = private unnamed_addr constant [3 x i8] c" \00" -@.str743 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" -@.str744 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00" -@.str745 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str746 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str747 = private unnamed_addr constant [3 x i8] c" \00" -@.str748 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" -@.str749 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str750 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str751 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str752 = private unnamed_addr constant [4 x i8] c"int\00" -@.str753 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" -@.str754 = private unnamed_addr constant [2 x i8] c")\00" -@.str755 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str756 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str757 = private unnamed_addr constant [4 x i8] c"int\00" -@.str758 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str759 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str760 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" -@.str761 = private unnamed_addr constant [3 x i8] c", \00" -@.str762 = private unnamed_addr constant [5 x i8] c"grow\00" -@.str763 = private unnamed_addr constant [4 x i8] c"put\00" -@.str764 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str765 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str766 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str767 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str768 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str769 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str770 = private unnamed_addr constant [4 x i8] c", 2\00" -@.str771 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str772 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str773 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str774 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" -@.str775 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str776 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str777 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str778 = private unnamed_addr constant [3 x i8] c", \00" -@.str779 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str780 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" -@.str781 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str782 = private unnamed_addr constant [2 x i8] c")\00" -@.str783 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str784 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str785 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str786 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str787 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str788 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str789 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str790 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str791 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str792 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str793 = private unnamed_addr constant [3 x i8] c" \00" -@.str794 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" -@.str795 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str796 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str797 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str798 = private unnamed_addr constant [9 x i8] c" store \00" -@.str799 = private unnamed_addr constant [2 x i8] c" \00" -@.str800 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str801 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str802 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str803 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str804 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str805 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str806 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str807 = private unnamed_addr constant [2 x i8] c"0\00" -@.str808 = private unnamed_addr constant [5 x i8] c"void\00" -@.str809 = private unnamed_addr constant [6 x i8] c"load \00" -@.str810 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str811 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str812 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str813 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str814 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str815 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str816 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str817 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str818 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str819 = private unnamed_addr constant [3 x i8] c"sc\00" -@.str820 = private unnamed_addr constant [6 x i8] c"scend\00" -@.str821 = private unnamed_addr constant [4 x i8] c"and\00" -@.str822 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str823 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str824 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str825 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str826 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str827 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str828 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str829 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str830 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str831 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str832 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str833 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str834 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str835 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str836 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str837 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str838 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str839 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str840 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str841 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str842 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str843 = private unnamed_addr constant [2 x i8] c"<\00" -@.str844 = private unnamed_addr constant [4 x i8] c"slt\00" -@.str845 = private unnamed_addr constant [3 x i8] c"<=\00" -@.str846 = private unnamed_addr constant [4 x i8] c"sle\00" -@.str847 = private unnamed_addr constant [2 x i8] c">\00" -@.str848 = private unnamed_addr constant [4 x i8] c"sgt\00" -@.str849 = private unnamed_addr constant [3 x i8] c">=\00" -@.str850 = private unnamed_addr constant [4 x i8] c"sge\00" -@.str851 = private unnamed_addr constant [3 x i8] c"==\00" -@.str852 = private unnamed_addr constant [3 x i8] c"eq\00" -@.str853 = private unnamed_addr constant [3 x i8] c"ne\00" -@.str854 = private unnamed_addr constant [2 x i8] c"<\00" -@.str855 = private unnamed_addr constant [3 x i8] c"<=\00" -@.str856 = private unnamed_addr constant [2 x i8] c">\00" -@.str857 = private unnamed_addr constant [3 x i8] c">=\00" -@.str858 = private unnamed_addr constant [3 x i8] c"==\00" -@.str859 = private unnamed_addr constant [3 x i8] c"!=\00" -@.str860 = private unnamed_addr constant [2 x i8] c"+\00" -@.str861 = private unnamed_addr constant [4 x i8] c"add\00" -@.str862 = private unnamed_addr constant [2 x i8] c"-\00" -@.str863 = private unnamed_addr constant [4 x i8] c"sub\00" -@.str864 = private unnamed_addr constant [2 x i8] c"*\00" -@.str865 = private unnamed_addr constant [4 x i8] c"mul\00" -@.str866 = private unnamed_addr constant [2 x i8] c"/\00" -@.str867 = private unnamed_addr constant [5 x i8] c"sdiv\00" -@.str868 = private unnamed_addr constant [2 x i8] c"&\00" -@.str869 = private unnamed_addr constant [4 x i8] c"and\00" -@.str870 = private unnamed_addr constant [2 x i8] c"|\00" -@.str871 = private unnamed_addr constant [3 x i8] c"or\00" -@.str872 = private unnamed_addr constant [2 x i8] c"^\00" -@.str873 = private unnamed_addr constant [4 x i8] c"xor\00" -@.str874 = private unnamed_addr constant [3 x i8] c"<<\00" -@.str875 = private unnamed_addr constant [4 x i8] c"shl\00" -@.str876 = private unnamed_addr constant [3 x i8] c">>\00" -@.str877 = private unnamed_addr constant [5 x i8] c"lshr\00" -@.str878 = private unnamed_addr constant [5 x i8] c"srem\00" -@.str879 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str880 = private unnamed_addr constant [9 x i8] c"shl i32 \00" -@.str881 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str882 = private unnamed_addr constant [2 x i8] c"+\00" -@.str883 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00" -@.str884 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str885 = private unnamed_addr constant [2 x i8] c")\00" -@.str886 = private unnamed_addr constant [4 x i8] c"str\00" -@.str887 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00" -@.str888 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str889 = private unnamed_addr constant [2 x i8] c")\00" -@.str890 = private unnamed_addr constant [3 x i8] c"!=\00" -@.str891 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str892 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str893 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str894 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str895 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str896 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str897 = private unnamed_addr constant [4 x i8] c"and\00" -@.str898 = private unnamed_addr constant [3 x i8] c"or\00" -@.str899 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str900 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str901 = private unnamed_addr constant [2 x i8] c"+\00" -@.str902 = private unnamed_addr constant [2 x i8] c"+\00" -@.str903 = private unnamed_addr constant [3 x i8] c"==\00" -@.str904 = private unnamed_addr constant [3 x i8] c"!=\00" -@.str905 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str906 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str907 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str908 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str909 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str910 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str911 = private unnamed_addr constant [6 x i8] c"icmp \00" -@.str912 = private unnamed_addr constant [2 x i8] c" \00" -@.str913 = private unnamed_addr constant [2 x i8] c" \00" -@.str914 = private unnamed_addr constant [3 x i8] c", \00" -@.str915 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str916 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str917 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str918 = private unnamed_addr constant [2 x i8] c"*\00" -@.str919 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str920 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str921 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str922 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str923 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str924 = private unnamed_addr constant [3 x i8] c", \00" -@.str925 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" -@.str926 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str927 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str928 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str929 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str930 = private unnamed_addr constant [2 x i8] c"/\00" -@.str931 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str932 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str933 = private unnamed_addr constant [9 x i8] c"shl i64 \00" -@.str934 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str935 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str691 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str692 = private unnamed_addr constant [4 x i8] c"max\00" +@.str693 = private unnamed_addr constant [4 x i8] c"sgt\00" +@.str694 = private unnamed_addr constant [6 x i8] c"icmp \00" +@.str695 = private unnamed_addr constant [6 x i8] c" i32 \00" +@.str696 = private unnamed_addr constant [3 x i8] c", \00" +@.str697 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str698 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str699 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str700 = private unnamed_addr constant [4 x i8] c"int\00" +@.str701 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str702 = private unnamed_addr constant [3 x i8] c", \00" +@.str703 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str704 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str705 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str706 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str707 = private unnamed_addr constant [3 x i8] c", \00" +@.str708 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str709 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str710 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str711 = private unnamed_addr constant [4 x i8] c"int\00" +@.str712 = private unnamed_addr constant [6 x i8] c"White\00" +@.str713 = private unnamed_addr constant [5 x i8] c"Snow\00" +@.str714 = private unnamed_addr constant [6 x i8] c"Ivory\00" +@.str715 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00" +@.str716 = private unnamed_addr constant [12 x i8] c"FloralWhite\00" +@.str717 = private unnamed_addr constant [9 x i8] c"SeaShell\00" +@.str718 = private unnamed_addr constant [6 x i8] c"Linen\00" +@.str719 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00" +@.str720 = private unnamed_addr constant [8 x i8] c"OldLace\00" +@.str721 = private unnamed_addr constant [6 x i8] c"Beige\00" +@.str722 = private unnamed_addr constant [6 x i8] c"Cream\00" +@.str723 = private unnamed_addr constant [9 x i8] c"Honeydew\00" +@.str724 = private unnamed_addr constant [10 x i8] c"MintCream\00" +@.str725 = private unnamed_addr constant [6 x i8] c"Azure\00" +@.str726 = private unnamed_addr constant [10 x i8] c"AliceBlue\00" +@.str727 = private unnamed_addr constant [11 x i8] c"GhostWhite\00" +@.str728 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00" +@.str729 = private unnamed_addr constant [9 x i8] c"Lavender\00" +@.str730 = private unnamed_addr constant [5 x i8] c"Bone\00" +@.str731 = private unnamed_addr constant [10 x i8] c"Parchment\00" +@.str732 = private unnamed_addr constant [10 x i8] c"Gainsboro\00" +@.str733 = private unnamed_addr constant [10 x i8] c"LightGray\00" +@.str734 = private unnamed_addr constant [7 x i8] c"Silver\00" +@.str735 = private unnamed_addr constant [4 x i8] c"Ash\00" +@.str736 = private unnamed_addr constant [9 x i8] c"DarkGray\00" +@.str737 = private unnamed_addr constant [5 x i8] c"Gray\00" +@.str738 = private unnamed_addr constant [8 x i8] c"DimGray\00" +@.str739 = private unnamed_addr constant [7 x i8] c"Nickel\00" +@.str740 = private unnamed_addr constant [6 x i8] c"Slate\00" +@.str741 = private unnamed_addr constant [10 x i8] c"SlateGray\00" +@.str742 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00" +@.str743 = private unnamed_addr constant [9 x i8] c"Gunmetal\00" +@.str744 = private unnamed_addr constant [9 x i8] c"Charcoal\00" +@.str745 = private unnamed_addr constant [9 x i8] c"Graphite\00" +@.str746 = private unnamed_addr constant [5 x i8] c"Onyx\00" +@.str747 = private unnamed_addr constant [4 x i8] c"Jet\00" +@.str748 = private unnamed_addr constant [6 x i8] c"Black\00" +@.str749 = private unnamed_addr constant [11 x i8] c"EerieBlack\00" +@.str750 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00" +@.str751 = private unnamed_addr constant [6 x i8] c"Ebony\00" +@.str752 = private unnamed_addr constant [4 x i8] c"Red\00" +@.str753 = private unnamed_addr constant [8 x i8] c"Crimson\00" +@.str754 = private unnamed_addr constant [8 x i8] c"Scarlet\00" +@.str755 = private unnamed_addr constant [10 x i8] c"Vermilion\00" +@.str756 = private unnamed_addr constant [10 x i8] c"FireBrick\00" +@.str757 = private unnamed_addr constant [9 x i8] c"Cinnabar\00" +@.str758 = private unnamed_addr constant [8 x i8] c"DarkRed\00" +@.str759 = private unnamed_addr constant [7 x i8] c"Maroon\00" +@.str760 = private unnamed_addr constant [5 x i8] c"Ruby\00" +@.str761 = private unnamed_addr constant [9 x i8] c"Cardinal\00" +@.str762 = private unnamed_addr constant [10 x i8] c"IndianRed\00" +@.str763 = private unnamed_addr constant [5 x i8] c"Rust\00" +@.str764 = private unnamed_addr constant [8 x i8] c"Sangria\00" +@.str765 = private unnamed_addr constant [8 x i8] c"Redwood\00" +@.str766 = private unnamed_addr constant [7 x i8] c"Cerise\00" +@.str767 = private unnamed_addr constant [9 x i8] c"Amaranth\00" +@.str768 = private unnamed_addr constant [8 x i8] c"Carmine\00" +@.str769 = private unnamed_addr constant [9 x i8] c"Chestnut\00" +@.str770 = private unnamed_addr constant [6 x i8] c"Brick\00" +@.str771 = private unnamed_addr constant [11 x i8] c"TerraCotta\00" +@.str772 = private unnamed_addr constant [5 x i8] c"Pink\00" +@.str773 = private unnamed_addr constant [10 x i8] c"LightPink\00" +@.str774 = private unnamed_addr constant [8 x i8] c"HotPink\00" +@.str775 = private unnamed_addr constant [9 x i8] c"DeepPink\00" +@.str776 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00" +@.str777 = private unnamed_addr constant [5 x i8] c"Rose\00" +@.str778 = private unnamed_addr constant [6 x i8] c"Blush\00" +@.str779 = private unnamed_addr constant [7 x i8] c"Salmon\00" +@.str780 = private unnamed_addr constant [12 x i8] c"LightSalmon\00" +@.str781 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00" +@.str782 = private unnamed_addr constant [6 x i8] c"Coral\00" +@.str783 = private unnamed_addr constant [11 x i8] c"Watermelon\00" +@.str784 = private unnamed_addr constant [9 x i8] c"Flamingo\00" +@.str785 = private unnamed_addr constant [10 x i8] c"Bubblegum\00" +@.str786 = private unnamed_addr constant [8 x i8] c"Fuchsia\00" +@.str787 = private unnamed_addr constant [8 x i8] c"Magenta\00" +@.str788 = private unnamed_addr constant [6 x i8] c"Mauve\00" +@.str789 = private unnamed_addr constant [5 x i8] c"Puce\00" +@.str790 = private unnamed_addr constant [8 x i8] c"Thistle\00" +@.str791 = private unnamed_addr constant [7 x i8] c"Orchid\00" +@.str792 = private unnamed_addr constant [7 x i8] c"Orange\00" +@.str793 = private unnamed_addr constant [11 x i8] c"DarkOrange\00" +@.str794 = private unnamed_addr constant [10 x i8] c"Tangerine\00" +@.str795 = private unnamed_addr constant [8 x i8] c"Pumpkin\00" +@.str796 = private unnamed_addr constant [8 x i8] c"Apricot\00" +@.str797 = private unnamed_addr constant [6 x i8] c"Peach\00" +@.str798 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00" +@.str799 = private unnamed_addr constant [6 x i8] c"Amber\00" +@.str800 = private unnamed_addr constant [7 x i8] c"Bronze\00" +@.str801 = private unnamed_addr constant [7 x i8] c"Copper\00" +@.str802 = private unnamed_addr constant [9 x i8] c"Marigold\00" +@.str803 = private unnamed_addr constant [7 x i8] c"Carrot\00" +@.str804 = private unnamed_addr constant [10 x i8] c"Persimmon\00" +@.str805 = private unnamed_addr constant [7 x i8] c"Papaya\00" +@.str806 = private unnamed_addr constant [7 x i8] c"Sunset\00" +@.str807 = private unnamed_addr constant [7 x i8] c"Yellow\00" +@.str808 = private unnamed_addr constant [12 x i8] c"LightYellow\00" +@.str809 = private unnamed_addr constant [5 x i8] c"Gold\00" +@.str810 = private unnamed_addr constant [10 x i8] c"Goldenrod\00" +@.str811 = private unnamed_addr constant [6 x i8] c"Lemon\00" +@.str812 = private unnamed_addr constant [7 x i8] c"Canary\00" +@.str813 = private unnamed_addr constant [8 x i8] c"Mustard\00" +@.str814 = private unnamed_addr constant [5 x i8] c"Flax\00" +@.str815 = private unnamed_addr constant [6 x i8] c"Wheat\00" +@.str816 = private unnamed_addr constant [5 x i8] c"Corn\00" +@.str817 = private unnamed_addr constant [10 x i8] c"Dandelion\00" +@.str818 = private unnamed_addr constant [8 x i8] c"Saffron\00" +@.str819 = private unnamed_addr constant [6 x i8] c"Khaki\00" +@.str820 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00" +@.str821 = private unnamed_addr constant [6 x i8] c"Straw\00" +@.str822 = private unnamed_addr constant [6 x i8] c"Brown\00" +@.str823 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00" +@.str824 = private unnamed_addr constant [7 x i8] c"Sienna\00" +@.str825 = private unnamed_addr constant [10 x i8] c"Chocolate\00" +@.str826 = private unnamed_addr constant [5 x i8] c"Peru\00" +@.str827 = private unnamed_addr constant [4 x i8] c"Tan\00" +@.str828 = private unnamed_addr constant [10 x i8] c"BurlyWood\00" +@.str829 = private unnamed_addr constant [5 x i8] c"Sand\00" +@.str830 = private unnamed_addr constant [7 x i8] c"Coffee\00" +@.str831 = private unnamed_addr constant [9 x i8] c"Espresso\00" +@.str832 = private unnamed_addr constant [9 x i8] c"Mahogany\00" +@.str833 = private unnamed_addr constant [7 x i8] c"Walnut\00" +@.str834 = private unnamed_addr constant [6 x i8] c"Umber\00" +@.str835 = private unnamed_addr constant [6 x i8] c"Sepia\00" +@.str836 = private unnamed_addr constant [6 x i8] c"Taupe\00" +@.str837 = private unnamed_addr constant [5 x i8] c"Fawn\00" +@.str838 = private unnamed_addr constant [8 x i8] c"Caramel\00" +@.str839 = private unnamed_addr constant [6 x i8] c"Cocoa\00" +@.str840 = private unnamed_addr constant [6 x i8] c"Hazel\00" +@.str841 = private unnamed_addr constant [6 x i8] c"Wenge\00" +@.str842 = private unnamed_addr constant [6 x i8] c"Green\00" +@.str843 = private unnamed_addr constant [5 x i8] c"Lime\00" +@.str844 = private unnamed_addr constant [10 x i8] c"LimeGreen\00" +@.str845 = private unnamed_addr constant [10 x i8] c"LawnGreen\00" +@.str846 = private unnamed_addr constant [11 x i8] c"Chartreuse\00" +@.str847 = private unnamed_addr constant [12 x i8] c"GreenYellow\00" +@.str848 = private unnamed_addr constant [12 x i8] c"SpringGreen\00" +@.str849 = private unnamed_addr constant [10 x i8] c"MintGreen\00" +@.str850 = private unnamed_addr constant [9 x i8] c"SeaGreen\00" +@.str851 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00" +@.str852 = private unnamed_addr constant [12 x i8] c"ForestGreen\00" +@.str853 = private unnamed_addr constant [10 x i8] c"DarkGreen\00" +@.str854 = private unnamed_addr constant [10 x i8] c"OliveDrab\00" +@.str855 = private unnamed_addr constant [6 x i8] c"Olive\00" +@.str856 = private unnamed_addr constant [5 x i8] c"Moss\00" +@.str857 = private unnamed_addr constant [5 x i8] c"Fern\00" +@.str858 = private unnamed_addr constant [8 x i8] c"Emerald\00" +@.str859 = private unnamed_addr constant [5 x i8] c"Jade\00" +@.str860 = private unnamed_addr constant [10 x i8] c"Malachite\00" +@.str861 = private unnamed_addr constant [9 x i8] c"Shamrock\00" +@.str862 = private unnamed_addr constant [10 x i8] c"Pistachio\00" +@.str863 = private unnamed_addr constant [8 x i8] c"Avocado\00" +@.str864 = private unnamed_addr constant [5 x i8] c"Pine\00" +@.str865 = private unnamed_addr constant [5 x i8] c"Sage\00" +@.str866 = private unnamed_addr constant [6 x i8] c"Kelly\00" +@.str867 = private unnamed_addr constant [7 x i8] c"Hunter\00" +@.str868 = private unnamed_addr constant [6 x i8] c"Basil\00" +@.str869 = private unnamed_addr constant [7 x i8] c"Clover\00" +@.str870 = private unnamed_addr constant [8 x i8] c"Juniper\00" +@.str871 = private unnamed_addr constant [5 x i8] c"Neon\00" +@.str872 = private unnamed_addr constant [5 x i8] c"Cyan\00" +@.str873 = private unnamed_addr constant [5 x i8] c"Aqua\00" +@.str874 = private unnamed_addr constant [10 x i8] c"LightCyan\00" +@.str875 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00" +@.str876 = private unnamed_addr constant [11 x i8] c"Aquamarine\00" +@.str877 = private unnamed_addr constant [10 x i8] c"Turquoise\00" +@.str878 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00" +@.str879 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00" +@.str880 = private unnamed_addr constant [5 x i8] c"Teal\00" +@.str881 = private unnamed_addr constant [9 x i8] c"DarkCyan\00" +@.str882 = private unnamed_addr constant [10 x i8] c"CadetBlue\00" +@.str883 = private unnamed_addr constant [7 x i8] c"Lagoon\00" +@.str884 = private unnamed_addr constant [8 x i8] c"Seafoam\00" +@.str885 = private unnamed_addr constant [9 x i8] c"Cerulean\00" +@.str886 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00" +@.str887 = private unnamed_addr constant [6 x i8] c"Robin\00" +@.str888 = private unnamed_addr constant [10 x i8] c"Verdigris\00" +@.str889 = private unnamed_addr constant [8 x i8] c"Celadon\00" +@.str890 = private unnamed_addr constant [5 x i8] c"Blue\00" +@.str891 = private unnamed_addr constant [10 x i8] c"LightBlue\00" +@.str892 = private unnamed_addr constant [11 x i8] c"PowderBlue\00" +@.str893 = private unnamed_addr constant [8 x i8] c"SkyBlue\00" +@.str894 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00" +@.str895 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00" +@.str896 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00" +@.str897 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00" +@.str898 = private unnamed_addr constant [10 x i8] c"SteelBlue\00" +@.str899 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00" +@.str900 = private unnamed_addr constant [11 x i8] c"MediumBlue\00" +@.str901 = private unnamed_addr constant [9 x i8] c"DarkBlue\00" +@.str902 = private unnamed_addr constant [5 x i8] c"Navy\00" +@.str903 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00" +@.str904 = private unnamed_addr constant [7 x i8] c"Cobalt\00" +@.str905 = private unnamed_addr constant [9 x i8] c"Sapphire\00" +@.str906 = private unnamed_addr constant [6 x i8] c"Denim\00" +@.str907 = private unnamed_addr constant [7 x i8] c"Indigo\00" +@.str908 = private unnamed_addr constant [9 x i8] c"Prussian\00" +@.str909 = private unnamed_addr constant [12 x i8] c"Ultramarine\00" +@.str910 = private unnamed_addr constant [11 x i8] c"Periwinkle\00" +@.str911 = private unnamed_addr constant [5 x i8] c"Iris\00" +@.str912 = private unnamed_addr constant [9 x i8] c"Glaucous\00" +@.str913 = private unnamed_addr constant [7 x i8] c"Zaffre\00" +@.str914 = private unnamed_addr constant [6 x i8] c"Berry\00" +@.str915 = private unnamed_addr constant [7 x i8] c"Purple\00" +@.str916 = private unnamed_addr constant [7 x i8] c"Violet\00" +@.str917 = private unnamed_addr constant [11 x i8] c"DarkViolet\00" +@.str918 = private unnamed_addr constant [11 x i8] c"BlueViolet\00" +@.str919 = private unnamed_addr constant [13 x i8] c"MediumPurple\00" +@.str920 = private unnamed_addr constant [9 x i8] c"Amethyst\00" +@.str921 = private unnamed_addr constant [5 x i8] c"Plum\00" +@.str922 = private unnamed_addr constant [9 x i8] c"Eggplant\00" +@.str923 = private unnamed_addr constant [6 x i8] c"Grape\00" +@.str924 = private unnamed_addr constant [5 x i8] c"Wine\00" +@.str925 = private unnamed_addr constant [9 x i8] c"Mulberry\00" +@.str926 = private unnamed_addr constant [6 x i8] c"Lilac\00" +@.str927 = private unnamed_addr constant [9 x i8] c"Wisteria\00" +@.str928 = private unnamed_addr constant [11 x i8] c"Heliotrope\00" +@.str929 = private unnamed_addr constant [10 x i8] c"Byzantium\00" +@.str930 = private unnamed_addr constant [7 x i8] c"Tyrian\00" +@.str931 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00" +@.str932 = private unnamed_addr constant [8 x i8] c"Orchid2\00" +@.str933 = private unnamed_addr constant [15 x i8] c"getelementptr \00" +@.str934 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00" +@.str935 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str936 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str937 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" -@.str938 = private unnamed_addr constant [3 x i8] c", \00" -@.str939 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str940 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str941 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str942 = private unnamed_addr constant [6 x i8] c" i32 \00" -@.str943 = private unnamed_addr constant [3 x i8] c", \00" -@.str944 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str945 = private unnamed_addr constant [6 x i8] c" i32 \00" -@.str946 = private unnamed_addr constant [3 x i8] c", \00" -@.str947 = private unnamed_addr constant [4 x i8] c"int\00" -@.str948 = private unnamed_addr constant [5 x i8] c"self\00" -@.str949 = private unnamed_addr constant [2 x i8] c"0\00" -@.str950 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str951 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str952 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str953 = private unnamed_addr constant [4 x i8] c"key\00" -@.str954 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" -@.str955 = private unnamed_addr constant [4 x i8] c"int\00" -@.str956 = private unnamed_addr constant [5 x i8] c"save\00" -@.str957 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00" -@.str958 = private unnamed_addr constant [2 x i8] c"0\00" -@.str959 = private unnamed_addr constant [5 x i8] c"void\00" -@.str960 = private unnamed_addr constant [9 x i8] c"ui_build\00" -@.str961 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00" -@.str962 = private unnamed_addr constant [2 x i8] c"0\00" -@.str963 = private unnamed_addr constant [5 x i8] c"void\00" -@.str964 = private unnamed_addr constant [5 x i8] c"load\00" -@.str965 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00" -@.str966 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str967 = private unnamed_addr constant [11 x i8] c"world_size\00" -@.str968 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00" -@.str969 = private unnamed_addr constant [4 x i8] c"int\00" -@.str970 = private unnamed_addr constant [11 x i8] c"world_save\00" -@.str971 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00" -@.str972 = private unnamed_addr constant [2 x i8] c")\00" -@.str973 = private unnamed_addr constant [4 x i8] c"int\00" -@.str974 = private unnamed_addr constant [11 x i8] c"world_load\00" -@.str975 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00" -@.str976 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str977 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str978 = private unnamed_addr constant [2 x i8] c"0\00" -@.str979 = private unnamed_addr constant [5 x i8] c"void\00" -@.str980 = private unnamed_addr constant [5 x i8] c"quit\00" -@.str981 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00" -@.str982 = private unnamed_addr constant [2 x i8] c"0\00" -@.str983 = private unnamed_addr constant [5 x i8] c"void\00" -@.str984 = private unnamed_addr constant [10 x i8] c"serialize\00" -@.str985 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00" -@.str986 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str987 = private unnamed_addr constant [2 x i8] c")\00" -@.str988 = private unnamed_addr constant [4 x i8] c"int\00" -@.str989 = private unnamed_addr constant [6 x i8] c"apply\00" -@.str990 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00" -@.str991 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str992 = private unnamed_addr constant [7 x i8] c", 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"sync_size\00" -@.str997 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00" -@.str998 = private unnamed_addr constant [2 x i8] c")\00" -@.str999 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1000 = private unnamed_addr constant [6 x i8] c"owner\00" -@.str1001 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00" -@.str1002 = private unnamed_addr constant [2 x i8] c")\00" -@.str1003 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1004 = private unnamed_addr constant [10 x i8] c"set_owner\00" -@.str1005 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00" -@.str1006 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1007 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1008 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1009 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1010 = private unnamed_addr constant [9 x i8] c"is_owner\00" -@.str1011 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00" -@.str1012 = private unnamed_addr constant [2 x i8] c")\00" -@.str1013 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str1014 = private unnamed_addr constant [10 x i8] c"is_server\00" -@.str1015 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" -@.str1016 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str1017 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str1018 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str1019 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1020 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str1021 = private unnamed_addr constant [9 x i8] c"local_id\00" -@.str1022 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00" -@.str1023 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1024 = private unnamed_addr constant [9 x i8] c"net_pump\00" -@.str1025 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00" -@.str1026 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1027 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1028 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" -@.str1029 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00" +@.str937 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00" +@.str938 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str939 = private unnamed_addr constant [2 x i8] c")\00" +@.str940 = private unnamed_addr constant [3 x i8] c" \00" +@.str941 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" +@.str942 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str943 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str944 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str945 = private unnamed_addr constant [2 x i8] c"0\00" +@.str946 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str947 = private unnamed_addr constant [5 x i8] c"null\00" +@.str948 = private unnamed_addr constant [9 x i8] c" store \00" +@.str949 = private unnamed_addr constant [2 x i8] c" \00" +@.str950 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str951 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str952 = private unnamed_addr constant [8 x i8] c"%LSlice\00" +@.str953 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str954 = private unnamed_addr constant [2 x i8] c")\00" +@.str955 = private unnamed_addr constant [3 x i8] c" \00" +@.str956 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str957 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" +@.str958 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" +@.str959 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str960 = private unnamed_addr constant [3 x i8] c" \00" +@.str961 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str962 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" +@.str963 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str964 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str965 = private unnamed_addr constant [3 x i8] c" \00" +@.str966 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str967 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00" +@.str968 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str969 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str970 = private unnamed_addr constant [3 x i8] c" \00" +@.str971 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str972 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str973 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str974 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str975 = private unnamed_addr constant [4 x i8] c"int\00" +@.str976 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" +@.str977 = private unnamed_addr constant [2 x i8] c")\00" +@.str978 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str979 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str980 = private unnamed_addr constant [4 x i8] c"int\00" +@.str981 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str982 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str983 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str984 = private unnamed_addr constant [3 x i8] c", \00" +@.str985 = private unnamed_addr constant [5 x i8] c"grow\00" +@.str986 = private unnamed_addr constant [4 x i8] c"put\00" +@.str987 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str988 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str989 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str990 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str991 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str992 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str993 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str994 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str995 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str996 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str997 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" +@.str998 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str999 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1000 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str1001 = private unnamed_addr constant [3 x i8] c", \00" +@.str1002 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str1003 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" +@.str1004 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str1005 = private unnamed_addr constant [2 x i8] c")\00" +@.str1006 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str1007 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1008 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1009 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str1010 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1011 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1012 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1013 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1014 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1015 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str1016 = private unnamed_addr constant [3 x i8] c" \00" +@.str1017 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" +@.str1018 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1019 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1020 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1021 = private unnamed_addr constant [9 x i8] c" store \00" +@.str1022 = private unnamed_addr constant [2 x i8] c" \00" +@.str1023 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1024 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1025 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1026 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str1027 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str1028 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1029 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1030 = private unnamed_addr constant [2 x i8] c"0\00" @.str1031 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1032 = private unnamed_addr constant [12 x i8] c"tick_render\00" -@.str1033 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00" -@.str1034 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1035 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1036 = private unnamed_addr constant [9 x i8] c"set_role\00" -@.str1037 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str1038 = private unnamed_addr constant [15 x i8] c", ptr @L_role\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 [13 x i8] c"set_local_id\00" -@.str1042 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str1043 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00" -@.str1044 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1045 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1046 = private unnamed_addr constant [9 x i8] c"net_send\00" -@.str1047 = private unnamed_addr constant [9 x i8] c"net_send\00" -@.str1048 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00" -@.str1049 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1050 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1051 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1052 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1053 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1054 = private unnamed_addr constant [9 x i8] c"net_poll\00" -@.str1055 = private unnamed_addr constant [9 x i8] c"net_poll\00" -@.str1056 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00" -@.str1057 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1058 = private unnamed_addr constant [2 x i8] c")\00" -@.str1059 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1060 = private unnamed_addr constant [4 x i8] c"len\00" -@.str1061 = private unnamed_addr constant [5 x i8] c"push\00" -@.str1062 = private unnamed_addr constant [4 x i8] c"str\00" -@.str1063 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str1064 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00" -@.str1065 = private unnamed_addr constant [2 x i8] c")\00" -@.str1066 = private unnamed_addr constant [4 x i8] c"str\00" -@.str1067 = private unnamed_addr constant [6 x i8] c"print\00" -@.str1068 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str1069 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" -@.str1070 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1071 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \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 [6 x i8] c"bytes\00" -@.str1076 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str1077 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str1078 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" -@.str1079 = private unnamed_addr constant [2 x i8] c")\00" -@.str1080 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str1081 = private unnamed_addr constant [6 x i8] c"words\00" -@.str1082 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str1083 = private unnamed_addr constant [4 x i8] c", 4\00" -@.str1084 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str1085 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str1086 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" -@.str1087 = private unnamed_addr constant [2 x i8] c")\00" -@.str1088 = private unnamed_addr constant [6 x i8] c"words\00" -@.str1089 = private unnamed_addr constant [3 x i8] c"fx\00" -@.str1090 = private unnamed_addr constant [9 x i8] c"shl i32 \00" -@.str1091 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str1092 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1093 = private unnamed_addr constant [4 x i8] c"flr\00" -@.str1094 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str1095 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str1096 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1097 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" -@.str1098 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00" -@.str1099 = private unnamed_addr constant [2 x i8] c")\00" -@.str1100 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1101 = private unnamed_addr constant [15 x i8] c"world_field_id\00" -@.str1102 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00" -@.str1103 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1104 = private unnamed_addr constant [2 x i8] c")\00" -@.str1105 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1106 = private unnamed_addr constant [10 x i8] c"world_get\00" -@.str1107 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00" -@.str1108 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1109 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1110 = private unnamed_addr constant [2 x i8] c")\00" -@.str1111 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str1112 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1113 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1114 = private unnamed_addr constant [10 x i8] c"world_set\00" -@.str1115 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str1116 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str1117 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00" -@.str1118 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1119 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1120 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str1121 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1122 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1123 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1124 = private unnamed_addr constant [10 x i8] c"world_has\00" -@.str1125 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00" -@.str1126 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1127 = private unnamed_addr constant [2 x i8] c")\00" -@.str1128 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1129 = private unnamed_addr constant [12 x i8] c"world_count\00" -@.str1130 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00" -@.str1131 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1132 = private unnamed_addr constant [11 x i8] c"world_kind\00" -@.str1133 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00" -@.str1134 = private unnamed_addr constant [2 x i8] c")\00" -@.str1135 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1136 = private unnamed_addr constant [15 x i8] c"world_model_id\00" -@.str1137 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00" -@.str1138 = private unnamed_addr constant [2 x i8] c")\00" -@.str1139 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1140 = private unnamed_addr constant [17 x i8] c"world_query_next\00" -@.str1141 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00" -@.str1142 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1143 = private unnamed_addr constant [2 x i8] c")\00" -@.str1144 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1145 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" -@.str1146 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00" -@.str1147 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1148 = private unnamed_addr constant [2 x i8] c")\00" -@.str1149 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1150 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" -@.str1151 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00" -@.str1152 = private unnamed_addr constant [7 x i8] c", i32 \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 [17 x i8] c"world_detach_dyn\00" -@.str1157 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00" -@.str1158 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1159 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1160 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1161 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1162 = private unnamed_addr constant [12 x i8] c"world_spawn\00" -@.str1163 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00" -@.str1164 = private unnamed_addr constant [2 x i8] c")\00" -@.str1165 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1166 = private unnamed_addr constant [3 x i8] c" \00" -@.str1167 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1168 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1169 = private unnamed_addr constant [4 x i8] c" = \00" -@.str1170 = private unnamed_addr constant [6 x i8] c"call \00" -@.str1171 = private unnamed_addr constant [3 x i8] c" @\00" -@.str1172 = private unnamed_addr constant [2 x i8] c"(\00" -@.str1173 = private unnamed_addr constant [3 x i8] c", \00" -@.str1174 = private unnamed_addr constant [2 x i8] c" \00" -@.str1175 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1176 = private unnamed_addr constant [4 x i8] c"rt_\00" -@.str1177 = private unnamed_addr constant [18 x i8] c"unknown function \00" -@.str1178 = private unnamed_addr constant [3 x i8] c" \00" -@.str1179 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1180 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1181 = private unnamed_addr constant [4 x i8] c" = \00" -@.str1182 = private unnamed_addr constant [6 x i8] c"call \00" -@.str1183 = private unnamed_addr constant [6 x i8] c" @fn_\00" -@.str1184 = private unnamed_addr constant [2 x i8] c"(\00" -@.str1185 = private unnamed_addr constant [3 x i8] c", \00" -@.str1186 = private unnamed_addr constant [2 x i8] c" \00" -@.str1187 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1188 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1189 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1190 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1191 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1192 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str1193 = private unnamed_addr constant [5 x i8] c"null\00" -@.str1194 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str1195 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00" -@.str1196 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1197 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1198 = private unnamed_addr constant [2 x i8] c")\00" -@.str1199 = private unnamed_addr constant [4 x i8] c"str\00" -@.str1200 = private unnamed_addr constant [4 x i8] c"str\00" -@.str1201 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1202 = private unnamed_addr constant [6 x i8] c"load \00" -@.str1203 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" -@.str1204 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1205 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" -@.str1206 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1207 = private unnamed_addr constant [5 x i8] c"byte\00" -@.str1208 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str1209 = private unnamed_addr constant [9 x i8] c"zext i8 \00" -@.str1210 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1211 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1212 = private unnamed_addr constant [2 x i8] c"-\00" -@.str1213 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" -@.str1214 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1215 = private unnamed_addr constant [2 x i8] c"~\00" -@.str1216 = private unnamed_addr constant [9 x i8] c"xor i32 \00" -@.str1217 = private unnamed_addr constant [5 x i8] c", -1\00" -@.str1218 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1219 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str1220 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1221 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str1222 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1223 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str1224 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" -@.str1225 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1226 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1227 = private unnamed_addr constant [9 x i8] c" store \00" -@.str1228 = private unnamed_addr constant [2 x i8] c" \00" -@.str1229 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1230 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1231 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1232 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1233 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" -@.str1234 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" -@.str1235 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" -@.str1236 = private unnamed_addr constant [4 x i8] c"@g_\00" -@.str1237 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" -@.str1238 = private unnamed_addr constant [2 x i8] c"=\00" -@.str1239 = private unnamed_addr constant [6 x i8] c"load \00" -@.str1240 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1241 = private unnamed_addr constant [4 x i8] c"add\00" -@.str1242 = private unnamed_addr constant [3 x i8] c"-=\00" -@.str1243 = private unnamed_addr constant [4 x i8] c"sub\00" -@.str1244 = private unnamed_addr constant [3 x i8] c"*=\00" -@.str1245 = private unnamed_addr constant [4 x i8] c"mul\00" -@.str1246 = private unnamed_addr constant [3 x i8] c"/=\00" -@.str1247 = private unnamed_addr constant [5 x i8] c"sdiv\00" -@.str1248 = private unnamed_addr constant [6 x i8] c" i32 \00" -@.str1249 = private unnamed_addr constant [3 x i8] c", \00" -@.str1250 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str1251 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" -@.str1252 = private unnamed_addr constant [7 x i8] c" to i8\00" -@.str1253 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str1254 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1255 = private unnamed_addr constant [5 x i8] c"then\00" -@.str1256 = private unnamed_addr constant [5 x i8] c"else\00" -@.str1257 = private unnamed_addr constant [6 x i8] c"ifend\00" -@.str1258 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1259 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1260 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1261 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1262 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1263 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1264 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1265 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1266 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1267 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1268 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1269 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1270 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1271 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1272 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1273 = private unnamed_addr constant [6 x i8] c"wcond\00" -@.str1274 = private unnamed_addr constant [6 x i8] c"wbody\00" -@.str1275 = private unnamed_addr constant [5 x i8] c"wend\00" -@.str1276 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1277 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1278 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1279 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str1280 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1281 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1282 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1283 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1284 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1285 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1286 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1287 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1288 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1289 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str1290 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str1291 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1292 = private unnamed_addr constant [6 x i8] c"fcond\00" -@.str1293 = private unnamed_addr constant [6 x i8] c"fbody\00" -@.str1294 = private unnamed_addr constant [6 x i8] c"fcont\00" -@.str1295 = private unnamed_addr constant [5 x i8] c"fend\00" -@.str1296 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1297 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1298 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1299 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str1300 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str1301 = private unnamed_addr constant [3 x i8] c", \00" -@.str1302 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1303 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1304 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1305 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1306 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1307 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1308 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1309 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1310 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str1311 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1312 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str1313 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str1314 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1315 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1316 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1317 = private unnamed_addr constant [8 x i8] c"%retval\00" -@.str1318 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str1319 = private unnamed_addr constant [2 x i8] c"_\00" -@.str1320 = private unnamed_addr constant [5 x i8] c"mend\00" -@.str1321 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1322 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str1323 = private unnamed_addr constant [3 x i8] c", \00" -@.str1324 = private unnamed_addr constant [7 x i8] c"or i1 \00" -@.str1325 = private unnamed_addr constant [3 x i8] c", \00" -@.str1326 = private unnamed_addr constant [6 x i8] c"mbody\00" -@.str1327 = private unnamed_addr constant [5 x i8] c"marm\00" -@.str1328 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1329 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1330 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1331 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1332 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1333 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1334 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1335 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1336 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1337 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1338 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1339 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" -@.str1340 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1341 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str1342 = private unnamed_addr constant [5 x i8] c"null\00" -@.str1343 = private unnamed_addr constant [3 x i8] c" \00" -@.str1344 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" -@.str1345 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str1346 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1347 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1348 = private unnamed_addr constant [3 x i8] c" \00" -@.str1349 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" -@.str1350 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1351 = private unnamed_addr constant [9 x i8] c" store \00" -@.str1352 = private unnamed_addr constant [2 x i8] c" \00" -@.str1353 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1354 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1355 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1356 = private unnamed_addr constant [10 x i8] c"toclients\00" -@.str1357 = private unnamed_addr constant [3 x i8] c"-1\00" -@.str1358 = private unnamed_addr constant [9 x i8] c"net_send\00" -@.str1359 = private unnamed_addr constant [14 x i8] c" call void @\00" -@.str1360 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str1361 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" -@.str1362 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1363 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1364 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1365 = private unnamed_addr constant [3 x i8] c", \00" -@.str1366 = private unnamed_addr constant [2 x i8] c" \00" -@.str1367 = private unnamed_addr constant [3 x i8] c" \00" -@.str1368 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" -@.str1369 = private unnamed_addr constant [2 x i8] c"(\00" -@.str1370 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1371 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1372 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str1373 = private unnamed_addr constant [2 x i8] c"(\00" +@.str1032 = private unnamed_addr constant [6 x i8] c"load \00" +@.str1033 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1034 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str1035 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str1036 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1037 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str1038 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1039 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str1040 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1041 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1042 = private unnamed_addr constant [3 x i8] c"sc\00" +@.str1043 = private unnamed_addr constant [6 x i8] c"scend\00" +@.str1044 = private unnamed_addr constant [4 x i8] c"and\00" +@.str1045 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str1046 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1047 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1048 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1049 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str1050 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1051 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1052 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1053 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1054 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str1055 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1056 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str1057 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1058 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str1059 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1060 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1061 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1062 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1063 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1064 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str1065 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1066 = private unnamed_addr constant [2 x i8] c"<\00" +@.str1067 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str1068 = private unnamed_addr constant [3 x i8] c"<=\00" +@.str1069 = private unnamed_addr constant [4 x i8] c"sle\00" +@.str1070 = private unnamed_addr constant [2 x i8] c">\00" +@.str1071 = private unnamed_addr constant [4 x i8] c"sgt\00" +@.str1072 = private unnamed_addr constant [3 x i8] c">=\00" +@.str1073 = private unnamed_addr constant [4 x i8] c"sge\00" +@.str1074 = private unnamed_addr constant [3 x i8] c"==\00" +@.str1075 = private unnamed_addr constant [3 x i8] c"eq\00" +@.str1076 = private unnamed_addr constant [3 x i8] c"ne\00" +@.str1077 = private unnamed_addr constant [2 x i8] c"<\00" +@.str1078 = private unnamed_addr constant [3 x i8] c"<=\00" +@.str1079 = private unnamed_addr constant [2 x i8] c">\00" +@.str1080 = private unnamed_addr constant [3 x i8] c">=\00" +@.str1081 = private unnamed_addr constant [3 x i8] c"==\00" +@.str1082 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str1083 = private unnamed_addr constant [2 x i8] c"+\00" +@.str1084 = private unnamed_addr constant [4 x i8] c"add\00" +@.str1085 = private unnamed_addr constant [2 x i8] c"-\00" +@.str1086 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str1087 = private unnamed_addr constant [2 x i8] c"*\00" +@.str1088 = private unnamed_addr constant [4 x i8] c"mul\00" +@.str1089 = private unnamed_addr constant [2 x i8] c"/\00" +@.str1090 = private unnamed_addr constant [5 x i8] c"sdiv\00" +@.str1091 = private unnamed_addr constant [2 x i8] c"&\00" +@.str1092 = private unnamed_addr constant [4 x i8] c"and\00" +@.str1093 = private unnamed_addr constant [2 x i8] c"|\00" +@.str1094 = private unnamed_addr constant [3 x i8] c"or\00" +@.str1095 = private unnamed_addr constant [2 x i8] c"^\00" +@.str1096 = private unnamed_addr constant [4 x i8] c"xor\00" +@.str1097 = private unnamed_addr constant [3 x i8] c"<<\00" +@.str1098 = private unnamed_addr constant [4 x i8] c"shl\00" +@.str1099 = private unnamed_addr constant [3 x i8] c">>\00" +@.str1100 = private unnamed_addr constant [5 x i8] c"lshr\00" +@.str1101 = private unnamed_addr constant [5 x i8] c"srem\00" +@.str1102 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1103 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str1104 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1105 = private unnamed_addr constant [2 x i8] c"+\00" +@.str1106 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00" +@.str1107 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1108 = private unnamed_addr constant [2 x i8] c")\00" +@.str1109 = private unnamed_addr constant [4 x i8] c"str\00" +@.str1110 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00" +@.str1111 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1112 = private unnamed_addr constant [2 x i8] c")\00" +@.str1113 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str1114 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str1115 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1116 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str1117 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1118 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1119 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1120 = private unnamed_addr constant [4 x i8] c"and\00" +@.str1121 = private unnamed_addr constant [3 x i8] c"or\00" +@.str1122 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1123 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1124 = private unnamed_addr constant [2 x i8] c"+\00" +@.str1125 = private unnamed_addr constant [2 x i8] c"+\00" +@.str1126 = private unnamed_addr constant [3 x i8] c"==\00" +@.str1127 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str1128 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1129 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1130 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str1131 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1132 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1133 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1134 = private unnamed_addr constant [6 x i8] c"icmp \00" +@.str1135 = private unnamed_addr constant [2 x i8] c" \00" +@.str1136 = private unnamed_addr constant [2 x i8] c" \00" +@.str1137 = private unnamed_addr constant [3 x i8] c", \00" +@.str1138 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str1139 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1140 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1141 = private unnamed_addr constant [2 x i8] c"*\00" +@.str1142 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1143 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1144 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1145 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1146 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str1147 = private unnamed_addr constant [3 x i8] c", \00" +@.str1148 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" +@.str1149 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1150 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str1151 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1152 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1153 = private unnamed_addr constant [2 x i8] c"/\00" +@.str1154 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1155 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1156 = private unnamed_addr constant [9 x i8] c"shl i64 \00" +@.str1157 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1158 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1159 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1160 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" +@.str1161 = private unnamed_addr constant [3 x i8] c", \00" +@.str1162 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str1163 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1164 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1165 = private unnamed_addr constant [6 x i8] c" i32 \00" +@.str1166 = private unnamed_addr constant [3 x i8] c", \00" +@.str1167 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1168 = private unnamed_addr constant [6 x i8] c" i32 \00" +@.str1169 = private unnamed_addr constant [3 x i8] c", \00" +@.str1170 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1171 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00" +@.str1172 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00" +@.str1173 = private unnamed_addr constant [19 x i8] c"no argument named \00" +@.str1174 = private unnamed_addr constant [7 x i8] c"Screen\00" +@.str1175 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str1176 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str1177 = private unnamed_addr constant [6 x i8] c"color\00" +@.str1178 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00" +@.str1179 = private unnamed_addr constant [10 x i8] c"fill_rect\00" +@.str1180 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1181 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1182 = private unnamed_addr constant [6 x i8] c"width\00" +@.str1183 = private unnamed_addr constant [7 x i8] c"height\00" +@.str1184 = private unnamed_addr constant [6 x i8] c"color\00" +@.str1185 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00" +@.str1186 = private unnamed_addr constant [11 x i8] c"frame_rect\00" +@.str1187 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1188 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1189 = private unnamed_addr constant [6 x i8] c"width\00" +@.str1190 = private unnamed_addr constant [7 x i8] c"height\00" +@.str1191 = private unnamed_addr constant [6 x i8] c"color\00" +@.str1192 = private unnamed_addr constant [10 x i8] c"put_pixel\00" +@.str1193 = private unnamed_addr constant [7 x i8] c"put_px\00" +@.str1194 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1195 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1196 = private unnamed_addr constant [6 x i8] c"color\00" +@.str1197 = private unnamed_addr constant [10 x i8] c"draw_text\00" +@.str1198 = private unnamed_addr constant [5 x i8] c"text\00" +@.str1199 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1200 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1201 = private unnamed_addr constant [5 x i8] c"text\00" +@.str1202 = private unnamed_addr constant [6 x i8] c"color\00" +@.str1203 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str1204 = private unnamed_addr constant [12 x i8] c"draw_number\00" +@.str1205 = private unnamed_addr constant [9 x i8] c"text_int\00" +@.str1206 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1207 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1208 = private unnamed_addr constant [6 x i8] c"value\00" +@.str1209 = private unnamed_addr constant [6 x i8] c"color\00" +@.str1210 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str1211 = private unnamed_addr constant [5 x i8] c"show\00" +@.str1212 = private unnamed_addr constant [8 x i8] c"present\00" +@.str1213 = private unnamed_addr constant [6 x i8] c"width\00" +@.str1214 = private unnamed_addr constant [9 x i8] c"screen_w\00" +@.str1215 = private unnamed_addr constant [7 x i8] c"height\00" +@.str1216 = private unnamed_addr constant [9 x i8] c"screen_h\00" +@.str1217 = private unnamed_addr constant [7 x i8] c"status\00" +@.str1218 = private unnamed_addr constant [7 x i8] c"status\00" +@.str1219 = private unnamed_addr constant [5 x i8] c"text\00" +@.str1220 = private unnamed_addr constant [4 x i8] c"Map\00" +@.str1221 = private unnamed_addr constant [5 x i8] c"size\00" +@.str1222 = private unnamed_addr constant [9 x i8] c"map_size\00" +@.str1223 = private unnamed_addr constant [6 x i8] c"width\00" +@.str1224 = private unnamed_addr constant [7 x i8] c"height\00" +@.str1225 = private unnamed_addr constant [4 x i8] c"row\00" +@.str1226 = private unnamed_addr constant [8 x i8] c"map_row\00" +@.str1227 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1228 = private unnamed_addr constant [6 x i8] c"cells\00" +@.str1229 = private unnamed_addr constant [5 x i8] c"tile\00" +@.str1230 = private unnamed_addr constant [5 x i8] c"tile\00" +@.str1231 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1232 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1233 = private unnamed_addr constant [7 x i8] c"Random\00" +@.str1234 = private unnamed_addr constant [6 x i8] c"range\00" +@.str1235 = private unnamed_addr constant [10 x i8] c"rng_range\00" +@.str1236 = private unnamed_addr constant [4 x i8] c"low\00" +@.str1237 = private unnamed_addr constant [5 x i8] c"high\00" +@.str1238 = private unnamed_addr constant [7 x i8] c"chance\00" +@.str1239 = private unnamed_addr constant [11 x i8] c"rng_chance\00" +@.str1240 = private unnamed_addr constant [8 x i8] c"percent\00" +@.str1241 = private unnamed_addr constant [5 x i8] c"seed\00" +@.str1242 = private unnamed_addr constant [5 x i8] c"seed\00" +@.str1243 = private unnamed_addr constant [6 x i8] c"value\00" +@.str1244 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str1245 = private unnamed_addr constant [4 x i8] c"key\00" +@.str1246 = private unnamed_addr constant [4 x i8] c"key\00" +@.str1247 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" +@.str1248 = private unnamed_addr constant [2 x i8] c".\00" +@.str1249 = private unnamed_addr constant [30 x i8] c"call target is not a function\00" +@.str1250 = private unnamed_addr constant [5 x i8] c"self\00" +@.str1251 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1252 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str1253 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str1254 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str1255 = private unnamed_addr constant [4 x i8] c"key\00" +@.str1256 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" +@.str1257 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1258 = private unnamed_addr constant [5 x i8] c"save\00" +@.str1259 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\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 [9 x i8] c"ui_build\00" +@.str1263 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00" +@.str1264 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1265 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1266 = private unnamed_addr constant [5 x i8] c"load\00" +@.str1267 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00" +@.str1268 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1269 = private unnamed_addr constant [11 x i8] c"world_size\00" +@.str1270 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00" +@.str1271 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1272 = private unnamed_addr constant [11 x i8] c"world_save\00" +@.str1273 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00" +@.str1274 = private unnamed_addr constant [2 x i8] c")\00" +@.str1275 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1276 = private unnamed_addr constant [11 x i8] c"world_load\00" +@.str1277 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00" +@.str1278 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1279 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1280 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1281 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1282 = private unnamed_addr constant [5 x i8] c"quit\00" +@.str1283 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00" +@.str1284 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1285 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1286 = private unnamed_addr constant [10 x i8] c"serialize\00" +@.str1287 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00" +@.str1288 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1289 = private unnamed_addr constant [2 x i8] c")\00" +@.str1290 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1291 = private unnamed_addr constant [6 x i8] c"apply\00" +@.str1292 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00" +@.str1293 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1294 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1295 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1296 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1297 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1298 = private unnamed_addr constant [10 x i8] c"sync_size\00" +@.str1299 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00" +@.str1300 = private unnamed_addr constant [2 x i8] c")\00" +@.str1301 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1302 = private unnamed_addr constant [6 x i8] c"owner\00" +@.str1303 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00" +@.str1304 = private unnamed_addr constant [2 x i8] c")\00" +@.str1305 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1306 = private unnamed_addr constant [10 x i8] c"set_owner\00" +@.str1307 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00" +@.str1308 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1309 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1310 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1311 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1312 = private unnamed_addr constant [9 x i8] c"is_owner\00" +@.str1313 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00" +@.str1314 = private unnamed_addr constant [2 x i8] c")\00" +@.str1315 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1316 = private unnamed_addr constant [10 x i8] c"is_server\00" +@.str1317 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" +@.str1318 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str1319 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str1320 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str1321 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1322 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1323 = private unnamed_addr constant [9 x i8] c"local_id\00" +@.str1324 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00" +@.str1325 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1326 = private unnamed_addr constant [9 x i8] c"net_pump\00" +@.str1327 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00" +@.str1328 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1329 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1330 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" +@.str1331 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00" +@.str1332 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1333 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1334 = private unnamed_addr constant [12 x i8] c"tick_render\00" +@.str1335 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00" +@.str1336 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1337 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1338 = private unnamed_addr constant [9 x i8] c"set_role\00" +@.str1339 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str1340 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00" +@.str1341 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1342 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1343 = private unnamed_addr constant [13 x i8] c"set_local_id\00" +@.str1344 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str1345 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00" +@.str1346 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1347 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1348 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str1349 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str1350 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00" +@.str1351 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1352 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1353 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1354 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1355 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1356 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str1357 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str1358 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00" +@.str1359 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1360 = private unnamed_addr constant [2 x i8] c")\00" +@.str1361 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1362 = private unnamed_addr constant [4 x i8] c"len\00" +@.str1363 = private unnamed_addr constant [5 x i8] c"push\00" +@.str1364 = private unnamed_addr constant [4 x i8] c"str\00" +@.str1365 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1366 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00" +@.str1367 = private unnamed_addr constant [2 x i8] c")\00" +@.str1368 = private unnamed_addr constant [4 x i8] c"str\00" +@.str1369 = private unnamed_addr constant [6 x i8] c"print\00" +@.str1370 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1371 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" +@.str1372 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1373 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00" @.str1374 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1375 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1376 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1377 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1378 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str1379 = private unnamed_addr constant [5 x i8] c"null\00" -@.str1380 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1381 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1382 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1383 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1384 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" -@.str1385 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" -@.str1386 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1387 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" -@.str1388 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" -@.str1389 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" -@.str1390 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" -@.str1391 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" -@.str1392 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" -@.str1393 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str1394 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" -@.str1395 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str1396 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" -@.str1397 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str1398 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" -@.str1399 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" -@.str1400 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" -@.str1401 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" -@.str1402 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str1403 = private unnamed_addr constant [4 x i8] c"@S_\00" -@.str1404 = private unnamed_addr constant [21 x i8] c" = internal global [\00" -@.str1405 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str1406 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" -@.str1407 = private unnamed_addr constant [4 x i8] c"@H_\00" -@.str1408 = private unnamed_addr constant [21 x i8] c" = internal global [\00" -@.str1409 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" -@.str1410 = private unnamed_addr constant [5 x i8] c"@ME_\00" -@.str1411 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" -@.str1412 = private unnamed_addr constant [5 x i8] c"@HE_\00" -@.str1413 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" -@.str1414 = private unnamed_addr constant [5 x i8] c"@LE_\00" -@.str1415 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" -@.str1416 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" -@.str1417 = private unnamed_addr constant [3 x i8] c"%h\00" -@.str1418 = private unnamed_addr constant [3 x i8] c" \00" -@.str1419 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1420 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str1421 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str1422 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" -@.str1423 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1424 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" -@.str1425 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" -@.str1426 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" -@.str1427 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" -@.str1428 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" -@.str1429 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" -@.str1430 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str1431 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" -@.str1432 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" -@.str1433 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" -@.str1434 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" -@.str1435 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" -@.str1436 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" -@.str1437 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" -@.str1438 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" -@.str1439 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" -@.str1440 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" -@.str1441 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" -@.str1442 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" -@.str1443 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" -@.str1444 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" -@.str1445 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" -@.str1446 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" -@.str1447 = private unnamed_addr constant [7 x i8] c"done:\0A\00" -@.str1448 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" -@.str1449 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" -@.str1450 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" -@.str1451 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" -@.str1452 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" -@.str1453 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" -@.str1454 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" -@.str1455 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" -@.str1456 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" -@.str1457 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" -@.str1458 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" -@.str1459 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" -@.str1460 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" -@.str1461 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" -@.str1462 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" -@.str1463 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" -@.str1464 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" -@.str1465 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str1466 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str1467 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str1468 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1469 = private unnamed_addr constant [6 x i8] c"qcond\00" -@.str1470 = private unnamed_addr constant [6 x i8] c"qbody\00" -@.str1471 = private unnamed_addr constant [6 x i8] c"qnext\00" -@.str1472 = private unnamed_addr constant [5 x i8] c"qend\00" -@.str1473 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1474 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1475 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1476 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str1477 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" -@.str1478 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str1479 = private unnamed_addr constant [3 x i8] c", \00" -@.str1480 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1481 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1482 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1483 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1484 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1485 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str1486 = private unnamed_addr constant [3 x i8] c" \00" -@.str1487 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1488 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" -@.str1489 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1490 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str1491 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str1492 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1493 = private unnamed_addr constant [3 x i8] c"qa\00" -@.str1494 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1495 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1496 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1497 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1498 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1499 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1500 = private unnamed_addr constant [3 x i8] c" \00" -@.str1501 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1502 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" -@.str1503 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1504 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str1505 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str1506 = private unnamed_addr constant [3 x i8] c", \00" -@.str1507 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" -@.str1508 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str1509 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1510 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str1511 = private unnamed_addr constant [3 x i8] c", \00" -@.str1512 = private unnamed_addr constant [3 x i8] c" \00" -@.str1513 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1514 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str1515 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1516 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1517 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str1518 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" -@.str1519 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1520 = private unnamed_addr constant [3 x i8] c"qt\00" -@.str1521 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1522 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1523 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1524 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1525 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1526 = private unnamed_addr constant [3 x i8] c" \00" -@.str1527 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1528 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str1529 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str1530 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1531 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1532 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str1533 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str1376 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1377 = private unnamed_addr constant [6 x i8] c"bytes\00" +@.str1378 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1379 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1380 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str1381 = private unnamed_addr constant [2 x i8] c")\00" +@.str1382 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1383 = private unnamed_addr constant [6 x i8] c"words\00" +@.str1384 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1385 = private unnamed_addr constant [4 x i8] c", 4\00" +@.str1386 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1387 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1388 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str1389 = private unnamed_addr constant [2 x i8] c")\00" +@.str1390 = private unnamed_addr constant [6 x i8] c"words\00" +@.str1391 = private unnamed_addr constant [3 x i8] c"fx\00" +@.str1392 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str1393 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1394 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1395 = private unnamed_addr constant [4 x i8] c"flr\00" +@.str1396 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str1397 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1398 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1399 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" +@.str1400 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00" +@.str1401 = private unnamed_addr constant [2 x i8] c")\00" +@.str1402 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1403 = private unnamed_addr constant [15 x i8] c"world_field_id\00" +@.str1404 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00" +@.str1405 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1406 = private unnamed_addr constant [2 x i8] c")\00" +@.str1407 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1408 = private unnamed_addr constant [10 x i8] c"world_get\00" +@.str1409 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00" +@.str1410 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1411 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1412 = private unnamed_addr constant [2 x i8] c")\00" +@.str1413 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str1414 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1415 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1416 = private unnamed_addr constant [10 x i8] c"world_set\00" +@.str1417 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1418 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1419 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00" +@.str1420 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1421 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1422 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str1423 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1424 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1425 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1426 = private unnamed_addr constant [10 x i8] c"world_has\00" +@.str1427 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(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 [4 x i8] c"int\00" +@.str1431 = private unnamed_addr constant [12 x i8] c"world_count\00" +@.str1432 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00" +@.str1433 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1434 = private unnamed_addr constant [11 x i8] c"world_kind\00" +@.str1435 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00" +@.str1436 = private unnamed_addr constant [2 x i8] c")\00" +@.str1437 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1438 = private unnamed_addr constant [15 x i8] c"world_model_id\00" +@.str1439 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00" +@.str1440 = private unnamed_addr constant [2 x i8] c")\00" +@.str1441 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1442 = private unnamed_addr constant [17 x i8] c"world_query_next\00" +@.str1443 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00" +@.str1444 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1445 = private unnamed_addr constant [2 x i8] c")\00" +@.str1446 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1447 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" +@.str1448 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00" +@.str1449 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1450 = private unnamed_addr constant [2 x i8] c")\00" +@.str1451 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1452 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" +@.str1453 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00" +@.str1454 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1455 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1456 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1457 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1458 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" +@.str1459 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00" +@.str1460 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1461 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1462 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1463 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1464 = private unnamed_addr constant [12 x i8] c"world_spawn\00" +@.str1465 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00" +@.str1466 = private unnamed_addr constant [2 x i8] c")\00" +@.str1467 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1468 = private unnamed_addr constant [3 x i8] c" \00" +@.str1469 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1470 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1471 = private unnamed_addr constant [4 x i8] c" = \00" +@.str1472 = private unnamed_addr constant [6 x i8] c"call \00" +@.str1473 = private unnamed_addr constant [3 x i8] c" @\00" +@.str1474 = private unnamed_addr constant [2 x i8] c"(\00" +@.str1475 = private unnamed_addr constant [3 x i8] c", \00" +@.str1476 = private unnamed_addr constant [2 x i8] c" \00" +@.str1477 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1478 = private unnamed_addr constant [4 x i8] c"rt_\00" +@.str1479 = private unnamed_addr constant [18 x i8] c"unknown function \00" +@.str1480 = private unnamed_addr constant [3 x i8] c" \00" +@.str1481 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1482 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1483 = private unnamed_addr constant [4 x i8] c" = \00" +@.str1484 = private unnamed_addr constant [6 x i8] c"call \00" +@.str1485 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str1486 = private unnamed_addr constant [2 x i8] c"(\00" +@.str1487 = private unnamed_addr constant [3 x i8] c", \00" +@.str1488 = private unnamed_addr constant [2 x i8] c" \00" +@.str1489 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1490 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1491 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1492 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1493 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1494 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1495 = private unnamed_addr constant [5 x i8] c"null\00" +@.str1496 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1497 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00" +@.str1498 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1499 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1500 = private unnamed_addr constant [2 x i8] c")\00" +@.str1501 = private unnamed_addr constant [4 x i8] c"str\00" +@.str1502 = private unnamed_addr constant [4 x i8] c"str\00" +@.str1503 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1504 = private unnamed_addr constant [6 x i8] c"load \00" +@.str1505 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" +@.str1506 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1507 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" +@.str1508 = private unnamed_addr constant [6 x i8] c"Color\00" +@.str1509 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" +@.str1510 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1511 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1512 = private unnamed_addr constant [5 x i8] c"byte\00" +@.str1513 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str1514 = private unnamed_addr constant [9 x i8] c"zext i8 \00" +@.str1515 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1516 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1517 = private unnamed_addr constant [2 x i8] c"-\00" +@.str1518 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str1519 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1520 = private unnamed_addr constant [2 x i8] c"~\00" +@.str1521 = private unnamed_addr constant [9 x i8] c"xor i32 \00" +@.str1522 = private unnamed_addr constant [5 x i8] c", -1\00" +@.str1523 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1524 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str1525 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1526 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str1527 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1528 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1529 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" +@.str1530 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1531 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1532 = private unnamed_addr constant [9 x i8] c" store \00" +@.str1533 = private unnamed_addr constant [2 x i8] c" \00" @.str1534 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1535 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1536 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str1537 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1538 = private unnamed_addr constant [3 x i8] c"qw\00" -@.str1539 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1540 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1541 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1542 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1543 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1544 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1545 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1546 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1547 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str1548 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1549 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str1550 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str1551 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1552 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1553 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1554 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" -@.str1555 = private unnamed_addr constant [3 x i8] c" \00" -@.str1556 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1557 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str1558 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1559 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1560 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" -@.str1561 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1562 = private unnamed_addr constant [3 x i8] c" \00" -@.str1563 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1564 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str1565 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str1566 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1567 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1568 = private unnamed_addr constant [3 x i8] c" \00" -@.str1569 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str1570 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1571 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1572 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1573 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1574 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str1575 = private unnamed_addr constant [5 x i8] c"null\00" -@.str1576 = private unnamed_addr constant [9 x i8] c" store \00" -@.str1577 = private unnamed_addr constant [2 x i8] c" \00" -@.str1578 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1579 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1580 = private unnamed_addr constant [3 x i8] c" \00" -@.str1581 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str1582 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1583 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1584 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1585 = private unnamed_addr constant [9 x i8] c" store \00" -@.str1586 = private unnamed_addr constant [2 x i8] c" \00" -@.str1587 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1588 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1589 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str1590 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str1591 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1536 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1537 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1538 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" +@.str1539 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" +@.str1540 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" +@.str1541 = private unnamed_addr constant [4 x i8] c"@g_\00" +@.str1542 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" +@.str1543 = private unnamed_addr constant [2 x i8] c"=\00" +@.str1544 = private unnamed_addr constant [6 x i8] c"load \00" +@.str1545 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1546 = private unnamed_addr constant [4 x i8] c"add\00" +@.str1547 = private unnamed_addr constant [3 x i8] c"-=\00" +@.str1548 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str1549 = private unnamed_addr constant [3 x i8] c"*=\00" +@.str1550 = private unnamed_addr constant [4 x i8] c"mul\00" +@.str1551 = private unnamed_addr constant [3 x i8] c"/=\00" +@.str1552 = private unnamed_addr constant [5 x i8] c"sdiv\00" +@.str1553 = private unnamed_addr constant [6 x i8] c" i32 \00" +@.str1554 = private unnamed_addr constant [3 x i8] c", \00" +@.str1555 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str1556 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" +@.str1557 = private unnamed_addr constant [7 x i8] c" to i8\00" +@.str1558 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str1559 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1560 = private unnamed_addr constant [5 x i8] c"then\00" +@.str1561 = private unnamed_addr constant [5 x i8] c"else\00" +@.str1562 = private unnamed_addr constant [6 x i8] c"ifend\00" +@.str1563 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str1564 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1565 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1566 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1567 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str1568 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1569 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1570 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1571 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1572 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1573 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1574 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1575 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1576 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1577 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1578 = private unnamed_addr constant [6 x i8] c"wcond\00" +@.str1579 = private unnamed_addr constant [6 x i8] c"wbody\00" +@.str1580 = private unnamed_addr constant [5 x i8] c"wend\00" +@.str1581 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1582 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1583 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1584 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str1585 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1586 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str1587 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1588 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1589 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1590 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1591 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str1592 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1593 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str1594 = private unnamed_addr constant [8 x i8] c"_attach\00" -@.str1595 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str1596 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str1597 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1598 = private unnamed_addr constant [3 x i8] c" \00" -@.str1599 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1600 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str1601 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str1602 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1603 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1604 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str1605 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str1606 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1607 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1608 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" -@.str1609 = private unnamed_addr constant [3 x i8] c" \00" -@.str1610 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1611 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" -@.str1612 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1613 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str1614 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1615 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1616 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str1617 = private unnamed_addr constant [7 x i8] c"_spawn\00" -@.str1618 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str1619 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str1620 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1621 = private unnamed_addr constant [3 x i8] c" \00" -@.str1622 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1623 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" -@.str1624 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1625 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str1626 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str1627 = private unnamed_addr constant [3 x i8] c", \00" -@.str1628 = private unnamed_addr constant [3 x i8] c"dh\00" -@.str1629 = private unnamed_addr constant [4 x i8] c"dhn\00" -@.str1630 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1631 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1632 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1633 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1634 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" -@.str1635 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str1636 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" -@.str1637 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str1638 = private unnamed_addr constant [9 x i8] c"_despawn\00" -@.str1639 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str1640 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str1641 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" -@.str1642 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1643 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1644 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1645 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" -@.str1646 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1647 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" -@.str1648 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1649 = private unnamed_addr constant [3 x i8] c" \00" -@.str1650 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1651 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str1652 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1653 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1654 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str1655 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" -@.str1656 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1657 = private unnamed_addr constant [7 x i8] c"attach\00" -@.str1658 = private unnamed_addr constant [8 x i8] c"attdone\00" -@.str1659 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1660 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1661 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1662 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1663 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1664 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1665 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1666 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1667 = private unnamed_addr constant [3 x i8] c" \00" -@.str1668 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1669 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str1670 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1671 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1672 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str1673 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" -@.str1674 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1675 = private unnamed_addr constant [7 x i8] c"detach\00" -@.str1676 = private unnamed_addr constant [8 x i8] c"detdone\00" -@.str1677 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1678 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1679 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1680 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1681 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1682 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" -@.str1683 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1684 = private unnamed_addr constant [3 x i8] c" \00" -@.str1685 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1686 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str1687 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str1688 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1689 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1690 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str1691 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str1692 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1693 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1694 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str1695 = private unnamed_addr constant [8 x i8] c"_detach\00" -@.str1696 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str1697 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str1698 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1699 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1700 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1701 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1702 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1703 = private unnamed_addr constant [2 x i8] c"1\00" -@.str1704 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str1705 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str1706 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" -@.str1707 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1708 = private unnamed_addr constant [7 x i8] c"layer_\00" -@.str1709 = private unnamed_addr constant [6 x i8] c"_hide\00" -@.str1710 = private unnamed_addr constant [7 x i8] c"layer_\00" -@.str1711 = private unnamed_addr constant [6 x i8] c"_show\00" -@.str1712 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str1713 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str1714 = private unnamed_addr constant [3 x i8] c" \00" -@.str1715 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1716 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str1717 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1718 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1719 = private unnamed_addr constant [12 x i8] c" store i8 \00" -@.str1720 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1721 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1722 = private unnamed_addr constant [3 x i8] c" \00" -@.str1723 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1724 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str1725 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str1726 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1727 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1728 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str1729 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str1730 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1731 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1732 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str1733 = private unnamed_addr constant [9 x i8] c"_disable\00" -@.str1734 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str1735 = private unnamed_addr constant [8 x i8] c"_enable\00" -@.str1736 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str1737 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str1738 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1739 = private unnamed_addr constant [5 x i8] c"@HE_\00" -@.str1740 = private unnamed_addr constant [5 x i8] c"@ME_\00" -@.str1741 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str1742 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1743 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1744 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1745 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str1746 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str1747 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" -@.str1748 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str1749 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str1750 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" -@.str1751 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str1752 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1753 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" -@.str1754 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str1755 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1756 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str1757 = private unnamed_addr constant [3 x i8] c", \00" -@.str1758 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" -@.str1759 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str1760 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str1761 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str1762 = private unnamed_addr constant [3 x i8] c", \00" -@.str1763 = private unnamed_addr constant [5 x i8] c"hrun\00" -@.str1764 = private unnamed_addr constant [6 x i8] c"hskip\00" -@.str1765 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1766 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1767 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1768 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1769 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" -@.str1770 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str1771 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1772 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1773 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1774 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" -@.str1775 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str1776 = private unnamed_addr constant [3 x i8] c", \00" -@.str1777 = private unnamed_addr constant [6 x i8] c"scrun\00" -@.str1778 = private unnamed_addr constant [7 x i8] c"scskip\00" -@.str1779 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1780 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1781 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1782 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1783 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1784 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1785 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1786 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1787 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1788 = private unnamed_addr constant [7 x i8] c"scene_\00" -@.str1789 = private unnamed_addr constant [2 x i8] c"_\00" -@.str1790 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str1791 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str1792 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str1793 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str1794 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" -@.str1795 = private unnamed_addr constant [2 x i8] c"_\00" -@.str1796 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str1797 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str1798 = private unnamed_addr constant [6 x i8] c"enter\00" -@.str1799 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str1800 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1801 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str1802 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" -@.str1803 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1804 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1805 = private unnamed_addr constant [3 x i8] c"%e\00" -@.str1806 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str1807 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str1808 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" -@.str1809 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" -@.str1810 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str1811 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" -@.str1812 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" -@.str1813 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" -@.str1814 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" -@.str1815 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" -@.str1816 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" -@.str1817 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" -@.str1818 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" -@.str1819 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" -@.str1820 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" -@.str1821 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" -@.str1822 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str1823 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str1824 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1825 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str1826 = private unnamed_addr constant [13 x i8] c", label %hit\00" -@.str1827 = private unnamed_addr constant [14 x i8] c", label %next\00" -@.str1828 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1829 = private unnamed_addr constant [4 x i8] c"hit\00" -@.str1830 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" -@.str1831 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" -@.str1832 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str1833 = private unnamed_addr constant [9 x i8] c"_despawn\00" -@.str1834 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str1835 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" -@.str1836 = private unnamed_addr constant [17 x i8] c" br label %next\00" -@.str1837 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1838 = private unnamed_addr constant [5 x i8] c"next\00" -@.str1839 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1840 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" -@.str1841 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" -@.str1842 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" -@.str1843 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" -@.str1844 = private unnamed_addr constant [5 x i8] c"%Ev_\00" -@.str1845 = private unnamed_addr constant [11 x i8] c" = type { \00" -@.str1846 = private unnamed_addr constant [3 x i8] c", \00" -@.str1847 = private unnamed_addr constant [3 x i8] c", \00" -@.str1848 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str1849 = private unnamed_addr constant [4 x i8] c" }\0A\00" -@.str1850 = private unnamed_addr constant [6 x i8] c"@evL_\00" -@.str1851 = private unnamed_addr constant [12 x i8] c" = global [\00" -@.str1852 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" -@.str1853 = private unnamed_addr constant [6 x i8] c"@evN_\00" -@.str1854 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" -@.str1855 = private unnamed_addr constant [6 x i8] c"@evO_\00" -@.str1856 = private unnamed_addr constant [12 x i8] c" = global [\00" -@.str1857 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str1858 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" -@.str1859 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" -@.str1860 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" -@.str1861 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1862 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" -@.str1863 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1864 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" -@.str1865 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" -@.str1866 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str1867 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str1868 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" -@.str1869 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" -@.str1870 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" -@.str1871 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str1872 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" -@.str1873 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" -@.str1874 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" -@.str1875 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" -@.str1876 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" -@.str1877 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" -@.str1878 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" -@.str1879 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1880 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" -@.str1881 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1882 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" -@.str1883 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" -@.str1884 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str1885 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str1886 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" -@.str1887 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" -@.str1888 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" -@.str1889 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str1890 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" -@.str1891 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" -@.str1892 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" -@.str1893 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" -@.str1894 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" -@.str1895 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" -@.str1896 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str1593 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1594 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str1595 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str1596 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1597 = private unnamed_addr constant [6 x i8] c"fcond\00" +@.str1598 = private unnamed_addr constant [6 x i8] c"fbody\00" +@.str1599 = private unnamed_addr constant [6 x i8] c"fcont\00" +@.str1600 = private unnamed_addr constant [5 x i8] c"fend\00" +@.str1601 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1602 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1603 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1604 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str1605 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1606 = private unnamed_addr constant [3 x i8] c", \00" +@.str1607 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str1608 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1609 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1610 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1611 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1612 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1613 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1614 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1615 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str1616 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1617 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str1618 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str1619 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1620 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1621 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1622 = private unnamed_addr constant [8 x i8] c"%retval\00" +@.str1623 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str1624 = private unnamed_addr constant [2 x i8] c"_\00" +@.str1625 = private unnamed_addr constant [5 x i8] c"mend\00" +@.str1626 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1627 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str1628 = private unnamed_addr constant [3 x i8] c", \00" +@.str1629 = private unnamed_addr constant [7 x i8] c"or i1 \00" +@.str1630 = private unnamed_addr constant [3 x i8] c", \00" +@.str1631 = private unnamed_addr constant [6 x i8] c"mbody\00" +@.str1632 = private unnamed_addr constant [5 x i8] c"marm\00" +@.str1633 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str1634 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1635 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1636 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1637 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1638 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1639 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1640 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1641 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1642 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1643 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1644 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" +@.str1645 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1646 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1647 = private unnamed_addr constant [5 x i8] c"null\00" +@.str1648 = private unnamed_addr constant [3 x i8] c" \00" +@.str1649 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" +@.str1650 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str1651 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1652 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1653 = private unnamed_addr constant [3 x i8] c" \00" +@.str1654 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" +@.str1655 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1656 = private unnamed_addr constant [9 x i8] c" store \00" +@.str1657 = private unnamed_addr constant [2 x i8] c" \00" +@.str1658 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1659 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1660 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1661 = private unnamed_addr constant [10 x i8] c"toclients\00" +@.str1662 = private unnamed_addr constant [3 x i8] c"-1\00" +@.str1663 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str1664 = private unnamed_addr constant [14 x i8] c" call void @\00" +@.str1665 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str1666 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" +@.str1667 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1668 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1669 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1670 = private unnamed_addr constant [3 x i8] c", \00" +@.str1671 = private unnamed_addr constant [2 x i8] c" \00" +@.str1672 = private unnamed_addr constant [3 x i8] c" \00" +@.str1673 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" +@.str1674 = private unnamed_addr constant [2 x i8] c"(\00" +@.str1675 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1676 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1677 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str1678 = private unnamed_addr constant [2 x i8] c"(\00" +@.str1679 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1680 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1681 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1682 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1683 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1684 = private unnamed_addr constant [5 x i8] c"null\00" +@.str1685 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1686 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1687 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1688 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1689 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" +@.str1690 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" +@.str1691 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1692 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" +@.str1693 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" +@.str1694 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" +@.str1695 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" +@.str1696 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" +@.str1697 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" +@.str1698 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str1699 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" +@.str1700 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str1701 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" +@.str1702 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str1703 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" +@.str1704 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" +@.str1705 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" +@.str1706 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" +@.str1707 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str1708 = private unnamed_addr constant [4 x i8] c"@S_\00" +@.str1709 = private unnamed_addr constant [21 x i8] c" = internal global [\00" +@.str1710 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str1711 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" +@.str1712 = private unnamed_addr constant [4 x i8] c"@H_\00" +@.str1713 = private unnamed_addr constant [21 x i8] c" = internal global [\00" +@.str1714 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" +@.str1715 = private unnamed_addr constant [5 x i8] c"@ME_\00" +@.str1716 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str1717 = private unnamed_addr constant [5 x i8] c"@HE_\00" +@.str1718 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str1719 = private unnamed_addr constant [5 x i8] c"@LE_\00" +@.str1720 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str1721 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" +@.str1722 = private unnamed_addr constant [3 x i8] c"%h\00" +@.str1723 = private unnamed_addr constant [3 x i8] c" \00" +@.str1724 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str1725 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str1726 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str1727 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" +@.str1728 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1729 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" +@.str1730 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str1731 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" +@.str1732 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" +@.str1733 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" +@.str1734 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" +@.str1735 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str1736 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" +@.str1737 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" +@.str1738 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" +@.str1739 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" +@.str1740 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" +@.str1741 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" +@.str1742 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" +@.str1743 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str1744 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" +@.str1745 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" +@.str1746 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str1747 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" +@.str1748 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" +@.str1749 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" +@.str1750 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" +@.str1751 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str1752 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str1753 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" +@.str1754 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" +@.str1755 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str1756 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str1757 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" +@.str1758 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" +@.str1759 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" +@.str1760 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str1761 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str1762 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" +@.str1763 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" +@.str1764 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" +@.str1765 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str1766 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" +@.str1767 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" +@.str1768 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" +@.str1769 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" +@.str1770 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str1771 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str1772 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str1773 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1774 = private unnamed_addr constant [6 x i8] c"qcond\00" +@.str1775 = private unnamed_addr constant [6 x i8] c"qbody\00" +@.str1776 = private unnamed_addr constant [6 x i8] c"qnext\00" +@.str1777 = private unnamed_addr constant [5 x i8] c"qend\00" +@.str1778 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1779 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1780 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1781 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str1782 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" +@.str1783 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1784 = private unnamed_addr constant [3 x i8] c", \00" +@.str1785 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str1786 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1787 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1788 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1789 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1790 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str1791 = private unnamed_addr constant [3 x i8] c" \00" +@.str1792 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str1793 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" +@.str1794 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1795 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str1796 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str1797 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1798 = private unnamed_addr constant [3 x i8] c"qa\00" +@.str1799 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str1800 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1801 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1802 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1803 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1804 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1805 = private unnamed_addr constant [3 x i8] c" \00" +@.str1806 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str1807 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str1808 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1809 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str1810 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str1811 = private unnamed_addr constant [3 x i8] c", \00" +@.str1812 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" +@.str1813 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str1814 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1815 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str1816 = private unnamed_addr constant [3 x i8] c", \00" +@.str1817 = private unnamed_addr constant [3 x i8] c" \00" +@.str1818 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str1819 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str1820 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str1821 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1822 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str1823 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" +@.str1824 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1825 = private unnamed_addr constant [3 x i8] c"qt\00" +@.str1826 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str1827 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1828 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1829 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1830 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1831 = private unnamed_addr constant [3 x i8] c" \00" +@.str1832 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str1833 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str1834 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str1835 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str1836 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1837 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1838 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str1839 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1840 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1841 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str1842 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1843 = private unnamed_addr constant [3 x i8] c"qw\00" +@.str1844 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str1845 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1846 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1847 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1848 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1849 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1850 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1851 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1852 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str1853 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1854 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str1855 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str1856 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1857 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1858 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1859 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" +@.str1860 = private unnamed_addr constant [3 x i8] c" \00" +@.str1861 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str1862 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str1863 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str1864 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1865 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" +@.str1866 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1867 = private unnamed_addr constant [3 x i8] c" \00" +@.str1868 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str1869 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str1870 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str1871 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str1872 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1873 = private unnamed_addr constant [3 x i8] c" \00" +@.str1874 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str1875 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1876 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str1877 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1878 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1879 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1880 = private unnamed_addr constant [5 x i8] c"null\00" +@.str1881 = private unnamed_addr constant [9 x i8] c" store \00" +@.str1882 = private unnamed_addr constant [2 x i8] c" \00" +@.str1883 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1884 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1885 = private unnamed_addr constant [3 x i8] c" \00" +@.str1886 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str1887 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1888 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str1889 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1890 = private unnamed_addr constant [9 x i8] c" store \00" +@.str1891 = private unnamed_addr constant [2 x i8] c" \00" +@.str1892 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1893 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1894 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1895 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str1896 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1897 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1898 = 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" -@.str1899 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" -@.str1900 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" -@.str1901 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str1902 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" -@.str1903 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" -@.str1904 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" -@.str1905 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1906 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" -@.str1907 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" +@.str1898 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str1899 = private unnamed_addr constant [8 x i8] c"_attach\00" +@.str1900 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str1901 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str1902 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1903 = private unnamed_addr constant [3 x i8] c" \00" +@.str1904 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str1905 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str1906 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str1907 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str1908 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1909 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" -@.str1910 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" -@.str1911 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" -@.str1912 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str1913 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" -@.str1914 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" -@.str1915 = private unnamed_addr constant [5 x i8] c"%Ev_\00" -@.str1916 = private unnamed_addr constant [3 x i8] c" \00" -@.str1917 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" -@.str1918 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1919 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str1909 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1910 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str1911 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1912 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1913 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" +@.str1914 = private unnamed_addr constant [3 x i8] c" \00" +@.str1915 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str1916 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str1917 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1918 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str1919 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1920 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1921 = private unnamed_addr constant [9 x i8] c" store \00" -@.str1922 = private unnamed_addr constant [4 x i8] c" %p\00" -@.str1923 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1924 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1925 = private unnamed_addr constant [9 x i8] c" store \00" -@.str1926 = private unnamed_addr constant [4 x i8] c" %p\00" -@.str1927 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1928 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1929 = private unnamed_addr constant [3 x i8] c" \00" -@.str1930 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" -@.str1931 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1932 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1933 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1934 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str1935 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1936 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str1937 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str1921 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str1922 = private unnamed_addr constant [7 x i8] c"_spawn\00" +@.str1923 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str1924 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str1925 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1926 = private unnamed_addr constant [3 x i8] c" \00" +@.str1927 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str1928 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str1929 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1930 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str1931 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str1932 = private unnamed_addr constant [3 x i8] c", \00" +@.str1933 = private unnamed_addr constant [3 x i8] c"dh\00" +@.str1934 = private unnamed_addr constant [4 x i8] c"dhn\00" +@.str1935 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str1936 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1937 = private unnamed_addr constant [10 x i8] c", label %\00" @.str1938 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1939 = private unnamed_addr constant [4 x i8] c"evl\00" -@.str1940 = private unnamed_addr constant [4 x i8] c"evb\00" -@.str1941 = private unnamed_addr constant [4 x i8] c"evd\00" -@.str1942 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1943 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1944 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1945 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str1946 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" -@.str1947 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str1948 = private unnamed_addr constant [3 x i8] c", \00" -@.str1949 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str1950 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1951 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str1952 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1953 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1939 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str1940 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str1941 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" +@.str1942 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str1943 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str1944 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str1945 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str1946 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" +@.str1947 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1948 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1949 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1950 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" +@.str1951 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1952 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" +@.str1953 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1954 = private unnamed_addr constant [3 x i8] c" \00" @.str1955 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str1956 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str1956 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str1957 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str1958 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1959 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str1960 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" -@.str1961 = private unnamed_addr constant [7 x i8] c", null\00" -@.str1962 = private unnamed_addr constant [5 x i8] c"evdo\00" -@.str1963 = private unnamed_addr constant [5 x i8] c"evsk\00" +@.str1959 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str1960 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" +@.str1961 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1962 = private unnamed_addr constant [7 x i8] c"attach\00" +@.str1963 = private unnamed_addr constant [8 x i8] c"attdone\00" @.str1964 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str1965 = private unnamed_addr constant [10 x i8] c", label %\00" @.str1966 = private unnamed_addr constant [10 x i8] c", label %\00" @.str1967 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1968 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1969 = private unnamed_addr constant [13 x i8] c" call void \00" -@.str1970 = private unnamed_addr constant [6 x i8] c"(ptr \00" -@.str1971 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1972 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1973 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1974 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1975 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1976 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str1977 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str1978 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1979 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1980 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1981 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1982 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1983 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str1984 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" -@.str1985 = 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" -@.str1986 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str1987 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str1969 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str1970 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1971 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1972 = private unnamed_addr constant [3 x i8] c" \00" +@.str1973 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str1974 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str1975 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str1976 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1977 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str1978 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" +@.str1979 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1980 = private unnamed_addr constant [7 x i8] c"detach\00" +@.str1981 = private unnamed_addr constant [8 x i8] c"detdone\00" +@.str1982 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str1983 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1984 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str1985 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1986 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str1987 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str1988 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1989 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str1990 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1991 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str1992 = private unnamed_addr constant [8 x i8] c"define \00" -@.str1993 = private unnamed_addr constant [6 x i8] c" @ev_\00" -@.str1994 = private unnamed_addr constant [2 x i8] c"(\00" -@.str1995 = private unnamed_addr constant [3 x i8] c", \00" -@.str1996 = private unnamed_addr constant [4 x i8] c" %p\00" -@.str1997 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" -@.str1998 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str1999 = 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" -@.str2000 = private unnamed_addr constant [3 x i8] c"sw\00" -@.str2001 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2002 = private unnamed_addr constant [7 x i8] c" %swi\00" -@.str2003 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" -@.str2004 = private unnamed_addr constant [7 x i8] c" %swn\00" -@.str2005 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" -@.str2006 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2007 = private unnamed_addr constant [7 x i8] c" %swg\00" -@.str2008 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" -@.str2009 = private unnamed_addr constant [7 x i8] c", %swn\00" -@.str2010 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2011 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" -@.str2012 = private unnamed_addr constant [13 x i8] c", label %swb\00" -@.str2013 = private unnamed_addr constant [13 x i8] c", label %swd\00" -@.str2014 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2015 = private unnamed_addr constant [4 x i8] c"swb\00" -@.str2016 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2017 = private unnamed_addr constant [8 x i8] c" %swop\00" -@.str2018 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str2019 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" -@.str2020 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" -@.str2021 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2022 = private unnamed_addr constant [8 x i8] c" %swov\00" -@.str2023 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" -@.str2024 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2025 = private unnamed_addr constant [7 x i8] c" %swm\00" -@.str2026 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" -@.str2027 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" -@.str2028 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" -@.str2029 = private unnamed_addr constant [13 x i8] c", label %swh\00" -@.str2030 = private unnamed_addr constant [13 x i8] c", label %swx\00" -@.str2031 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2032 = private unnamed_addr constant [4 x i8] c"swh\00" -@.str2033 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2034 = private unnamed_addr constant [8 x i8] c" %swlp\00" -@.str2035 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str2036 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str2037 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" -@.str2038 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2039 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" -@.str2040 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" -@.str2041 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2042 = private unnamed_addr constant [4 x i8] c"swx\00" -@.str2043 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2044 = private unnamed_addr constant [8 x i8] c" %swi1\00" -@.str2045 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" -@.str2046 = private unnamed_addr constant [22 x i8] c", 1\0A store i32 %swi1\00" -@.str2047 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" +@.str1989 = private unnamed_addr constant [3 x i8] c" \00" +@.str1990 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str1991 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str1992 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str1993 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str1994 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1995 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str1996 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str1997 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1998 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1999 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str2000 = private unnamed_addr constant [8 x i8] c"_detach\00" +@.str2001 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str2002 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str2003 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str2004 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str2005 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2006 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2007 = private unnamed_addr constant [2 x i8] c"0\00" +@.str2008 = private unnamed_addr constant [2 x i8] c"1\00" +@.str2009 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str2010 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str2011 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" +@.str2012 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2013 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str2014 = private unnamed_addr constant [6 x i8] c"_hide\00" +@.str2015 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str2016 = private unnamed_addr constant [6 x i8] c"_show\00" +@.str2017 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str2018 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str2019 = private unnamed_addr constant [3 x i8] c" \00" +@.str2020 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str2021 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str2022 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str2023 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2024 = private unnamed_addr constant [12 x i8] c" store i8 \00" +@.str2025 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2026 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2027 = private unnamed_addr constant [3 x i8] c" \00" +@.str2028 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str2029 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str2030 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str2031 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str2032 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2033 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str2034 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str2035 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2036 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2037 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str2038 = private unnamed_addr constant [9 x i8] c"_disable\00" +@.str2039 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str2040 = private unnamed_addr constant [8 x i8] c"_enable\00" +@.str2041 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str2042 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str2043 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str2044 = private unnamed_addr constant [5 x i8] c"@HE_\00" +@.str2045 = private unnamed_addr constant [5 x i8] c"@ME_\00" +@.str2046 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str2047 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2048 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2049 = private unnamed_addr constant [4 x i8] c"swd\00" -@.str2050 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" -@.str2051 = private unnamed_addr constant [15 x i8] c" br label %sw\00" -@.str2052 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2053 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str2049 = private unnamed_addr constant [5 x i8] c"void\00" +@.str2050 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str2051 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str2052 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" +@.str2053 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str2054 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str2055 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00" -@.str2056 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" -@.str2057 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" -@.str2058 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" -@.str2059 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" -@.str2060 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" -@.str2061 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" -@.str2062 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str2063 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" -@.str2064 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str2065 = private unnamed_addr constant [5 x i8] c" %e\00" -@.str2066 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" -@.str2067 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str2068 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" -@.str2069 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str2070 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str2071 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2072 = private unnamed_addr constant [2 x i8] c"h\00" -@.str2073 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str2074 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2075 = private unnamed_addr constant [2 x i8] c"n\00" -@.str2076 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2077 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" -@.str2078 = 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" -@.str2079 = 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" -@.str2080 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" -@.str2081 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" -@.str2082 = 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" -@.str2083 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" -@.str2084 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" -@.str2085 = private unnamed_addr constant [6 x i8] c" %pm\00" -@.str2086 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str2055 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" +@.str2056 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str2057 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str2058 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" +@.str2059 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str2060 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str2061 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str2062 = private unnamed_addr constant [3 x i8] c", \00" +@.str2063 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" +@.str2064 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str2065 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str2066 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str2067 = private unnamed_addr constant [3 x i8] c", \00" +@.str2068 = private unnamed_addr constant [5 x i8] c"hrun\00" +@.str2069 = private unnamed_addr constant [6 x i8] c"hskip\00" +@.str2070 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str2071 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str2072 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str2073 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2074 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" +@.str2075 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str2076 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str2077 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2078 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2079 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" +@.str2080 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str2081 = private unnamed_addr constant [3 x i8] c", \00" +@.str2082 = private unnamed_addr constant [6 x i8] c"scrun\00" +@.str2083 = private unnamed_addr constant [7 x i8] c"scskip\00" +@.str2084 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str2085 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str2086 = private unnamed_addr constant [10 x i8] c", label %\00" @.str2087 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2088 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" -@.str2089 = private unnamed_addr constant [12 x i8] c", label %pk\00" -@.str2090 = private unnamed_addr constant [12 x i8] c", label %pn\00" -@.str2091 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2092 = private unnamed_addr constant [3 x i8] c"pk\00" -@.str2093 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2088 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2089 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str2090 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2091 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2092 = private unnamed_addr constant [5 x i8] c"void\00" +@.str2093 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str2094 = private unnamed_addr constant [2 x i8] c"_\00" -@.str2095 = private unnamed_addr constant [6 x i8] c" %fc\00" -@.str2096 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" -@.str2097 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str2098 = private unnamed_addr constant [6 x i8] c" %fe\00" -@.str2099 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" -@.str2100 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str2101 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" -@.str2102 = private unnamed_addr constant [12 x i8] c", label %fh\00" -@.str2103 = private unnamed_addr constant [12 x i8] c", label %fn\00" -@.str2104 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2105 = private unnamed_addr constant [3 x i8] c"fh\00" -@.str2106 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str2107 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2108 = private unnamed_addr constant [3 x i8] c"fn\00" -@.str2109 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2110 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" -@.str2111 = private unnamed_addr constant [3 x i8] c"pn\00" -@.str2112 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2113 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" -@.str2114 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" -@.str2115 = private unnamed_addr constant [5 x i8] c" %m\00" -@.str2116 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str2117 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2118 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" -@.str2119 = private unnamed_addr constant [11 x i8] c", label %g\00" -@.str2120 = private unnamed_addr constant [12 x i8] c", label %gn\00" -@.str2121 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2122 = private unnamed_addr constant [2 x i8] c"g\00" -@.str2123 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2124 = private unnamed_addr constant [5 x i8] c" %s\00" -@.str2125 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str2126 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str2127 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str2128 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str2129 = private unnamed_addr constant [2 x i8] c"_\00" -@.str2130 = private unnamed_addr constant [6 x i8] c" %gm\00" -@.str2131 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" -@.str2132 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2133 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" -@.str2134 = private unnamed_addr constant [12 x i8] c", label %gf\00" -@.str2135 = private unnamed_addr constant [12 x i8] c", label %gk\00" -@.str2136 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2137 = private unnamed_addr constant [3 x i8] c"gf\00" -@.str2138 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2139 = private unnamed_addr constant [6 x i8] c" %ga\00" -@.str2140 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str2141 = private unnamed_addr constant [9 x i8] c", ptr %s\00" -@.str2142 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str2143 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2144 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str2145 = private unnamed_addr constant [6 x i8] c" %gl\00" -@.str2146 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" -@.str2147 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2148 = private unnamed_addr constant [6 x i8] c" %gr\00" -@.str2149 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" -@.str2150 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" -@.str2151 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2152 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str2153 = private unnamed_addr constant [6 x i8] c" %gl\00" -@.str2154 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" -@.str2155 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2156 = private unnamed_addr constant [6 x i8] c" %gr\00" -@.str2157 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" -@.str2158 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" -@.str2159 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2160 = private unnamed_addr constant [6 x i8] c" %gl\00" -@.str2161 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" -@.str2162 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2163 = private unnamed_addr constant [6 x i8] c" %gr\00" -@.str2164 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" -@.str2165 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str2095 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str2096 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str2097 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str2098 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str2099 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" +@.str2100 = private unnamed_addr constant [2 x i8] c"_\00" +@.str2101 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str2102 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str2103 = private unnamed_addr constant [6 x i8] c"enter\00" +@.str2104 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str2105 = private unnamed_addr constant [5 x i8] c"void\00" +@.str2106 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str2107 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" +@.str2108 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2109 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2110 = private unnamed_addr constant [3 x i8] c"%e\00" +@.str2111 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str2112 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str2113 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" +@.str2114 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" +@.str2115 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str2116 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" +@.str2117 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" +@.str2118 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" +@.str2119 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" +@.str2120 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" +@.str2121 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" +@.str2122 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" +@.str2123 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" +@.str2124 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" +@.str2125 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" +@.str2126 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" +@.str2127 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str2128 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str2129 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2130 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str2131 = private unnamed_addr constant [13 x i8] c", label %hit\00" +@.str2132 = private unnamed_addr constant [14 x i8] c", label %next\00" +@.str2133 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2134 = private unnamed_addr constant [4 x i8] c"hit\00" +@.str2135 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str2136 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" +@.str2137 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str2138 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str2139 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str2140 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" +@.str2141 = private unnamed_addr constant [17 x i8] c" br label %next\00" +@.str2142 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2143 = private unnamed_addr constant [5 x i8] c"next\00" +@.str2144 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2145 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" +@.str2146 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" +@.str2147 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" +@.str2148 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" +@.str2149 = private unnamed_addr constant [5 x i8] c"%Ev_\00" +@.str2150 = private unnamed_addr constant [11 x i8] c" = type { \00" +@.str2151 = private unnamed_addr constant [3 x i8] c", \00" +@.str2152 = private unnamed_addr constant [3 x i8] c", \00" +@.str2153 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str2154 = private unnamed_addr constant [4 x i8] c" }\0A\00" +@.str2155 = private unnamed_addr constant [6 x i8] c"@evL_\00" +@.str2156 = private unnamed_addr constant [12 x i8] c" = global [\00" +@.str2157 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" +@.str2158 = private unnamed_addr constant [6 x i8] c"@evN_\00" +@.str2159 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" +@.str2160 = private unnamed_addr constant [6 x i8] c"@evO_\00" +@.str2161 = private unnamed_addr constant [12 x i8] c" = global [\00" +@.str2162 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str2163 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" +@.str2164 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" +@.str2165 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str2166 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2167 = private unnamed_addr constant [3 x i8] c"gk\00" -@.str2168 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2169 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" -@.str2170 = private unnamed_addr constant [3 x i8] c"gn\00" -@.str2171 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2172 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" -@.str2173 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2174 = 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" -@.str2175 = 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" -@.str2176 = 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" -@.str2177 = 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" -@.str2178 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" -@.str2179 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" -@.str2180 = private unnamed_addr constant [5 x i8] c" %m\00" -@.str2181 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str2182 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2183 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" -@.str2184 = private unnamed_addr constant [11 x i8] c", label %g\00" -@.str2185 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str2167 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" +@.str2168 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2169 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" +@.str2170 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" +@.str2171 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str2172 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str2173 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" +@.str2174 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" +@.str2175 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str2176 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str2177 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" +@.str2178 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" +@.str2179 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" +@.str2180 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str2181 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" +@.str2182 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" +@.str2183 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str2184 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2185 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str2186 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2187 = private unnamed_addr constant [2 x i8] c"g\00" -@.str2188 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2189 = private unnamed_addr constant [5 x i8] c" %s\00" -@.str2190 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str2191 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str2192 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str2193 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str2194 = private unnamed_addr constant [2 x i8] c"_\00" -@.str2195 = private unnamed_addr constant [6 x i8] c" %sm\00" -@.str2196 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" -@.str2197 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2198 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" -@.str2199 = private unnamed_addr constant [12 x i8] c", label %sf\00" -@.str2200 = private unnamed_addr constant [12 x i8] c", label %sk\00" -@.str2201 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2202 = private unnamed_addr constant [3 x i8] c"sf\00" -@.str2203 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2204 = private unnamed_addr constant [6 x i8] c" %sa\00" -@.str2205 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str2206 = private unnamed_addr constant [9 x i8] c", ptr %s\00" -@.str2207 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str2208 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2209 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str2210 = private unnamed_addr constant [6 x i8] c" %sp\00" -@.str2211 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" -@.str2212 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" -@.str2213 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" -@.str2214 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" -@.str2215 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str2216 = private unnamed_addr constant [6 x i8] c" %sb\00" -@.str2217 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" -@.str2218 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" -@.str2219 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" -@.str2220 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" -@.str2221 = private unnamed_addr constant [6 x i8] c" %sw\00" -@.str2222 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" -@.str2223 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" -@.str2224 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" -@.str2225 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" -@.str2226 = private unnamed_addr constant [3 x i8] c"sk\00" -@.str2227 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2228 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str2229 = private unnamed_addr constant [3 x i8] c"gn\00" -@.str2230 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2231 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" -@.str2232 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2233 = 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" -@.str2234 = 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" -@.str2235 = 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" -@.str2236 = 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" -@.str2237 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" -@.str2238 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" -@.str2239 = private unnamed_addr constant [5 x i8] c" %m\00" -@.str2240 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str2241 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2242 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" -@.str2243 = private unnamed_addr constant [11 x i8] c", label %g\00" -@.str2244 = private unnamed_addr constant [12 x i8] c", label %gn\00" -@.str2245 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2246 = private unnamed_addr constant [2 x i8] c"g\00" -@.str2247 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2248 = private unnamed_addr constant [6 x i8] c" %hp\00" -@.str2249 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str2250 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str2251 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str2252 = private unnamed_addr constant [6 x i8] c" %hv\00" -@.str2253 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" -@.str2254 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2255 = private unnamed_addr constant [6 x i8] c" %hr\00" -@.str2256 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" -@.str2257 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" -@.str2258 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2259 = private unnamed_addr constant [3 x i8] c"gn\00" -@.str2260 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2261 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" -@.str2262 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2263 = 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" -@.str2264 = 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" -@.str2265 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" -@.str2266 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" -@.str2267 = 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" -@.str2268 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" -@.str2269 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" -@.str2270 = 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" -@.str2271 = 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" -@.str2272 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" -@.str2273 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" -@.str2274 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str2275 = 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" -@.str2276 = 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" -@.str2277 = 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" -@.str2278 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" -@.str2279 = 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" -@.str2280 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" -@.str2281 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" -@.str2282 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" -@.str2283 = 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" -@.str2284 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" -@.str2285 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" -@.str2286 = 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" -@.str2287 = 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" -@.str2288 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" -@.str2289 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str2290 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" -@.str2291 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" -@.str2292 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" -@.str2293 = private unnamed_addr constant [7 x i8] c" %mdc\00" -@.str2294 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" -@.str2295 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str2296 = private unnamed_addr constant [7 x i8] c" %mde\00" -@.str2297 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" -@.str2298 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str2299 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" -@.str2300 = private unnamed_addr constant [13 x i8] c", label %mdh\00" -@.str2301 = private unnamed_addr constant [13 x i8] c", label %mdn\00" -@.str2302 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2303 = private unnamed_addr constant [4 x i8] c"mdh\00" -@.str2304 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str2305 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2306 = private unnamed_addr constant [4 x i8] c"mdn\00" -@.str2307 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2308 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" -@.str2309 = private unnamed_addr constant [4 x i8] c"int\00" -@.str2310 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str2187 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" +@.str2188 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" +@.str2189 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str2190 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str2191 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" +@.str2192 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" +@.str2193 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str2194 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str2195 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" +@.str2196 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" +@.str2197 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" +@.str2198 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str2199 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" +@.str2200 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" +@.str2201 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str2202 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2203 = 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" +@.str2204 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" +@.str2205 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" +@.str2206 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str2207 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" +@.str2208 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" +@.str2209 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" +@.str2210 = private unnamed_addr constant [5 x i8] c"void\00" +@.str2211 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" +@.str2212 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" +@.str2213 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2214 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" +@.str2215 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" +@.str2216 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" +@.str2217 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str2218 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" +@.str2219 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" +@.str2220 = private unnamed_addr constant [5 x i8] c"%Ev_\00" +@.str2221 = private unnamed_addr constant [3 x i8] c" \00" +@.str2222 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" +@.str2223 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2224 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str2225 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2226 = private unnamed_addr constant [9 x i8] c" store \00" +@.str2227 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str2228 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2229 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2230 = private unnamed_addr constant [9 x i8] c" store \00" +@.str2231 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str2232 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2233 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2234 = private unnamed_addr constant [3 x i8] c" \00" +@.str2235 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" +@.str2236 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2237 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str2238 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2239 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str2240 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2241 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str2242 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str2243 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2244 = private unnamed_addr constant [4 x i8] c"evl\00" +@.str2245 = private unnamed_addr constant [4 x i8] c"evb\00" +@.str2246 = private unnamed_addr constant [4 x i8] c"evd\00" +@.str2247 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str2248 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2249 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2250 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str2251 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" +@.str2252 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str2253 = private unnamed_addr constant [3 x i8] c", \00" +@.str2254 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str2255 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str2256 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str2257 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2258 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2259 = private unnamed_addr constant [3 x i8] c" \00" +@.str2260 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str2261 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str2262 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str2263 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2264 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str2265 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" +@.str2266 = private unnamed_addr constant [7 x i8] c", null\00" +@.str2267 = private unnamed_addr constant [5 x i8] c"evdo\00" +@.str2268 = private unnamed_addr constant [5 x i8] c"evsk\00" +@.str2269 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str2270 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str2271 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str2272 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2273 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2274 = private unnamed_addr constant [13 x i8] c" call void \00" +@.str2275 = private unnamed_addr constant [6 x i8] c"(ptr \00" +@.str2276 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str2277 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str2278 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2279 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2280 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str2281 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str2282 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str2283 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2284 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2285 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str2286 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2287 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2288 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str2289 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str2290 = 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" +@.str2291 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str2292 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str2293 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2294 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str2295 = private unnamed_addr constant [5 x i8] c"void\00" +@.str2296 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str2297 = private unnamed_addr constant [8 x i8] c"define \00" +@.str2298 = private unnamed_addr constant [6 x i8] c" @ev_\00" +@.str2299 = private unnamed_addr constant [2 x i8] c"(\00" +@.str2300 = private unnamed_addr constant [3 x i8] c", \00" +@.str2301 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str2302 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" +@.str2303 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str2304 = 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" +@.str2305 = private unnamed_addr constant [3 x i8] c"sw\00" +@.str2306 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2307 = private unnamed_addr constant [7 x i8] c" %swi\00" +@.str2308 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" +@.str2309 = private unnamed_addr constant [7 x i8] c" %swn\00" +@.str2310 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" @.str2311 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2312 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" -@.str2313 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str2314 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str2315 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" -@.str2316 = private unnamed_addr constant [6 x i8] c" %sm\00" -@.str2317 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" -@.str2318 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2319 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" -@.str2320 = private unnamed_addr constant [12 x i8] c", label %sh\00" -@.str2321 = private unnamed_addr constant [12 x i8] c", label %sn\00" -@.str2322 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2323 = private unnamed_addr constant [3 x i8] c"sh\00" -@.str2324 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" -@.str2325 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" -@.str2326 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" -@.str2327 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2328 = private unnamed_addr constant [3 x i8] c"sn\00" -@.str2329 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2330 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" -@.str2331 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" -@.str2332 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" -@.str2333 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" -@.str2334 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" -@.str2335 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" -@.str2336 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" -@.str2337 = 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" -@.str2338 = 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" -@.str2339 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" -@.str2340 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" -@.str2341 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" -@.str2342 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" -@.str2343 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str2344 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" -@.str2345 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str2346 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str2347 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str2348 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" -@.str2349 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str2350 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str2351 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" -@.str2352 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" -@.str2353 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" -@.str2354 = private unnamed_addr constant [8 x i8] c"rt_init\00" -@.str2355 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" -@.str2356 = private unnamed_addr constant [6 x i8] c"Start\00" -@.str2357 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str2358 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" -@.str2359 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" -@.str2360 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str2361 = private unnamed_addr constant [14 x i8] c"program_start\00" -@.str2362 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" -@.str2363 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str2364 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" -@.str2365 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" -@.str2366 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str2367 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str2368 = private unnamed_addr constant [11 x i8] c"rt_running\00" -@.str2369 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" -@.str2370 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str2371 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str2372 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str2373 = private unnamed_addr constant [3 x i8] c", \00" -@.str2374 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str2375 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" -@.str2376 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str2377 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" -@.str2378 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str2379 = private unnamed_addr constant [8 x i8] c"rt_poll\00" -@.str2380 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" -@.str2381 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str2382 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" -@.str2383 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str2384 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" -@.str2385 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str2386 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str2387 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str2388 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str2389 = private unnamed_addr constant [7 x i8] c"done:\0A\00" -@.str2390 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" -@.str2391 = private unnamed_addr constant [7 x i8] c"OnQuit\00" -@.str2392 = private unnamed_addr constant [13 x i8] c"program_quit\00" -@.str2393 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" -@.str2394 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" -@.str2395 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" -@.str2396 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" -@.str2397 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" -@.str2398 = private unnamed_addr constant [2 x i8] c")\00" -@.str2399 = private unnamed_addr constant [6 x i8] c"smend\00" -@.str2400 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str2401 = private unnamed_addr constant [3 x i8] c", \00" -@.str2402 = private unnamed_addr constant [6 x i8] c"sbody\00" -@.str2403 = private unnamed_addr constant [5 x i8] c"sarm\00" -@.str2404 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str2405 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str2406 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str2407 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2408 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2409 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str2410 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2411 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2412 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str2413 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2312 = private unnamed_addr constant [7 x i8] c" %swg\00" +@.str2313 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" +@.str2314 = private unnamed_addr constant [7 x i8] c", %swn\00" +@.str2315 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2316 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" +@.str2317 = private unnamed_addr constant [13 x i8] c", label %swb\00" +@.str2318 = private unnamed_addr constant [13 x i8] c", label %swd\00" +@.str2319 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2320 = private unnamed_addr constant [4 x i8] c"swb\00" +@.str2321 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2322 = private unnamed_addr constant [8 x i8] c" %swop\00" +@.str2323 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str2324 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str2325 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" +@.str2326 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2327 = private unnamed_addr constant [8 x i8] c" %swov\00" +@.str2328 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" +@.str2329 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2330 = private unnamed_addr constant [7 x i8] c" %swm\00" +@.str2331 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" +@.str2332 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" +@.str2333 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" +@.str2334 = private unnamed_addr constant [13 x i8] c", label %swh\00" +@.str2335 = private unnamed_addr constant [13 x i8] c", label %swx\00" +@.str2336 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2337 = private unnamed_addr constant [4 x i8] c"swh\00" +@.str2338 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2339 = private unnamed_addr constant [8 x i8] c" %swlp\00" +@.str2340 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str2341 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str2342 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" +@.str2343 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2344 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" +@.str2345 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" +@.str2346 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2347 = private unnamed_addr constant [4 x i8] c"swx\00" +@.str2348 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2349 = private unnamed_addr constant [8 x i8] c" %swi1\00" +@.str2350 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" +@.str2351 = private unnamed_addr constant [22 x i8] c", 1\0A store i32 %swi1\00" +@.str2352 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" +@.str2353 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2354 = private unnamed_addr constant [4 x i8] c"swd\00" +@.str2355 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" +@.str2356 = private unnamed_addr constant [15 x i8] c" br label %sw\00" +@.str2357 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2358 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str2359 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str2360 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00" +@.str2361 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" +@.str2362 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" +@.str2363 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" +@.str2364 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" +@.str2365 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" +@.str2366 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" +@.str2367 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str2368 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str2369 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str2370 = private unnamed_addr constant [5 x i8] c" %e\00" +@.str2371 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" +@.str2372 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str2373 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" +@.str2374 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str2375 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str2376 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2377 = private unnamed_addr constant [2 x i8] c"h\00" +@.str2378 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str2379 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2380 = private unnamed_addr constant [2 x i8] c"n\00" +@.str2381 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2382 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" +@.str2383 = 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" +@.str2384 = 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" +@.str2385 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" +@.str2386 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" +@.str2387 = 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" +@.str2388 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" +@.str2389 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" +@.str2390 = private unnamed_addr constant [6 x i8] c" %pm\00" +@.str2391 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str2392 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2393 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" +@.str2394 = private unnamed_addr constant [12 x i8] c", label %pk\00" +@.str2395 = private unnamed_addr constant [12 x i8] c", label %pn\00" +@.str2396 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2397 = private unnamed_addr constant [3 x i8] c"pk\00" +@.str2398 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2399 = private unnamed_addr constant [2 x i8] c"_\00" +@.str2400 = private unnamed_addr constant [6 x i8] c" %fc\00" +@.str2401 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str2402 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str2403 = private unnamed_addr constant [6 x i8] c" %fe\00" +@.str2404 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" +@.str2405 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str2406 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" +@.str2407 = private unnamed_addr constant [12 x i8] c", label %fh\00" +@.str2408 = private unnamed_addr constant [12 x i8] c", label %fn\00" +@.str2409 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2410 = private unnamed_addr constant [3 x i8] c"fh\00" +@.str2411 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str2412 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2413 = private unnamed_addr constant [3 x i8] c"fn\00" @.str2414 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2415 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" -@.str2416 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2417 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str2418 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" -@.str2419 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" -@.str2420 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str2421 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str2422 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" -@.str2423 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" -@.str2424 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str2425 = private unnamed_addr constant [5 x i8] c"file\00" -@.str2426 = private unnamed_addr constant [4 x i8] c"%io\00" -@.str2427 = private unnamed_addr constant [3 x i8] c" \00" -@.str2428 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" -@.str2429 = private unnamed_addr constant [6 x i8] c"(ptr \00" -@.str2430 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" -@.str2431 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" -@.str2432 = private unnamed_addr constant [5 x i8] c"size\00" -@.str2433 = private unnamed_addr constant [6 x i8] c"%ioff\00" -@.str2434 = private unnamed_addr constant [3 x i8] c" \00" -@.str2435 = private unnamed_addr constant [12 x i8] c" = add i64 \00" -@.str2436 = private unnamed_addr constant [3 x i8] c", \00" +@.str2415 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" +@.str2416 = private unnamed_addr constant [3 x i8] c"pn\00" +@.str2417 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2418 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str2419 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" +@.str2420 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str2421 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str2422 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2423 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str2424 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str2425 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str2426 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2427 = private unnamed_addr constant [2 x i8] c"g\00" +@.str2428 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2429 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str2430 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str2431 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str2432 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str2433 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str2434 = private unnamed_addr constant [2 x i8] c"_\00" +@.str2435 = private unnamed_addr constant [6 x i8] c" %gm\00" +@.str2436 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str2437 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2438 = private unnamed_addr constant [5 x i8] c"%ioa\00" -@.str2439 = private unnamed_addr constant [3 x i8] c" \00" -@.str2440 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" +@.str2438 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" +@.str2439 = private unnamed_addr constant [12 x i8] c", label %gf\00" +@.str2440 = private unnamed_addr constant [12 x i8] c", label %gk\00" @.str2441 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2442 = private unnamed_addr constant [5 x i8] c"save\00" -@.str2443 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str2444 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str2445 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str2446 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str2447 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str2448 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str2449 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str2450 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str2451 = private unnamed_addr constant [6 x i8] c"%ioff\00" -@.str2452 = private unnamed_addr constant [3 x i8] c" \00" -@.str2453 = private unnamed_addr constant [12 x i8] c" = add i64 \00" -@.str2454 = private unnamed_addr constant [3 x i8] c", \00" -@.str2455 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2456 = private unnamed_addr constant [2 x i8] c"0\00" -@.str2457 = private unnamed_addr constant [8 x i8] c"@L_entc\00" -@.str2458 = private unnamed_addr constant [2 x i8] c"4\00" -@.str2459 = private unnamed_addr constant [9 x i8] c"@L_freen\00" -@.str2460 = private unnamed_addr constant [2 x i8] c"4\00" -@.str2461 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" -@.str2462 = private unnamed_addr constant [5 x i8] c", 4\0A\00" -@.str2463 = private unnamed_addr constant [9 x i8] c"@L_alive\00" -@.str2464 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str2465 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" -@.str2466 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str2467 = private unnamed_addr constant [8 x i8] c"@L_kind\00" -@.str2468 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str2469 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" -@.str2470 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str2471 = private unnamed_addr constant [4 x i8] c"@g_\00" -@.str2472 = private unnamed_addr constant [2 x i8] c"4\00" -@.str2473 = private unnamed_addr constant [5 x i8] c"%csz\00" -@.str2474 = private unnamed_addr constant [3 x i8] c" \00" -@.str2475 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" -@.str2476 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" -@.str2477 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" -@.str2478 = private unnamed_addr constant [4 x i8] c"@S_\00" -@.str2479 = private unnamed_addr constant [4 x i8] c"@H_\00" -@.str2480 = private unnamed_addr constant [5 x i8] c"file\00" -@.str2481 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" -@.str2482 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" -@.str2483 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" -@.str2484 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" -@.str2485 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" -@.str2486 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" -@.str2487 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" -@.str2488 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" -@.str2489 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" -@.str2490 = private unnamed_addr constant [7 x i8] c"fwrite\00" -@.str2491 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" -@.str2492 = 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" -@.str2493 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" -@.str2494 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" -@.str2495 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" -@.str2496 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" -@.str2497 = private unnamed_addr constant [6 x i8] c"fread\00" -@.str2498 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" -@.str2499 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" -@.str2500 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" -@.str2501 = private unnamed_addr constant [5 x i8] c"save\00" -@.str2502 = private unnamed_addr constant [1 x i8] c"\00" -@.str2503 = private unnamed_addr constant [5 x i8] c"%wsn\00" -@.str2504 = private unnamed_addr constant [3 x i8] c" \00" -@.str2505 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" -@.str2506 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" -@.str2507 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str2508 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str2509 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str2510 = private unnamed_addr constant [5 x i8] c"load\00" -@.str2511 = private unnamed_addr constant [1 x i8] c"\00" -@.str2512 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str2513 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" -@.str2514 = private unnamed_addr constant [5 x i8] c"size\00" -@.str2515 = private unnamed_addr constant [1 x i8] c"\00" -@.str2516 = private unnamed_addr constant [5 x i8] c"%wzn\00" -@.str2517 = private unnamed_addr constant [3 x i8] c" \00" -@.str2518 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" -@.str2519 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" -@.str2520 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str2521 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str2522 = private unnamed_addr constant [5 x i8] c"file\00" -@.str2523 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str2524 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str2525 = private unnamed_addr constant [2 x i8] c"1\00" -@.str2526 = private unnamed_addr constant [2 x i8] c"4\00" -@.str2527 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" -@.str2528 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2529 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str2530 = private unnamed_addr constant [13 x i8] c"@Sync field \00" -@.str2531 = private unnamed_addr constant [2 x i8] c".\00" -@.str2532 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" -@.str2533 = private unnamed_addr constant [7 x i8] c"model \00" -@.str2534 = private unnamed_addr constant [9 x i8] c" @Syncs \00" -@.str2535 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" -@.str2536 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" -@.str2537 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" -@.str2538 = private unnamed_addr constant [3 x i8] c" \00" -@.str2539 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str2540 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str2541 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str2542 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str2543 = private unnamed_addr constant [3 x i8] c" \00" -@.str2544 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str2545 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str2546 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str2547 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2548 = private unnamed_addr constant [3 x i8] c" \00" -@.str2549 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" +@.str2442 = private unnamed_addr constant [3 x i8] c"gf\00" +@.str2443 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2444 = private unnamed_addr constant [6 x i8] c" %ga\00" +@.str2445 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str2446 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str2447 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str2448 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2449 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str2450 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str2451 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" +@.str2452 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2453 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str2454 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" +@.str2455 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str2456 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2457 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str2458 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str2459 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" +@.str2460 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2461 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str2462 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" +@.str2463 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str2464 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2465 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str2466 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" +@.str2467 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2468 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str2469 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" +@.str2470 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str2471 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2472 = private unnamed_addr constant [3 x i8] c"gk\00" +@.str2473 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2474 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" +@.str2475 = private unnamed_addr constant [3 x i8] c"gn\00" +@.str2476 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2477 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" +@.str2478 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2479 = 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" +@.str2480 = 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" +@.str2481 = 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" +@.str2482 = 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" +@.str2483 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" +@.str2484 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" +@.str2485 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str2486 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str2487 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2488 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str2489 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str2490 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str2491 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2492 = private unnamed_addr constant [2 x i8] c"g\00" +@.str2493 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2494 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str2495 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str2496 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str2497 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str2498 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str2499 = private unnamed_addr constant [2 x i8] c"_\00" +@.str2500 = private unnamed_addr constant [6 x i8] c" %sm\00" +@.str2501 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str2502 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2503 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" +@.str2504 = private unnamed_addr constant [12 x i8] c", label %sf\00" +@.str2505 = private unnamed_addr constant [12 x i8] c", label %sk\00" +@.str2506 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2507 = private unnamed_addr constant [3 x i8] c"sf\00" +@.str2508 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2509 = private unnamed_addr constant [6 x i8] c" %sa\00" +@.str2510 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str2511 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str2512 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str2513 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2514 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str2515 = private unnamed_addr constant [6 x i8] c" %sp\00" +@.str2516 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" +@.str2517 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" +@.str2518 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str2519 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str2520 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str2521 = private unnamed_addr constant [6 x i8] c" %sb\00" +@.str2522 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" +@.str2523 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" +@.str2524 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str2525 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str2526 = private unnamed_addr constant [6 x i8] c" %sw\00" +@.str2527 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" +@.str2528 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" +@.str2529 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str2530 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str2531 = private unnamed_addr constant [3 x i8] c"sk\00" +@.str2532 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2533 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str2534 = private unnamed_addr constant [3 x i8] c"gn\00" +@.str2535 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2536 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" +@.str2537 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2538 = 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" +@.str2539 = 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" +@.str2540 = 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" +@.str2541 = 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" +@.str2542 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" +@.str2543 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str2544 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str2545 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str2546 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2547 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str2548 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str2549 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str2550 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2551 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str2552 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str2553 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str2554 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str2555 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str2556 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str2557 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" -@.str2558 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str2559 = private unnamed_addr constant [3 x i8] c" \00" -@.str2560 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str2561 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str2562 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str2563 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str2564 = private unnamed_addr constant [3 x i8] c" \00" -@.str2565 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str2566 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str2567 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str2568 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2569 = private unnamed_addr constant [3 x i8] c" \00" -@.str2570 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" -@.str2571 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2572 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str2573 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str2574 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str2575 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str2576 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str2577 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" -@.str2578 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str2579 = 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" -@.str2580 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str2581 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str2582 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2583 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str2584 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str2585 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str2586 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2587 = private unnamed_addr constant [2 x i8] c"h\00" -@.str2588 = private unnamed_addr constant [7 x i8] c":\0A %r\00" -@.str2589 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" -@.str2590 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" -@.str2591 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2592 = private unnamed_addr constant [2 x i8] c"n\00" -@.str2593 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2594 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" -@.str2595 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str2596 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str2597 = 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" -@.str2598 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str2599 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str2600 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2601 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str2602 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str2603 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str2604 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2605 = private unnamed_addr constant [2 x i8] c"h\00" -@.str2606 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" -@.str2607 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" -@.str2608 = private unnamed_addr constant [2 x i8] c"n\00" -@.str2609 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2610 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str2611 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" -@.str2612 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str2613 = 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" -@.str2614 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str2615 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str2551 = private unnamed_addr constant [2 x i8] c"g\00" +@.str2552 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2553 = private unnamed_addr constant [6 x i8] c" %hp\00" +@.str2554 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str2555 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str2556 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str2557 = private unnamed_addr constant [6 x i8] c" %hv\00" +@.str2558 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" +@.str2559 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2560 = private unnamed_addr constant [6 x i8] c" %hr\00" +@.str2561 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" +@.str2562 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" +@.str2563 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2564 = private unnamed_addr constant [3 x i8] c"gn\00" +@.str2565 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2566 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" +@.str2567 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2568 = 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" +@.str2569 = 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" +@.str2570 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" +@.str2571 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" +@.str2572 = 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" +@.str2573 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" +@.str2574 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" +@.str2575 = 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" +@.str2576 = 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" +@.str2577 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" +@.str2578 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" +@.str2579 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str2580 = 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" +@.str2581 = 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" +@.str2582 = 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" +@.str2583 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" +@.str2584 = 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" +@.str2585 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" +@.str2586 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str2587 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str2588 = 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" +@.str2589 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str2590 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str2591 = 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" +@.str2592 = 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" +@.str2593 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" +@.str2594 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str2595 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str2596 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" +@.str2597 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" +@.str2598 = private unnamed_addr constant [7 x i8] c" %mdc\00" +@.str2599 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str2600 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str2601 = private unnamed_addr constant [7 x i8] c" %mde\00" +@.str2602 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" +@.str2603 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str2604 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" +@.str2605 = private unnamed_addr constant [13 x i8] c", label %mdh\00" +@.str2606 = private unnamed_addr constant [13 x i8] c", label %mdn\00" +@.str2607 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2608 = private unnamed_addr constant [4 x i8] c"mdh\00" +@.str2609 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str2610 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2611 = private unnamed_addr constant [4 x i8] c"mdn\00" +@.str2612 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2613 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str2614 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2615 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str2616 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2617 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str2618 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str2619 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str2620 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2621 = private unnamed_addr constant [2 x i8] c"h\00" -@.str2622 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str2617 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" +@.str2618 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str2619 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str2620 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" +@.str2621 = private unnamed_addr constant [6 x i8] c" %sm\00" +@.str2622 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" @.str2623 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2624 = private unnamed_addr constant [2 x i8] c"n\00" -@.str2625 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2626 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" -@.str2627 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" -@.str2628 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" -@.str2629 = 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" -@.str2630 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" -@.str2631 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" -@.str2632 = 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" -@.str2633 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" -@.str2634 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" -@.str2635 = 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" -@.str2636 = 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" -@.str2637 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" -@.str2638 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" -@.str2639 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" -@.str2640 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" -@.str2641 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str2642 = 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" -@.str2643 = 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" -@.str2644 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" -@.str2645 = 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" -@.str2646 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" -@.str2647 = private unnamed_addr constant [5 x i8] c"go:\0A\00" -@.str2648 = 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" -@.str2649 = 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" -@.str2650 = 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" -@.str2651 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" -@.str2652 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" -@.str2653 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" -@.str2654 = 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" -@.str2655 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" -@.str2656 = private unnamed_addr constant [5 x i8] c"go:\0A\00" -@.str2657 = 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" -@.str2658 = 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" -@.str2659 = 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" -@.str2660 = 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" -@.str2661 = 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" -@.str2662 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" -@.str2663 = private unnamed_addr constant [9 x i8] c"net_send\00" -@.str2664 = private unnamed_addr constant [11 x i8] c"L_net_send\00" -@.str2665 = private unnamed_addr constant [9 x i8] c"net_poll\00" -@.str2666 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" -@.str2667 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" -@.str2668 = private unnamed_addr constant [9 x i8] c"net_poll\00" -@.str2669 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" -@.str2670 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" -@.str2671 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" -@.str2672 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" -@.str2673 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" -@.str2674 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str2675 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" -@.str2676 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2677 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str2678 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str2679 = private unnamed_addr constant [11 x i8] c", label %x\00" -@.str2680 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2681 = private unnamed_addr constant [2 x i8] c"h\00" -@.str2682 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2683 = private unnamed_addr constant [2 x i8] c"_\00" -@.str2684 = private unnamed_addr constant [6 x i8] c" %fa\00" -@.str2685 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" -@.str2686 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2687 = private unnamed_addr constant [6 x i8] c" %fv\00" -@.str2688 = private unnamed_addr constant [9 x i8] c" = load \00" -@.str2689 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" -@.str2690 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2691 = private unnamed_addr constant [3 x i8] c", \00" -@.str2692 = private unnamed_addr constant [5 x i8] c" %fv\00" -@.str2693 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str2694 = private unnamed_addr constant [2 x i8] c"(\00" -@.str2695 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str2696 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str2697 = private unnamed_addr constant [2 x i8] c"x\00" -@.str2698 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str2699 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str2700 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" -@.str2701 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" -@.str2702 = private unnamed_addr constant [6 x i8] c"panel\00" -@.str2703 = private unnamed_addr constant [4 x i8] c"col\00" -@.str2704 = private unnamed_addr constant [4 x i8] c"row\00" -@.str2705 = private unnamed_addr constant [6 x i8] c"label\00" -@.str2706 = private unnamed_addr constant [7 x i8] c"button\00" -@.str2707 = private unnamed_addr constant [6 x i8] c"image\00" -@.str2708 = private unnamed_addr constant [7 x i8] c"spacer\00" -@.str2709 = private unnamed_addr constant [3 x i8] c"id\00" -@.str2710 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" -@.str2711 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2712 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2713 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str2714 = private unnamed_addr constant [2 x i8] c"w\00" -@.str2715 = private unnamed_addr constant [2 x i8] c"h\00" -@.str2716 = private unnamed_addr constant [2 x i8] c"x\00" -@.str2717 = private unnamed_addr constant [2 x i8] c"y\00" -@.str2718 = private unnamed_addr constant [4 x i8] c"pad\00" -@.str2719 = private unnamed_addr constant [4 x i8] c"gap\00" -@.str2720 = private unnamed_addr constant [3 x i8] c"bg\00" -@.str2721 = private unnamed_addr constant [3 x i8] c"fg\00" -@.str2722 = private unnamed_addr constant [7 x i8] c"border\00" -@.str2723 = private unnamed_addr constant [5 x i8] c"grow\00" -@.str2724 = private unnamed_addr constant [5 x i8] c"font\00" -@.str2725 = private unnamed_addr constant [5 x i8] c"size\00" -@.str2726 = private unnamed_addr constant [6 x i8] c"inset\00" -@.str2727 = private unnamed_addr constant [6 x i8] c"focus\00" -@.str2728 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" -@.str2729 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str2730 = private unnamed_addr constant [2 x i8] c"1\00" -@.str2731 = private unnamed_addr constant [3 x i8] c"id\00" -@.str2732 = private unnamed_addr constant [5 x i8] c"text\00" -@.str2733 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" -@.str2734 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str2735 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str2736 = private unnamed_addr constant [5 x i8] c"skin\00" -@.str2737 = private unnamed_addr constant [6 x i8] c"image\00" -@.str2738 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" -@.str2739 = private unnamed_addr constant [2 x i8] c")\00" -@.str2740 = private unnamed_addr constant [5 x i8] c"skin\00" -@.str2741 = private unnamed_addr constant [6 x i8] c"align\00" -@.str2742 = private unnamed_addr constant [7 x i8] c"center\00" -@.str2743 = private unnamed_addr constant [4 x i8] c"end\00" -@.str2744 = private unnamed_addr constant [2 x i8] c"1\00" -@.str2745 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" -@.str2746 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str2747 = private unnamed_addr constant [3 x i8] c", \00" -@.str2748 = private unnamed_addr constant [7 x i8] c" %arg_\00" -@.str2749 = private unnamed_addr constant [5 x i8] c"void\00" -@.str2750 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" +@.str2624 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" +@.str2625 = private unnamed_addr constant [12 x i8] c", label %sh\00" +@.str2626 = private unnamed_addr constant [12 x i8] c", label %sn\00" +@.str2627 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2628 = private unnamed_addr constant [3 x i8] c"sh\00" +@.str2629 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" +@.str2630 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" +@.str2631 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" +@.str2632 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2633 = private unnamed_addr constant [3 x i8] c"sn\00" +@.str2634 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2635 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str2636 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" +@.str2637 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" +@.str2638 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" +@.str2639 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" +@.str2640 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" +@.str2641 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str2642 = 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" +@.str2643 = 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" +@.str2644 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" +@.str2645 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" +@.str2646 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" +@.str2647 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" +@.str2648 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str2649 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str2650 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str2651 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str2652 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str2653 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" +@.str2654 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str2655 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str2656 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str2657 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str2658 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str2659 = private unnamed_addr constant [8 x i8] c"rt_init\00" +@.str2660 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" +@.str2661 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str2662 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str2663 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" +@.str2664 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" +@.str2665 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str2666 = private unnamed_addr constant [14 x i8] c"program_start\00" +@.str2667 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" +@.str2668 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str2669 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" +@.str2670 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" +@.str2671 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str2672 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str2673 = private unnamed_addr constant [11 x i8] c"rt_running\00" +@.str2674 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" +@.str2675 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str2676 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str2677 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str2678 = private unnamed_addr constant [3 x i8] c", \00" +@.str2679 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str2680 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" +@.str2681 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str2682 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" +@.str2683 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2684 = private unnamed_addr constant [8 x i8] c"rt_poll\00" +@.str2685 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" +@.str2686 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str2687 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" +@.str2688 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str2689 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str2690 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str2691 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str2692 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str2693 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str2694 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str2695 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" +@.str2696 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str2697 = private unnamed_addr constant [13 x i8] c"program_quit\00" +@.str2698 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" +@.str2699 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" +@.str2700 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" +@.str2701 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" +@.str2702 = private unnamed_addr constant [1 x i8] c"\00" +@.str2703 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" +@.str2704 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" +@.str2705 = private unnamed_addr constant [2 x i8] c")\00" +@.str2706 = private unnamed_addr constant [6 x i8] c"smend\00" +@.str2707 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str2708 = private unnamed_addr constant [3 x i8] c", \00" +@.str2709 = private unnamed_addr constant [6 x i8] c"sbody\00" +@.str2710 = private unnamed_addr constant [5 x i8] c"sarm\00" +@.str2711 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str2712 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str2713 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str2714 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2715 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2716 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str2717 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2718 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2719 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str2720 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2721 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2722 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str2723 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" +@.str2724 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2725 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" +@.str2726 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str2727 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str2728 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" +@.str2729 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" +@.str2730 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str2731 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str2732 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" +@.str2733 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" +@.str2734 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str2735 = private unnamed_addr constant [5 x i8] c"file\00" +@.str2736 = private unnamed_addr constant [4 x i8] c"%io\00" +@.str2737 = private unnamed_addr constant [3 x i8] c" \00" +@.str2738 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" +@.str2739 = private unnamed_addr constant [6 x i8] c"(ptr \00" +@.str2740 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" +@.str2741 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" +@.str2742 = private unnamed_addr constant [5 x i8] c"size\00" +@.str2743 = private unnamed_addr constant [6 x i8] c"%ioff\00" +@.str2744 = private unnamed_addr constant [3 x i8] c" \00" +@.str2745 = private unnamed_addr constant [12 x i8] c" = add i64 \00" +@.str2746 = private unnamed_addr constant [3 x i8] c", \00" +@.str2747 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2748 = private unnamed_addr constant [5 x i8] c"%ioa\00" +@.str2749 = private unnamed_addr constant [3 x i8] c" \00" +@.str2750 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" @.str2751 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2752 = private unnamed_addr constant [9 x i8] c" store \00" -@.str2753 = private unnamed_addr constant [7 x i8] c" %arg_\00" +@.str2752 = private unnamed_addr constant [5 x i8] c"save\00" +@.str2753 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str2754 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str2755 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2756 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str2757 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" -@.str2758 = private unnamed_addr constant [5 x i8] c"void\00" -@.str2759 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str2760 = private unnamed_addr constant [6 x i8] c"load \00" -@.str2761 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" -@.str2762 = private unnamed_addr constant [7 x i8] c" ret \00" -@.str2763 = private unnamed_addr constant [2 x i8] c" \00" -@.str2764 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2765 = private unnamed_addr constant [8 x i8] c"define \00" -@.str2766 = private unnamed_addr constant [6 x i8] c" @fn_\00" -@.str2767 = private unnamed_addr constant [2 x i8] c"(\00" -@.str2768 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" -@.str2769 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str2770 = private unnamed_addr constant [4 x i8] c"int\00" -@.str2771 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" -@.str2772 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" -@.str2773 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" -@.str2774 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" -@.str2775 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str2776 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" -@.str2777 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" -@.str2778 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str2779 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2780 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" -@.str2781 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str2782 = private unnamed_addr constant [3 x i8] c"wb\00" -@.str2783 = private unnamed_addr constant [7 x i8] c".ludic\00" -@.str2784 = private unnamed_addr constant [2 x i8] c"/\00" -@.str2785 = private unnamed_addr constant [6 x i8] c"ludic\00" -@.str2786 = private unnamed_addr constant [11 x i8] c"--windowed\00" -@.str2787 = private unnamed_addr constant [11 x i8] c"--headless\00" -@.str2788 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" -@.str2789 = private unnamed_addr constant [6 x i8] c"--fmt\00" -@.str2790 = private unnamed_addr constant [13 x i8] c"--save-temps\00" -@.str2791 = private unnamed_addr constant [6 x i8] c"--run\00" -@.str2792 = private unnamed_addr constant [3 x i8] c"-o\00" -@.str2793 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" -@.str2794 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str2795 = private unnamed_addr constant [90 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--emit-llvm] [--save-temps]\0A\00" -@.str2796 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" -@.str2797 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" -@.str2798 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" -@.str2799 = private unnamed_addr constant [4 x i8] c".ll\00" -@.str2800 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" -@.str2801 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" -@.str2802 = private unnamed_addr constant [6 x i8] c"clang\00" -@.str2803 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" -@.str2804 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" -@.str2805 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" -@.str2806 = private unnamed_addr constant [2 x i8] c" \00" -@.str2807 = private unnamed_addr constant [42 x i8] c" -framework Cocoa -Wl,-rpath,@loader_path\00" -@.str2808 = private unnamed_addr constant [5 x i8] c" -o \00" -@.str2809 = private unnamed_addr constant [7 x i8] c"rm -f \00" -@.str2810 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" +@.str2755 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str2756 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str2757 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str2758 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2759 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str2760 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str2761 = private unnamed_addr constant [6 x i8] c"%ioff\00" +@.str2762 = private unnamed_addr constant [3 x i8] c" \00" +@.str2763 = private unnamed_addr constant [12 x i8] c" = add i64 \00" +@.str2764 = private unnamed_addr constant [3 x i8] c", \00" +@.str2765 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2766 = private unnamed_addr constant [2 x i8] c"0\00" +@.str2767 = private unnamed_addr constant [8 x i8] c"@L_entc\00" +@.str2768 = private unnamed_addr constant [2 x i8] c"4\00" +@.str2769 = private unnamed_addr constant [9 x i8] c"@L_freen\00" +@.str2770 = private unnamed_addr constant [2 x i8] c"4\00" +@.str2771 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" +@.str2772 = private unnamed_addr constant [5 x i8] c", 4\0A\00" +@.str2773 = private unnamed_addr constant [9 x i8] c"@L_alive\00" +@.str2774 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str2775 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" +@.str2776 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str2777 = private unnamed_addr constant [8 x i8] c"@L_kind\00" +@.str2778 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str2779 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" +@.str2780 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str2781 = private unnamed_addr constant [4 x i8] c"@g_\00" +@.str2782 = private unnamed_addr constant [2 x i8] c"4\00" +@.str2783 = private unnamed_addr constant [5 x i8] c"%csz\00" +@.str2784 = private unnamed_addr constant [3 x i8] c" \00" +@.str2785 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" +@.str2786 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" +@.str2787 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" +@.str2788 = private unnamed_addr constant [4 x i8] c"@S_\00" +@.str2789 = private unnamed_addr constant [4 x i8] c"@H_\00" +@.str2790 = private unnamed_addr constant [5 x i8] c"file\00" +@.str2791 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" +@.str2792 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" +@.str2793 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" +@.str2794 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" +@.str2795 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" +@.str2796 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" +@.str2797 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" +@.str2798 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str2799 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" +@.str2800 = private unnamed_addr constant [7 x i8] c"fwrite\00" +@.str2801 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" +@.str2802 = 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" +@.str2803 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" +@.str2804 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" +@.str2805 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str2806 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" +@.str2807 = private unnamed_addr constant [6 x i8] c"fread\00" +@.str2808 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" +@.str2809 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" +@.str2810 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" +@.str2811 = private unnamed_addr constant [5 x i8] c"save\00" +@.str2812 = private unnamed_addr constant [1 x i8] c"\00" +@.str2813 = private unnamed_addr constant [5 x i8] c"%wsn\00" +@.str2814 = private unnamed_addr constant [3 x i8] c" \00" +@.str2815 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" +@.str2816 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" +@.str2817 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str2818 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str2819 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str2820 = private unnamed_addr constant [5 x i8] c"load\00" +@.str2821 = private unnamed_addr constant [1 x i8] c"\00" +@.str2822 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str2823 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" +@.str2824 = private unnamed_addr constant [5 x i8] c"size\00" +@.str2825 = private unnamed_addr constant [1 x i8] c"\00" +@.str2826 = private unnamed_addr constant [5 x i8] c"%wzn\00" +@.str2827 = private unnamed_addr constant [3 x i8] c" \00" +@.str2828 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" +@.str2829 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" +@.str2830 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str2831 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str2832 = private unnamed_addr constant [5 x i8] c"file\00" +@.str2833 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str2834 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str2835 = private unnamed_addr constant [2 x i8] c"1\00" +@.str2836 = private unnamed_addr constant [2 x i8] c"4\00" +@.str2837 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" +@.str2838 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2839 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str2840 = private unnamed_addr constant [13 x i8] c"@Sync field \00" +@.str2841 = private unnamed_addr constant [2 x i8] c".\00" +@.str2842 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" +@.str2843 = private unnamed_addr constant [7 x i8] c"model \00" +@.str2844 = private unnamed_addr constant [9 x i8] c" @Syncs \00" +@.str2845 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" +@.str2846 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" +@.str2847 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" +@.str2848 = private unnamed_addr constant [3 x i8] c" \00" +@.str2849 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str2850 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str2851 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str2852 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str2853 = private unnamed_addr constant [3 x i8] c" \00" +@.str2854 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str2855 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2856 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str2857 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2858 = private unnamed_addr constant [3 x i8] c" \00" +@.str2859 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" +@.str2860 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2861 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str2862 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2863 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str2864 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str2865 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str2866 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str2867 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" +@.str2868 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str2869 = private unnamed_addr constant [3 x i8] c" \00" +@.str2870 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str2871 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str2872 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str2873 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str2874 = private unnamed_addr constant [3 x i8] c" \00" +@.str2875 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str2876 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2877 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str2878 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2879 = private unnamed_addr constant [3 x i8] c" \00" +@.str2880 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" +@.str2881 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2882 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str2883 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2884 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str2885 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str2886 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str2887 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" +@.str2888 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str2889 = 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" +@.str2890 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str2891 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str2892 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2893 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str2894 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str2895 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str2896 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2897 = private unnamed_addr constant [2 x i8] c"h\00" +@.str2898 = private unnamed_addr constant [7 x i8] c":\0A %r\00" +@.str2899 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" +@.str2900 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" +@.str2901 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2902 = private unnamed_addr constant [2 x i8] c"n\00" +@.str2903 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2904 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" +@.str2905 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str2906 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str2907 = 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" +@.str2908 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str2909 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str2910 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2911 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str2912 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str2913 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str2914 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2915 = private unnamed_addr constant [2 x i8] c"h\00" +@.str2916 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" +@.str2917 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" +@.str2918 = private unnamed_addr constant [2 x i8] c"n\00" +@.str2919 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2920 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str2921 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" +@.str2922 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str2923 = 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" +@.str2924 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str2925 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str2926 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2927 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str2928 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str2929 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str2930 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2931 = private unnamed_addr constant [2 x i8] c"h\00" +@.str2932 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str2933 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2934 = private unnamed_addr constant [2 x i8] c"n\00" +@.str2935 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2936 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" +@.str2937 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" +@.str2938 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str2939 = 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" +@.str2940 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" +@.str2941 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str2942 = 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" +@.str2943 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" +@.str2944 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str2945 = 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" +@.str2946 = 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" +@.str2947 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" +@.str2948 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" +@.str2949 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" +@.str2950 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" +@.str2951 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str2952 = 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" +@.str2953 = 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" +@.str2954 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" +@.str2955 = 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" +@.str2956 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" +@.str2957 = private unnamed_addr constant [5 x i8] c"go:\0A\00" +@.str2958 = 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" +@.str2959 = 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" +@.str2960 = 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" +@.str2961 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" +@.str2962 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" +@.str2963 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" +@.str2964 = 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" +@.str2965 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" +@.str2966 = private unnamed_addr constant [5 x i8] c"go:\0A\00" +@.str2967 = 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" +@.str2968 = 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" +@.str2969 = 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" +@.str2970 = 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" +@.str2971 = 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" +@.str2972 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" +@.str2973 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str2974 = private unnamed_addr constant [11 x i8] c"L_net_send\00" +@.str2975 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str2976 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" +@.str2977 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" +@.str2978 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str2979 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" +@.str2980 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" +@.str2981 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" +@.str2982 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" +@.str2983 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" +@.str2984 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str2985 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" +@.str2986 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2987 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str2988 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str2989 = private unnamed_addr constant [11 x i8] c", label %x\00" +@.str2990 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2991 = private unnamed_addr constant [2 x i8] c"h\00" +@.str2992 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2993 = private unnamed_addr constant [2 x i8] c"_\00" +@.str2994 = private unnamed_addr constant [6 x i8] c" %fa\00" +@.str2995 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" +@.str2996 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2997 = private unnamed_addr constant [6 x i8] c" %fv\00" +@.str2998 = private unnamed_addr constant [9 x i8] c" = load \00" +@.str2999 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" +@.str3000 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str3001 = private unnamed_addr constant [3 x i8] c", \00" +@.str3002 = private unnamed_addr constant [5 x i8] c" %fv\00" +@.str3003 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str3004 = private unnamed_addr constant [2 x i8] c"(\00" +@.str3005 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str3006 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str3007 = private unnamed_addr constant [2 x i8] c"x\00" +@.str3008 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str3009 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str3010 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" +@.str3011 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" +@.str3012 = private unnamed_addr constant [6 x i8] c"panel\00" +@.str3013 = private unnamed_addr constant [4 x i8] c"col\00" +@.str3014 = private unnamed_addr constant [4 x i8] c"row\00" +@.str3015 = private unnamed_addr constant [6 x i8] c"label\00" +@.str3016 = private unnamed_addr constant [7 x i8] c"button\00" +@.str3017 = private unnamed_addr constant [6 x i8] c"image\00" +@.str3018 = private unnamed_addr constant [7 x i8] c"spacer\00" +@.str3019 = private unnamed_addr constant [3 x i8] c"id\00" +@.str3020 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" +@.str3021 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3022 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3023 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str3024 = private unnamed_addr constant [2 x i8] c"w\00" +@.str3025 = private unnamed_addr constant [2 x i8] c"h\00" +@.str3026 = private unnamed_addr constant [2 x i8] c"x\00" +@.str3027 = private unnamed_addr constant [2 x i8] c"y\00" +@.str3028 = private unnamed_addr constant [4 x i8] c"pad\00" +@.str3029 = private unnamed_addr constant [4 x i8] c"gap\00" +@.str3030 = private unnamed_addr constant [3 x i8] c"bg\00" +@.str3031 = private unnamed_addr constant [3 x i8] c"fg\00" +@.str3032 = private unnamed_addr constant [7 x i8] c"border\00" +@.str3033 = private unnamed_addr constant [5 x i8] c"grow\00" +@.str3034 = private unnamed_addr constant [5 x i8] c"font\00" +@.str3035 = private unnamed_addr constant [5 x i8] c"size\00" +@.str3036 = private unnamed_addr constant [6 x i8] c"inset\00" +@.str3037 = private unnamed_addr constant [6 x i8] c"focus\00" +@.str3038 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" +@.str3039 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str3040 = private unnamed_addr constant [2 x i8] c"1\00" +@.str3041 = private unnamed_addr constant [3 x i8] c"id\00" +@.str3042 = private unnamed_addr constant [5 x i8] c"text\00" +@.str3043 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" +@.str3044 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3045 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str3046 = private unnamed_addr constant [5 x i8] c"skin\00" +@.str3047 = private unnamed_addr constant [6 x i8] c"image\00" +@.str3048 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" +@.str3049 = private unnamed_addr constant [2 x i8] c")\00" +@.str3050 = private unnamed_addr constant [5 x i8] c"skin\00" +@.str3051 = private unnamed_addr constant [6 x i8] c"align\00" +@.str3052 = private unnamed_addr constant [7 x i8] c"center\00" +@.str3053 = private unnamed_addr constant [4 x i8] c"end\00" +@.str3054 = private unnamed_addr constant [2 x i8] c"1\00" +@.str3055 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" +@.str3056 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str3057 = private unnamed_addr constant [3 x i8] c", \00" +@.str3058 = private unnamed_addr constant [7 x i8] c" %arg_\00" +@.str3059 = private unnamed_addr constant [5 x i8] c"void\00" +@.str3060 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" +@.str3061 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str3062 = private unnamed_addr constant [9 x i8] c" store \00" +@.str3063 = private unnamed_addr constant [7 x i8] c" %arg_\00" +@.str3064 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3065 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str3066 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str3067 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str3068 = private unnamed_addr constant [5 x i8] c"void\00" +@.str3069 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str3070 = private unnamed_addr constant [6 x i8] c"load \00" +@.str3071 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" +@.str3072 = private unnamed_addr constant [7 x i8] c" ret \00" +@.str3073 = private unnamed_addr constant [2 x i8] c" \00" +@.str3074 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str3075 = private unnamed_addr constant [8 x i8] c"define \00" +@.str3076 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str3077 = private unnamed_addr constant [2 x i8] c"(\00" +@.str3078 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" +@.str3079 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str3080 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3081 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" +@.str3082 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str3083 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str3084 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" +@.str3085 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str3086 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str3087 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" +@.str3088 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str3089 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str3090 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str3091 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str3092 = private unnamed_addr constant [3 x i8] c"wb\00" +@.str3093 = private unnamed_addr constant [7 x i8] c".ludic\00" +@.str3094 = private unnamed_addr constant [2 x i8] c"/\00" +@.str3095 = private unnamed_addr constant [6 x i8] c"ludic\00" +@.str3096 = private unnamed_addr constant [11 x i8] c"--windowed\00" +@.str3097 = private unnamed_addr constant [11 x i8] c"--headless\00" +@.str3098 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" +@.str3099 = private unnamed_addr constant [6 x i8] c"--fmt\00" +@.str3100 = private unnamed_addr constant [13 x i8] c"--save-temps\00" +@.str3101 = private unnamed_addr constant [6 x i8] c"--run\00" +@.str3102 = private unnamed_addr constant [3 x i8] c"-o\00" +@.str3103 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" +@.str3104 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str3105 = private unnamed_addr constant [90 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--emit-llvm] [--save-temps]\0A\00" +@.str3106 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" +@.str3107 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" +@.str3108 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" +@.str3109 = private unnamed_addr constant [4 x i8] c".ll\00" +@.str3110 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" +@.str3111 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" +@.str3112 = private unnamed_addr constant [6 x i8] c"clang\00" +@.str3113 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" +@.str3114 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" +@.str3115 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" +@.str3116 = private unnamed_addr constant [2 x i8] c" \00" +@.str3117 = private unnamed_addr constant [42 x i8] c" -framework Cocoa -Wl,-rpath,@loader_path\00" +@.str3118 = private unnamed_addr constant [5 x i8] c" -o \00" +@.str3119 = private unnamed_addr constant [7 x i8] c"rm -f \00" +@.str3120 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" define i32 @fn_str_eq(ptr %a, ptr %b) { entry: br label %loop @@ -5467,6 +5777,11 @@ ret: define void @fn_args_call(ptr %arg_call) { entry: %t0 = alloca ptr + %t11 = alloca ptr + %t19 = alloca ptr + %t20 = alloca i32 + %t21 = alloca i32 + %t48 = alloca ptr store ptr %arg_call, ptr %t0 call void @fn_eat_op(ptr @.str6) call void @fn_skipnl() @@ -5478,50 +5793,150 @@ wcond0: %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %wbody1, label %wend2 wbody1: - %t5 = load ptr, ptr %t0 - %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t5 = load ptr, ptr @g_toks + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t7 = load ptr, ptr %t6 - %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 - %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 2 - %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 - %t11 = load i32, ptr %t8 - %t12 = load i32, ptr %t9 - %t13 = icmp sge i32 %t11, %t12 - br i1 %t13, label %grow3, label %put4 -grow3: - %t14 = mul i32 %t12, 2 - %t15 = icmp eq i32 %t12, 0 - %t16 = select i1 %t15, i32 8, i32 %t14 - %t17 = getelementptr ptr, ptr null, i32 1 - %t18 = ptrtoint ptr %t17 to i64 - %t19 = zext i32 %t16 to i64 - %t20 = mul i64 %t19, %t18 - %t21 = load ptr, ptr %t10 - %t22 = call ptr @realloc(ptr %t21, i64 %t20) - store ptr %t22, ptr %t10 - store i32 %t16, ptr %t9 - br label %put4 -put4: - %t23 = call ptr @fn_expr() - %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 + %t8 = load i32, ptr @g_pi + %t9 = getelementptr inbounds ptr, ptr %t7, i32 %t8 + %t10 = load ptr, ptr %t9 + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr @g_toks + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 + %t14 = load ptr, ptr %t13 + %t15 = load i32, ptr @g_pi + %t16 = add i32 %t15, 1 + %t17 = getelementptr inbounds ptr, ptr %t14, i32 %t16 + %t18 = load ptr, ptr %t17 + store ptr %t18, ptr %t19 + %t22 = load ptr, ptr %t11 + %t23 = getelementptr inbounds %Cmp_Tok, ptr %t22, i32 0, i32 0 + %t24 = load i32, ptr %t23 + %t25 = icmp eq i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + %t27 = icmp ne i32 %t26, 0 + %t28 = zext i1 %t27 to i32 + store i32 %t28, ptr %t21 + br i1 %t27, label %sc3, label %scend4 +sc3: + %t29 = load ptr, ptr %t19 + %t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 0 + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 3 + %t33 = zext i1 %t32 to i32 + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t21 + br label %scend4 +scend4: + %t36 = load i32, ptr %t21 + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t20 + br i1 %t37, label %sc5, label %scend6 +sc5: + %t39 = load ptr, ptr %t19 + %t40 = getelementptr inbounds %Cmp_Tok, ptr %t39, i32 0, i32 1 + %t41 = load ptr, ptr %t40 + %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str8) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t20 + br label %scend6 +scend6: + %t45 = load i32, ptr %t20 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then7, label %else8 +then7: + %t47 = call ptr @fn_node(i32 42) + store ptr %t47, ptr %t48 + %t49 = load ptr, ptr %t48 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 + %t51 = call ptr @fn_eat_id() + store ptr %t51, ptr %t50 + call void @fn_eat_op(ptr @.str9) call void @fn_skipnl() - %t27 = call i32 @fn_is_op(ptr @.str8) - %t28 = icmp ne i32 %t27, 0 - br i1 %t28, label %then5, label %ifend7 -then5: - %t29 = load i32, ptr @g_pi - %t30 = add i32 %t29, 1 - store i32 %t30, ptr @g_pi + %t52 = load ptr, ptr %t48 + %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 + %t54 = call ptr @fn_expr() + store ptr %t54, ptr %t53 + %t55 = load ptr, ptr %t0 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7 + %t57 = load ptr, ptr %t56 + %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 + %t59 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 2 + %t60 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 + %t61 = load i32, ptr %t58 + %t62 = load i32, ptr %t59 + %t63 = icmp sge i32 %t61, %t62 + br i1 %t63, label %grow10, label %put11 +grow10: + %t64 = mul i32 %t62, 2 + %t65 = icmp eq i32 %t62, 0 + %t66 = select i1 %t65, i32 8, i32 %t64 + %t67 = getelementptr ptr, ptr null, i32 1 + %t68 = ptrtoint ptr %t67 to i64 + %t69 = zext i32 %t66 to i64 + %t70 = mul i64 %t69, %t68 + %t71 = load ptr, ptr %t60 + %t72 = call ptr @realloc(ptr %t71, i64 %t70) + store ptr %t72, ptr %t60 + store i32 %t66, ptr %t59 + br label %put11 +put11: + %t73 = load ptr, ptr %t48 + %t74 = load ptr, ptr %t60 + %t75 = getelementptr inbounds ptr, ptr %t74, i32 %t61 + store ptr %t73, ptr %t75 + %t76 = add i32 %t61, 1 + store i32 %t76, ptr %t58 + br label %ifend9 +else8: + %t77 = load ptr, ptr %t0 + %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 7 + %t79 = load ptr, ptr %t78 + %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 + %t81 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 2 + %t82 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 + %t83 = load i32, ptr %t80 + %t84 = load i32, ptr %t81 + %t85 = icmp sge i32 %t83, %t84 + br i1 %t85, label %grow12, label %put13 +grow12: + %t86 = mul i32 %t84, 2 + %t87 = icmp eq i32 %t84, 0 + %t88 = select i1 %t87, i32 8, i32 %t86 + %t89 = getelementptr ptr, ptr null, i32 1 + %t90 = ptrtoint ptr %t89 to i64 + %t91 = zext i32 %t88 to i64 + %t92 = mul i64 %t91, %t90 + %t93 = load ptr, ptr %t82 + %t94 = call ptr @realloc(ptr %t93, i64 %t92) + store ptr %t94, ptr %t82 + store i32 %t88, ptr %t81 + br label %put13 +put13: + %t95 = call ptr @fn_expr() + %t96 = load ptr, ptr %t82 + %t97 = getelementptr inbounds ptr, ptr %t96, i32 %t83 + store ptr %t95, ptr %t97 + %t98 = add i32 %t83, 1 + store i32 %t98, ptr %t80 + br label %ifend9 +ifend9: call void @fn_skipnl() - br label %ifend7 -ifend7: + %t99 = call i32 @fn_is_op(ptr @.str10) + %t100 = icmp ne i32 %t99, 0 + br i1 %t100, label %then14, label %ifend16 +then14: + %t101 = load i32, ptr @g_pi + %t102 = add i32 %t101, 1 + store i32 %t102, ptr @g_pi + call void @fn_skipnl() + br label %ifend16 +ifend16: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str9) + call void @fn_eat_op(ptr @.str11) br label %ret ret: ret void @@ -5571,7 +5986,7 @@ then0: ifend2: %t7 = load ptr, ptr %t0 %t8 = load ptr, ptr %t1 - %t9 = call ptr @fn_mkbin(ptr @.str10, ptr %t7, ptr %t8) + %t9 = call ptr @fn_mkbin(ptr @.str12, ptr %t7, ptr %t8) store ptr %t9, ptr %retval br label %ret ret: @@ -5592,7 +6007,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 @.str11, ptr %t6 + store ptr @.str13, ptr %t6 %t7 = load ptr, ptr %t2 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 %t9 = load ptr, ptr %t4 @@ -5996,11 +6411,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 @.str12) + call void @fn_eat_op(ptr @.str14) call void @fn_skipnl() br label %wcond0 wcond0: - %t9 = call i32 @fn_is_op(ptr @.str13) + %t9 = call i32 @fn_is_op(ptr @.str15) %t10 = icmp eq i32 %t9, 0 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 @@ -6012,7 +6427,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 @.str14) + call void @fn_eat_op(ptr @.str16) %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 %t20 = call ptr @fn_expr() @@ -6048,7 +6463,7 @@ put4: %t42 = add i32 %t27, 1 store i32 %t42, ptr %t24 call void @fn_skipnl() - %t43 = call i32 @fn_is_op(ptr @.str15) + %t43 = call i32 @fn_is_op(ptr @.str17) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then5, label %ifend7 then5: @@ -6060,7 +6475,7 @@ then5: ifend7: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str16) + call void @fn_eat_op(ptr @.str18) %t47 = load ptr, ptr %t3 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4 %t49 = load ptr, ptr %t8 @@ -6125,7 +6540,7 @@ 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 @.str17) + %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str19) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t20 @@ -6241,7 +6656,7 @@ 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 @.str18) + %t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str20) %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then22, label %ifend24 then22: @@ -6260,7 +6675,7 @@ 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 @.str19) + %t122 = call i32 @fn_str_eq(ptr %t121, ptr @.str21) %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then25, label %ifend27 then25: @@ -6279,7 +6694,7 @@ 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 @.str20) + %t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str22) %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then28, label %ifend30 then28: @@ -6293,7 +6708,7 @@ 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 @.str21) + %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str23) %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then31, label %ifend33 then31: @@ -6325,7 +6740,7 @@ ifend33: store ptr %t161, ptr %retval br label %ret ifend21: - %t162 = call i32 @fn_is_op(ptr @.str22) + %t162 = call i32 @fn_is_op(ptr @.str24) %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then34, label %ifend36 then34: @@ -6336,12 +6751,12 @@ then34: %t166 = call ptr @fn_expr() store ptr %t166, ptr %t167 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str23) + call void @fn_eat_op(ptr @.str25) %t168 = load ptr, ptr %t167 store ptr %t168, ptr %retval br label %ret ifend36: - call void @fn_perr(ptr @.str24) + call void @fn_perr(ptr @.str26) %t169 = call ptr @fn_node(i32 30) store ptr %t169, ptr %retval br label %ret @@ -6366,7 +6781,7 @@ wcond0: %t2 = icmp ne i32 1, 0 br i1 %t2, label %wbody1, label %wend2 wbody1: - %t3 = call i32 @fn_is_op(ptr @.str25) + %t3 = call i32 @fn_is_op(ptr @.str27) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then3, label %else4 then3: @@ -6387,7 +6802,7 @@ then3: store ptr %t15, ptr %t1 br label %ifend5 else4: - %t16 = call i32 @fn_is_op(ptr @.str26) + %t16 = call i32 @fn_is_op(ptr @.str28) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then6, label %else7 then6: @@ -6396,7 +6811,7 @@ then6: store i32 %t19, ptr @g_pi %t20 = call ptr @fn_expr() store ptr %t20, ptr %t21 - %t22 = call i32 @fn_is_op(ptr @.str27) + %t22 = call i32 @fn_is_op(ptr @.str29) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then9, label %else10 then9: @@ -6417,7 +6832,7 @@ then9: %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 6 %t36 = call ptr @fn_expr() store ptr %t36, ptr %t35 - call void @fn_eat_op(ptr @.str28) + call void @fn_eat_op(ptr @.str30) %t37 = load ptr, ptr %t27 store ptr %t37, ptr %t1 br label %ifend11 @@ -6432,14 +6847,14 @@ else10: %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 5 %t45 = load ptr, ptr %t21 store ptr %t45, ptr %t44 - call void @fn_eat_op(ptr @.str29) + call void @fn_eat_op(ptr @.str31) %t46 = load ptr, ptr %t39 store ptr %t46, ptr %t1 br label %ifend11 ifend11: br label %ifend8 else7: - %t47 = call i32 @fn_is_op(ptr @.str30) + %t47 = call i32 @fn_is_op(ptr @.str32) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then12, label %else13 then12: @@ -6477,7 +6892,7 @@ entry: %t5 = alloca ptr %t17 = alloca ptr %t29 = alloca ptr - %t0 = call i32 @fn_is_op(ptr @.str31) + %t0 = call i32 @fn_is_op(ptr @.str33) %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %ifend2 then0: @@ -6488,7 +6903,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 @.str32, ptr %t7 + store ptr @.str34, ptr %t7 %t8 = load ptr, ptr %t5 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4 %t10 = call ptr @fn_p_unary() @@ -6497,7 +6912,7 @@ then0: store ptr %t11, ptr %retval br label %ret ifend2: - %t12 = call i32 @fn_is_op(ptr @.str33) + %t12 = call i32 @fn_is_op(ptr @.str35) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then3, label %ifend5 then3: @@ -6508,7 +6923,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 @.str34, ptr %t19 + store ptr @.str36, ptr %t19 %t20 = load ptr, ptr %t17 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 4 %t22 = call ptr @fn_p_unary() @@ -6517,7 +6932,7 @@ then3: store ptr %t23, ptr %retval br label %ret ifend5: - %t24 = call i32 @fn_is_id(ptr @.str35) + %t24 = call i32 @fn_is_id(ptr @.str37) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then6, label %ifend8 then6: @@ -6528,7 +6943,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 @.str36, ptr %t31 + store ptr @.str38, ptr %t31 %t32 = load ptr, ptr %t29 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 4 %t34 = call ptr @fn_p_unary() @@ -6591,13 +7006,13 @@ entry: store ptr %t0, ptr %t1 br label %wcond0 wcond0: - %t7 = call i32 @fn_is_op(ptr @.str37) + %t7 = call i32 @fn_is_op(ptr @.str39) %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 @.str38) + %t10 = call i32 @fn_is_op(ptr @.str40) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t6 @@ -6609,7 +7024,7 @@ scend4: store i32 %t15, ptr %t5 br i1 %t14, label %scend6, label %sc5 sc5: - %t16 = call i32 @fn_is_op(ptr @.str39) + %t16 = call i32 @fn_is_op(ptr @.str41) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t5 @@ -6621,7 +7036,7 @@ scend6: store i32 %t21, ptr %t4 br i1 %t20, label %scend8, label %sc7 sc7: - %t22 = call i32 @fn_is_op(ptr @.str40) + %t22 = call i32 @fn_is_op(ptr @.str42) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t4 @@ -6633,7 +7048,7 @@ scend8: store i32 %t27, ptr %t3 br i1 %t26, label %scend10, label %sc9 sc9: - %t28 = call i32 @fn_is_op(ptr @.str41) + %t28 = call i32 @fn_is_op(ptr @.str43) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t3 @@ -6645,7 +7060,7 @@ scend10: store i32 %t33, ptr %t2 br i1 %t32, label %scend12, label %sc11 sc11: - %t34 = call i32 @fn_is_op(ptr @.str42) + %t34 = call i32 @fn_is_op(ptr @.str44) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t2 @@ -6694,13 +7109,13 @@ entry: store ptr %t0, ptr %t1 br label %wcond0 wcond0: - %t5 = call i32 @fn_is_op(ptr @.str43) + %t5 = call i32 @fn_is_op(ptr @.str45) %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 @.str44) + %t8 = call i32 @fn_is_op(ptr @.str46) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t4 @@ -6712,7 +7127,7 @@ scend4: store i32 %t13, ptr %t3 br i1 %t12, label %scend6, label %sc5 sc5: - %t14 = call i32 @fn_is_op(ptr @.str45) + %t14 = call i32 @fn_is_op(ptr @.str47) %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t3 @@ -6724,7 +7139,7 @@ scend6: store i32 %t19, ptr %t2 br i1 %t18, label %scend8, label %sc7 sc7: - %t20 = call i32 @fn_is_op(ptr @.str46) + %t20 = call i32 @fn_is_op(ptr @.str48) %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t2 @@ -6775,13 +7190,13 @@ entry: store ptr %t0, ptr %t1 br label %wcond0 wcond0: - %t7 = call i32 @fn_is_op(ptr @.str47) + %t7 = call i32 @fn_is_op(ptr @.str49) %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 @.str48) + %t10 = call i32 @fn_is_op(ptr @.str50) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t6 @@ -6793,7 +7208,7 @@ scend4: store i32 %t15, ptr %t5 br i1 %t14, label %scend6, label %sc5 sc5: - %t16 = call i32 @fn_is_op(ptr @.str49) + %t16 = call i32 @fn_is_op(ptr @.str51) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t5 @@ -6805,7 +7220,7 @@ scend6: store i32 %t21, ptr %t4 br i1 %t20, label %scend8, label %sc7 sc7: - %t22 = call i32 @fn_is_op(ptr @.str50) + %t22 = call i32 @fn_is_op(ptr @.str52) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t4 @@ -6817,7 +7232,7 @@ scend8: store i32 %t27, ptr %t3 br i1 %t26, label %scend10, label %sc9 sc9: - %t28 = call i32 @fn_is_op(ptr @.str51) + %t28 = call i32 @fn_is_op(ptr @.str53) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t3 @@ -6829,7 +7244,7 @@ scend10: store i32 %t33, ptr %t2 br i1 %t32, label %scend12, label %sc11 sc11: - %t34 = call i32 @fn_is_op(ptr @.str52) + %t34 = call i32 @fn_is_op(ptr @.str54) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t2 @@ -6874,7 +7289,7 @@ entry: store ptr %t0, ptr %t1 br label %wcond0 wcond0: - %t2 = call i32 @fn_is_id(ptr @.str53) + %t2 = call i32 @fn_is_id(ptr @.str55) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %wbody1, label %wend2 wbody1: @@ -6883,7 +7298,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 @.str54, ptr %t6, ptr %t7) + %t8 = call ptr @fn_mkbin(ptr @.str56, ptr %t6, ptr %t7) store ptr %t8, ptr %t1 br label %wcond0 wend2: @@ -6903,7 +7318,7 @@ entry: store ptr %t0, ptr %t1 br label %wcond0 wcond0: - %t2 = call i32 @fn_is_id(ptr @.str55) + %t2 = call i32 @fn_is_id(ptr @.str57) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %wbody1, label %wend2 wbody1: @@ -6912,7 +7327,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 @.str56, ptr %t6, ptr %t7) + %t8 = call ptr @fn_mkbin(ptr @.str58, ptr %t6, ptr %t7) store ptr %t8, ptr %t1 br label %wcond0 wend2: @@ -6929,7 +7344,7 @@ entry: %retval = alloca ptr %t1 = alloca ptr %t6 = alloca ptr - call void @fn_eat_op(ptr @.str57) + call void @fn_eat_op(ptr @.str59) %t0 = call ptr @fn_node(i32 41) store ptr %t0, ptr %t1 br label %wcond0 @@ -6938,7 +7353,7 @@ wcond0: br i1 %t2, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() - %t3 = call i32 @fn_is_op(ptr @.str58) + %t3 = call i32 @fn_is_op(ptr @.str60) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then3, label %ifend5 then3: @@ -6950,7 +7365,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 @.str59) + call void @fn_eat_op(ptr @.str61) %t10 = load ptr, ptr %t6 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4 %t12 = call ptr @fn_expr() @@ -6985,7 +7400,7 @@ put7: store ptr %t31, ptr %t33 %t34 = add i32 %t19, 1 store i32 %t34, ptr %t16 - %t35 = call i32 @fn_is_op(ptr @.str60) + %t35 = call i32 @fn_is_op(ptr @.str62) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then8, label %ifend10 then8: @@ -6996,7 +7411,7 @@ then8: ifend10: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str61) + call void @fn_eat_op(ptr @.str63) %t39 = load ptr, ptr %t1 store ptr %t39, ptr %retval br label %ret @@ -7011,7 +7426,7 @@ entry: %t1 = alloca ptr %t37 = alloca i32 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str62) + call void @fn_eat_op(ptr @.str64) %t0 = call ptr @fn_node(i32 7) store ptr %t0, ptr %t1 br label %wcond0 @@ -7020,7 +7435,7 @@ wcond0: br i1 %t2, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() - %t3 = call i32 @fn_is_op(ptr @.str63) + %t3 = call i32 @fn_is_op(ptr @.str65) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then3, label %ifend5 then3: @@ -7067,7 +7482,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 @.str64) + %t38 = call i32 @fn_is_op(ptr @.str66) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then8, label %ifend10 then8: @@ -7080,12 +7495,12 @@ ifend10: %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then11, label %ifend13 then11: - call void @fn_perr(ptr @.str65) + call void @fn_perr(ptr @.str67) br label %ifend13 ifend13: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str66) + call void @fn_eat_op(ptr @.str68) %t44 = load ptr, ptr %t1 store ptr %t44, ptr %retval br label %ret @@ -7149,7 +7564,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 @.str67) + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str69) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t13 @@ -7158,7 +7573,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 @.str68) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str70) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t13 @@ -7172,7 +7587,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 @.str69) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str71) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: @@ -7203,7 +7618,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 @.str70) + %t54 = call i32 @fn_is_op(ptr @.str72) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then11, label %ifend13 then11: @@ -7216,7 +7631,7 @@ then11: store ptr %t60, ptr %t59 br label %ifend13 ifend13: - %t61 = call i32 @fn_is_op(ptr @.str71) + %t61 = call i32 @fn_is_op(ptr @.str73) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then14, label %ifend16 then14: @@ -7236,7 +7651,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 @.str72) + %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str74) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then17, label %ifend19 then17: @@ -7260,7 +7675,7 @@ then17: store i32 %t90, ptr %t78 br i1 %t89, label %sc20, label %scend21 sc20: - %t91 = call i32 @fn_is_op(ptr @.str73) + %t91 = call i32 @fn_is_op(ptr @.str75) %t92 = icmp eq i32 %t91, 0 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 @@ -7285,7 +7700,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 @.str74) + %t105 = call i32 @fn_str_eq(ptr %t104, ptr @.str76) %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then25, label %ifend27 then25: @@ -7305,7 +7720,7 @@ then25: %t117 = load i32, ptr @g_pi store i32 %t117, ptr %t118 call void @fn_skipnl() - %t119 = call i32 @fn_is_id(ptr @.str75) + %t119 = call i32 @fn_is_id(ptr @.str77) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then28, label %else29 then28: @@ -7313,7 +7728,7 @@ then28: %t122 = add i32 %t121, 1 store i32 %t122, ptr @g_pi call void @fn_skipnl() - %t123 = call i32 @fn_is_id(ptr @.str76) + %t123 = call i32 @fn_is_id(ptr @.str78) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then31, label %else32 then31: @@ -7342,7 +7757,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 @.str77) + %t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str79) %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then34, label %ifend36 then34: @@ -7366,14 +7781,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 @.str78) + %t152 = call i32 @fn_str_eq(ptr %t151, ptr @.str80) %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 @.str79) + %t156 = call i32 @fn_is_op(ptr @.str81) %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then40, label %ifend42 then40: @@ -7393,7 +7808,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 @.str80) + call void @fn_eat_op(ptr @.str82) %t169 = load ptr, ptr %t160 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 5 %t171 = call ptr @fn_expr() @@ -7409,7 +7824,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 @.str81) + %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str83) %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then43, label %ifend45 then43: @@ -7420,7 +7835,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 @.str82) + %t185 = call i32 @fn_str_eq(ptr %t184, ptr @.str84) %t186 = icmp ne i32 %t185, 0 br i1 %t186, label %then46, label %ifend48 then46: @@ -7434,7 +7849,7 @@ then46: %t193 = call ptr @fn_expr() store ptr %t193, ptr %t192 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str83) + call void @fn_eat_op(ptr @.str85) store i32 0, ptr %t194 br label %wcond49 wcond49: @@ -7442,7 +7857,7 @@ wcond49: br i1 %t195, label %wbody50, label %wend51 wbody50: call void @fn_skipnl() - %t196 = call i32 @fn_is_op(ptr @.str84) + %t196 = call i32 @fn_is_op(ptr @.str86) %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then52, label %ifend54 then52: @@ -7456,7 +7871,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 @.str85) + %t205 = call i32 @fn_is_op(ptr @.str87) %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then55, label %else56 then55: @@ -7521,7 +7936,7 @@ put59: store i32 %t246, ptr %t194 br label %wcond49 wend51: - call void @fn_eat_op(ptr @.str86) + call void @fn_eat_op(ptr @.str88) %t247 = load ptr, ptr %t190 store ptr %t247, ptr %retval br label %ret @@ -7529,7 +7944,7 @@ ifend48: %t249 = load ptr, ptr %t6 %t250 = getelementptr inbounds %Cmp_Tok, ptr %t249, i32 0, i32 1 %t251 = load ptr, ptr %t250 - %t252 = call i32 @fn_str_eq(ptr %t251, ptr @.str87) + %t252 = call i32 @fn_str_eq(ptr %t251, ptr @.str89) %t253 = icmp ne i32 %t252, 0 %t254 = zext i1 %t253 to i32 store i32 %t254, ptr %t248 @@ -7562,7 +7977,7 @@ ifend64: %t271 = load ptr, ptr %t6 %t272 = getelementptr inbounds %Cmp_Tok, ptr %t271, i32 0, i32 1 %t273 = load ptr, ptr %t272 - %t274 = call i32 @fn_str_eq(ptr %t273, ptr @.str88) + %t274 = call i32 @fn_str_eq(ptr %t273, ptr @.str90) %t275 = icmp ne i32 %t274, 0 br i1 %t275, label %then65, label %ifend67 then65: @@ -7582,7 +7997,7 @@ ifend67: %t284 = load ptr, ptr %t6 %t285 = getelementptr inbounds %Cmp_Tok, ptr %t284, i32 0, i32 1 %t286 = load ptr, ptr %t285 - %t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str89) + %t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str91) %t288 = icmp ne i32 %t287, 0 br i1 %t288, label %then68, label %ifend70 then68: @@ -7602,7 +8017,7 @@ ifend70: %t298 = load ptr, ptr %t6 %t299 = getelementptr inbounds %Cmp_Tok, ptr %t298, i32 0, i32 1 %t300 = load ptr, ptr %t299 - %t301 = call i32 @fn_str_eq(ptr %t300, ptr @.str90) + %t301 = call i32 @fn_str_eq(ptr %t300, ptr @.str92) %t302 = icmp ne i32 %t301, 0 %t303 = zext i1 %t302 to i32 store i32 %t303, ptr %t297 @@ -7611,7 +8026,7 @@ sc71: %t304 = load ptr, ptr %t6 %t305 = getelementptr inbounds %Cmp_Tok, ptr %t304, i32 0, i32 1 %t306 = load ptr, ptr %t305 - %t307 = call i32 @fn_str_eq(ptr %t306, ptr @.str91) + %t307 = call i32 @fn_str_eq(ptr %t306, ptr @.str93) %t308 = icmp ne i32 %t307, 0 %t309 = zext i1 %t308 to i32 store i32 %t309, ptr %t297 @@ -7625,7 +8040,7 @@ then73: %t313 = load ptr, ptr %t6 %t314 = getelementptr inbounds %Cmp_Tok, ptr %t313, i32 0, i32 1 %t315 = load ptr, ptr %t314 - %t316 = call i32 @fn_str_eq(ptr %t315, ptr @.str92) + %t316 = call i32 @fn_str_eq(ptr %t315, ptr @.str94) %t317 = icmp ne i32 %t316, 0 br i1 %t317, label %then76, label %ifend78 then76: @@ -7641,7 +8056,7 @@ ifend78: %t323 = getelementptr inbounds %Cmp_Node, ptr %t322, i32 0, i32 2 %t324 = load i32, ptr %t312 store i32 %t324, ptr %t323 - %t325 = call i32 @fn_is_id(ptr @.str93) + %t325 = call i32 @fn_is_id(ptr @.str95) %t326 = icmp ne i32 %t325, 0 br i1 %t326, label %then79, label %ifend81 then79: @@ -7650,7 +8065,7 @@ then79: store i32 %t328, ptr @g_pi %t329 = load ptr, ptr %t321 %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 3 - store ptr @.str94, ptr %t330 + store ptr @.str96, ptr %t330 %t331 = load ptr, ptr %t321 %t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 1 %t333 = call ptr @fn_eat_id() @@ -7667,7 +8082,7 @@ ifend81: %t339 = getelementptr inbounds %Cmp_Node, ptr %t338, i32 0, i32 1 %t340 = call ptr @fn_eat_id() store ptr %t340, ptr %t339 - %t341 = call i32 @fn_is_id(ptr @.str95) + %t341 = call i32 @fn_is_id(ptr @.str97) %t342 = icmp ne i32 %t341, 0 br i1 %t342, label %then82, label %ifend84 then82: @@ -7687,7 +8102,7 @@ ifend75: %t349 = load ptr, ptr %t6 %t350 = getelementptr inbounds %Cmp_Tok, ptr %t349, i32 0, i32 1 %t351 = load ptr, ptr %t350 - %t352 = call i32 @fn_str_eq(ptr %t351, ptr @.str96) + %t352 = call i32 @fn_str_eq(ptr %t351, ptr @.str98) %t353 = icmp ne i32 %t352, 0 br i1 %t353, label %then85, label %ifend87 then85: @@ -7700,13 +8115,13 @@ then85: %t359 = getelementptr inbounds %Cmp_Node, ptr %t358, i32 0, i32 1 %t360 = call ptr @fn_eat_id() store ptr %t360, ptr %t359 - %t361 = call i32 @fn_is_id(ptr @.str97) + %t361 = call i32 @fn_is_id(ptr @.str99) %t362 = icmp eq i32 %t361, 0 %t363 = zext i1 %t362 to i32 %t364 = icmp ne i32 %t363, 0 br i1 %t364, label %then88, label %ifend90 then88: - call void @fn_perr(ptr @.str98) + call void @fn_perr(ptr @.str100) br label %ifend90 ifend90: %t365 = load i32, ptr @g_pi @@ -7716,7 +8131,7 @@ ifend90: %t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 4 %t369 = call ptr @fn_expr() store ptr %t369, ptr %t368 - %t370 = call i32 @fn_is_op(ptr @.str99) + %t370 = call i32 @fn_is_op(ptr @.str101) %t371 = icmp ne i32 %t370, 0 br i1 %t371, label %then91, label %ifend93 then91: @@ -7733,7 +8148,7 @@ ifend87: %t376 = load ptr, ptr %t6 %t377 = getelementptr inbounds %Cmp_Tok, ptr %t376, i32 0, i32 1 %t378 = load ptr, ptr %t377 - %t379 = call i32 @fn_str_eq(ptr %t378, ptr @.str100) + %t379 = call i32 @fn_str_eq(ptr %t378, ptr @.str102) %t380 = icmp ne i32 %t379, 0 br i1 %t380, label %then94, label %ifend96 then94: @@ -7746,13 +8161,13 @@ then94: %t386 = getelementptr inbounds %Cmp_Node, ptr %t385, i32 0, i32 1 %t387 = call ptr @fn_eat_id() store ptr %t387, ptr %t386 - %t388 = call i32 @fn_is_id(ptr @.str101) + %t388 = call i32 @fn_is_id(ptr @.str103) %t389 = icmp eq i32 %t388, 0 %t390 = zext i1 %t389 to i32 %t391 = icmp ne i32 %t390, 0 br i1 %t391, label %then97, label %ifend99 then97: - call void @fn_perr(ptr @.str102) + call void @fn_perr(ptr @.str104) br label %ifend99 ifend99: %t392 = load i32, ptr @g_pi @@ -7769,7 +8184,7 @@ ifend96: %t398 = load ptr, ptr %t6 %t399 = getelementptr inbounds %Cmp_Tok, ptr %t398, i32 0, i32 1 %t400 = load ptr, ptr %t399 - %t401 = call i32 @fn_str_eq(ptr %t400, ptr @.str103) + %t401 = call i32 @fn_str_eq(ptr %t400, ptr @.str105) %t402 = icmp ne i32 %t401, 0 br i1 %t402, label %then100, label %ifend102 then100: @@ -7783,7 +8198,7 @@ ifend102: %t406 = load ptr, ptr %t6 %t407 = getelementptr inbounds %Cmp_Tok, ptr %t406, i32 0, i32 1 %t408 = load ptr, ptr %t407 - %t409 = call i32 @fn_str_eq(ptr %t408, ptr @.str104) + %t409 = call i32 @fn_str_eq(ptr %t408, ptr @.str106) %t410 = icmp ne i32 %t409, 0 br i1 %t410, label %then103, label %ifend105 then103: @@ -7797,7 +8212,7 @@ ifend105: %t414 = load ptr, ptr %t6 %t415 = getelementptr inbounds %Cmp_Tok, ptr %t414, i32 0, i32 1 %t416 = load ptr, ptr %t415 - %t417 = call i32 @fn_str_eq(ptr %t416, ptr @.str105) + %t417 = call i32 @fn_str_eq(ptr %t416, ptr @.str107) %t418 = icmp ne i32 %t417, 0 br i1 %t418, label %then106, label %ifend108 then106: @@ -7811,7 +8226,7 @@ ifend108: %t422 = load ptr, ptr %t6 %t423 = getelementptr inbounds %Cmp_Tok, ptr %t422, i32 0, i32 1 %t424 = load ptr, ptr %t423 - %t425 = call i32 @fn_str_eq(ptr %t424, ptr @.str106) + %t425 = call i32 @fn_str_eq(ptr %t424, ptr @.str108) %t426 = icmp ne i32 %t425, 0 br i1 %t426, label %then109, label %ifend111 then109: @@ -7825,14 +8240,14 @@ then109: %t433 = call ptr @fn_expr() store ptr %t433, ptr %t432 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str107) + call void @fn_eat_op(ptr @.str109) br label %wcond112 wcond112: %t434 = icmp ne i32 1, 0 br i1 %t434, label %wbody113, label %wend114 wbody113: call void @fn_skipnl() - %t435 = call i32 @fn_is_op(ptr @.str108) + %t435 = call i32 @fn_is_op(ptr @.str110) %t436 = icmp ne i32 %t435, 0 br i1 %t436, label %then115, label %ifend117 then115: @@ -7875,7 +8290,7 @@ put122: store ptr %t458, ptr %t460 %t461 = add i32 %t446, 1 store i32 %t461, ptr %t443 - %t462 = call i32 @fn_is_op(ptr @.str109) + %t462 = call i32 @fn_is_op(ptr @.str111) %t463 = icmp ne i32 %t462, 0 br i1 %t463, label %then123, label %ifend125 then123: @@ -7887,9 +8302,9 @@ then123: ifend125: br label %wend120 wend120: - call void @fn_eat_op(ptr @.str110) + call void @fn_eat_op(ptr @.str112) call void @fn_skipnl() - %t466 = call i32 @fn_is_op(ptr @.str111) + %t466 = call i32 @fn_is_op(ptr @.str113) %t467 = icmp ne i32 %t466, 0 br i1 %t467, label %then126, label %else127 then126: @@ -7969,7 +8384,7 @@ put132: store i32 %t519, ptr %t501 br label %wcond112 wend114: - call void @fn_eat_op(ptr @.str112) + call void @fn_eat_op(ptr @.str114) %t520 = load ptr, ptr %t430 store ptr %t520, ptr %retval br label %ret @@ -7978,13 +8393,13 @@ ifend111: ifend2: %t521 = call ptr @fn_expr() store ptr %t521, ptr %t522 - %t527 = call i32 @fn_is_op(ptr @.str113) + %t527 = call i32 @fn_is_op(ptr @.str115) %t528 = icmp ne i32 %t527, 0 %t529 = zext i1 %t528 to i32 store i32 %t529, ptr %t526 br i1 %t528, label %scend134, label %sc133 sc133: - %t530 = call i32 @fn_is_op(ptr @.str114) + %t530 = call i32 @fn_is_op(ptr @.str116) %t531 = icmp ne i32 %t530, 0 %t532 = zext i1 %t531 to i32 store i32 %t532, ptr %t526 @@ -7996,7 +8411,7 @@ scend134: store i32 %t535, ptr %t525 br i1 %t534, label %scend136, label %sc135 sc135: - %t536 = call i32 @fn_is_op(ptr @.str115) + %t536 = call i32 @fn_is_op(ptr @.str117) %t537 = icmp ne i32 %t536, 0 %t538 = zext i1 %t537 to i32 store i32 %t538, ptr %t525 @@ -8008,7 +8423,7 @@ scend136: store i32 %t541, ptr %t524 br i1 %t540, label %scend138, label %sc137 sc137: - %t542 = call i32 @fn_is_op(ptr @.str116) + %t542 = call i32 @fn_is_op(ptr @.str118) %t543 = icmp ne i32 %t542, 0 %t544 = zext i1 %t543 to i32 store i32 %t544, ptr %t524 @@ -8020,7 +8435,7 @@ scend138: store i32 %t547, ptr %t523 br i1 %t546, label %scend140, label %sc139 sc139: - %t548 = call i32 @fn_is_op(ptr @.str117) + %t548 = call i32 @fn_is_op(ptr @.str119) %t549 = icmp ne i32 %t548, 0 %t550 = zext i1 %t549 to i32 store i32 %t550, ptr %t523 @@ -8096,12 +8511,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 @.str118) + call void @fn_eat_op(ptr @.str120) %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 @.str119) + %t10 = call i32 @fn_is_op(ptr @.str121) %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then0, label %ifend2 then0: @@ -8135,12 +8550,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 @.str120) + call void @fn_eat_op(ptr @.str122) %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 @.str121) + call void @fn_eat_op(ptr @.str123) %t10 = load ptr, ptr %t3 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4 %t12 = call ptr @fn_expr() @@ -8167,10 +8582,10 @@ 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 @.str122) + call void @fn_eat_op(ptr @.str124) br label %wcond0 wcond0: - %t7 = call i32 @fn_is_op(ptr @.str123) + %t7 = call i32 @fn_is_op(ptr @.str125) %t8 = icmp eq i32 %t7, 0 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 @@ -8182,7 +8597,7 @@ wbody1: %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 %t15 = call ptr @fn_eat_id() store ptr %t15, ptr %t14 - call void @fn_eat_op(ptr @.str124) + call void @fn_eat_op(ptr @.str126) %t16 = load ptr, ptr %t12 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 %t18 = call ptr @fn_ptype() @@ -8217,7 +8632,7 @@ put4: store ptr %t37, ptr %t39 %t40 = add i32 %t25, 1 store i32 %t40, ptr %t22 - %t41 = call i32 @fn_is_op(ptr @.str125) + %t41 = call i32 @fn_is_op(ptr @.str127) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then5, label %ifend7 then5: @@ -8228,11 +8643,11 @@ then5: ifend7: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str126) + call void @fn_eat_op(ptr @.str128) %t45 = load ptr, ptr %t3 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3 - store ptr @.str127, ptr %t46 - %t47 = call i32 @fn_is_op(ptr @.str128) + store ptr @.str129, ptr %t46 + %t47 = call i32 @fn_is_op(ptr @.str130) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then8, label %ifend10 then8: @@ -8325,7 +8740,7 @@ wend2: %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then6, label %ifend8 then6: - store ptr @.str129, ptr %retval + store ptr @.str131, ptr %retval br label %ret ifend8: %t27 = load ptr, ptr %t0 @@ -8461,7 +8876,7 @@ entry: store ptr null, ptr %t15 br label %wcond0 wcond0: - %t16 = call i32 @fn_is_op(ptr @.str130) + %t16 = call i32 @fn_is_op(ptr @.str132) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody1, label %wend2 wbody1: @@ -8471,7 +8886,7 @@ wbody1: %t20 = call ptr @fn_eat_id() store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str131) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str133) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then3, label %else4 then3: @@ -8479,7 +8894,7 @@ then3: br label %ifend5 else4: %t25 = load ptr, ptr %t21 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str132) + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str134) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %else7 then6: @@ -8487,18 +8902,18 @@ then6: br label %ifend8 else7: %t28 = load ptr, ptr %t21 - %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str133) + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str135) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %else10 then9: - call void @fn_eat_op(ptr @.str134) + call void @fn_eat_op(ptr @.str136) %t31 = call ptr @fn_eat_id() store ptr %t31, ptr %t9 - call void @fn_eat_op(ptr @.str135) + call void @fn_eat_op(ptr @.str137) br label %ifend11 else10: %t32 = load ptr, ptr %t21 - %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str136) + %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str138) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then12, label %else13 then12: @@ -8507,25 +8922,25 @@ then12: br label %ifend14 else13: %t36 = load ptr, ptr %t21 - %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str137) + %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str139) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then15, label %else16 then15: - call void @fn_eat_op(ptr @.str138) + call void @fn_eat_op(ptr @.str140) %t39 = call ptr @fn_eat_id() store ptr %t39, ptr %t2 - call void @fn_eat_op(ptr @.str139) + call void @fn_eat_op(ptr @.str141) br label %ifend17 else16: %t40 = load ptr, ptr %t21 - %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str140) + %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str142) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then18, label %else19 then18: - call void @fn_eat_op(ptr @.str141) + call void @fn_eat_op(ptr @.str143) %t43 = call ptr @fn_eat_id() store ptr %t43, ptr %t3 - %t44 = call i32 @fn_is_op(ptr @.str142) + %t44 = call i32 @fn_is_op(ptr @.str144) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then21, label %ifend23 then21: @@ -8533,76 +8948,76 @@ then21: %t47 = add i32 %t46, 1 store i32 %t47, ptr @g_pi %t48 = call ptr @fn_eat_id() - call void @fn_eat_op(ptr @.str143) + call void @fn_eat_op(ptr @.str145) %t49 = call ptr @fn_eat_id() store ptr %t49, ptr %t4 br label %ifend23 ifend23: - call void @fn_eat_op(ptr @.str144) + call void @fn_eat_op(ptr @.str146) br label %ifend20 else19: %t50 = load ptr, ptr %t21 - %t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str145) + %t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str147) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then24, label %else25 then24: - call void @fn_eat_op(ptr @.str146) + call void @fn_eat_op(ptr @.str148) %t53 = call ptr @fn_eat_id() store ptr %t53, ptr %t5 - call void @fn_eat_op(ptr @.str147) + call void @fn_eat_op(ptr @.str149) br label %ifend26 else25: %t54 = load ptr, ptr %t21 - %t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str148) + %t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str150) %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then27, label %else28 then27: - call void @fn_eat_op(ptr @.str149) + call void @fn_eat_op(ptr @.str151) %t57 = call ptr @fn_eat_id() store ptr %t57, ptr %t6 - call void @fn_eat_op(ptr @.str150) + call void @fn_eat_op(ptr @.str152) br label %ifend29 else28: %t58 = load ptr, ptr %t21 - %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str151) + %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str153) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then30, label %else31 then30: - call void @fn_eat_op(ptr @.str152) + call void @fn_eat_op(ptr @.str154) %t61 = call ptr @fn_eat_id() store ptr %t61, ptr %t7 - call void @fn_eat_op(ptr @.str153) + call void @fn_eat_op(ptr @.str155) br label %ifend32 else31: %t62 = load ptr, ptr %t21 - %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str154) + %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str156) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then33, label %else34 then33: - call void @fn_eat_op(ptr @.str155) + call void @fn_eat_op(ptr @.str157) %t65 = call ptr @fn_eat_id() store ptr %t65, ptr %t8 - call void @fn_eat_op(ptr @.str156) + call void @fn_eat_op(ptr @.str158) br label %ifend35 else34: %t66 = load ptr, ptr %t21 - %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str157) + %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str159) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then36, label %else37 then36: - store ptr @.str158, ptr %t11 + store ptr @.str160, ptr %t11 br label %ifend38 else37: %t69 = load ptr, ptr %t21 - %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str159) + %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str161) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then39, label %else40 then39: - store ptr @.str160, ptr %t11 + store ptr @.str162, ptr %t11 br label %ifend41 else40: %t72 = load ptr, ptr %t21 - %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str161) + %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str163) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then42, label %else43 then42: @@ -8610,7 +9025,7 @@ then42: br label %ifend44 else43: %t75 = load ptr, ptr %t21 - %t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str162) + %t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str164) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then45, label %else46 then45: @@ -8618,38 +9033,38 @@ then45: br label %ifend47 else46: %t78 = load ptr, ptr %t21 - %t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str163) + %t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str165) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then48, label %else49 then48: - store ptr @.str164, ptr %t14 + store ptr @.str166, ptr %t14 br label %ifend50 else49: %t81 = load ptr, ptr %t21 - %t82 = call i32 @fn_str_eq(ptr %t81, ptr @.str165) + %t82 = call i32 @fn_str_eq(ptr %t81, ptr @.str167) %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then51, label %else52 then51: - store ptr @.str166, ptr %t14 + store ptr @.str168, ptr %t14 br label %ifend53 else52: %t84 = load ptr, ptr %t21 - %t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str167) + %t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str169) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then54, label %else55 then54: - store ptr @.str168, ptr %t15 + store ptr @.str170, ptr %t15 br label %ifend56 else55: %t87 = load ptr, ptr %t21 - %t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str169) + %t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str171) %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then57, label %else58 then57: - store ptr @.str170, ptr %t15 + store ptr @.str172, ptr %t15 br label %ifend59 else58: - %t90 = call i32 @fn_is_op(ptr @.str171) + %t90 = call i32 @fn_is_op(ptr @.str173) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then60, label %ifend62 then60: @@ -8659,7 +9074,7 @@ wcond63: %t93 = icmp ne i32 1, 0 br i1 %t93, label %wbody64, label %wend65 wbody64: - %t94 = call i32 @fn_is_op(ptr @.str172) + %t94 = call i32 @fn_is_op(ptr @.str174) %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then66, label %ifend68 then66: @@ -8668,7 +9083,7 @@ then66: store i32 %t97, ptr %t92 br label %ifend68 ifend68: - %t98 = call i32 @fn_is_op(ptr @.str173) + %t98 = call i32 @fn_is_op(ptr @.str175) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then69, label %ifend71 then69: @@ -8731,7 +9146,7 @@ ifend5: call void @fn_skipnl() br label %wcond0 wend2: - %t108 = call i32 @fn_is_id(ptr @.str174) + %t108 = call i32 @fn_is_id(ptr @.str176) %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then75, label %ifend77 then75: @@ -8753,7 +9168,7 @@ then75: %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then78, label %ifend80 then78: - call void @fn_perr(ptr @.str175) + call void @fn_perr(ptr @.str177) br label %ifend80 ifend80: %t125 = load ptr, ptr %t118 @@ -8767,7 +9182,7 @@ ifend80: call void @fn_do_import(ptr %t131) br label %ret ifend77: - %t132 = call i32 @fn_is_id(ptr @.str176) + %t132 = call i32 @fn_is_id(ptr @.str178) %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then81, label %ifend83 then81: @@ -8801,7 +9216,7 @@ put85: store i32 %t153, ptr %t135 br label %ret ifend83: - %t154 = call i32 @fn_is_id(ptr @.str177) + %t154 = call i32 @fn_is_id(ptr @.str179) %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then86, label %ifend88 then86: @@ -8823,7 +9238,7 @@ ifend91: call void @fn_register_event(ptr %t165) br label %ret ifend88: - %t166 = call i32 @fn_is_id(ptr @.str178) + %t166 = call i32 @fn_is_id(ptr @.str180) %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then92, label %ifend94 then92: @@ -8894,7 +9309,7 @@ put102: store i32 %t212, ptr %t194 br label %ret ifend94: - %t213 = call i32 @fn_is_id(ptr @.str179) + %t213 = call i32 @fn_is_id(ptr @.str181) %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then103, label %ifend105 then103: @@ -8939,14 +9354,14 @@ put110: store i32 %t240, ptr %t222 br label %ret ifend105: - %t241 = call i32 @fn_is_id(ptr @.str180) + %t241 = call i32 @fn_is_id(ptr @.str182) %t242 = icmp ne i32 %t241, 0 br i1 %t242, label %then111, label %ifend113 then111: call void @fn_parse_scene() br label %ret ifend113: - %t243 = call i32 @fn_is_id(ptr @.str181) + %t243 = call i32 @fn_is_id(ptr @.str183) %t244 = icmp ne i32 %t243, 0 br i1 %t244, label %then114, label %ifend116 then114: @@ -8959,7 +9374,7 @@ then114: br i1 %t250, label %then117, label %ifend119 then117: %t251 = load ptr, ptr %t14 - %t252 = call i32 @fn_str_eq(ptr %t251, ptr @.str182) + %t252 = call i32 @fn_str_eq(ptr %t251, ptr @.str184) %t253 = icmp ne i32 %t252, 0 br i1 %t253, label %then120, label %else121 then120: @@ -9004,8 +9419,8 @@ then126: br i1 %t275, label %then129, label %ifend131 then129: %t276 = load ptr, ptr %t2 - %t277 = call ptr @fn_str_concat(ptr @.str183, ptr %t276) - %t278 = call ptr @fn_str_concat(ptr %t277, ptr @.str184) + %t277 = call ptr @fn_str_concat(ptr @.str185, ptr %t276) + %t278 = call ptr @fn_str_concat(ptr %t277, ptr @.str186) call void @fn_ensure_event(ptr %t278, i32 0) br label %ifend131 ifend131: @@ -9028,8 +9443,8 @@ then132: br i1 %t289, label %then135, label %ifend137 then135: %t290 = load ptr, ptr %t3 - %t291 = call ptr @fn_str_concat(ptr @.str185, ptr %t290) - %t292 = call ptr @fn_str_concat(ptr %t291, ptr @.str186) + %t291 = call ptr @fn_str_concat(ptr @.str187, ptr %t290) + %t292 = call ptr @fn_str_concat(ptr %t291, ptr @.str188) call void @fn_ensure_event(ptr %t292, i32 1) br label %ifend137 ifend137: @@ -9051,8 +9466,8 @@ then138: br i1 %t302, label %then141, label %ifend143 then141: %t303 = load ptr, ptr %t5 - %t304 = call ptr @fn_str_concat(ptr @.str187, ptr %t303) - %t305 = call ptr @fn_str_concat(ptr %t304, ptr @.str188) + %t304 = call ptr @fn_str_concat(ptr @.str189, ptr %t303) + %t305 = call ptr @fn_str_concat(ptr %t304, ptr @.str190) call void @fn_ensure_event(ptr %t305, i32 0) br label %ifend143 ifend143: @@ -9074,8 +9489,8 @@ then144: br i1 %t315, label %then147, label %ifend149 then147: %t316 = load ptr, ptr %t6 - %t317 = call ptr @fn_str_concat(ptr @.str189, ptr %t316) - %t318 = call ptr @fn_str_concat(ptr %t317, ptr @.str190) + %t317 = call ptr @fn_str_concat(ptr @.str191, ptr %t316) + %t318 = call ptr @fn_str_concat(ptr %t317, ptr @.str192) call void @fn_ensure_event(ptr %t318, i32 0) br label %ifend149 ifend149: @@ -9097,8 +9512,8 @@ then150: br i1 %t328, label %then153, label %ifend155 then153: %t329 = load ptr, ptr %t7 - %t330 = call ptr @fn_str_concat(ptr @.str191, ptr %t329) - %t331 = call ptr @fn_str_concat(ptr %t330, ptr @.str192) + %t330 = call ptr @fn_str_concat(ptr @.str193, ptr %t329) + %t331 = call ptr @fn_str_concat(ptr %t330, ptr @.str194) call void @fn_ensure_event(ptr %t331, i32 0) br label %ifend155 ifend155: @@ -9120,8 +9535,8 @@ then156: br i1 %t341, label %then159, label %ifend161 then159: %t342 = load ptr, ptr %t8 - %t343 = call ptr @fn_str_concat(ptr @.str193, ptr %t342) - %t344 = call ptr @fn_str_concat(ptr %t343, ptr @.str194) + %t343 = call ptr @fn_str_concat(ptr @.str195, ptr %t342) + %t344 = call ptr @fn_str_concat(ptr %t343, ptr @.str196) call void @fn_ensure_event(ptr %t344, i32 0) br label %ifend161 ifend161: @@ -9142,14 +9557,14 @@ then162: br i1 %t353, label %then165, label %ifend167 then165: %t354 = load ptr, ptr %t11 - %t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str195) + %t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str197) %t356 = icmp ne i32 %t355, 0 br i1 %t356, label %then168, label %else169 then168: - call void @fn_ensure_event_empty(ptr @.str196) + call void @fn_ensure_event_empty(ptr @.str198) br label %ifend170 else169: - call void @fn_ensure_event_empty(ptr @.str197) + call void @fn_ensure_event_empty(ptr @.str199) br label %ifend170 ifend170: br label %ifend167 @@ -9236,7 +9651,7 @@ put177: store i32 %t412, ptr %t394 br label %ret ifend116: - %t413 = call i32 @fn_is_id(ptr @.str198) + %t413 = call i32 @fn_is_id(ptr @.str200) %t414 = icmp ne i32 %t413, 0 br i1 %t414, label %then178, label %ifend180 then178: @@ -9270,7 +9685,7 @@ put182: store i32 %t434, ptr %t416 br label %ret ifend180: - %t435 = call i32 @fn_is_id(ptr @.str199) + %t435 = call i32 @fn_is_id(ptr @.str201) %t436 = icmp ne i32 %t435, 0 br i1 %t436, label %then183, label %ifend185 then183: @@ -9304,7 +9719,7 @@ put187: store i32 %t456, ptr %t438 br label %ret ifend185: - %t457 = call i32 @fn_is_id(ptr @.str200) + %t457 = call i32 @fn_is_id(ptr @.str202) %t458 = icmp ne i32 %t457, 0 br i1 %t458, label %then188, label %ifend190 then188: @@ -9338,7 +9753,7 @@ put192: store i32 %t478, ptr %t460 br label %ret ifend190: - %t479 = call i32 @fn_is_id(ptr @.str201) + %t479 = call i32 @fn_is_id(ptr @.str203) %t480 = icmp ne i32 %t479, 0 br i1 %t480, label %then193, label %ifend195 then193: @@ -9383,7 +9798,7 @@ put200: store i32 %t506, ptr %t488 br label %ret ifend195: - %t507 = call i32 @fn_is_id(ptr @.str202) + %t507 = call i32 @fn_is_id(ptr @.str204) %t508 = icmp ne i32 %t507, 0 br i1 %t508, label %then201, label %ifend203 then201: @@ -9417,7 +9832,7 @@ put205: store i32 %t528, ptr %t510 br label %ret ifend203: - %t529 = call i32 @fn_is_id(ptr @.str203) + %t529 = call i32 @fn_is_id(ptr @.str205) %t530 = icmp ne i32 %t529, 0 br i1 %t530, label %then206, label %ifend208 then206: @@ -9451,7 +9866,7 @@ put210: store i32 %t550, ptr %t532 br label %ret ifend208: - call void @fn_perr(ptr @.str204) + call void @fn_perr(ptr @.str206) br label %ret ret: ret void @@ -9515,7 +9930,7 @@ put4: br i1 %t34, label %then5, label %ifend7 then5: %t35 = load ptr, ptr %t4 - %t36 = call ptr @fn_str_concat(ptr @.str205, ptr %t35) + %t36 = call ptr @fn_str_concat(ptr @.str207, ptr %t35) call void @fn_perr(ptr %t36) br label %ifend7 ifend7: @@ -9575,8 +9990,8 @@ then0: ifend2: %t4 = load ptr, ptr @g_cur_dir store ptr %t4, ptr %t5 - store ptr @.str206, ptr @g_cur_dir - call void @fn_do_import(ptr @.str207) + store ptr @.str208, ptr @g_cur_dir + call void @fn_do_import(ptr @.str209) %t6 = load ptr, ptr %t5 store ptr %t6, ptr @g_cur_dir br label %ret @@ -9723,10 +10138,10 @@ entry: store i32 0, ptr %t77 store ptr %t74, ptr @g_loaded_paths call void @fn_skipnl() - store ptr @.str208, ptr @g_g_game_name + store ptr @.str210, ptr @g_g_game_name br label %wcond0 wcond0: - %t78 = call i32 @fn_is_id(ptr @.str209) + %t78 = call i32 @fn_is_id(ptr @.str211) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %wbody1, label %wend2 wbody1: @@ -9754,7 +10169,7 @@ wbody1: wend2: br label %wcond3 wcond3: - %t96 = call i32 @fn_is_op(ptr @.str210) + %t96 = call i32 @fn_is_op(ptr @.str212) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %wbody4, label %wend5 wbody4: @@ -9763,7 +10178,7 @@ wbody4: store i32 %t99, ptr @g_pi %t100 = call ptr @fn_eat_id() store ptr %t100, ptr %t101 - %t102 = call i32 @fn_is_op(ptr @.str211) + %t102 = call i32 @fn_is_op(ptr @.str213) %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then6, label %ifend8 then6: @@ -9773,7 +10188,7 @@ wcond9: %t105 = icmp ne i32 1, 0 br i1 %t105, label %wbody10, label %wend11 wbody10: - %t106 = call i32 @fn_is_op(ptr @.str212) + %t106 = call i32 @fn_is_op(ptr @.str214) %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then12, label %ifend14 then12: @@ -9782,7 +10197,7 @@ then12: store i32 %t109, ptr %t104 br label %ifend14 ifend14: - %t110 = call i32 @fn_is_op(ptr @.str213) + %t110 = call i32 @fn_is_op(ptr @.str215) %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then15, label %ifend17 then15: @@ -9809,7 +10224,7 @@ ifend8: call void @fn_skipnl() br label %wcond3 wend5: - %t120 = call i32 @fn_is_id(ptr @.str214) + %t120 = call i32 @fn_is_id(ptr @.str216) %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then21, label %ifend23 then21: @@ -9819,7 +10234,7 @@ then21: %t124 = call ptr @fn_eat_id() store ptr %t124, ptr @g_g_game_name call void @fn_skipnl() - call void @fn_eat_op(ptr @.str215) + call void @fn_eat_op(ptr @.str217) br label %ifend23 ifend23: br label %wcond24 @@ -9843,7 +10258,7 @@ wbody25: then27: br label %wend26 ifend29: - %t137 = call i32 @fn_is_op(ptr @.str216) + %t137 = call i32 @fn_is_op(ptr @.str218) %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then30, label %ifend32 then30: @@ -9875,14 +10290,14 @@ entry: %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str217) + call void @fn_eat_op(ptr @.str219) 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 @.str218) + %t8 = call i32 @fn_is_op(ptr @.str220) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: @@ -9890,7 +10305,7 @@ then3: ifend5: store i32 0, ptr %t10 store i32 0, ptr %t11 - %t12 = call i32 @fn_is_op(ptr @.str219) + %t12 = call i32 @fn_is_op(ptr @.str221) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: @@ -9900,7 +10315,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 @.str220) + %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str222) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then9, label %else10 then9: @@ -9908,7 +10323,7 @@ then9: br label %ifend11 else10: %t21 = load ptr, ptr %t17 - %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str221) + %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str223) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then12, label %ifend14 then12: @@ -9926,12 +10341,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 @.str222) + call void @fn_eat_op(ptr @.str224) %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 @.str223) + %t32 = call i32 @fn_is_op(ptr @.str225) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then15, label %ifend17 then15: @@ -10004,7 +10419,7 @@ put25: store i32 %t78, ptr %t60 br label %ifend23 ifend23: - %t79 = call i32 @fn_is_op(ptr @.str224) + %t79 = call i32 @fn_is_op(ptr @.str226) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then26, label %ifend28 then26: @@ -10015,7 +10430,7 @@ then26: ifend28: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str225) + call void @fn_eat_op(ptr @.str227) %t83 = load ptr, ptr %t3 store ptr %t83, ptr %retval br label %ret @@ -10034,7 +10449,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 @.str226) + %t4 = call i32 @fn_is_id(ptr @.str228) %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: @@ -10051,14 +10466,14 @@ ifend2: %t12 = call ptr @fn_eat_id() store ptr %t12, ptr %t11 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str227) + call void @fn_eat_op(ptr @.str229) 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 @.str228) + %t14 = call i32 @fn_is_op(ptr @.str230) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %ifend8 then6: @@ -10070,12 +10485,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 @.str229) + call void @fn_eat_op(ptr @.str231) %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 @.str230) + %t24 = call i32 @fn_is_op(ptr @.str232) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then9, label %ifend11 then9: @@ -10118,7 +10533,7 @@ put13: store ptr %t49, ptr %t51 %t52 = add i32 %t37, 1 store i32 %t52, ptr %t34 - %t53 = call i32 @fn_is_op(ptr @.str231) + %t53 = call i32 @fn_is_op(ptr @.str233) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then14, label %ifend16 then14: @@ -10129,7 +10544,7 @@ then14: ifend16: br label %wcond3 wend5: - call void @fn_eat_op(ptr @.str232) + call void @fn_eat_op(ptr @.str234) %t57 = load ptr, ptr %t3 store ptr %t57, ptr %retval br label %ret @@ -10155,14 +10570,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 @.str233, ptr %t8 + store ptr @.str235, 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 @.str234) + %t10 = call i32 @fn_is_op(ptr @.str236) %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: @@ -10171,7 +10586,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 @.str235) + %t16 = call i32 @fn_is_op(ptr @.str237) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then6, label %ifend8 then6: @@ -10181,7 +10596,7 @@ wcond9: %t19 = icmp ne i32 1, 0 br i1 %t19, label %wbody10, label %wend11 wbody10: - %t20 = call i32 @fn_is_op(ptr @.str236) + %t20 = call i32 @fn_is_op(ptr @.str238) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then12, label %ifend14 then12: @@ -10190,7 +10605,7 @@ then12: store i32 %t23, ptr %t18 br label %ifend14 ifend14: - %t24 = call i32 @fn_is_op(ptr @.str237) + %t24 = call i32 @fn_is_op(ptr @.str239) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then15, label %ifend17 then15: @@ -10216,7 +10631,7 @@ wend11: ifend8: br label %wcond0 ifend5: - %t34 = call i32 @fn_is_id(ptr @.str238) + %t34 = call i32 @fn_is_id(ptr @.str240) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then21, label %ifend23 then21: @@ -10250,18 +10665,18 @@ entry: %t1 = alloca ptr %t11 = alloca ptr %t40 = alloca ptr - call void @fn_eat_op(ptr @.str239) + call void @fn_eat_op(ptr @.str241) %t0 = call ptr @fn_node(i32 7) store ptr %t0, ptr %t1 br label %wcond0 wcond0: - %t2 = call i32 @fn_is_op(ptr @.str240) + %t2 = call i32 @fn_is_op(ptr @.str242) %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 @.str241) + %t6 = call i32 @fn_is_op(ptr @.str243) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then3, label %else4 then3: @@ -10307,7 +10722,7 @@ put7: store ptr %t35, ptr %t37 %t38 = add i32 %t23, 1 store i32 %t38, ptr %t20 - call void @fn_eat_op(ptr @.str242) + call void @fn_eat_op(ptr @.str244) br label %ifend5 else4: %t39 = call ptr @fn_node(i32 33) @@ -10351,7 +10766,7 @@ put9: store i32 %t67, ptr %t49 br label %ifend5 ifend5: - %t68 = call i32 @fn_is_op(ptr @.str243) + %t68 = call i32 @fn_is_op(ptr @.str245) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then10, label %ifend12 then10: @@ -10362,8 +10777,8 @@ then10: ifend12: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str244) - %t72 = call i32 @fn_is_id(ptr @.str245) + call void @fn_eat_op(ptr @.str246) + %t72 = call i32 @fn_is_id(ptr @.str247) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then13, label %ifend15 then13: @@ -10392,10 +10807,10 @@ entry: %t38 = alloca ptr %t0 = call ptr @fn_node(i32 21) store ptr %t0, ptr %t1 - call void @fn_eat_op(ptr @.str246) + call void @fn_eat_op(ptr @.str248) br label %wcond0 wcond0: - %t2 = call i32 @fn_is_op(ptr @.str247) + %t2 = call i32 @fn_is_op(ptr @.str249) %t3 = icmp eq i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 @@ -10437,7 +10852,7 @@ put4: store ptr %t29, ptr %t31 %t32 = add i32 %t17, 1 store i32 %t32, ptr %t14 - %t33 = call i32 @fn_is_op(ptr @.str248) + %t33 = call i32 @fn_is_op(ptr @.str250) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: @@ -10448,16 +10863,16 @@ then5: ifend7: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str249) + call void @fn_eat_op(ptr @.str251) %t37 = call ptr @fn_eat_id() store ptr %t37, ptr %t38 - %t39 = call i32 @fn_is_id(ptr @.str250) + %t39 = call i32 @fn_is_id(ptr @.str252) %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 @.str251) + call void @fn_perr(ptr @.str253) br label %ifend10 ifend10: %t43 = load i32, ptr @g_pi @@ -10509,7 +10924,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 @.str252, ptr %t10 + store ptr @.str254, ptr %t10 %t11 = load ptr, ptr %t8 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4 %t13 = load ptr, ptr %t0 @@ -10656,7 +11071,7 @@ entry: %t85 = alloca ptr %t102 = alloca ptr %t104 = alloca ptr - call void @fn_eat_op(ptr @.str253) + call void @fn_eat_op(ptr @.str255) %t0 = call ptr @fn_node(i32 21) store ptr %t0, ptr %t1 %t2 = call ptr @fn_node(i32 7) @@ -10664,14 +11079,14 @@ entry: store ptr null, ptr %t4 br label %wcond0 wcond0: - %t5 = call i32 @fn_is_op(ptr @.str254) + %t5 = call i32 @fn_is_op(ptr @.str256) %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 @.str255) + %t9 = call i32 @fn_is_op(ptr @.str257) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: @@ -10679,17 +11094,17 @@ then3: ifend5: %t11 = call ptr @fn_eat_id() store ptr %t11, ptr %t12 - call void @fn_eat_op(ptr @.str256) + call void @fn_eat_op(ptr @.str258) %t13 = load ptr, ptr %t12 - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str257) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str259) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %else7 then6: - call void @fn_eat_op(ptr @.str258) + call void @fn_eat_op(ptr @.str260) call void @fn_skipnl() br label %wcond9 wcond9: - %t16 = call i32 @fn_is_op(ptr @.str259) + %t16 = call i32 @fn_is_op(ptr @.str261) %t17 = icmp eq i32 %t16, 0 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 @@ -10772,7 +11187,7 @@ put15: store ptr %t74, ptr %t76 %t77 = add i32 %t62, 1 store i32 %t77, ptr %t59 - %t78 = call i32 @fn_is_op(ptr @.str260) + %t78 = call i32 @fn_is_op(ptr @.str262) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then16, label %ifend18 then16: @@ -10781,7 +11196,7 @@ then16: store i32 %t81, ptr @g_pi %t82 = call ptr @fn_expr() store ptr %t82, ptr %t83 - call void @fn_eat_op(ptr @.str261) + call void @fn_eat_op(ptr @.str263) %t84 = call ptr @fn_node(i32 33) store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t85 @@ -10796,7 +11211,7 @@ then16: store ptr %t93, ptr %t4 br label %ifend18 ifend18: - %t94 = call i32 @fn_is_op(ptr @.str262) + %t94 = call i32 @fn_is_op(ptr @.str264) %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then19, label %ifend21 then19: @@ -10808,11 +11223,11 @@ ifend21: call void @fn_skipnl() br label %wcond9 wend11: - call void @fn_eat_op(ptr @.str263) + call void @fn_eat_op(ptr @.str265) br label %ifend8 else7: %t98 = load ptr, ptr %t12 - %t99 = call i32 @fn_str_eq(ptr %t98, ptr @.str264) + %t99 = call i32 @fn_str_eq(ptr %t98, ptr @.str266) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then22, label %else23 then22: @@ -10864,7 +11279,7 @@ else23: ifend24: br label %ifend8 ifend8: - %t133 = call i32 @fn_is_op(ptr @.str265) + %t133 = call i32 @fn_is_op(ptr @.str267) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then27, label %ifend29 then27: @@ -10876,7 +11291,7 @@ ifend29: call void @fn_skipnl() br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str266) + call void @fn_eat_op(ptr @.str268) %t137 = load ptr, ptr %t1 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 6 %t139 = load ptr, ptr %t3 @@ -10908,14 +11323,14 @@ entry: %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str267) + call void @fn_eat_op(ptr @.str269) 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 @.str268) + %t8 = call i32 @fn_is_op(ptr @.str270) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: @@ -10961,7 +11376,7 @@ put7: store ptr %t36, ptr %t38 %t39 = add i32 %t24, 1 store i32 %t39, ptr %t21 - %t40 = call i32 @fn_is_op(ptr @.str269) + %t40 = call i32 @fn_is_op(ptr @.str271) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then8, label %ifend10 then8: @@ -10972,7 +11387,7 @@ then8: ifend10: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str270) + call void @fn_eat_op(ptr @.str272) %t44 = load ptr, ptr %t3 store ptr %t44, ptr %retval br label %ret @@ -11006,13 +11421,13 @@ entry: store i32 0, ptr %t10 br label %wcond0 wcond0: - %t12 = call i32 @fn_is_id(ptr @.str271) + %t12 = call i32 @fn_is_id(ptr @.str273) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t11 br i1 %t13, label %scend4, label %sc3 sc3: - %t15 = call i32 @fn_is_id(ptr @.str272) + %t15 = call i32 @fn_is_id(ptr @.str274) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t11 @@ -11022,7 +11437,7 @@ scend4: %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %wbody1, label %wend2 wbody1: - %t20 = call i32 @fn_is_id(ptr @.str273) + %t20 = call i32 @fn_is_id(ptr @.str275) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %else6 then5: @@ -11051,32 +11466,32 @@ then8: %t31 = load ptr, ptr %t3 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 - %t34 = call ptr @fn_str_concat(ptr @.str274, ptr %t33) - %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str275) + %t34 = call ptr @fn_str_concat(ptr @.str276, ptr %t33) + %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str277) call void @fn_ensure_event_empty(ptr %t35) %t36 = load ptr, ptr %t3 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 - %t39 = call ptr @fn_str_concat(ptr @.str276, ptr %t38) - %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str277) + %t39 = call ptr @fn_str_concat(ptr @.str278, ptr %t38) + %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str279) call void @fn_ensure_event_empty(ptr %t40) br label %ifend10 ifend10: call void @fn_skipnl() - call void @fn_eat_op(ptr @.str278) + call void @fn_eat_op(ptr @.str280) br label %wcond11 wcond11: %t41 = icmp ne i32 1, 0 br i1 %t41, label %wbody12, label %wend13 wbody12: call void @fn_skipnl() - %t42 = call i32 @fn_is_op(ptr @.str279) + %t42 = call i32 @fn_is_op(ptr @.str281) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then14, label %ifend16 then14: br label %wend13 ifend16: - %t44 = call i32 @fn_is_id(ptr @.str280) + %t44 = call i32 @fn_is_id(ptr @.str282) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then17, label %ifend19 then17: @@ -11087,7 +11502,7 @@ then17: store ptr %t48, ptr %t49 call void @fn_skipnl() %t50 = load ptr, ptr %t49 - %t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str281) + %t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str283) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then20, label %else21 then20: @@ -11098,7 +11513,7 @@ then20: br label %ifend22 else21: %t56 = load ptr, ptr %t49 - %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str282) + %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str284) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then23, label %else24 then23: @@ -11108,14 +11523,14 @@ then23: store ptr %t61, ptr %t60 br label %ifend25 else24: - call void @fn_perr(ptr @.str283) + call void @fn_perr(ptr @.str285) br label %ifend25 ifend25: br label %ifend22 ifend22: br label %wcond11 ifend19: - %t62 = call i32 @fn_is_id(ptr @.str284) + %t62 = call i32 @fn_is_id(ptr @.str286) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then26, label %ifend28 then26: @@ -11124,7 +11539,7 @@ then26: store i32 %t65, ptr @g_pi %t66 = call ptr @fn_eat_id() store ptr %t66, ptr %t67 - %t68 = call i32 @fn_is_id(ptr @.str285) + %t68 = call i32 @fn_is_id(ptr @.str287) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then29, label %ifend31 then29: @@ -11132,17 +11547,17 @@ then29: %t71 = add i32 %t70, 1 store i32 %t71, ptr @g_pi %t72 = load ptr, ptr %t67 - %t73 = call ptr @fn_str_concat(ptr @.str286, ptr %t72) - %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str287) + %t73 = call ptr @fn_str_concat(ptr @.str288, ptr %t72) + %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str289) call void @fn_ensure_event_empty(ptr %t74) %t75 = load ptr, ptr %t67 - %t76 = call ptr @fn_str_concat(ptr @.str288, ptr %t75) - %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str289) + %t76 = call ptr @fn_str_concat(ptr @.str290, ptr %t75) + %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str291) call void @fn_ensure_event_empty(ptr %t77) br label %ifend31 ifend31: call void @fn_skipnl() - call void @fn_eat_op(ptr @.str290) + call void @fn_eat_op(ptr @.str292) %t78 = call ptr @fn_node(i32 33) store ptr %t78, ptr %t79 %t80 = load ptr, ptr %t79 @@ -11155,19 +11570,19 @@ wcond32: br i1 %t83, label %wbody33, label %wend34 wbody33: call void @fn_skipnl() - %t84 = call i32 @fn_is_op(ptr @.str291) + %t84 = call i32 @fn_is_op(ptr @.str293) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then35, label %ifend37 then35: br label %wend34 ifend37: - %t86 = call i32 @fn_is_id(ptr @.str292) + %t86 = call i32 @fn_is_id(ptr @.str294) %t87 = icmp eq i32 %t86, 0 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then38, label %ifend40 then38: - call void @fn_perr(ptr @.str293) + call void @fn_perr(ptr @.str295) br label %ifend40 ifend40: %t90 = call ptr @fn_parse_system() @@ -11211,13 +11626,13 @@ put42: call void @fn_skipnl() br label %wcond32 wend34: - call void @fn_eat_op(ptr @.str294) + call void @fn_eat_op(ptr @.str296) br label %wcond11 ifend28: - call void @fn_perr(ptr @.str295) + call void @fn_perr(ptr @.str297) br label %wcond11 wend13: - call void @fn_eat_op(ptr @.str296) + call void @fn_eat_op(ptr @.str298) %t118 = load ptr, ptr @g_g_scenes %t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t120 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 2 @@ -11266,14 +11681,14 @@ entry: %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str297) + call void @fn_eat_op(ptr @.str299) 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 @.str298) + %t8 = call i32 @fn_is_op(ptr @.str300) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: @@ -11315,7 +11730,7 @@ put7: store ptr %t33, ptr %t35 %t36 = add i32 %t21, 1 store i32 %t36, ptr %t18 - %t37 = call i32 @fn_is_op(ptr @.str299) + %t37 = call i32 @fn_is_op(ptr @.str301) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then8, label %ifend10 then8: @@ -11327,7 +11742,7 @@ ifend10: call void @fn_skipnl() br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str300) + call void @fn_eat_op(ptr @.str302) %t41 = load ptr, ptr %t3 store ptr %t41, ptr %retval br label %ret @@ -11352,14 +11767,14 @@ entry: %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str301) + call void @fn_eat_op(ptr @.str303) 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 @.str302) + %t8 = call i32 @fn_is_op(ptr @.str304) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: @@ -11367,7 +11782,7 @@ then3: ifend5: %t10 = call ptr @fn_node(i32 33) store ptr %t10, ptr %t11 - %t12 = call i32 @fn_is_op(ptr @.str303) + %t12 = call i32 @fn_is_op(ptr @.str305) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: @@ -11377,7 +11792,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 @.str304) + %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str306) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then9, label %ifend11 then9: @@ -11423,7 +11838,7 @@ put13: store ptr %t44, ptr %t46 %t47 = add i32 %t32, 1 store i32 %t47, ptr %t29 - %t48 = call i32 @fn_is_op(ptr @.str305) + %t48 = call i32 @fn_is_op(ptr @.str307) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then14, label %ifend16 then14: @@ -11435,7 +11850,7 @@ ifend16: call void @fn_skipnl() br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str306) + call void @fn_eat_op(ptr @.str308) %t52 = load ptr, ptr %t3 store ptr %t52, ptr %retval br label %ret @@ -11462,10 +11877,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 @.str307) + call void @fn_eat_op(ptr @.str309) br label %wcond0 wcond0: - %t9 = call i32 @fn_is_op(ptr @.str308) + %t9 = call i32 @fn_is_op(ptr @.str310) %t10 = icmp eq i32 %t9, 0 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 @@ -11477,7 +11892,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 @.str309) + call void @fn_eat_op(ptr @.str311) %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 3 %t20 = call ptr @fn_ptype() @@ -11512,7 +11927,7 @@ put4: store ptr %t39, ptr %t41 %t42 = add i32 %t27, 1 store i32 %t42, ptr %t24 - %t43 = call i32 @fn_is_op(ptr @.str310) + %t43 = call i32 @fn_is_op(ptr @.str312) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then5, label %ifend7 then5: @@ -11523,11 +11938,11 @@ then5: ifend7: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str311) + call void @fn_eat_op(ptr @.str313) %t47 = load ptr, ptr %t5 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 - store ptr @.str312, ptr %t48 - %t49 = call i32 @fn_is_op(ptr @.str313) + store ptr @.str314, ptr %t48 + %t49 = call i32 @fn_is_op(ptr @.str315) %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then8, label %ifend10 then8: @@ -11540,7 +11955,7 @@ then8: store ptr %t55, ptr %t54 br label %ifend10 ifend10: - call void @fn_eat_op(ptr @.str314) + call void @fn_eat_op(ptr @.str316) %t56 = load ptr, ptr @g_toks %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t58 = load ptr, ptr %t57 @@ -11636,7 +12051,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 @.str315) + %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str317) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t8 @@ -11652,7 +12067,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 @.str316) + call void @fn_eat_op(ptr @.str318) %t57 = load ptr, ptr %t53 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4 %t59 = call ptr @fn_expr() @@ -11692,7 +12107,7 @@ put8: br label %wcond0 wend2: call void @fn_skipnl() - %t84 = call i32 @fn_is_op(ptr @.str317) + %t84 = call i32 @fn_is_op(ptr @.str319) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then9, label %ifend11 then9: @@ -11705,7 +12120,7 @@ wcond12: br i1 %t88, label %wbody13, label %wend14 wbody13: call void @fn_skipnl() - %t89 = call i32 @fn_is_op(ptr @.str318) + %t89 = call i32 @fn_is_op(ptr @.str320) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then15, label %ifend17 then15: @@ -11743,7 +12158,7 @@ put19: store i32 %t112, ptr %t94 br label %wcond12 wend14: - call void @fn_eat_op(ptr @.str319) + call void @fn_eat_op(ptr @.str321) br label %ifend11 ifend11: %t113 = load ptr, ptr %t1 @@ -11771,14 +12186,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 @.str320) + call void @fn_eat_op(ptr @.str322) 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 @.str321) + call void @fn_eat_op(ptr @.str323) %t12 = load ptr, ptr %t3 store ptr %t12, ptr %retval br label %ret @@ -11903,23 +12318,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 @.str322, ptr %t2) + %t3 = call ptr @fn_str_concat(ptr @.str324, 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 @.str323) + call void @fn_buf_puts(ptr %t7, ptr @.str325) %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 @.str324) + call void @fn_buf_puts(ptr %t10, ptr @.str326) %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 @.str325) + call void @fn_buf_puts(ptr %t13, ptr @.str327) %t14 = load ptr, ptr %t4 store ptr %t14, ptr %retval br label %ret @@ -11934,7 +12349,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 @.str326, ptr %t1) + %t2 = call ptr @fn_str_concat(ptr @.str328, ptr %t1) store ptr %t2, ptr %t3 %t4 = load i32, ptr @g_ll_t %t5 = add i32 %t4, 1 @@ -11980,14 +12395,14 @@ entry: %t32 = alloca i32 store ptr %arg_t, ptr %t0 %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str327) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str329) %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 @.str328) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str330) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -12000,7 +12415,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str329) + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str331) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -12013,7 +12428,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str330) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str332) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -12023,26 +12438,26 @@ scend5: %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: - store ptr @.str331, ptr %retval + store ptr @.str333, ptr %retval br label %ret ifend8: %t28 = load ptr, ptr %t0 - %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str332) + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str334) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %ifend11 then9: - store ptr @.str333, ptr %retval + store ptr @.str335, ptr %retval br label %ret ifend11: %t33 = load ptr, ptr %t0 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str334) + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str336) %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 @.str335) + %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str337) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t32 @@ -12055,7 +12470,7 @@ scend13: br i1 %t42, label %scend15, label %sc14 sc14: %t44 = load ptr, ptr %t0 - %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str336) + %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str338) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t31 @@ -12065,18 +12480,18 @@ scend15: %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then16, label %ifend18 then16: - store ptr @.str337, ptr %retval + store ptr @.str339, ptr %retval br label %ret ifend18: %t50 = load ptr, ptr %t0 - %t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str338) + %t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str340) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then19, label %ifend21 then19: - store ptr @.str339, ptr %retval + store ptr @.str341, ptr %retval br label %ret ifend21: - store ptr @.str340, ptr %retval + store ptr @.str342, ptr %retval br label %ret ret: %t53 = load ptr, ptr %retval @@ -12290,7 +12705,7 @@ entry: %t0 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call ptr @fn_str_concat(ptr @.str341, ptr %t1) + %t2 = call ptr @fn_str_concat(ptr @.str343, ptr %t1) store ptr %t2, ptr %retval br label %ret ret: @@ -12407,7 +12822,7 @@ ifend5: store i32 %t36, ptr %t2 br label %wcond0 wend2: - store ptr @.str342, ptr %retval + store ptr @.str344, ptr %retval br label %ret ret: %t37 = load ptr, ptr %retval @@ -12610,12 +13025,12 @@ ifend7: br label %wcond0 wend2: %t62 = load ptr, ptr %t0 - %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str343) + %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str345) %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 @.str344) + %t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str346) %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then17, label %ifend19 then17: @@ -12623,7 +13038,7 @@ then17: br label %ret ifend19: %t68 = load ptr, ptr %t1 - %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str345) + %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str347) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then20, label %ifend22 then20: @@ -12631,7 +13046,7 @@ then20: br label %ret ifend22: %t71 = load ptr, ptr %t1 - %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str346) + %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str348) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then23, label %ifend25 then23: @@ -12798,7 +13213,7 @@ 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 @.str347) + %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str349) %t10 = load ptr, ptr %t1 %t11 = call ptr @fn_str_concat(ptr %t9, ptr %t10) store ptr %t11, ptr %t7 @@ -12862,7 +13277,7 @@ then0: br label %ret ifend2: %t6 = load ptr, ptr %t0 - %t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str348) + %t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str350) %t8 = load ptr, ptr %t1 %t9 = call ptr @fn_str_concat(ptr %t7, ptr %t8) store ptr %t9, ptr %t10 @@ -13754,10 +14169,10 @@ ifend2: store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 - store ptr @.str349, ptr %t15 + store ptr @.str351, ptr %t15 %t16 = load ptr, ptr %t13 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 - store ptr @.str350, ptr %t17 + store ptr @.str352, ptr %t17 %t18 = load ptr, ptr %t8 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 @@ -13796,10 +14211,10 @@ then5: store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 - store ptr @.str351, ptr %t45 + store ptr @.str353, ptr %t45 %t46 = load ptr, ptr %t43 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 - store ptr @.str352, ptr %t47 + store ptr @.str354, ptr %t47 %t48 = load ptr, ptr %t8 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 %t50 = load ptr, ptr %t49 @@ -14278,7 +14693,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 @.str353, ptr %t2) + %t3 = call ptr @fn_str_concat(ptr @.str355, ptr %t2) store ptr %t3, ptr %t4 %t5 = load i32, ptr @g_ll_str %t6 = add i32 %t5, 1 @@ -14289,12 +14704,12 @@ entry: store i32 %t9, ptr %t10 %t11 = load ptr, ptr %t4 call void @fn_emith(ptr %t11) - call void @fn_emith(ptr @.str354) + call void @fn_emith(ptr @.str356) %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 @.str355) + call void @fn_emith(ptr @.str357) store i32 0, ptr %t15 br label %wcond0 wcond0: @@ -14383,7 +14798,7 @@ ifend11: store i32 %t70, ptr %t15 br label %wcond0 wend2: - call void @fn_emith(ptr @.str356) + call void @fn_emith(ptr @.str358) %t71 = load ptr, ptr %t4 store ptr %t71, ptr %retval br label %ret @@ -14414,14 +14829,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 @.str357) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str359) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: - store ptr @.str358, ptr %retval + store ptr @.str360, ptr %retval br label %ret ifend5: - store ptr @.str359, ptr %retval + store ptr @.str361, ptr %retval br label %ret ifend2: %t13 = load ptr, ptr %t0 @@ -14488,7 +14903,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 @.str360) + %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str362) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t50 @@ -14522,7 +14937,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 @.str361, ptr %t83) + %t84 = call ptr @fn_str_concat(ptr @.str363, ptr %t83) store ptr %t84, ptr %retval br label %ret ifend19: @@ -14530,14 +14945,14 @@ ifend19: %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 3 %t87 = load ptr, ptr %t86 %t88 = call ptr @fn_llty(ptr %t87) - %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str362) + %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str364) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then20, label %ifend22 then20: - store ptr @.str363, ptr %retval + store ptr @.str365, ptr %retval br label %ret ifend22: - store ptr @.str364, ptr %retval + store ptr @.str366, ptr %retval br label %ret ret: %t91 = load ptr, ptr %retval @@ -14550,8 +14965,6 @@ entry: %t20 = alloca ptr %t39 = alloca i32 %t81 = alloca ptr - call void @fn_emith(ptr @.str365) - call void @fn_emith(ptr @.str366) call void @fn_emith(ptr @.str367) call void @fn_emith(ptr @.str368) call void @fn_emith(ptr @.str369) @@ -14582,17 +14995,19 @@ entry: call void @fn_emith(ptr @.str394) call void @fn_emith(ptr @.str395) call void @fn_emith(ptr @.str396) + call void @fn_emith(ptr @.str397) + call void @fn_emith(ptr @.str398) %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 @.str397) + call void @fn_emith(ptr @.str399) %t5 = load ptr, ptr @g_g_game_name call void @fn_emith(ptr %t5) - call void @fn_emith(ptr @.str398) - call void @fn_emith(ptr @.str399) + call void @fn_emith(ptr @.str400) + call void @fn_emith(ptr @.str401) store i32 0, ptr %t6 br label %wcond0 wcond0: @@ -14625,7 +15040,7 @@ then3: %t29 = load ptr, ptr %t28 %t30 = call ptr @fn_layout_ty(ptr %t29) call void @fn_emith(ptr %t30) - call void @fn_emith(ptr @.str400) + call void @fn_emith(ptr @.str402) %t31 = load ptr, ptr %t20 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 %t33 = load ptr, ptr %t32 @@ -14636,7 +15051,7 @@ then3: %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then6, label %ifend8 then6: - call void @fn_emith(ptr @.str401) + call void @fn_emith(ptr @.str403) br label %ifend8 ifend8: store i32 0, ptr %t39 @@ -14659,7 +15074,7 @@ wbody10: %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then12, label %ifend14 then12: - call void @fn_emith(ptr @.str402) + call void @fn_emith(ptr @.str404) br label %ifend14 ifend14: %t53 = load ptr, ptr %t20 @@ -14679,7 +15094,7 @@ ifend14: store i32 %t65, ptr %t39 br label %wcond9 wend11: - call void @fn_emith(ptr @.str403) + call void @fn_emith(ptr @.str405) br label %ifend5 ifend5: %t66 = load i32, ptr %t6 @@ -14714,22 +15129,22 @@ wbody16: %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then18, label %ifend20 then18: - call void @fn_emith(ptr @.str404) + call void @fn_emith(ptr @.str406) %t88 = load ptr, ptr %t81 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1 %t90 = load ptr, ptr %t89 call void @fn_emith(ptr %t90) - call void @fn_emith(ptr @.str405) + call void @fn_emith(ptr @.str407) %t91 = load ptr, ptr %t81 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 3 %t93 = load ptr, ptr %t92 %t94 = call ptr @fn_llty(ptr %t93) call void @fn_emith(ptr %t94) - call void @fn_emith(ptr @.str406) + call void @fn_emith(ptr @.str408) %t95 = load ptr, ptr %t81 %t96 = call ptr @fn_global_init(ptr %t95) call void @fn_emith(ptr %t96) - call void @fn_emith(ptr @.str407) + call void @fn_emith(ptr @.str409) br label %ifend20 ifend20: %t97 = load i32, ptr %t6 @@ -14774,20 +15189,20 @@ wbody1: %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: - call void @fn_emith(ptr @.str408) + call void @fn_emith(ptr @.str410) %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 @.str409) + call void @fn_emith(ptr @.str411) %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 @.str410) + call void @fn_emith(ptr @.str412) store i32 0, ptr %t30 br label %wcond6 wcond6: @@ -14808,7 +15223,7 @@ wbody7: %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: - call void @fn_emith(ptr @.str411) + call void @fn_emith(ptr @.str413) br label %ifend11 ifend11: %t44 = load ptr, ptr %t14 @@ -14828,7 +15243,7 @@ ifend11: store i32 %t56, ptr %t30 br label %wcond6 wend8: - call void @fn_emith(ptr @.str412) + call void @fn_emith(ptr @.str414) br label %ifend5 ifend5: %t57 = load i32, ptr %t0 @@ -14843,8 +15258,6 @@ ret: define void @fn_emit_str_prelude() { entry: - call void @fn_emith(ptr @.str413) - call void @fn_emith(ptr @.str414) call void @fn_emith(ptr @.str415) call void @fn_emith(ptr @.str416) call void @fn_emith(ptr @.str417) @@ -14878,6 +15291,8 @@ entry: call void @fn_emith(ptr @.str445) call void @fn_emith(ptr @.str446) call void @fn_emith(ptr @.str447) + call void @fn_emith(ptr @.str448) + call void @fn_emith(ptr @.str449) br label %ret ret: ret void @@ -14885,8 +15300,6 @@ ret: define void @fn_emit_int_str() { entry: - call void @fn_emith(ptr @.str448) - call void @fn_emith(ptr @.str449) call void @fn_emith(ptr @.str450) call void @fn_emith(ptr @.str451) call void @fn_emith(ptr @.str452) @@ -14902,6 +15315,8 @@ entry: call void @fn_emith(ptr @.str462) call void @fn_emith(ptr @.str463) call void @fn_emith(ptr @.str464) + call void @fn_emith(ptr @.str465) + call void @fn_emith(ptr @.str466) br label %ret ret: ret void @@ -14909,14 +15324,14 @@ ret: define void @fn_emit_str_slice() { entry: - call void @fn_emith(ptr @.str465) - call void @fn_emith(ptr @.str466) call void @fn_emith(ptr @.str467) call void @fn_emith(ptr @.str468) call void @fn_emith(ptr @.str469) call void @fn_emith(ptr @.str470) call void @fn_emith(ptr @.str471) call void @fn_emith(ptr @.str472) + call void @fn_emith(ptr @.str473) + call void @fn_emith(ptr @.str474) br label %ret ret: ret void @@ -14950,7 +15365,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 @.str473, ptr %t17) + %t18 = call ptr @fn_str_concat(ptr @.str475, ptr %t17) call void @fn_perr(ptr %t18) br label %ifend2 ifend2: @@ -14969,7 +15384,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 @.str474, ptr %t31) + %t32 = call ptr @fn_str_concat(ptr @.str476, ptr %t31) call void @fn_perr(ptr %t32) br label %ifend5 ifend5: @@ -14981,25 +15396,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 @.str475) + call void @fn_emit(ptr @.str477) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str476) + call void @fn_emit(ptr @.str478) %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 @.str477) + call void @fn_emit(ptr @.str479) %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 @.str478) + call void @fn_emit(ptr @.str480) %t48 = load i32, ptr %t24 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str479) + call void @fn_emit(ptr @.str481) %t50 = load ptr, ptr %t39 store ptr %t50, ptr %retval br label %ret @@ -15046,22 +15461,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 @.str480) + %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str482) %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 @.str481, ptr %t25) - %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str482) + %t26 = call ptr @fn_str_concat(ptr @.str483, ptr %t25) + %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str484) %t28 = load ptr, ptr %t17 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = call ptr @fn_str_concat(ptr %t27, ptr %t30) %t32 = call ptr @fn_emit_bind(ptr %t31) store ptr %t32, ptr %t33 - store ptr @.str483, ptr @g_g_addr_ty + store ptr @.str485, ptr @g_g_addr_ty %t34 = load ptr, ptr %t33 store ptr %t34, ptr %retval br label %ret @@ -15069,22 +15484,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 @.str484) + %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str486) %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 @.str485, ptr %t42) - %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str486) + %t43 = call ptr @fn_str_concat(ptr @.str487, ptr %t42) + %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str488) %t45 = load ptr, ptr %t17 %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = call ptr @fn_str_concat(ptr %t44, ptr %t47) %t49 = call ptr @fn_emit_bind(ptr %t48) store ptr %t49, ptr %t50 - store ptr @.str487, ptr @g_g_addr_ty + store ptr @.str489, ptr @g_g_addr_ty %t51 = load ptr, ptr %t50 store ptr %t51, ptr %retval br label %ret @@ -15092,22 +15507,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 @.str488) + %t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str490) %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 @.str489, ptr %t59) - %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str490) + %t60 = call ptr @fn_str_concat(ptr @.str491, ptr %t59) + %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str492) %t62 = load ptr, ptr %t17 %t63 = getelementptr inbounds %Cmp_Val, ptr %t62, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = call ptr @fn_str_concat(ptr %t61, ptr %t64) %t66 = call ptr @fn_emit_bind(ptr %t65) store ptr %t66, ptr %t67 - store ptr @.str491, ptr @g_g_addr_ty + store ptr @.str493, ptr @g_g_addr_ty %t68 = load ptr, ptr %t67 store ptr %t68, ptr %retval br label %ret @@ -15115,15 +15530,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 @.str492, ptr %t71) - %t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str493) + %t72 = call ptr @fn_str_concat(ptr @.str494, ptr %t71) + %t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str495) %t74 = load ptr, ptr %t17 %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = call ptr @fn_str_concat(ptr %t73, ptr %t76) %t78 = call ptr @fn_emit_bind(ptr %t77) store ptr %t78, ptr %t79 - store ptr @.str494, ptr @g_g_addr_ty + store ptr @.str496, ptr @g_g_addr_ty %t80 = load ptr, ptr %t79 store ptr %t80, ptr %retval br label %ret @@ -15137,24 +15552,24 @@ ifend2: store ptr %t86, ptr @g_g_addr_ty %t87 = call ptr @fn_nreg() store ptr %t87, ptr %t88 - call void @fn_emit(ptr @.str495) + call void @fn_emit(ptr @.str497) %t89 = load ptr, ptr %t88 call void @fn_emit(ptr %t89) - call void @fn_emit(ptr @.str496) + call void @fn_emit(ptr @.str498) %t90 = load ptr, ptr %t5 %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str497) + call void @fn_emit(ptr @.str499) %t93 = call ptr @fn_nreg() store ptr %t93, ptr %t94 - call void @fn_emit(ptr @.str498) + call void @fn_emit(ptr @.str500) %t95 = load ptr, ptr %t94 call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str499) + call void @fn_emit(ptr @.str501) %t96 = load ptr, ptr %t88 call void @fn_emit(ptr %t96) - call void @fn_emit(ptr @.str500) + call void @fn_emit(ptr @.str502) %t97 = load ptr, ptr %t0 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 5 %t99 = load ptr, ptr %t98 @@ -15162,22 +15577,22 @@ ifend2: store ptr %t100, ptr %t101 %t102 = call ptr @fn_nreg() store ptr %t102, ptr %t103 - call void @fn_emit(ptr @.str501) + call void @fn_emit(ptr @.str503) %t104 = load ptr, ptr %t103 call void @fn_emit(ptr %t104) - call void @fn_emit(ptr @.str502) + call void @fn_emit(ptr @.str504) %t105 = load ptr, ptr %t85 %t106 = call ptr @fn_llty(ptr %t105) call void @fn_emit(ptr %t106) - call void @fn_emit(ptr @.str503) + call void @fn_emit(ptr @.str505) %t107 = load ptr, ptr %t94 call void @fn_emit(ptr %t107) - call void @fn_emit(ptr @.str504) + call void @fn_emit(ptr @.str506) %t108 = load ptr, ptr %t101 %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 %t110 = load ptr, ptr %t109 call void @fn_emit(ptr %t110) - call void @fn_emit(ptr @.str505) + call void @fn_emit(ptr @.str507) %t111 = load ptr, ptr %t103 store ptr %t111, ptr %retval br label %ret @@ -15200,7 +15615,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 @.str506) + %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str508) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: @@ -15208,14 +15623,14 @@ then0: br label %ret ifend2: %t6 = load ptr, ptr %t0 - %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str507) + %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str509) %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 @.str508) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str510) %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t5 @@ -15228,7 +15643,7 @@ scend4: br i1 %t15, label %scend6, label %sc5 sc5: %t17 = load ptr, ptr %t0 - %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str509) + %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str511) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t4 @@ -15242,14 +15657,14 @@ then7: br label %ret ifend9: %t25 = load ptr, ptr %t0 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str510) + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str512) %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 @.str511) + %t30 = call i32 @fn_str_eq(ptr %t29, ptr @.str513) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t24 @@ -15262,7 +15677,7 @@ scend11: br i1 %t34, label %scend13, label %sc12 sc12: %t36 = load ptr, ptr %t0 - %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str512) + %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str514) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t23 @@ -15276,14 +15691,14 @@ then14: br label %ret ifend16: %t44 = load ptr, ptr %t0 - %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str513) + %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str515) %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 @.str514) + %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str516) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t43 @@ -15296,7 +15711,7 @@ scend18: br i1 %t53, label %scend20, label %sc19 sc19: %t55 = load ptr, ptr %t0 - %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str515) + %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str517) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t42 @@ -15310,14 +15725,14 @@ then21: br label %ret ifend23: %t62 = load ptr, ptr %t0 - %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str516) + %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str518) %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 @.str517) + %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str519) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t61 @@ -15331,14 +15746,14 @@ then26: br label %ret ifend28: %t73 = load ptr, ptr %t0 - %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str518) + %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str520) %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 @.str519) + %t78 = call i32 @fn_str_eq(ptr %t77, ptr @.str521) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t72 @@ -15366,13 +15781,13 @@ entry: store ptr %arg_rest, ptr %t0 %t1 = call ptr @fn_nreg() store ptr %t1, ptr %t2 - call void @fn_emit(ptr @.str520) + call void @fn_emit(ptr @.str522) %t3 = load ptr, ptr %t2 call void @fn_emit(ptr %t3) - call void @fn_emit(ptr @.str521) + call void @fn_emit(ptr @.str523) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str522) + call void @fn_emit(ptr @.str524) %t5 = load ptr, ptr %t2 store ptr %t5, ptr %retval br label %ret @@ -15443,7 +15858,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 @.str523) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str525) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -15454,23 +15869,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 @.str524, ptr %t11) - %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str525) + %t12 = call ptr @fn_str_concat(ptr @.str526, ptr %t11) + %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str527) %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 @.str526, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str527) + %t17 = call ptr @fn_str_concat(ptr @.str528, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str529) %t19 = load ptr, ptr %t15 %t20 = call ptr @fn_str_concat(ptr %t18, ptr %t19) - %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str528) + %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str530) %t22 = call ptr @fn_emit_bind(ptr %t21) - %t23 = call ptr @fn_val(ptr %t22, ptr @.str529) + %t23 = call ptr @fn_val(ptr %t22, ptr @.str531) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t0 - %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str530) + %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str532) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then3, label %ifend5 then3: @@ -15481,25 +15896,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 @.str531, ptr %t33) - %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str532) + %t34 = call ptr @fn_str_concat(ptr @.str533, ptr %t33) + %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str534) %t36 = load ptr, ptr %t32 %t37 = call ptr @fn_str_concat(ptr %t35, ptr %t36) - %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str533) + %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str535) %t39 = call ptr @fn_emit_bind(ptr %t38) - %t40 = call ptr @fn_val(ptr %t39, ptr @.str534) + %t40 = call ptr @fn_val(ptr %t39, ptr @.str536) store ptr %t40, ptr %retval br label %ret ifend5: %t42 = load ptr, ptr %t0 - %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str535) + %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str537) %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 @.str536) + %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str538) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t41 @@ -15519,43 +15934,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 @.str537, ptr %t61) - %t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str538) + %t62 = call ptr @fn_str_concat(ptr @.str539, ptr %t61) + %t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str540) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 - store ptr @.str539, ptr %t66 + store ptr @.str541, ptr %t66 %t67 = load ptr, ptr %t0 - %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str540) + %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str542) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then11, label %ifend13 then11: - store ptr @.str541, ptr %t66 + store ptr @.str543, ptr %t66 br label %ifend13 ifend13: %t70 = load ptr, ptr %t66 - %t71 = call ptr @fn_str_concat(ptr @.str542, ptr %t70) - %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str543) + %t71 = call ptr @fn_str_concat(ptr @.str544, ptr %t70) + %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str545) %t73 = load ptr, ptr %t57 %t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73) - %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str544) + %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str546) %t76 = load ptr, ptr %t65 %t77 = call ptr @fn_str_concat(ptr %t75, ptr %t76) - %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str545) + %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str547) %t79 = load ptr, ptr %t54 %t80 = call ptr @fn_str_concat(ptr %t78, ptr %t79) - %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str546) + %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str548) %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 @.str547, ptr %t84) - %t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str548) + %t85 = call ptr @fn_str_concat(ptr @.str549, ptr %t84) + %t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str550) %t87 = call ptr @fn_emit_bind(ptr %t86) - %t88 = call ptr @fn_val(ptr %t87, ptr @.str549) + %t88 = call ptr @fn_val(ptr %t87, ptr @.str551) store ptr %t88, ptr %retval br label %ret ifend10: %t89 = load ptr, ptr %t0 - %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str550) + %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str552) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then14, label %ifend16 then14: @@ -15569,26 +15984,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 @.str551, ptr %t101) - %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str552) + %t102 = call ptr @fn_str_concat(ptr @.str553, ptr %t101) + %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str554) %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 @.str553, ptr %t106) - %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str554) + %t107 = call ptr @fn_str_concat(ptr @.str555, ptr %t106) + %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str556) %t109 = load ptr, ptr %t105 %t110 = call ptr @fn_str_concat(ptr %t108, ptr %t109) - %t111 = call ptr @fn_str_concat(ptr %t110, ptr @.str555) + %t111 = call ptr @fn_str_concat(ptr %t110, ptr @.str557) %t112 = load ptr, ptr %t100 %t113 = call ptr @fn_str_concat(ptr %t111, ptr %t112) - %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str556) + %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str558) %t115 = call ptr @fn_emit_bind(ptr %t114) - %t116 = call ptr @fn_val(ptr %t115, ptr @.str557) + %t116 = call ptr @fn_val(ptr %t115, ptr @.str559) store ptr %t116, ptr %retval br label %ret ifend16: %t117 = load ptr, ptr %t0 - %t118 = call i32 @fn_str_eq(ptr %t117, ptr @.str558) + %t118 = call i32 @fn_str_eq(ptr %t117, ptr @.str560) %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then17, label %ifend19 then17: @@ -15596,108 +16011,108 @@ 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 @.str559, ptr %t123) - %t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str560) + %t124 = call ptr @fn_str_concat(ptr @.str561, ptr %t123) + %t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str562) %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 @.str561, ptr %t128) - %t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str562) + %t129 = call ptr @fn_str_concat(ptr @.str563, ptr %t128) + %t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str564) %t131 = call ptr @fn_emit_bind(ptr %t130) - %t132 = call ptr @fn_val(ptr %t131, ptr @.str563) + %t132 = call ptr @fn_val(ptr %t131, ptr @.str565) store ptr %t132, ptr %retval br label %ret ifend19: %t133 = load ptr, ptr %t0 - %t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str564) + %t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str566) %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 @.str565) + call void @fn_emit(ptr @.str567) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str566) - %t140 = call ptr @fn_val(ptr @.str567, ptr @.str568) + call void @fn_emit(ptr @.str568) + %t140 = call ptr @fn_val(ptr @.str569, ptr @.str570) store ptr %t140, ptr %retval br label %ret ifend22: %t141 = load ptr, ptr %t0 - %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str569) + %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str571) %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then23, label %ifend25 then23: - %t144 = call ptr @fn_emit_bind(ptr @.str570) - %t145 = call ptr @fn_val(ptr %t144, ptr @.str571) + %t144 = call ptr @fn_emit_bind(ptr @.str572) + %t145 = call ptr @fn_val(ptr %t144, ptr @.str573) store ptr %t145, ptr %retval br label %ret ifend25: %t146 = load ptr, ptr %t0 - %t147 = call i32 @fn_str_eq(ptr %t146, ptr @.str572) + %t147 = call i32 @fn_str_eq(ptr %t146, ptr @.str574) %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then26, label %ifend28 then26: %t149 = load ptr, ptr %t1 %t150 = call ptr @fn_arg_code(ptr %t149, i32 0) store ptr %t150, ptr %t151 - %t152 = call ptr @fn_emit_bind(ptr @.str573) + %t152 = call ptr @fn_emit_bind(ptr @.str575) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t153 - %t155 = call ptr @fn_str_concat(ptr @.str574, ptr %t154) - %t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str575) + %t155 = call ptr @fn_str_concat(ptr @.str576, ptr %t154) + %t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str577) %t157 = load ptr, ptr %t151 %t158 = call ptr @fn_str_concat(ptr %t156, ptr %t157) %t159 = call ptr @fn_emit_bind(ptr %t158) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t160 - %t162 = call ptr @fn_str_concat(ptr @.str576, ptr %t161) + %t162 = call ptr @fn_str_concat(ptr @.str578, ptr %t161) %t163 = call ptr @fn_emit_bind(ptr %t162) - %t164 = call ptr @fn_val(ptr %t163, ptr @.str577) + %t164 = call ptr @fn_val(ptr %t163, ptr @.str579) store ptr %t164, ptr %retval br label %ret ifend28: %t165 = load ptr, ptr %t0 - %t166 = call i32 @fn_str_eq(ptr %t165, ptr @.str578) + %t166 = call i32 @fn_str_eq(ptr %t165, ptr @.str580) %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then29, label %ifend31 then29: %t168 = load ptr, ptr %t1 %t169 = call ptr @fn_arg_code(ptr %t168, i32 0) store ptr %t169, ptr %t170 - call void @fn_emit(ptr @.str579) + call void @fn_emit(ptr @.str581) %t171 = load ptr, ptr %t170 call void @fn_emit(ptr %t171) - call void @fn_emit(ptr @.str580) - call void @fn_emit(ptr @.str581) + call void @fn_emit(ptr @.str582) + call void @fn_emit(ptr @.str583) store i32 1, ptr @g_g_term - %t172 = call ptr @fn_val(ptr @.str582, ptr @.str583) + %t172 = call ptr @fn_val(ptr @.str584, ptr @.str585) store ptr %t172, ptr %retval br label %ret ifend31: %t173 = load ptr, ptr %t0 - %t174 = call i32 @fn_str_eq(ptr %t173, ptr @.str584) + %t174 = call i32 @fn_str_eq(ptr %t173, ptr @.str586) %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then32, label %ifend34 then32: - %t176 = call ptr @fn_emit_bind(ptr @.str585) - %t177 = call ptr @fn_val(ptr %t176, ptr @.str586) + %t176 = call ptr @fn_emit_bind(ptr @.str587) + %t177 = call ptr @fn_val(ptr %t176, ptr @.str588) store ptr %t177, ptr %retval br label %ret ifend34: %t178 = load ptr, ptr %t0 - %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str587) + %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str589) %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then35, label %ifend37 then35: - %t181 = call ptr @fn_emit_bind(ptr @.str588) - %t182 = call ptr @fn_val(ptr %t181, ptr @.str589) + %t181 = call ptr @fn_emit_bind(ptr @.str590) + %t182 = call ptr @fn_val(ptr %t181, ptr @.str591) store ptr %t182, ptr %retval br label %ret ifend37: %t183 = load ptr, ptr %t0 - %t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str590) + %t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str592) %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then38, label %ifend40 then38: @@ -15705,15 +16120,15 @@ then38: %t187 = call ptr @fn_arg_code(ptr %t186, i32 0) store ptr %t187, ptr %t188 %t189 = load ptr, ptr %t188 - %t190 = call ptr @fn_str_concat(ptr @.str591, ptr %t189) - %t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str592) + %t190 = call ptr @fn_str_concat(ptr @.str593, ptr %t189) + %t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str594) %t192 = call ptr @fn_emit_bind(ptr %t191) - %t193 = call ptr @fn_val(ptr %t192, ptr @.str593) + %t193 = call ptr @fn_val(ptr %t192, ptr @.str595) store ptr %t193, ptr %retval br label %ret ifend40: %t194 = load ptr, ptr %t0 - %t195 = call i32 @fn_str_eq(ptr %t194, ptr @.str594) + %t195 = call i32 @fn_str_eq(ptr %t194, ptr @.str596) %t196 = icmp ne i32 %t195, 0 br i1 %t196, label %then41, label %ifend43 then41: @@ -15721,15 +16136,15 @@ then41: %t198 = call ptr @fn_arg_code(ptr %t197, i32 0) store ptr %t198, ptr %t199 %t200 = load ptr, ptr %t199 - %t201 = call ptr @fn_str_concat(ptr @.str595, ptr %t200) - %t202 = call ptr @fn_str_concat(ptr %t201, ptr @.str596) + %t201 = call ptr @fn_str_concat(ptr @.str597, ptr %t200) + %t202 = call ptr @fn_str_concat(ptr %t201, ptr @.str598) %t203 = call ptr @fn_emit_bind(ptr %t202) - %t204 = call ptr @fn_val(ptr %t203, ptr @.str597) + %t204 = call ptr @fn_val(ptr %t203, ptr @.str599) store ptr %t204, ptr %retval br label %ret ifend43: store i32 0, ptr @g_g_intrin_ok - %t205 = call ptr @fn_val(ptr @.str598, ptr @.str599) + %t205 = call ptr @fn_val(ptr @.str600, ptr @.str601) store ptr %t205, ptr %retval br label %ret ret: @@ -15750,14 +16165,14 @@ entry: %t64 = alloca i32 store ptr %arg_name, ptr %t0 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str600) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str602) %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 @.str601) + %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str603) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 @@ -15771,14 +16186,14 @@ then2: br label %ret ifend4: %t13 = load ptr, ptr %t0 - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str602) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str604) %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 @.str603) + %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str605) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t12 @@ -15792,14 +16207,14 @@ then7: br label %ret ifend9: %t24 = load ptr, ptr %t0 - %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str604) + %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str606) %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 @.str605) + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str607) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t23 @@ -15813,14 +16228,14 @@ then12: br label %ret ifend14: %t35 = load ptr, ptr %t0 - %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str606) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str608) %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 @.str607) + %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str609) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t34 @@ -15834,14 +16249,14 @@ then17: br label %ret ifend19: %t47 = load ptr, ptr %t0 - %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str608) + %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str610) %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 @.str609) + %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str611) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t46 @@ -15854,7 +16269,7 @@ scend21: br i1 %t56, label %scend23, label %sc22 sc22: %t58 = load ptr, ptr %t0 - %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str610) + %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str612) %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t45 @@ -15868,14 +16283,14 @@ then24: br label %ret ifend26: %t65 = load ptr, ptr %t0 - %t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str611) + %t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str613) %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 @.str612) + %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str614) %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t64 @@ -15920,23 +16335,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 @.str613) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str615) %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 @.str614) + call void @fn_emit(ptr @.str616) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) - call void @fn_emit(ptr @.str615) - %t9 = call ptr @fn_val(ptr @.str616, ptr @.str617) + call void @fn_emit(ptr @.str617) + %t9 = call ptr @fn_val(ptr @.str618, ptr @.str619) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 - %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str618) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str620) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: @@ -15950,26 +16365,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 @.str619, ptr %t22) - %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str620) + %t23 = call ptr @fn_str_concat(ptr @.str621, ptr %t22) + %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str622) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 - call void @fn_emit(ptr @.str621) + call void @fn_emit(ptr @.str623) %t27 = load ptr, ptr %t15 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str622) + call void @fn_emit(ptr @.str624) %t28 = load ptr, ptr %t18 call void @fn_emit(ptr %t28) - call void @fn_emit(ptr @.str623) + call void @fn_emit(ptr @.str625) %t29 = load ptr, ptr %t26 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str624) - %t30 = call ptr @fn_val(ptr @.str625, ptr @.str626) + call void @fn_emit(ptr @.str626) + %t30 = call ptr @fn_val(ptr @.str627, ptr @.str628) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str627) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str629) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then6, label %ifend8 then6: @@ -15981,33 +16396,33 @@ then6: store ptr %t38, ptr %t39 %t40 = call ptr @fn_nreg() store ptr %t40, ptr %t41 - call void @fn_emit(ptr @.str628) + call void @fn_emit(ptr @.str630) %t42 = load ptr, ptr %t41 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str629) + call void @fn_emit(ptr @.str631) %t43 = load ptr, ptr %t36 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str630) + call void @fn_emit(ptr @.str632) %t44 = load ptr, ptr %t39 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str631) + call void @fn_emit(ptr @.str633) %t45 = load ptr, ptr %t41 - %t46 = call ptr @fn_val(ptr %t45, ptr @.str632) + %t46 = call ptr @fn_val(ptr %t45, ptr @.str634) store ptr %t46, ptr %retval br label %ret ifend8: %t47 = load ptr, ptr %t0 - %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str633) + %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str635) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then9, label %ifend11 then9: - %t50 = call ptr @fn_emit_bind(ptr @.str634) - %t51 = call ptr @fn_val(ptr %t50, ptr @.str635) + %t50 = call ptr @fn_emit_bind(ptr @.str636) + %t51 = call ptr @fn_val(ptr %t50, ptr @.str637) store ptr %t51, ptr %retval br label %ret ifend11: %t52 = load ptr, ptr %t0 - %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str636) + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str638) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then12, label %ifend14 then12: @@ -16023,12 +16438,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 @.str637) + %t67 = call ptr @fn_val(ptr %t66, ptr @.str639) store ptr %t67, ptr %retval br label %ret ifend14: %t68 = load ptr, ptr %t0 - %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str638) + %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str640) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then15, label %ifend17 then15: @@ -16044,12 +16459,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 @.str639) + %t83 = call ptr @fn_val(ptr %t82, ptr @.str641) store ptr %t83, ptr %retval br label %ret ifend17: %t84 = load ptr, ptr %t0 - %t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str640) + %t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str642) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then18, label %ifend20 then18: @@ -16057,45 +16472,45 @@ then18: %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then21, label %ifend23 then21: - %t89 = call ptr @fn_val(ptr @.str641, ptr @.str642) + %t89 = call ptr @fn_val(ptr @.str643, ptr @.str644) store ptr %t89, ptr %retval br label %ret ifend23: - %t90 = call ptr @fn_val(ptr @.str643, ptr @.str644) + %t90 = call ptr @fn_val(ptr @.str645, ptr @.str646) store ptr %t90, ptr %retval br label %ret ifend20: %t91 = load ptr, ptr %t0 - %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str645) + %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str647) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then24, label %ifend26 then24: - %t94 = call ptr @fn_val(ptr @.str646, ptr @.str647) + %t94 = call ptr @fn_val(ptr @.str648, ptr @.str649) store ptr %t94, ptr %retval br label %ret ifend26: %t95 = load ptr, ptr %t0 - %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str648) + %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str650) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then27, label %ifend29 then27: - %t98 = call ptr @fn_emit_bind(ptr @.str649) - %t99 = call ptr @fn_val(ptr %t98, ptr @.str650) + %t98 = call ptr @fn_emit_bind(ptr @.str651) + %t99 = call ptr @fn_val(ptr %t98, ptr @.str652) store ptr %t99, ptr %retval br label %ret ifend29: %t100 = load ptr, ptr %t0 - %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str651) + %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str653) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then30, label %ifend32 then30: - %t103 = call ptr @fn_emit_bind(ptr @.str652) - %t104 = call ptr @fn_val(ptr %t103, ptr @.str653) + %t103 = call ptr @fn_emit_bind(ptr @.str654) + %t104 = call ptr @fn_val(ptr %t103, ptr @.str655) store ptr %t104, ptr %retval br label %ret ifend32: %t105 = load ptr, ptr %t0 - %t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str654) + %t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str656) %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then33, label %ifend35 then33: @@ -16111,25 +16526,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 @.str655) + call void @fn_emit(ptr @.str657) %t120 = load ptr, ptr %t110 call void @fn_emit(ptr %t120) - call void @fn_emit(ptr @.str656) + call void @fn_emit(ptr @.str658) %t121 = load ptr, ptr %t113 call void @fn_emit(ptr %t121) - call void @fn_emit(ptr @.str657) + call void @fn_emit(ptr @.str659) %t122 = load ptr, ptr %t116 call void @fn_emit(ptr %t122) - call void @fn_emit(ptr @.str658) + call void @fn_emit(ptr @.str660) %t123 = load ptr, ptr %t119 call void @fn_emit(ptr %t123) - call void @fn_emit(ptr @.str659) - %t124 = call ptr @fn_val(ptr @.str660, ptr @.str661) + call void @fn_emit(ptr @.str661) + %t124 = call ptr @fn_val(ptr @.str662, ptr @.str663) store ptr %t124, ptr %retval br label %ret ifend35: %t125 = load ptr, ptr %t0 - %t126 = call i32 @fn_str_eq(ptr %t125, ptr @.str662) + %t126 = call i32 @fn_str_eq(ptr %t125, ptr @.str664) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then36, label %ifend38 then36: @@ -16142,31 +16557,31 @@ 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 @.str663) + call void @fn_emit(ptr @.str665) %t137 = load ptr, ptr %t130 call void @fn_emit(ptr %t137) - call void @fn_emit(ptr @.str664) + call void @fn_emit(ptr @.str666) %t138 = load ptr, ptr %t133 call void @fn_emit(ptr %t138) - call void @fn_emit(ptr @.str665) + call void @fn_emit(ptr @.str667) %t139 = load ptr, ptr %t136 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str666) - %t140 = call ptr @fn_val(ptr @.str667, ptr @.str668) + call void @fn_emit(ptr @.str668) + %t140 = call ptr @fn_val(ptr @.str669, ptr @.str670) store ptr %t140, ptr %retval br label %ret ifend38: %t141 = load ptr, ptr %t0 - %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str669) + %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str671) %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then39, label %ifend41 then39: - call void @fn_emit(ptr @.str670) - %t144 = call ptr @fn_val(ptr @.str671, ptr @.str672) + call void @fn_emit(ptr @.str672) + %t144 = call ptr @fn_val(ptr @.str673, ptr @.str674) store ptr %t144, ptr %retval br label %ret ifend41: - %t145 = call ptr @fn_val(ptr @.str673, ptr @.str674) + %t145 = call ptr @fn_val(ptr @.str675, ptr @.str676) store ptr %t145, ptr %retval br label %ret ret: @@ -16183,14 +16598,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 @.str675) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str677) %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 @.str676) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str678) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -16203,7 +16618,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str677) + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str679) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -16216,7 +16631,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str678) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str680) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -16252,7 +16667,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 @.str679) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str681) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -16268,40 +16683,40 @@ 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 @.str680, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str681) + %t17 = call ptr @fn_str_concat(ptr @.str682, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str683) %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 @.str682, ptr %t23) + %t24 = call ptr @fn_str_concat(ptr @.str684, 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 @.str683, ptr %t27) - %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str684) + %t28 = call ptr @fn_str_concat(ptr @.str685, ptr %t27) + %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str686) %t30 = load ptr, ptr %t26 %t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30) - %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str685) + %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str687) %t33 = load ptr, ptr %t13 %t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = call ptr @fn_str_concat(ptr %t32, ptr %t35) %t37 = call ptr @fn_emit_bind(ptr %t36) - %t38 = call ptr @fn_val(ptr %t37, ptr @.str686) + %t38 = call ptr @fn_val(ptr %t37, ptr @.str688) store ptr %t38, ptr %retval br label %ret ifend2: %t40 = load ptr, ptr %t0 - %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str687) + %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str689) %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t39 br i1 %t42, label %scend4, label %sc3 sc3: %t44 = load ptr, ptr %t0 - %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str688) + %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str690) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t39 @@ -16329,23 +16744,23 @@ then5: %t65 = load ptr, ptr %t64 %t66 = call ptr @fn_emit_expr(ptr %t65) store ptr %t66, ptr %t67 - store ptr @.str689, ptr %t68 + store ptr @.str691, ptr %t68 %t69 = load ptr, ptr %t0 - %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str690) + %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str692) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then8, label %ifend10 then8: - store ptr @.str691, ptr %t68 + store ptr @.str693, ptr %t68 br label %ifend10 ifend10: %t72 = load ptr, ptr %t68 - %t73 = call ptr @fn_str_concat(ptr @.str692, ptr %t72) - %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str693) + %t73 = call ptr @fn_str_concat(ptr @.str694, ptr %t72) + %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str695) %t75 = load ptr, ptr %t58 %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 @.str694) + %t79 = call ptr @fn_str_concat(ptr %t78, ptr @.str696) %t80 = load ptr, ptr %t67 %t81 = getelementptr inbounds %Cmp_Val, ptr %t80, i32 0, i32 0 %t82 = load ptr, ptr %t81 @@ -16353,19 +16768,19 @@ ifend10: %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 @.str695, ptr %t86) - %t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str696) + %t87 = call ptr @fn_str_concat(ptr @.str697, ptr %t86) + %t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str698) %t89 = load ptr, ptr %t58 %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = call ptr @fn_str_concat(ptr %t88, ptr %t91) - %t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str697) + %t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str699) %t94 = load ptr, ptr %t67 %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_emit_bind(ptr %t97) - %t99 = call ptr @fn_val(ptr %t98, ptr @.str698) + %t99 = call ptr @fn_val(ptr %t98, ptr @.str700) store ptr %t99, ptr %retval br label %ret ifend7: @@ -16399,8 +16814,8 @@ ifend7: %t127 = load ptr, ptr %t108 %t128 = getelementptr inbounds %Cmp_Val, ptr %t127, i32 0, i32 0 %t129 = load ptr, ptr %t128 - %t130 = call ptr @fn_str_concat(ptr @.str699, ptr %t129) - %t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str700) + %t130 = call ptr @fn_str_concat(ptr @.str701, ptr %t129) + %t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str702) %t132 = load ptr, ptr %t126 %t133 = getelementptr inbounds %Cmp_Val, ptr %t132, i32 0, i32 0 %t134 = load ptr, ptr %t133 @@ -16408,13 +16823,13 @@ ifend7: %t136 = call ptr @fn_emit_bind(ptr %t135) store ptr %t136, ptr %t137 %t138 = load ptr, ptr %t137 - %t139 = call ptr @fn_str_concat(ptr @.str701, ptr %t138) - %t140 = call ptr @fn_str_concat(ptr %t139, ptr @.str702) + %t139 = call ptr @fn_str_concat(ptr @.str703, ptr %t138) + %t140 = call ptr @fn_str_concat(ptr %t139, ptr @.str704) %t141 = load ptr, ptr %t108 %t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = call ptr @fn_str_concat(ptr %t140, ptr %t143) - %t145 = call ptr @fn_str_concat(ptr %t144, ptr @.str703) + %t145 = call ptr @fn_str_concat(ptr %t144, ptr @.str705) %t146 = load ptr, ptr %t126 %t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0 %t148 = load ptr, ptr %t147 @@ -16424,24 +16839,24 @@ ifend7: %t152 = load ptr, ptr %t117 %t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0 %t154 = load ptr, ptr %t153 - %t155 = call ptr @fn_str_concat(ptr @.str704, ptr %t154) - %t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str705) + %t155 = call ptr @fn_str_concat(ptr @.str706, ptr %t154) + %t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str707) %t157 = load ptr, ptr %t151 %t158 = call ptr @fn_str_concat(ptr %t156, ptr %t157) %t159 = call ptr @fn_emit_bind(ptr %t158) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t160 - %t162 = call ptr @fn_str_concat(ptr @.str706, ptr %t161) - %t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str707) + %t162 = call ptr @fn_str_concat(ptr @.str708, ptr %t161) + %t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str709) %t164 = load ptr, ptr %t117 %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) - %t168 = call ptr @fn_str_concat(ptr %t167, ptr @.str708) + %t168 = call ptr @fn_str_concat(ptr %t167, ptr @.str710) %t169 = load ptr, ptr %t151 %t170 = call ptr @fn_str_concat(ptr %t168, ptr %t169) %t171 = call ptr @fn_emit_bind(ptr %t170) - %t172 = call ptr @fn_val(ptr %t171, ptr @.str709) + %t172 = call ptr @fn_val(ptr %t171, ptr @.str711) store ptr %t172, ptr %retval br label %ret ret: @@ -16449,6 +16864,1787 @@ ret: ret ptr %t173 } +define i32 @fn_color_lookup(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str712) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store i32 16777215, ptr %retval + br label %ret +ifend2: + %t4 = load ptr, ptr %t0 + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str713) + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then3, label %ifend5 +then3: + store i32 16775930, ptr %retval + br label %ret +ifend5: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str714) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then6, label %ifend8 +then6: + store i32 16777200, ptr %retval + br label %ret +ifend8: + %t10 = load ptr, ptr %t0 + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str715) + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then9, label %ifend11 +then9: + store i32 15788758, ptr %retval + br label %ret +ifend11: + %t13 = load ptr, ptr %t0 + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str716) + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then12, label %ifend14 +then12: + store i32 16775920, ptr %retval + br label %ret +ifend14: + %t16 = load ptr, ptr %t0 + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str717) + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then15, label %ifend17 +then15: + store i32 16774638, ptr %retval + br label %ret +ifend17: + %t19 = load ptr, ptr %t0 + %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str718) + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then18, label %ifend20 +then18: + store i32 16445670, ptr %retval + br label %ret +ifend20: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str719) + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then21, label %ifend23 +then21: + store i32 16444375, ptr %retval + br label %ret +ifend23: + %t25 = load ptr, ptr %t0 + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str720) + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then24, label %ifend26 +then24: + store i32 16643558, ptr %retval + br label %ret +ifend26: + %t28 = load ptr, ptr %t0 + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str721) + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then27, label %ifend29 +then27: + store i32 16119260, ptr %retval + br label %ret +ifend29: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str722) + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then30, label %ifend32 +then30: + store i32 16776656, ptr %retval + br label %ret +ifend32: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str723) + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then33, label %ifend35 +then33: + store i32 15794160, ptr %retval + br label %ret +ifend35: + %t37 = load ptr, ptr %t0 + %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str724) + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then36, label %ifend38 +then36: + store i32 16121850, ptr %retval + br label %ret +ifend38: + %t40 = load ptr, ptr %t0 + %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str725) + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then39, label %ifend41 +then39: + store i32 15794175, ptr %retval + br label %ret +ifend41: + %t43 = load ptr, ptr %t0 + %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str726) + %t45 = icmp ne i32 %t44, 0 + br i1 %t45, label %then42, label %ifend44 +then42: + store i32 15792383, ptr %retval + br label %ret +ifend44: + %t46 = load ptr, ptr %t0 + %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str727) + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %then45, label %ifend47 +then45: + store i32 16316671, ptr %retval + br label %ret +ifend47: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str728) + %t51 = icmp ne i32 %t50, 0 + br i1 %t51, label %then48, label %ifend50 +then48: + store i32 16119285, ptr %retval + br label %ret +ifend50: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str729) + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then51, label %ifend53 +then51: + store i32 15132410, ptr %retval + br label %ret +ifend53: + %t55 = load ptr, ptr %t0 + %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str730) + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then54, label %ifend56 +then54: + store i32 14932681, ptr %retval + br label %ret +ifend56: + %t58 = load ptr, ptr %t0 + %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str731) + %t60 = icmp ne i32 %t59, 0 + br i1 %t60, label %then57, label %ifend59 +then57: + store i32 15854034, ptr %retval + br label %ret +ifend59: + %t61 = load ptr, ptr %t0 + %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str732) + %t63 = icmp ne i32 %t62, 0 + br i1 %t63, label %then60, label %ifend62 +then60: + store i32 14474460, ptr %retval + br label %ret +ifend62: + %t64 = load ptr, ptr %t0 + %t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str733) + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then63, label %ifend65 +then63: + store i32 13882323, ptr %retval + br label %ret +ifend65: + %t67 = load ptr, ptr %t0 + %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str734) + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then66, label %ifend68 +then66: + store i32 12632256, ptr %retval + br label %ret +ifend68: + %t70 = load ptr, ptr %t0 + %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str735) + %t72 = icmp ne i32 %t71, 0 + br i1 %t72, label %then69, label %ifend71 +then69: + store i32 11714229, ptr %retval + br label %ret +ifend71: + %t73 = load ptr, ptr %t0 + %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str736) + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %then72, label %ifend74 +then72: + store i32 11119017, ptr %retval + br label %ret +ifend74: + %t76 = load ptr, ptr %t0 + %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str737) + %t78 = icmp ne i32 %t77, 0 + br i1 %t78, label %then75, label %ifend77 +then75: + store i32 8421504, ptr %retval + br label %ret +ifend77: + %t79 = load ptr, ptr %t0 + %t80 = call i32 @fn_str_eq(ptr %t79, ptr @.str738) + %t81 = icmp ne i32 %t80, 0 + br i1 %t81, label %then78, label %ifend80 +then78: + store i32 6908265, ptr %retval + br label %ret +ifend80: + %t82 = load ptr, ptr %t0 + %t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str739) + %t84 = icmp ne i32 %t83, 0 + br i1 %t84, label %then81, label %ifend83 +then81: + store i32 7500914, ptr %retval + br label %ret +ifend83: + %t85 = load ptr, ptr %t0 + %t86 = call i32 @fn_str_eq(ptr %t85, ptr @.str740) + %t87 = icmp ne i32 %t86, 0 + br i1 %t87, label %then84, label %ifend86 +then84: + store i32 7372944, ptr %retval + br label %ret +ifend86: + %t88 = load ptr, ptr %t0 + %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str741) + %t90 = icmp ne i32 %t89, 0 + br i1 %t90, label %then87, label %ifend89 +then87: + store i32 7372944, ptr %retval + br label %ret +ifend89: + %t91 = load ptr, ptr %t0 + %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str742) + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then90, label %ifend92 +then90: + store i32 7833753, ptr %retval + br label %ret +ifend92: + %t94 = load ptr, ptr %t0 + %t95 = call i32 @fn_str_eq(ptr %t94, ptr @.str743) + %t96 = icmp ne i32 %t95, 0 + br i1 %t96, label %then93, label %ifend95 +then93: + store i32 2765881, ptr %retval + br label %ret +ifend95: + %t97 = load ptr, ptr %t0 + %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str744) + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then96, label %ifend98 +then96: + store i32 3556687, ptr %retval + br label %ret +ifend98: + %t100 = load ptr, ptr %t0 + %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str745) + %t102 = icmp ne i32 %t101, 0 + br i1 %t102, label %then99, label %ifend101 +then99: + store i32 1842204, ptr %retval + br label %ret +ifend101: + %t103 = load ptr, ptr %t0 + %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str746) + %t105 = icmp ne i32 %t104, 0 + br i1 %t105, label %then102, label %ifend104 +then102: + store i32 3487801, ptr %retval + br label %ret +ifend104: + %t106 = load ptr, ptr %t0 + %t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str747) + %t108 = icmp ne i32 %t107, 0 + br i1 %t108, label %then105, label %ifend107 +then105: + store i32 3421236, ptr %retval + br label %ret +ifend107: + %t109 = load ptr, ptr %t0 + %t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str748) + %t111 = icmp ne i32 %t110, 0 + br i1 %t111, label %then108, label %ifend110 +then108: + store i32 0, ptr %retval + br label %ret +ifend110: + %t112 = load ptr, ptr %t0 + %t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str749) + %t114 = icmp ne i32 %t113, 0 + br i1 %t114, label %then111, label %ifend113 +then111: + store i32 1776411, ptr %retval + br label %ret +ifend113: + %t115 = load ptr, ptr %t0 + %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str750) + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then114, label %ifend116 +then114: + store i32 2367780, ptr %retval + br label %ret +ifend116: + %t118 = load ptr, ptr %t0 + %t119 = call i32 @fn_str_eq(ptr %t118, ptr @.str751) + %t120 = icmp ne i32 %t119, 0 + br i1 %t120, label %then117, label %ifend119 +then117: + store i32 5594448, ptr %retval + br label %ret +ifend119: + %t121 = load ptr, ptr %t0 + %t122 = call i32 @fn_str_eq(ptr %t121, ptr @.str752) + %t123 = icmp ne i32 %t122, 0 + br i1 %t123, label %then120, label %ifend122 +then120: + store i32 16711680, ptr %retval + br label %ret +ifend122: + %t124 = load ptr, ptr %t0 + %t125 = call i32 @fn_str_eq(ptr %t124, ptr @.str753) + %t126 = icmp ne i32 %t125, 0 + br i1 %t126, label %then123, label %ifend125 +then123: + store i32 14423100, ptr %retval + br label %ret +ifend125: + %t127 = load ptr, ptr %t0 + %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str754) + %t129 = icmp ne i32 %t128, 0 + br i1 %t129, label %then126, label %ifend128 +then126: + store i32 16720896, ptr %retval + br label %ret +ifend128: + %t130 = load ptr, ptr %t0 + %t131 = call i32 @fn_str_eq(ptr %t130, ptr @.str755) + %t132 = icmp ne i32 %t131, 0 + br i1 %t132, label %then129, label %ifend131 +then129: + store i32 14893620, ptr %retval + br label %ret +ifend131: + %t133 = load ptr, ptr %t0 + %t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str756) + %t135 = icmp ne i32 %t134, 0 + br i1 %t135, label %then132, label %ifend134 +then132: + store i32 11674146, ptr %retval + br label %ret +ifend134: + %t136 = load ptr, ptr %t0 + %t137 = call i32 @fn_str_eq(ptr %t136, ptr @.str757) + %t138 = icmp ne i32 %t137, 0 + br i1 %t138, label %then135, label %ifend137 +then135: + store i32 14961966, ptr %retval + br label %ret +ifend137: + %t139 = load ptr, ptr %t0 + %t140 = call i32 @fn_str_eq(ptr %t139, ptr @.str758) + %t141 = icmp ne i32 %t140, 0 + br i1 %t141, label %then138, label %ifend140 +then138: + store i32 9109504, ptr %retval + br label %ret +ifend140: + %t142 = load ptr, ptr %t0 + %t143 = call i32 @fn_str_eq(ptr %t142, ptr @.str759) + %t144 = icmp ne i32 %t143, 0 + br i1 %t144, label %then141, label %ifend143 +then141: + store i32 8388608, ptr %retval + br label %ret +ifend143: + %t145 = load ptr, ptr %t0 + %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str760) + %t147 = icmp ne i32 %t146, 0 + br i1 %t147, label %then144, label %ifend146 +then144: + store i32 14684511, ptr %retval + br label %ret +ifend146: + %t148 = load ptr, ptr %t0 + %t149 = call i32 @fn_str_eq(ptr %t148, ptr @.str761) + %t150 = icmp ne i32 %t149, 0 + br i1 %t150, label %then147, label %ifend149 +then147: + store i32 12852794, ptr %retval + br label %ret +ifend149: + %t151 = load ptr, ptr %t0 + %t152 = call i32 @fn_str_eq(ptr %t151, ptr @.str762) + %t153 = icmp ne i32 %t152, 0 + br i1 %t153, label %then150, label %ifend152 +then150: + store i32 13458524, ptr %retval + br label %ret +ifend152: + %t154 = load ptr, ptr %t0 + %t155 = call i32 @fn_str_eq(ptr %t154, ptr @.str763) + %t156 = icmp ne i32 %t155, 0 + br i1 %t156, label %then153, label %ifend155 +then153: + store i32 12009742, ptr %retval + br label %ret +ifend155: + %t157 = load ptr, ptr %t0 + %t158 = call i32 @fn_str_eq(ptr %t157, ptr @.str764) + %t159 = icmp ne i32 %t158, 0 + br i1 %t159, label %then156, label %ifend158 +then156: + store i32 9568266, ptr %retval + br label %ret +ifend158: + %t160 = load ptr, ptr %t0 + %t161 = call i32 @fn_str_eq(ptr %t160, ptr @.str765) + %t162 = icmp ne i32 %t161, 0 + br i1 %t162, label %then159, label %ifend161 +then159: + store i32 10771026, ptr %retval + br label %ret +ifend161: + %t163 = load ptr, ptr %t0 + %t164 = call i32 @fn_str_eq(ptr %t163, ptr @.str766) + %t165 = icmp ne i32 %t164, 0 + br i1 %t165, label %then162, label %ifend164 +then162: + store i32 14561635, ptr %retval + br label %ret +ifend164: + %t166 = load ptr, ptr %t0 + %t167 = call i32 @fn_str_eq(ptr %t166, ptr @.str767) + %t168 = icmp ne i32 %t167, 0 + br i1 %t168, label %then165, label %ifend167 +then165: + store i32 15018832, ptr %retval + br label %ret +ifend167: + %t169 = load ptr, ptr %t0 + %t170 = call i32 @fn_str_eq(ptr %t169, ptr @.str768) + %t171 = icmp ne i32 %t170, 0 + br i1 %t171, label %then168, label %ifend170 +then168: + store i32 9830424, ptr %retval + br label %ret +ifend170: + %t172 = load ptr, ptr %t0 + %t173 = call i32 @fn_str_eq(ptr %t172, ptr @.str769) + %t174 = icmp ne i32 %t173, 0 + br i1 %t174, label %then171, label %ifend173 +then171: + store i32 9782581, ptr %retval + br label %ret +ifend173: + %t175 = load ptr, ptr %t0 + %t176 = call i32 @fn_str_eq(ptr %t175, ptr @.str770) + %t177 = icmp ne i32 %t176, 0 + br i1 %t177, label %then174, label %ifend176 +then174: + store i32 13320532, ptr %retval + br label %ret +ifend176: + %t178 = load ptr, ptr %t0 + %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str771) + %t180 = icmp ne i32 %t179, 0 + br i1 %t180, label %then177, label %ifend179 +then177: + store i32 14840411, ptr %retval + br label %ret +ifend179: + %t181 = load ptr, ptr %t0 + %t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str772) + %t183 = icmp ne i32 %t182, 0 + br i1 %t183, label %then180, label %ifend182 +then180: + store i32 16761035, ptr %retval + br label %ret +ifend182: + %t184 = load ptr, ptr %t0 + %t185 = call i32 @fn_str_eq(ptr %t184, ptr @.str773) + %t186 = icmp ne i32 %t185, 0 + br i1 %t186, label %then183, label %ifend185 +then183: + store i32 16758465, ptr %retval + br label %ret +ifend185: + %t187 = load ptr, ptr %t0 + %t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str774) + %t189 = icmp ne i32 %t188, 0 + br i1 %t189, label %then186, label %ifend188 +then186: + store i32 16738740, ptr %retval + br label %ret +ifend188: + %t190 = load ptr, ptr %t0 + %t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str775) + %t192 = icmp ne i32 %t191, 0 + br i1 %t192, label %then189, label %ifend191 +then189: + store i32 16716947, ptr %retval + br label %ret +ifend191: + %t193 = load ptr, ptr %t0 + %t194 = call i32 @fn_str_eq(ptr %t193, ptr @.str776) + %t195 = icmp ne i32 %t194, 0 + br i1 %t195, label %then192, label %ifend194 +then192: + store i32 14381203, ptr %retval + br label %ret +ifend194: + %t196 = load ptr, ptr %t0 + %t197 = call i32 @fn_str_eq(ptr %t196, ptr @.str777) + %t198 = icmp ne i32 %t197, 0 + br i1 %t198, label %then195, label %ifend197 +then195: + store i32 16711807, ptr %retval + br label %ret +ifend197: + %t199 = load ptr, ptr %t0 + %t200 = call i32 @fn_str_eq(ptr %t199, ptr @.str778) + %t201 = icmp ne i32 %t200, 0 + br i1 %t201, label %then198, label %ifend200 +then198: + store i32 14572931, ptr %retval + br label %ret +ifend200: + %t202 = load ptr, ptr %t0 + %t203 = call i32 @fn_str_eq(ptr %t202, ptr @.str779) + %t204 = icmp ne i32 %t203, 0 + br i1 %t204, label %then201, label %ifend203 +then201: + store i32 16416882, ptr %retval + br label %ret +ifend203: + %t205 = load ptr, ptr %t0 + %t206 = call i32 @fn_str_eq(ptr %t205, ptr @.str780) + %t207 = icmp ne i32 %t206, 0 + br i1 %t207, label %then204, label %ifend206 +then204: + store i32 16752762, ptr %retval + br label %ret +ifend206: + %t208 = load ptr, ptr %t0 + %t209 = call i32 @fn_str_eq(ptr %t208, ptr @.str781) + %t210 = icmp ne i32 %t209, 0 + br i1 %t210, label %then207, label %ifend209 +then207: + store i32 15308410, ptr %retval + br label %ret +ifend209: + %t211 = load ptr, ptr %t0 + %t212 = call i32 @fn_str_eq(ptr %t211, ptr @.str782) + %t213 = icmp ne i32 %t212, 0 + br i1 %t213, label %then210, label %ifend212 +then210: + store i32 16744272, ptr %retval + br label %ret +ifend212: + %t214 = load ptr, ptr %t0 + %t215 = call i32 @fn_str_eq(ptr %t214, ptr @.str783) + %t216 = icmp ne i32 %t215, 0 + br i1 %t216, label %then213, label %ifend215 +then213: + store i32 16542853, ptr %retval + br label %ret +ifend215: + %t217 = load ptr, ptr %t0 + %t218 = call i32 @fn_str_eq(ptr %t217, ptr @.str784) + %t219 = icmp ne i32 %t218, 0 + br i1 %t219, label %then216, label %ifend218 +then216: + store i32 16551596, ptr %retval + br label %ret +ifend218: + %t220 = load ptr, ptr %t0 + %t221 = call i32 @fn_str_eq(ptr %t220, ptr @.str785) + %t222 = icmp ne i32 %t221, 0 + br i1 %t222, label %then219, label %ifend221 +then219: + store i32 16761292, ptr %retval + br label %ret +ifend221: + %t223 = load ptr, ptr %t0 + %t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str786) + %t225 = icmp ne i32 %t224, 0 + br i1 %t225, label %then222, label %ifend224 +then222: + store i32 16711935, ptr %retval + br label %ret +ifend224: + %t226 = load ptr, ptr %t0 + %t227 = call i32 @fn_str_eq(ptr %t226, ptr @.str787) + %t228 = icmp ne i32 %t227, 0 + br i1 %t228, label %then225, label %ifend227 +then225: + store i32 16711935, ptr %retval + br label %ret +ifend227: + %t229 = load ptr, ptr %t0 + %t230 = call i32 @fn_str_eq(ptr %t229, ptr @.str788) + %t231 = icmp ne i32 %t230, 0 + br i1 %t231, label %then228, label %ifend230 +then228: + store i32 14725375, ptr %retval + br label %ret +ifend230: + %t232 = load ptr, ptr %t0 + %t233 = call i32 @fn_str_eq(ptr %t232, ptr @.str789) + %t234 = icmp ne i32 %t233, 0 + br i1 %t234, label %then231, label %ifend233 +then231: + store i32 13404313, ptr %retval + br label %ret +ifend233: + %t235 = load ptr, ptr %t0 + %t236 = call i32 @fn_str_eq(ptr %t235, ptr @.str790) + %t237 = icmp ne i32 %t236, 0 + br i1 %t237, label %then234, label %ifend236 +then234: + store i32 14204888, ptr %retval + br label %ret +ifend236: + %t238 = load ptr, ptr %t0 + %t239 = call i32 @fn_str_eq(ptr %t238, ptr @.str791) + %t240 = icmp ne i32 %t239, 0 + br i1 %t240, label %then237, label %ifend239 +then237: + store i32 14315734, ptr %retval + br label %ret +ifend239: + %t241 = load ptr, ptr %t0 + %t242 = call i32 @fn_str_eq(ptr %t241, ptr @.str792) + %t243 = icmp ne i32 %t242, 0 + br i1 %t243, label %then240, label %ifend242 +then240: + store i32 16753920, ptr %retval + br label %ret +ifend242: + %t244 = load ptr, ptr %t0 + %t245 = call i32 @fn_str_eq(ptr %t244, ptr @.str793) + %t246 = icmp ne i32 %t245, 0 + br i1 %t246, label %then243, label %ifend245 +then243: + store i32 16747520, ptr %retval + br label %ret +ifend245: + %t247 = load ptr, ptr %t0 + %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str794) + %t249 = icmp ne i32 %t248, 0 + br i1 %t249, label %then246, label %ifend248 +then246: + store i32 15893760, ptr %retval + br label %ret +ifend248: + %t250 = load ptr, ptr %t0 + %t251 = call i32 @fn_str_eq(ptr %t250, ptr @.str795) + %t252 = icmp ne i32 %t251, 0 + br i1 %t252, label %then249, label %ifend251 +then249: + store i32 16741656, ptr %retval + br label %ret +ifend251: + %t253 = load ptr, ptr %t0 + %t254 = call i32 @fn_str_eq(ptr %t253, ptr @.str796) + %t255 = icmp ne i32 %t254, 0 + br i1 %t255, label %then252, label %ifend254 +then252: + store i32 16502449, ptr %retval + br label %ret +ifend254: + %t256 = load ptr, ptr %t0 + %t257 = call i32 @fn_str_eq(ptr %t256, ptr @.str797) + %t258 = icmp ne i32 %t257, 0 + br i1 %t258, label %then255, label %ifend257 +then255: + store i32 16770484, ptr %retval + br label %ret +ifend257: + %t259 = load ptr, ptr %t0 + %t260 = call i32 @fn_str_eq(ptr %t259, ptr @.str798) + %t261 = icmp ne i32 %t260, 0 + br i1 %t261, label %then258, label %ifend260 +then258: + store i32 16754219, ptr %retval + br label %ret +ifend260: + %t262 = load ptr, ptr %t0 + %t263 = call i32 @fn_str_eq(ptr %t262, ptr @.str799) + %t264 = icmp ne i32 %t263, 0 + br i1 %t264, label %then261, label %ifend263 +then261: + store i32 16760576, ptr %retval + br label %ret +ifend263: + %t265 = load ptr, ptr %t0 + %t266 = call i32 @fn_str_eq(ptr %t265, ptr @.str800) + %t267 = icmp ne i32 %t266, 0 + br i1 %t267, label %then264, label %ifend266 +then264: + store i32 13467442, ptr %retval + br label %ret +ifend266: + %t268 = load ptr, ptr %t0 + %t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str801) + %t270 = icmp ne i32 %t269, 0 + br i1 %t270, label %then267, label %ifend269 +then267: + store i32 12088115, ptr %retval + br label %ret +ifend269: + %t271 = load ptr, ptr %t0 + %t272 = call i32 @fn_str_eq(ptr %t271, ptr @.str802) + %t273 = icmp ne i32 %t272, 0 + br i1 %t273, label %then270, label %ifend272 +then270: + store i32 15376929, ptr %retval + br label %ret +ifend272: + %t274 = load ptr, ptr %t0 + %t275 = call i32 @fn_str_eq(ptr %t274, ptr @.str803) + %t276 = icmp ne i32 %t275, 0 + br i1 %t276, label %then273, label %ifend275 +then273: + store i32 15569185, ptr %retval + br label %ret +ifend275: + %t277 = load ptr, ptr %t0 + %t278 = call i32 @fn_str_eq(ptr %t277, ptr @.str804) + %t279 = icmp ne i32 %t278, 0 + br i1 %t279, label %then276, label %ifend278 +then276: + store i32 15489024, ptr %retval + br label %ret +ifend278: + %t280 = load ptr, ptr %t0 + %t281 = call i32 @fn_str_eq(ptr %t280, ptr @.str805) + %t282 = icmp ne i32 %t281, 0 + br i1 %t282, label %then279, label %ifend281 +then279: + store i32 16752172, ptr %retval + br label %ret +ifend281: + %t283 = load ptr, ptr %t0 + %t284 = call i32 @fn_str_eq(ptr %t283, ptr @.str806) + %t285 = icmp ne i32 %t284, 0 + br i1 %t285, label %then282, label %ifend284 +then282: + store i32 16438949, ptr %retval + br label %ret +ifend284: + %t286 = load ptr, ptr %t0 + %t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str807) + %t288 = icmp ne i32 %t287, 0 + br i1 %t288, label %then285, label %ifend287 +then285: + store i32 16776960, ptr %retval + br label %ret +ifend287: + %t289 = load ptr, ptr %t0 + %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str808) + %t291 = icmp ne i32 %t290, 0 + br i1 %t291, label %then288, label %ifend290 +then288: + store i32 16777184, ptr %retval + br label %ret +ifend290: + %t292 = load ptr, ptr %t0 + %t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str809) + %t294 = icmp ne i32 %t293, 0 + br i1 %t294, label %then291, label %ifend293 +then291: + store i32 16766720, ptr %retval + br label %ret +ifend293: + %t295 = load ptr, ptr %t0 + %t296 = call i32 @fn_str_eq(ptr %t295, ptr @.str810) + %t297 = icmp ne i32 %t296, 0 + br i1 %t297, label %then294, label %ifend296 +then294: + store i32 14329120, ptr %retval + br label %ret +ifend296: + %t298 = load ptr, ptr %t0 + %t299 = call i32 @fn_str_eq(ptr %t298, ptr @.str811) + %t300 = icmp ne i32 %t299, 0 + br i1 %t300, label %then297, label %ifend299 +then297: + store i32 16774912, ptr %retval + br label %ret +ifend299: + %t301 = load ptr, ptr %t0 + %t302 = call i32 @fn_str_eq(ptr %t301, ptr @.str812) + %t303 = icmp ne i32 %t302, 0 + br i1 %t303, label %then300, label %ifend302 +then300: + store i32 16772864, ptr %retval + br label %ret +ifend302: + %t304 = load ptr, ptr %t0 + %t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str813) + %t306 = icmp ne i32 %t305, 0 + br i1 %t306, label %then303, label %ifend305 +then303: + store i32 16767832, ptr %retval + br label %ret +ifend305: + %t307 = load ptr, ptr %t0 + %t308 = call i32 @fn_str_eq(ptr %t307, ptr @.str814) + %t309 = icmp ne i32 %t308, 0 + br i1 %t309, label %then306, label %ifend308 +then306: + store i32 15654018, ptr %retval + br label %ret +ifend308: + %t310 = load ptr, ptr %t0 + %t311 = call i32 @fn_str_eq(ptr %t310, ptr @.str815) + %t312 = icmp ne i32 %t311, 0 + br i1 %t312, label %then309, label %ifend311 +then309: + store i32 16113331, ptr %retval + br label %ret +ifend311: + %t313 = load ptr, ptr %t0 + %t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str816) + %t315 = icmp ne i32 %t314, 0 + br i1 %t315, label %then312, label %ifend314 +then312: + store i32 16510045, ptr %retval + br label %ret +ifend314: + %t316 = load ptr, ptr %t0 + %t317 = call i32 @fn_str_eq(ptr %t316, ptr @.str817) + %t318 = icmp ne i32 %t317, 0 + br i1 %t318, label %then315, label %ifend317 +then315: + store i32 15786288, ptr %retval + br label %ret +ifend317: + %t319 = load ptr, ptr %t0 + %t320 = call i32 @fn_str_eq(ptr %t319, ptr @.str818) + %t321 = icmp ne i32 %t320, 0 + br i1 %t321, label %then318, label %ifend320 +then318: + store i32 16041008, ptr %retval + br label %ret +ifend320: + %t322 = load ptr, ptr %t0 + %t323 = call i32 @fn_str_eq(ptr %t322, ptr @.str819) + %t324 = icmp ne i32 %t323, 0 + br i1 %t324, label %then321, label %ifend323 +then321: + store i32 15787660, ptr %retval + br label %ret +ifend323: + %t325 = load ptr, ptr %t0 + %t326 = call i32 @fn_str_eq(ptr %t325, ptr @.str820) + %t327 = icmp ne i32 %t326, 0 + br i1 %t327, label %then324, label %ifend326 +then324: + store i32 12433259, ptr %retval + br label %ret +ifend326: + %t328 = load ptr, ptr %t0 + %t329 = call i32 @fn_str_eq(ptr %t328, ptr @.str821) + %t330 = icmp ne i32 %t329, 0 + br i1 %t330, label %then327, label %ifend329 +then327: + store i32 14997871, ptr %retval + br label %ret +ifend329: + %t331 = load ptr, ptr %t0 + %t332 = call i32 @fn_str_eq(ptr %t331, ptr @.str822) + %t333 = icmp ne i32 %t332, 0 + br i1 %t333, label %then330, label %ifend332 +then330: + store i32 9127187, ptr %retval + br label %ret +ifend332: + %t334 = load ptr, ptr %t0 + %t335 = call i32 @fn_str_eq(ptr %t334, ptr @.str823) + %t336 = icmp ne i32 %t335, 0 + br i1 %t336, label %then333, label %ifend335 +then333: + store i32 9127187, ptr %retval + br label %ret +ifend335: + %t337 = load ptr, ptr %t0 + %t338 = call i32 @fn_str_eq(ptr %t337, ptr @.str824) + %t339 = icmp ne i32 %t338, 0 + br i1 %t339, label %then336, label %ifend338 +then336: + store i32 10506797, ptr %retval + br label %ret +ifend338: + %t340 = load ptr, ptr %t0 + %t341 = call i32 @fn_str_eq(ptr %t340, ptr @.str825) + %t342 = icmp ne i32 %t341, 0 + br i1 %t342, label %then339, label %ifend341 +then339: + store i32 13789470, ptr %retval + br label %ret +ifend341: + %t343 = load ptr, ptr %t0 + %t344 = call i32 @fn_str_eq(ptr %t343, ptr @.str826) + %t345 = icmp ne i32 %t344, 0 + br i1 %t345, label %then342, label %ifend344 +then342: + store i32 13468991, ptr %retval + br label %ret +ifend344: + %t346 = load ptr, ptr %t0 + %t347 = call i32 @fn_str_eq(ptr %t346, ptr @.str827) + %t348 = icmp ne i32 %t347, 0 + br i1 %t348, label %then345, label %ifend347 +then345: + store i32 13808780, ptr %retval + br label %ret +ifend347: + %t349 = load ptr, ptr %t0 + %t350 = call i32 @fn_str_eq(ptr %t349, ptr @.str828) + %t351 = icmp ne i32 %t350, 0 + br i1 %t351, label %then348, label %ifend350 +then348: + store i32 14596231, ptr %retval + br label %ret +ifend350: + %t352 = load ptr, ptr %t0 + %t353 = call i32 @fn_str_eq(ptr %t352, ptr @.str829) + %t354 = icmp ne i32 %t353, 0 + br i1 %t354, label %then351, label %ifend353 +then351: + store i32 12759680, ptr %retval + br label %ret +ifend353: + %t355 = load ptr, ptr %t0 + %t356 = call i32 @fn_str_eq(ptr %t355, ptr @.str830) + %t357 = icmp ne i32 %t356, 0 + br i1 %t357, label %then354, label %ifend356 +then354: + store i32 7294519, ptr %retval + br label %ret +ifend356: + %t358 = load ptr, ptr %t0 + %t359 = call i32 @fn_str_eq(ptr %t358, ptr @.str831) + %t360 = icmp ne i32 %t359, 0 + br i1 %t360, label %then357, label %ifend359 +then357: + store i32 4929057, ptr %retval + br label %ret +ifend359: + %t361 = load ptr, ptr %t0 + %t362 = call i32 @fn_str_eq(ptr %t361, ptr @.str832) + %t363 = icmp ne i32 %t362, 0 + br i1 %t363, label %then360, label %ifend362 +then360: + store i32 12599296, ptr %retval + br label %ret +ifend362: + %t364 = load ptr, ptr %t0 + %t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str833) + %t366 = icmp ne i32 %t365, 0 + br i1 %t366, label %then363, label %ifend365 +then363: + store i32 7814938, ptr %retval + br label %ret +ifend365: + %t367 = load ptr, ptr %t0 + %t368 = call i32 @fn_str_eq(ptr %t367, ptr @.str834) + %t369 = icmp ne i32 %t368, 0 + br i1 %t369, label %then366, label %ifend368 +then366: + store i32 6508871, ptr %retval + br label %ret +ifend368: + %t370 = load ptr, ptr %t0 + %t371 = call i32 @fn_str_eq(ptr %t370, ptr @.str835) + %t372 = icmp ne i32 %t371, 0 + br i1 %t372, label %then369, label %ifend371 +then369: + store i32 7356948, ptr %retval + br label %ret +ifend371: + %t373 = load ptr, ptr %t0 + %t374 = call i32 @fn_str_eq(ptr %t373, ptr @.str836) + %t375 = icmp ne i32 %t374, 0 + br i1 %t375, label %then372, label %ifend374 +then372: + store i32 4734002, ptr %retval + br label %ret +ifend374: + %t376 = load ptr, ptr %t0 + %t377 = call i32 @fn_str_eq(ptr %t376, ptr @.str837) + %t378 = icmp ne i32 %t377, 0 + br i1 %t378, label %then375, label %ifend377 +then375: + store i32 15051376, ptr %retval + br label %ret +ifend377: + %t379 = load ptr, ptr %t0 + %t380 = call i32 @fn_str_eq(ptr %t379, ptr @.str838) + %t381 = icmp ne i32 %t380, 0 + br i1 %t381, label %then378, label %ifend380 +then378: + store i32 13012503, ptr %retval + br label %ret +ifend380: + %t382 = load ptr, ptr %t0 + %t383 = call i32 @fn_str_eq(ptr %t382, ptr @.str839) + %t384 = icmp ne i32 %t383, 0 + br i1 %t384, label %then381, label %ifend383 +then381: + store i32 13789470, ptr %retval + br label %ret +ifend383: + %t385 = load ptr, ptr %t0 + %t386 = call i32 @fn_str_eq(ptr %t385, ptr @.str840) + %t387 = icmp ne i32 %t386, 0 + br i1 %t387, label %then384, label %ifend386 +then384: + store i32 9336344, ptr %retval + br label %ret +ifend386: + %t388 = load ptr, ptr %t0 + %t389 = call i32 @fn_str_eq(ptr %t388, ptr @.str841) + %t390 = icmp ne i32 %t389, 0 + br i1 %t390, label %then387, label %ifend389 +then387: + store i32 6575186, ptr %retval + br label %ret +ifend389: + %t391 = load ptr, ptr %t0 + %t392 = call i32 @fn_str_eq(ptr %t391, ptr @.str842) + %t393 = icmp ne i32 %t392, 0 + br i1 %t393, label %then390, label %ifend392 +then390: + store i32 32768, ptr %retval + br label %ret +ifend392: + %t394 = load ptr, ptr %t0 + %t395 = call i32 @fn_str_eq(ptr %t394, ptr @.str843) + %t396 = icmp ne i32 %t395, 0 + br i1 %t396, label %then393, label %ifend395 +then393: + store i32 65280, ptr %retval + br label %ret +ifend395: + %t397 = load ptr, ptr %t0 + %t398 = call i32 @fn_str_eq(ptr %t397, ptr @.str844) + %t399 = icmp ne i32 %t398, 0 + br i1 %t399, label %then396, label %ifend398 +then396: + store i32 3329330, ptr %retval + br label %ret +ifend398: + %t400 = load ptr, ptr %t0 + %t401 = call i32 @fn_str_eq(ptr %t400, ptr @.str845) + %t402 = icmp ne i32 %t401, 0 + br i1 %t402, label %then399, label %ifend401 +then399: + store i32 8190976, ptr %retval + br label %ret +ifend401: + %t403 = load ptr, ptr %t0 + %t404 = call i32 @fn_str_eq(ptr %t403, ptr @.str846) + %t405 = icmp ne i32 %t404, 0 + br i1 %t405, label %then402, label %ifend404 +then402: + store i32 8388352, ptr %retval + br label %ret +ifend404: + %t406 = load ptr, ptr %t0 + %t407 = call i32 @fn_str_eq(ptr %t406, ptr @.str847) + %t408 = icmp ne i32 %t407, 0 + br i1 %t408, label %then405, label %ifend407 +then405: + store i32 11403055, ptr %retval + br label %ret +ifend407: + %t409 = load ptr, ptr %t0 + %t410 = call i32 @fn_str_eq(ptr %t409, ptr @.str848) + %t411 = icmp ne i32 %t410, 0 + br i1 %t411, label %then408, label %ifend410 +then408: + store i32 65407, ptr %retval + br label %ret +ifend410: + %t412 = load ptr, ptr %t0 + %t413 = call i32 @fn_str_eq(ptr %t412, ptr @.str849) + %t414 = icmp ne i32 %t413, 0 + br i1 %t414, label %then411, label %ifend413 +then411: + store i32 10026904, ptr %retval + br label %ret +ifend413: + %t415 = load ptr, ptr %t0 + %t416 = call i32 @fn_str_eq(ptr %t415, ptr @.str850) + %t417 = icmp ne i32 %t416, 0 + br i1 %t417, label %then414, label %ifend416 +then414: + store i32 3050327, ptr %retval + br label %ret +ifend416: + %t418 = load ptr, ptr %t0 + %t419 = call i32 @fn_str_eq(ptr %t418, ptr @.str851) + %t420 = icmp ne i32 %t419, 0 + br i1 %t420, label %then417, label %ifend419 +then417: + store i32 3978097, ptr %retval + br label %ret +ifend419: + %t421 = load ptr, ptr %t0 + %t422 = call i32 @fn_str_eq(ptr %t421, ptr @.str852) + %t423 = icmp ne i32 %t422, 0 + br i1 %t423, label %then420, label %ifend422 +then420: + store i32 2263842, ptr %retval + br label %ret +ifend422: + %t424 = load ptr, ptr %t0 + %t425 = call i32 @fn_str_eq(ptr %t424, ptr @.str853) + %t426 = icmp ne i32 %t425, 0 + br i1 %t426, label %then423, label %ifend425 +then423: + store i32 25600, ptr %retval + br label %ret +ifend425: + %t427 = load ptr, ptr %t0 + %t428 = call i32 @fn_str_eq(ptr %t427, ptr @.str854) + %t429 = icmp ne i32 %t428, 0 + br i1 %t429, label %then426, label %ifend428 +then426: + store i32 7048739, ptr %retval + br label %ret +ifend428: + %t430 = load ptr, ptr %t0 + %t431 = call i32 @fn_str_eq(ptr %t430, ptr @.str855) + %t432 = icmp ne i32 %t431, 0 + br i1 %t432, label %then429, label %ifend431 +then429: + store i32 8421376, ptr %retval + br label %ret +ifend431: + %t433 = load ptr, ptr %t0 + %t434 = call i32 @fn_str_eq(ptr %t433, ptr @.str856) + %t435 = icmp ne i32 %t434, 0 + br i1 %t435, label %then432, label %ifend434 +then432: + store i32 9083483, ptr %retval + br label %ret +ifend434: + %t436 = load ptr, ptr %t0 + %t437 = call i32 @fn_str_eq(ptr %t436, ptr @.str857) + %t438 = icmp ne i32 %t437, 0 + br i1 %t438, label %then435, label %ifend437 +then435: + store i32 5208386, ptr %retval + br label %ret +ifend437: + %t439 = load ptr, ptr %t0 + %t440 = call i32 @fn_str_eq(ptr %t439, ptr @.str858) + %t441 = icmp ne i32 %t440, 0 + br i1 %t441, label %then438, label %ifend440 +then438: + store i32 5294200, ptr %retval + br label %ret +ifend440: + %t442 = load ptr, ptr %t0 + %t443 = call i32 @fn_str_eq(ptr %t442, ptr @.str859) + %t444 = icmp ne i32 %t443, 0 + br i1 %t444, label %then441, label %ifend443 +then441: + store i32 43115, ptr %retval + br label %ret +ifend443: + %t445 = load ptr, ptr %t0 + %t446 = call i32 @fn_str_eq(ptr %t445, ptr @.str860) + %t447 = icmp ne i32 %t446, 0 + br i1 %t447, label %then444, label %ifend446 +then444: + store i32 776785, ptr %retval + br label %ret +ifend446: + %t448 = load ptr, ptr %t0 + %t449 = call i32 @fn_str_eq(ptr %t448, ptr @.str861) + %t450 = icmp ne i32 %t449, 0 + br i1 %t450, label %then447, label %ifend449 +then447: + store i32 40544, ptr %retval + br label %ret +ifend449: + %t451 = load ptr, ptr %t0 + %t452 = call i32 @fn_str_eq(ptr %t451, ptr @.str862) + %t453 = icmp ne i32 %t452, 0 + br i1 %t453, label %then450, label %ifend452 +then450: + store i32 9684338, ptr %retval + br label %ret +ifend452: + %t454 = load ptr, ptr %t0 + %t455 = call i32 @fn_str_eq(ptr %t454, ptr @.str863) + %t456 = icmp ne i32 %t455, 0 + br i1 %t456, label %then453, label %ifend455 +then453: + store i32 5669379, ptr %retval + br label %ret +ifend455: + %t457 = load ptr, ptr %t0 + %t458 = call i32 @fn_str_eq(ptr %t457, ptr @.str864) + %t459 = icmp ne i32 %t458, 0 + br i1 %t459, label %then456, label %ifend458 +then456: + store i32 96623, ptr %retval + br label %ret +ifend458: + %t460 = load ptr, ptr %t0 + %t461 = call i32 @fn_str_eq(ptr %t460, ptr @.str865) + %t462 = icmp ne i32 %t461, 0 + br i1 %t462, label %then459, label %ifend461 +then459: + store i32 10268552, ptr %retval + br label %ret +ifend461: + %t463 = load ptr, ptr %t0 + %t464 = call i32 @fn_str_eq(ptr %t463, ptr @.str866) + %t465 = icmp ne i32 %t464, 0 + br i1 %t465, label %then462, label %ifend464 +then462: + store i32 5028631, ptr %retval + br label %ret +ifend464: + %t466 = load ptr, ptr %t0 + %t467 = call i32 @fn_str_eq(ptr %t466, ptr @.str867) + %t468 = icmp ne i32 %t467, 0 + br i1 %t468, label %then465, label %ifend467 +then465: + store i32 3497531, ptr %retval + br label %ret +ifend467: + %t469 = load ptr, ptr %t0 + %t470 = call i32 @fn_str_eq(ptr %t469, ptr @.str868) + %t471 = icmp ne i32 %t470, 0 + br i1 %t471, label %then468, label %ifend470 +then468: + store i32 5739049, ptr %retval + br label %ret +ifend470: + %t472 = load ptr, ptr %t0 + %t473 = call i32 @fn_str_eq(ptr %t472, ptr @.str869) + %t474 = icmp ne i32 %t473, 0 + br i1 %t474, label %then471, label %ifend473 +then471: + store i32 3050327, ptr %retval + br label %ret +ifend473: + %t475 = load ptr, ptr %t0 + %t476 = call i32 @fn_str_eq(ptr %t475, ptr @.str870) + %t477 = icmp ne i32 %t476, 0 + br i1 %t477, label %then474, label %ifend476 +then474: + store i32 7182969, ptr %retval + br label %ret +ifend476: + %t478 = load ptr, ptr %t0 + %t479 = call i32 @fn_str_eq(ptr %t478, ptr @.str871) + %t480 = icmp ne i32 %t479, 0 + br i1 %t480, label %then477, label %ifend479 +then477: + store i32 3800852, ptr %retval + br label %ret +ifend479: + %t481 = load ptr, ptr %t0 + %t482 = call i32 @fn_str_eq(ptr %t481, ptr @.str872) + %t483 = icmp ne i32 %t482, 0 + br i1 %t483, label %then480, label %ifend482 +then480: + store i32 65535, ptr %retval + br label %ret +ifend482: + %t484 = load ptr, ptr %t0 + %t485 = call i32 @fn_str_eq(ptr %t484, ptr @.str873) + %t486 = icmp ne i32 %t485, 0 + br i1 %t486, label %then483, label %ifend485 +then483: + store i32 65535, ptr %retval + br label %ret +ifend485: + %t487 = load ptr, ptr %t0 + %t488 = call i32 @fn_str_eq(ptr %t487, ptr @.str874) + %t489 = icmp ne i32 %t488, 0 + br i1 %t489, label %then486, label %ifend488 +then486: + store i32 14745599, ptr %retval + br label %ret +ifend488: + %t490 = load ptr, ptr %t0 + %t491 = call i32 @fn_str_eq(ptr %t490, ptr @.str875) + %t492 = icmp ne i32 %t491, 0 + br i1 %t492, label %then489, label %ifend491 +then489: + store i32 11529966, ptr %retval + br label %ret +ifend491: + %t493 = load ptr, ptr %t0 + %t494 = call i32 @fn_str_eq(ptr %t493, ptr @.str876) + %t495 = icmp ne i32 %t494, 0 + br i1 %t495, label %then492, label %ifend494 +then492: + store i32 8388564, ptr %retval + br label %ret +ifend494: + %t496 = load ptr, ptr %t0 + %t497 = call i32 @fn_str_eq(ptr %t496, ptr @.str877) + %t498 = icmp ne i32 %t497, 0 + br i1 %t498, label %then495, label %ifend497 +then495: + store i32 4251856, ptr %retval + br label %ret +ifend497: + %t499 = load ptr, ptr %t0 + %t500 = call i32 @fn_str_eq(ptr %t499, ptr @.str878) + %t501 = icmp ne i32 %t500, 0 + br i1 %t501, label %then498, label %ifend500 +then498: + store i32 4772300, ptr %retval + br label %ret +ifend500: + %t502 = load ptr, ptr %t0 + %t503 = call i32 @fn_str_eq(ptr %t502, ptr @.str879) + %t504 = icmp ne i32 %t503, 0 + br i1 %t504, label %then501, label %ifend503 +then501: + store i32 52945, ptr %retval + br label %ret +ifend503: + %t505 = load ptr, ptr %t0 + %t506 = call i32 @fn_str_eq(ptr %t505, ptr @.str880) + %t507 = icmp ne i32 %t506, 0 + br i1 %t507, label %then504, label %ifend506 +then504: + store i32 32896, ptr %retval + br label %ret +ifend506: + %t508 = load ptr, ptr %t0 + %t509 = call i32 @fn_str_eq(ptr %t508, ptr @.str881) + %t510 = icmp ne i32 %t509, 0 + br i1 %t510, label %then507, label %ifend509 +then507: + store i32 35723, ptr %retval + br label %ret +ifend509: + %t511 = load ptr, ptr %t0 + %t512 = call i32 @fn_str_eq(ptr %t511, ptr @.str882) + %t513 = icmp ne i32 %t512, 0 + br i1 %t513, label %then510, label %ifend512 +then510: + store i32 6266528, ptr %retval + br label %ret +ifend512: + %t514 = load ptr, ptr %t0 + %t515 = call i32 @fn_str_eq(ptr %t514, ptr @.str883) + %t516 = icmp ne i32 %t515, 0 + br i1 %t516, label %then513, label %ifend515 +then513: + store i32 102030, ptr %retval + br label %ret +ifend515: + %t517 = load ptr, ptr %t0 + %t518 = call i32 @fn_str_eq(ptr %t517, ptr @.str884) + %t519 = icmp ne i32 %t518, 0 + br i1 %t519, label %then516, label %ifend518 +then516: + store i32 9693630, ptr %retval + br label %ret +ifend518: + %t520 = load ptr, ptr %t0 + %t521 = call i32 @fn_str_eq(ptr %t520, ptr @.str885) + %t522 = icmp ne i32 %t521, 0 + br i1 %t522, label %then519, label %ifend521 +then519: + store i32 31655, ptr %retval + br label %ret +ifend521: + %t523 = load ptr, ptr %t0 + %t524 = call i32 @fn_str_eq(ptr %t523, ptr @.str886) + %t525 = icmp ne i32 %t524, 0 + br i1 %t525, label %then522, label %ifend524 +then522: + store i32 8444651, ptr %retval + br label %ret +ifend524: + %t526 = load ptr, ptr %t0 + %t527 = call i32 @fn_str_eq(ptr %t526, ptr @.str887) + %t528 = icmp ne i32 %t527, 0 + br i1 %t528, label %then525, label %ifend527 +then525: + store i32 52428, ptr %retval + br label %ret +ifend527: + %t529 = load ptr, ptr %t0 + %t530 = call i32 @fn_str_eq(ptr %t529, ptr @.str888) + %t531 = icmp ne i32 %t530, 0 + br i1 %t531, label %then528, label %ifend530 +then528: + store i32 4436910, ptr %retval + br label %ret +ifend530: + %t532 = load ptr, ptr %t0 + %t533 = call i32 @fn_str_eq(ptr %t532, ptr @.str889) + %t534 = icmp ne i32 %t533, 0 + br i1 %t534, label %then531, label %ifend533 +then531: + store i32 11329967, ptr %retval + br label %ret +ifend533: + %t535 = load ptr, ptr %t0 + %t536 = call i32 @fn_str_eq(ptr %t535, ptr @.str890) + %t537 = icmp ne i32 %t536, 0 + br i1 %t537, label %then534, label %ifend536 +then534: + store i32 255, ptr %retval + br label %ret +ifend536: + %t538 = load ptr, ptr %t0 + %t539 = call i32 @fn_str_eq(ptr %t538, ptr @.str891) + %t540 = icmp ne i32 %t539, 0 + br i1 %t540, label %then537, label %ifend539 +then537: + store i32 11393254, ptr %retval + br label %ret +ifend539: + %t541 = load ptr, ptr %t0 + %t542 = call i32 @fn_str_eq(ptr %t541, ptr @.str892) + %t543 = icmp ne i32 %t542, 0 + br i1 %t543, label %then540, label %ifend542 +then540: + store i32 11591910, ptr %retval + br label %ret +ifend542: + %t544 = load ptr, ptr %t0 + %t545 = call i32 @fn_str_eq(ptr %t544, ptr @.str893) + %t546 = icmp ne i32 %t545, 0 + br i1 %t546, label %then543, label %ifend545 +then543: + store i32 8900331, ptr %retval + br label %ret +ifend545: + %t547 = load ptr, ptr %t0 + %t548 = call i32 @fn_str_eq(ptr %t547, ptr @.str894) + %t549 = icmp ne i32 %t548, 0 + br i1 %t549, label %then546, label %ifend548 +then546: + store i32 8900346, ptr %retval + br label %ret +ifend548: + %t550 = load ptr, ptr %t0 + %t551 = call i32 @fn_str_eq(ptr %t550, ptr @.str895) + %t552 = icmp ne i32 %t551, 0 + br i1 %t552, label %then549, label %ifend551 +then549: + store i32 49151, ptr %retval + br label %ret +ifend551: + %t553 = load ptr, ptr %t0 + %t554 = call i32 @fn_str_eq(ptr %t553, ptr @.str896) + %t555 = icmp ne i32 %t554, 0 + br i1 %t555, label %then552, label %ifend554 +then552: + store i32 2003199, ptr %retval + br label %ret +ifend554: + %t556 = load ptr, ptr %t0 + %t557 = call i32 @fn_str_eq(ptr %t556, ptr @.str897) + %t558 = icmp ne i32 %t557, 0 + br i1 %t558, label %then555, label %ifend557 +then555: + store i32 6591981, ptr %retval + br label %ret +ifend557: + %t559 = load ptr, ptr %t0 + %t560 = call i32 @fn_str_eq(ptr %t559, ptr @.str898) + %t561 = icmp ne i32 %t560, 0 + br i1 %t561, label %then558, label %ifend560 +then558: + store i32 4620980, ptr %retval + br label %ret +ifend560: + %t562 = load ptr, ptr %t0 + %t563 = call i32 @fn_str_eq(ptr %t562, ptr @.str899) + %t564 = icmp ne i32 %t563, 0 + br i1 %t564, label %then561, label %ifend563 +then561: + store i32 4286945, ptr %retval + br label %ret +ifend563: + %t565 = load ptr, ptr %t0 + %t566 = call i32 @fn_str_eq(ptr %t565, ptr @.str900) + %t567 = icmp ne i32 %t566, 0 + br i1 %t567, label %then564, label %ifend566 +then564: + store i32 205, ptr %retval + br label %ret +ifend566: + %t568 = load ptr, ptr %t0 + %t569 = call i32 @fn_str_eq(ptr %t568, ptr @.str901) + %t570 = icmp ne i32 %t569, 0 + br i1 %t570, label %then567, label %ifend569 +then567: + store i32 139, ptr %retval + br label %ret +ifend569: + %t571 = load ptr, ptr %t0 + %t572 = call i32 @fn_str_eq(ptr %t571, ptr @.str902) + %t573 = icmp ne i32 %t572, 0 + br i1 %t573, label %then570, label %ifend572 +then570: + store i32 128, ptr %retval + br label %ret +ifend572: + %t574 = load ptr, ptr %t0 + %t575 = call i32 @fn_str_eq(ptr %t574, ptr @.str903) + %t576 = icmp ne i32 %t575, 0 + br i1 %t576, label %then573, label %ifend575 +then573: + store i32 1644912, ptr %retval + br label %ret +ifend575: + %t577 = load ptr, ptr %t0 + %t578 = call i32 @fn_str_eq(ptr %t577, ptr @.str904) + %t579 = icmp ne i32 %t578, 0 + br i1 %t579, label %then576, label %ifend578 +then576: + store i32 18347, ptr %retval + br label %ret +ifend578: + %t580 = load ptr, ptr %t0 + %t581 = call i32 @fn_str_eq(ptr %t580, ptr @.str905) + %t582 = icmp ne i32 %t581, 0 + br i1 %t582, label %then579, label %ifend581 +then579: + store i32 1004218, ptr %retval + br label %ret +ifend581: + %t583 = load ptr, ptr %t0 + %t584 = call i32 @fn_str_eq(ptr %t583, ptr @.str906) + %t585 = icmp ne i32 %t584, 0 + br i1 %t585, label %then582, label %ifend584 +then582: + store i32 1401021, ptr %retval + br label %ret +ifend584: + %t586 = load ptr, ptr %t0 + %t587 = call i32 @fn_str_eq(ptr %t586, ptr @.str907) + %t588 = icmp ne i32 %t587, 0 + br i1 %t588, label %then585, label %ifend587 +then585: + store i32 4915330, ptr %retval + br label %ret +ifend587: + %t589 = load ptr, ptr %t0 + %t590 = call i32 @fn_str_eq(ptr %t589, ptr @.str908) + %t591 = icmp ne i32 %t590, 0 + br i1 %t591, label %then588, label %ifend590 +then588: + store i32 12627, ptr %retval + br label %ret +ifend590: + %t592 = load ptr, ptr %t0 + %t593 = call i32 @fn_str_eq(ptr %t592, ptr @.str909) + %t594 = icmp ne i32 %t593, 0 + br i1 %t594, label %then591, label %ifend593 +then591: + store i32 4129023, ptr %retval + br label %ret +ifend593: + %t595 = load ptr, ptr %t0 + %t596 = call i32 @fn_str_eq(ptr %t595, ptr @.str910) + %t597 = icmp ne i32 %t596, 0 + br i1 %t597, label %then594, label %ifend596 +then594: + store i32 13421823, ptr %retval + br label %ret +ifend596: + %t598 = load ptr, ptr %t0 + %t599 = call i32 @fn_str_eq(ptr %t598, ptr @.str911) + %t600 = icmp ne i32 %t599, 0 + br i1 %t600, label %then597, label %ifend599 +then597: + store i32 5918671, ptr %retval + br label %ret +ifend599: + %t601 = load ptr, ptr %t0 + %t602 = call i32 @fn_str_eq(ptr %t601, ptr @.str912) + %t603 = icmp ne i32 %t602, 0 + br i1 %t603, label %then600, label %ifend602 +then600: + store i32 6324918, ptr %retval + br label %ret +ifend602: + %t604 = load ptr, ptr %t0 + %t605 = call i32 @fn_str_eq(ptr %t604, ptr @.str913) + %t606 = icmp ne i32 %t605, 0 + br i1 %t606, label %then603, label %ifend605 +then603: + store i32 5288, ptr %retval + br label %ret +ifend605: + %t607 = load ptr, ptr %t0 + %t608 = call i32 @fn_str_eq(ptr %t607, ptr @.str914) + %t609 = icmp ne i32 %t608, 0 + br i1 %t609, label %then606, label %ifend608 +then606: + store i32 3026312, ptr %retval + br label %ret +ifend608: + %t610 = load ptr, ptr %t0 + %t611 = call i32 @fn_str_eq(ptr %t610, ptr @.str915) + %t612 = icmp ne i32 %t611, 0 + br i1 %t612, label %then609, label %ifend611 +then609: + store i32 8388736, ptr %retval + br label %ret +ifend611: + %t613 = load ptr, ptr %t0 + %t614 = call i32 @fn_str_eq(ptr %t613, ptr @.str916) + %t615 = icmp ne i32 %t614, 0 + br i1 %t615, label %then612, label %ifend614 +then612: + store i32 15631086, ptr %retval + br label %ret +ifend614: + %t616 = load ptr, ptr %t0 + %t617 = call i32 @fn_str_eq(ptr %t616, ptr @.str917) + %t618 = icmp ne i32 %t617, 0 + br i1 %t618, label %then615, label %ifend617 +then615: + store i32 9699539, ptr %retval + br label %ret +ifend617: + %t619 = load ptr, ptr %t0 + %t620 = call i32 @fn_str_eq(ptr %t619, ptr @.str918) + %t621 = icmp ne i32 %t620, 0 + br i1 %t621, label %then618, label %ifend620 +then618: + store i32 9055202, ptr %retval + br label %ret +ifend620: + %t622 = load ptr, ptr %t0 + %t623 = call i32 @fn_str_eq(ptr %t622, ptr @.str919) + %t624 = icmp ne i32 %t623, 0 + br i1 %t624, label %then621, label %ifend623 +then621: + store i32 9662683, ptr %retval + br label %ret +ifend623: + %t625 = load ptr, ptr %t0 + %t626 = call i32 @fn_str_eq(ptr %t625, ptr @.str920) + %t627 = icmp ne i32 %t626, 0 + br i1 %t627, label %then624, label %ifend626 +then624: + store i32 10053324, ptr %retval + br label %ret +ifend626: + %t628 = load ptr, ptr %t0 + %t629 = call i32 @fn_str_eq(ptr %t628, ptr @.str921) + %t630 = icmp ne i32 %t629, 0 + br i1 %t630, label %then627, label %ifend629 +then627: + store i32 9323909, ptr %retval + br label %ret +ifend629: + %t631 = load ptr, ptr %t0 + %t632 = call i32 @fn_str_eq(ptr %t631, ptr @.str922) + %t633 = icmp ne i32 %t632, 0 + br i1 %t633, label %then630, label %ifend632 +then630: + store i32 6373457, ptr %retval + br label %ret +ifend632: + %t634 = load ptr, ptr %t0 + %t635 = call i32 @fn_str_eq(ptr %t634, ptr @.str923) + %t636 = icmp ne i32 %t635, 0 + br i1 %t636, label %then633, label %ifend635 +then633: + store i32 7286184, ptr %retval + br label %ret +ifend635: + %t637 = load ptr, ptr %t0 + %t638 = call i32 @fn_str_eq(ptr %t637, ptr @.str924) + %t639 = icmp ne i32 %t638, 0 + br i1 %t639, label %then636, label %ifend638 +then636: + store i32 7483191, ptr %retval + br label %ret +ifend638: + %t640 = load ptr, ptr %t0 + %t641 = call i32 @fn_str_eq(ptr %t640, ptr @.str925) + %t642 = icmp ne i32 %t641, 0 + br i1 %t642, label %then639, label %ifend641 +then639: + store i32 12929932, ptr %retval + br label %ret +ifend641: + %t643 = load ptr, ptr %t0 + %t644 = call i32 @fn_str_eq(ptr %t643, ptr @.str926) + %t645 = icmp ne i32 %t644, 0 + br i1 %t645, label %then642, label %ifend644 +then642: + store i32 13148872, ptr %retval + br label %ret +ifend644: + %t646 = load ptr, ptr %t0 + %t647 = call i32 @fn_str_eq(ptr %t646, ptr @.str927) + %t648 = icmp ne i32 %t647, 0 + br i1 %t648, label %then645, label %ifend647 +then645: + store i32 13213916, ptr %retval + br label %ret +ifend647: + %t649 = load ptr, ptr %t0 + %t650 = call i32 @fn_str_eq(ptr %t649, ptr @.str928) + %t651 = icmp ne i32 %t650, 0 + br i1 %t651, label %then648, label %ifend650 +then648: + store i32 14644223, ptr %retval + br label %ret +ifend650: + %t652 = load ptr, ptr %t0 + %t653 = call i32 @fn_str_eq(ptr %t652, ptr @.str929) + %t654 = icmp ne i32 %t653, 0 + br i1 %t654, label %then651, label %ifend653 +then651: + store i32 7350627, ptr %retval + br label %ret +ifend653: + %t655 = load ptr, ptr %t0 + %t656 = call i32 @fn_str_eq(ptr %t655, ptr @.str930) + %t657 = icmp ne i32 %t656, 0 + br i1 %t657, label %then654, label %ifend656 +then654: + store i32 6685244, ptr %retval + br label %ret +ifend656: + %t658 = load ptr, ptr %t0 + %t659 = call i32 @fn_str_eq(ptr %t658, ptr @.str931) + %t660 = icmp ne i32 %t659, 0 + br i1 %t660, label %then657, label %ifend659 +then657: + store i32 6697881, ptr %retval + br label %ret +ifend659: + %t661 = load ptr, ptr %t0 + %t662 = call i32 @fn_str_eq(ptr %t661, ptr @.str932) + %t663 = icmp ne i32 %t662, 0 + br i1 %t663, label %then660, label %ifend662 +then660: + store i32 11495919, ptr %retval + br label %ret +ifend662: + %t664 = sub i32 0, 1 + store i32 %t664, ptr %retval + br label %ret +ret: + %t665 = load i32, ptr %retval + ret i32 %t665 +} + define ptr @fn_emit_sizeof(ptr %arg_llt) { entry: %retval = alloca ptr @@ -16456,13 +18652,13 @@ entry: %t5 = alloca ptr store ptr %arg_llt, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call ptr @fn_str_concat(ptr @.str710, ptr %t1) - %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str711) + %t2 = call ptr @fn_str_concat(ptr @.str933, ptr %t1) + %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str934) %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 @.str712, ptr %t6) - %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str713) + %t7 = call ptr @fn_str_concat(ptr @.str935, ptr %t6) + %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str936) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %retval br label %ret @@ -16495,7 +18691,7 @@ entry: %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: - call void @fn_perr(ptr @.str714) + call void @fn_perr(ptr @.str937) br label %ifend2 ifend2: %t8 = load ptr, ptr %t0 @@ -16505,8 +18701,8 @@ ifend2: %t12 = call ptr @fn_emit_sizeof(ptr %t11) store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t13 - %t15 = call ptr @fn_str_concat(ptr @.str715, ptr %t14) - %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str716) + %t15 = call ptr @fn_str_concat(ptr @.str938, ptr %t14) + %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str939) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 store i32 0, ptr %t19 @@ -16534,32 +18730,32 @@ wbody4: store ptr %t36, ptr %t37 %t38 = call ptr @fn_nreg() store ptr %t38, ptr %t39 - call void @fn_emit(ptr @.str717) + call void @fn_emit(ptr @.str940) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str718) + call void @fn_emit(ptr @.str941) %t41 = load ptr, ptr %t10 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str719) + call void @fn_emit(ptr @.str942) %t42 = load ptr, ptr %t18 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str720) + call void @fn_emit(ptr @.str943) %t43 = load i32, ptr %t19 %t44 = call ptr @fn_itoa(i32 %t43) call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str721) + call void @fn_emit(ptr @.str944) %t45 = load ptr, ptr %t37 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3 %t47 = load ptr, ptr %t46 %t48 = call ptr @fn_llty(ptr %t47) store ptr %t48, ptr %t49 - store ptr @.str722, ptr %t50 + store ptr @.str945, ptr %t50 %t51 = load ptr, ptr %t49 - %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str723) + %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str946) %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then6, label %ifend8 then6: - store ptr @.str724, ptr %t50 + store ptr @.str947, ptr %t50 br label %ifend8 ifend8: %t54 = load ptr, ptr %t37 @@ -16581,16 +18777,16 @@ then9: store ptr %t67, ptr %t50 br label %ifend11 ifend11: - call void @fn_emit(ptr @.str725) + call void @fn_emit(ptr @.str948) %t68 = load ptr, ptr %t49 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str726) + call void @fn_emit(ptr @.str949) %t69 = load ptr, ptr %t50 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str727) + call void @fn_emit(ptr @.str950) %t70 = load ptr, ptr %t39 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str728) + call void @fn_emit(ptr @.str951) %t71 = load i32, ptr %t19 %t72 = add i32 %t71, 1 store i32 %t72, ptr %t19 @@ -16616,52 +18812,52 @@ entry: %t14 = alloca ptr %t19 = alloca ptr store ptr %arg_ty, ptr %t0 - %t1 = call ptr @fn_emit_sizeof(ptr @.str729) + %t1 = call ptr @fn_emit_sizeof(ptr @.str952) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 - %t4 = call ptr @fn_str_concat(ptr @.str730, ptr %t3) - %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str731) + %t4 = call ptr @fn_str_concat(ptr @.str953, ptr %t3) + %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str954) %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 @.str732) + call void @fn_emit(ptr @.str955) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) - call void @fn_emit(ptr @.str733) + call void @fn_emit(ptr @.str956) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) - call void @fn_emit(ptr @.str734) - call void @fn_emit(ptr @.str735) + call void @fn_emit(ptr @.str957) + call void @fn_emit(ptr @.str958) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) - call void @fn_emit(ptr @.str736) + call void @fn_emit(ptr @.str959) %t13 = call ptr @fn_nreg() store ptr %t13, ptr %t14 - call void @fn_emit(ptr @.str737) + call void @fn_emit(ptr @.str960) %t15 = load ptr, ptr %t14 call void @fn_emit(ptr %t15) - call void @fn_emit(ptr @.str738) + call void @fn_emit(ptr @.str961) %t16 = load ptr, ptr %t7 call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str739) - call void @fn_emit(ptr @.str740) + call void @fn_emit(ptr @.str962) + call void @fn_emit(ptr @.str963) %t17 = load ptr, ptr %t14 call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str741) + call void @fn_emit(ptr @.str964) %t18 = call ptr @fn_nreg() store ptr %t18, ptr %t19 - call void @fn_emit(ptr @.str742) + call void @fn_emit(ptr @.str965) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str743) + call void @fn_emit(ptr @.str966) %t21 = load ptr, ptr %t7 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str744) - call void @fn_emit(ptr @.str745) + call void @fn_emit(ptr @.str967) + call void @fn_emit(ptr @.str968) %t22 = load ptr, ptr %t19 call void @fn_emit(ptr %t22) - call void @fn_emit(ptr @.str746) + call void @fn_emit(ptr @.str969) %t23 = load ptr, ptr %t7 %t24 = load ptr, ptr %t0 %t25 = call ptr @fn_val(ptr %t23, ptr %t24) @@ -16682,17 +18878,17 @@ entry: store i32 %arg_i, ptr %t1 %t2 = call ptr @fn_nreg() store ptr %t2, ptr %t3 - call void @fn_emit(ptr @.str747) + call void @fn_emit(ptr @.str970) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str748) + call void @fn_emit(ptr @.str971) %t5 = load ptr, ptr %t0 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str749) + call void @fn_emit(ptr @.str972) %t6 = load i32, ptr %t1 %t7 = call ptr @fn_itoa(i32 %t6) call void @fn_emit(ptr %t7) - call void @fn_emit(ptr @.str750) + call void @fn_emit(ptr @.str973) %t8 = load ptr, ptr %t3 store ptr %t8, ptr %retval br label %ret @@ -16731,24 +18927,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 @.str751, ptr %t20) + %t21 = call ptr @fn_str_concat(ptr @.str974, ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) - %t23 = call ptr @fn_val(ptr %t22, ptr @.str752) + %t23 = call ptr @fn_val(ptr %t22, ptr @.str975) 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 @.str753, ptr %t26) - %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str754) + %t27 = call ptr @fn_str_concat(ptr @.str976, ptr %t26) + %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str977) %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 @.str755, ptr %t31) - %t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str756) + %t32 = call ptr @fn_str_concat(ptr @.str978, ptr %t31) + %t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str979) %t34 = call ptr @fn_emit_bind(ptr %t33) - %t35 = call ptr @fn_val(ptr %t34, ptr @.str757) + %t35 = call ptr @fn_val(ptr %t34, ptr @.str980) store ptr %t35, ptr %retval br label %ret ret: @@ -16816,50 +19012,50 @@ entry: %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 @.str758, ptr %t31) + %t32 = call ptr @fn_str_concat(ptr @.str981, 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 @.str759, ptr %t35) + %t36 = call ptr @fn_str_concat(ptr @.str982, 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 @.str760, ptr %t39) - %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str761) + %t40 = call ptr @fn_str_concat(ptr @.str983, ptr %t39) + %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str984) %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 @.str762) + %t46 = call ptr @fn_lbl(ptr @.str985) store ptr %t46, ptr %t47 - %t48 = call ptr @fn_lbl(ptr @.str763) + %t48 = call ptr @fn_lbl(ptr @.str986) store ptr %t48, ptr %t49 - call void @fn_emit(ptr @.str764) + call void @fn_emit(ptr @.str987) %t50 = load ptr, ptr %t45 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str765) + call void @fn_emit(ptr @.str988) %t51 = load ptr, ptr %t47 call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str766) + call void @fn_emit(ptr @.str989) %t52 = load ptr, ptr %t49 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str767) + call void @fn_emit(ptr @.str990) %t53 = load ptr, ptr %t47 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str768) + call void @fn_emit(ptr @.str991) %t54 = load ptr, ptr %t38 - %t55 = call ptr @fn_str_concat(ptr @.str769, ptr %t54) - %t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str770) + %t55 = call ptr @fn_str_concat(ptr @.str992, ptr %t54) + %t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str993) %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 @.str771, ptr %t59) - %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str772) + %t60 = call ptr @fn_str_concat(ptr @.str994, ptr %t59) + %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str995) %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 @.str773, ptr %t64) - %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str774) + %t65 = call ptr @fn_str_concat(ptr @.str996, ptr %t64) + %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str997) %t67 = load ptr, ptr %t58 %t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67) %t69 = call ptr @fn_emit_bind(ptr %t68) @@ -16868,50 +19064,50 @@ entry: %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 @.str775, ptr %t74) - %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str776) + %t75 = call ptr @fn_str_concat(ptr @.str998, ptr %t74) + %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str999) %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 @.str777, ptr %t79) - %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str778) + %t80 = call ptr @fn_str_concat(ptr @.str1000, ptr %t79) + %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str1001) %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 @.str779, ptr %t86) + %t87 = call ptr @fn_str_concat(ptr @.str1002, 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 @.str780, ptr %t90) - %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str781) + %t91 = call ptr @fn_str_concat(ptr @.str1003, ptr %t90) + %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str1004) %t93 = load ptr, ptr %t85 %t94 = call ptr @fn_str_concat(ptr %t92, ptr %t93) - %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str782) + %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str1005) %t96 = call ptr @fn_emit_bind(ptr %t95) store ptr %t96, ptr %t97 - call void @fn_emit(ptr @.str783) + call void @fn_emit(ptr @.str1006) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) - call void @fn_emit(ptr @.str784) + call void @fn_emit(ptr @.str1007) %t99 = load ptr, ptr %t30 call void @fn_emit(ptr %t99) - call void @fn_emit(ptr @.str785) - call void @fn_emit(ptr @.str786) + call void @fn_emit(ptr @.str1008) + call void @fn_emit(ptr @.str1009) %t100 = load ptr, ptr %t70 call void @fn_emit(ptr %t100) - call void @fn_emit(ptr @.str787) + call void @fn_emit(ptr @.str1010) %t101 = load ptr, ptr %t27 call void @fn_emit(ptr %t101) - call void @fn_emit(ptr @.str788) - call void @fn_emit(ptr @.str789) + call void @fn_emit(ptr @.str1011) + call void @fn_emit(ptr @.str1012) %t102 = load ptr, ptr %t49 call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str790) + call void @fn_emit(ptr @.str1013) %t103 = load ptr, ptr %t49 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str791) + call void @fn_emit(ptr @.str1014) %t104 = load ptr, ptr %t0 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 7 %t106 = load ptr, ptr %t105 @@ -16922,49 +19118,49 @@ entry: %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 @.str792, ptr %t113) + %t114 = call ptr @fn_str_concat(ptr @.str1015, 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 @.str793) + call void @fn_emit(ptr @.str1016) %t119 = load ptr, ptr %t118 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str794) + call void @fn_emit(ptr @.str1017) %t120 = load ptr, ptr %t17 call void @fn_emit(ptr %t120) - call void @fn_emit(ptr @.str795) + call void @fn_emit(ptr @.str1018) %t121 = load ptr, ptr %t116 call void @fn_emit(ptr %t121) - call void @fn_emit(ptr @.str796) + call void @fn_emit(ptr @.str1019) %t122 = load ptr, ptr %t34 call void @fn_emit(ptr %t122) - call void @fn_emit(ptr @.str797) - call void @fn_emit(ptr @.str798) + call void @fn_emit(ptr @.str1020) + call void @fn_emit(ptr @.str1021) %t123 = load ptr, ptr %t17 call void @fn_emit(ptr %t123) - call void @fn_emit(ptr @.str799) + call void @fn_emit(ptr @.str1022) %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 @.str800) + call void @fn_emit(ptr @.str1023) %t127 = load ptr, ptr %t118 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str801) + call void @fn_emit(ptr @.str1024) %t128 = load ptr, ptr %t34 - %t129 = call ptr @fn_str_concat(ptr @.str802, ptr %t128) - %t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str803) + %t129 = call ptr @fn_str_concat(ptr @.str1025, ptr %t128) + %t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str1026) %t131 = call ptr @fn_emit_bind(ptr %t130) store ptr %t131, ptr %t132 - call void @fn_emit(ptr @.str804) + call void @fn_emit(ptr @.str1027) %t133 = load ptr, ptr %t132 call void @fn_emit(ptr %t133) - call void @fn_emit(ptr @.str805) + call void @fn_emit(ptr @.str1028) %t134 = load ptr, ptr %t24 call void @fn_emit(ptr %t134) - call void @fn_emit(ptr @.str806) - %t135 = call ptr @fn_val(ptr @.str807, ptr @.str808) + call void @fn_emit(ptr @.str1029) + %t135 = call ptr @fn_val(ptr @.str1030, ptr @.str1031) store ptr %t135, ptr %retval br label %ret ret: @@ -16982,8 +19178,8 @@ 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 @.str809, ptr %t3) - %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str810) + %t4 = call ptr @fn_str_concat(ptr @.str1032, ptr %t3) + %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str1033) %t6 = load ptr, ptr %t0 %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) @@ -17012,7 +19208,7 @@ entry: %t49 = alloca ptr %t54 = alloca ptr store ptr %arg_e, ptr %t0 - %t1 = call ptr @fn_emit_alloca(ptr @.str811) + %t1 = call ptr @fn_emit_alloca(ptr @.str1034) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 @@ -17022,60 +19218,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 @.str812, ptr %t10) - %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str813) + %t11 = call ptr @fn_str_concat(ptr @.str1035, ptr %t10) + %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str1036) %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 @.str814, ptr %t15) - %t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str815) + %t16 = call ptr @fn_str_concat(ptr @.str1037, ptr %t15) + %t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str1038) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 - call void @fn_emit(ptr @.str816) + call void @fn_emit(ptr @.str1039) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str817) + call void @fn_emit(ptr @.str1040) %t21 = load ptr, ptr %t2 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str818) - %t22 = call ptr @fn_lbl(ptr @.str819) + call void @fn_emit(ptr @.str1041) + %t22 = call ptr @fn_lbl(ptr @.str1042) store ptr %t22, ptr %t23 - %t24 = call ptr @fn_lbl(ptr @.str820) + %t24 = call ptr @fn_lbl(ptr @.str1043) 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 @.str821) + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str1044) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then0, label %else1 then0: - call void @fn_emit(ptr @.str822) + call void @fn_emit(ptr @.str1045) %t31 = load ptr, ptr %t14 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str823) + call void @fn_emit(ptr @.str1046) %t32 = load ptr, ptr %t23 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str824) + call void @fn_emit(ptr @.str1047) %t33 = load ptr, ptr %t25 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str825) + call void @fn_emit(ptr @.str1048) br label %ifend2 else1: - call void @fn_emit(ptr @.str826) + call void @fn_emit(ptr @.str1049) %t34 = load ptr, ptr %t14 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str827) + call void @fn_emit(ptr @.str1050) %t35 = load ptr, ptr %t25 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str828) + call void @fn_emit(ptr @.str1051) %t36 = load ptr, ptr %t23 call void @fn_emit(ptr %t36) - call void @fn_emit(ptr @.str829) + call void @fn_emit(ptr @.str1052) br label %ifend2 ifend2: %t37 = load ptr, ptr %t23 call void @fn_emit(ptr %t37) - call void @fn_emit(ptr @.str830) + call void @fn_emit(ptr @.str1053) %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 5 %t40 = load ptr, ptr %t39 @@ -17084,33 +19280,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 @.str831, ptr %t45) - %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str832) + %t46 = call ptr @fn_str_concat(ptr @.str1054, ptr %t45) + %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str1055) %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 @.str833, ptr %t50) - %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str834) + %t51 = call ptr @fn_str_concat(ptr @.str1056, ptr %t50) + %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str1057) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 - call void @fn_emit(ptr @.str835) + call void @fn_emit(ptr @.str1058) %t55 = load ptr, ptr %t54 call void @fn_emit(ptr %t55) - call void @fn_emit(ptr @.str836) + call void @fn_emit(ptr @.str1059) %t56 = load ptr, ptr %t2 call void @fn_emit(ptr %t56) - call void @fn_emit(ptr @.str837) - call void @fn_emit(ptr @.str838) + call void @fn_emit(ptr @.str1060) + call void @fn_emit(ptr @.str1061) %t57 = load ptr, ptr %t25 call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str839) + call void @fn_emit(ptr @.str1062) %t58 = load ptr, ptr %t25 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str840) + call void @fn_emit(ptr @.str1063) %t59 = load ptr, ptr %t2 - %t60 = call ptr @fn_str_concat(ptr @.str841, ptr %t59) + %t60 = call ptr @fn_str_concat(ptr @.str1064, ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) - %t62 = call ptr @fn_val(ptr %t61, ptr @.str842) + %t62 = call ptr @fn_val(ptr %t61, ptr @.str1065) store ptr %t62, ptr %retval br label %ret ret: @@ -17124,46 +19320,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 @.str843) + %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str1066) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: - store ptr @.str844, ptr %retval + store ptr @.str1067, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str845) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1068) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: - store ptr @.str846, ptr %retval + store ptr @.str1069, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str847) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str1070) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: - store ptr @.str848, ptr %retval + store ptr @.str1071, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 - %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str849) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str1072) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: - store ptr @.str850, ptr %retval + store ptr @.str1073, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str851) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str1074) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: - store ptr @.str852, ptr %retval + store ptr @.str1075, ptr %retval br label %ret ifend14: - store ptr @.str853, ptr %retval + store ptr @.str1076, ptr %retval br label %ret ret: %t16 = load ptr, ptr %retval @@ -17181,14 +19377,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 @.str854) + %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str1077) %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 @.str855) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str1078) %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t5 @@ -17201,7 +19397,7 @@ scend1: br i1 %t15, label %scend3, label %sc2 sc2: %t17 = load ptr, ptr %t0 - %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str856) + %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str1079) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t4 @@ -17214,7 +19410,7 @@ scend3: br i1 %t22, label %scend5, label %sc4 sc4: %t24 = load ptr, ptr %t0 - %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str857) + %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str1080) %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t3 @@ -17227,7 +19423,7 @@ scend5: br i1 %t29, label %scend7, label %sc6 sc6: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str858) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str1081) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t2 @@ -17240,7 +19436,7 @@ scend7: br i1 %t36, label %scend9, label %sc8 sc8: %t38 = load ptr, ptr %t0 - %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str859) + %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str1082) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t1 @@ -17260,78 +19456,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 @.str860) + %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str1083) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: - store ptr @.str861, ptr %retval + store ptr @.str1084, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str862) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1085) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: - store ptr @.str863, ptr %retval + store ptr @.str1086, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str864) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str1087) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: - store ptr @.str865, ptr %retval + store ptr @.str1088, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 - %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str866) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str1089) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: - store ptr @.str867, ptr %retval + store ptr @.str1090, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str868) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str1091) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: - store ptr @.str869, ptr %retval + store ptr @.str1092, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 - %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str870) + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str1093) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: - store ptr @.str871, ptr %retval + store ptr @.str1094, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 - %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str872) + %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str1095) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: - store ptr @.str873, ptr %retval + store ptr @.str1096, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str874) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1097) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: - store ptr @.str875, ptr %retval + store ptr @.str1098, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str876) + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str1099) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: - store ptr @.str877, ptr %retval + store ptr @.str1100, ptr %retval br label %ret ifend26: - store ptr @.str878, ptr %retval + store ptr @.str1101, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval @@ -17346,7 +19542,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 @.str879) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str1102) %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: @@ -17359,8 +19555,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 @.str880, ptr %t11) - %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str881) + %t12 = call ptr @fn_str_concat(ptr @.str1103, ptr %t11) + %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str1104) %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %retval br label %ret @@ -17382,57 +19578,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 @.str882) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str1105) %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 @.str883, ptr %t8) - %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str884) + %t9 = call ptr @fn_str_concat(ptr @.str1106, ptr %t8) + %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str1107) %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 @.str885) + %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str1108) %t16 = call ptr @fn_emit_bind(ptr %t15) - %t17 = call ptr @fn_val(ptr %t16, ptr @.str886) + %t17 = call ptr @fn_val(ptr %t16, ptr @.str1109) 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 @.str887, ptr %t20) - %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str888) + %t21 = call ptr @fn_str_concat(ptr @.str1110, ptr %t20) + %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str1111) %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 @.str889) + %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str1112) %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 @.str890) + %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str1113) %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 @.str891, ptr %t33) - %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str892) + %t34 = call ptr @fn_str_concat(ptr @.str1114, ptr %t33) + %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str1115) %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 @.str893, ptr %t38) - %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str894) + %t39 = call ptr @fn_str_concat(ptr @.str1116, ptr %t38) + %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str1117) %t41 = call ptr @fn_emit_bind(ptr %t40) - %t42 = call ptr @fn_val(ptr %t41, ptr @.str895) + %t42 = call ptr @fn_val(ptr %t41, ptr @.str1118) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t29 - %t44 = call ptr @fn_val(ptr %t43, ptr @.str896) + %t44 = call ptr @fn_val(ptr %t43, ptr @.str1119) store ptr %t44, ptr %retval br label %ret ret: @@ -17476,7 +19672,7 @@ entry: %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 @.str897) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1120) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t1 @@ -17485,7 +19681,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 @.str898) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str1121) %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 @@ -17514,7 +19710,7 @@ ifend4: %t30 = getelementptr inbounds %Cmp_Val, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 %t32 = call ptr @fn_llty(ptr %t31) - %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str899) + %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str1122) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t28 @@ -17524,7 +19720,7 @@ sc5: %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 @.str900) + %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str1123) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t28 @@ -17565,20 +19761,20 @@ 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 @.str901) + %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str1124) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then12, label %ifend14 then12: %t73 = load ptr, ptr %t22 %t74 = load ptr, ptr %t27 - %t75 = call ptr @fn_emit_str_op(ptr @.str902, ptr %t73, ptr %t74) + %t75 = call ptr @fn_emit_str_op(ptr @.str1125, ptr %t73, ptr %t74) store ptr %t75, ptr %retval br label %ret ifend14: %t78 = load ptr, ptr %t0 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 1 %t80 = load ptr, ptr %t79 - %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str903) + %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str1126) %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t77 @@ -17587,7 +19783,7 @@ 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 @.str904) + %t87 = call i32 @fn_str_eq(ptr %t86, ptr @.str1127) %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t77 @@ -17625,7 +19821,7 @@ 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 @.str905) + %t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str1128) %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t106 @@ -17634,7 +19830,7 @@ 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 @.str906) + %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str1129) %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t106 @@ -17657,7 +19853,7 @@ then24: %t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 store ptr %t132, ptr %t133 - store ptr @.str907, ptr %t134 + store ptr @.str1130, ptr %t134 %t135 = load i32, ptr %t120 %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then27, label %else28 @@ -17674,7 +19870,7 @@ else28: %t143 = getelementptr inbounds %Cmp_Val, ptr %t142, i32 0, i32 1 %t144 = load ptr, ptr %t143 %t145 = call ptr @fn_llty(ptr %t144) - %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str908) + %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str1131) %t147 = icmp ne i32 %t146, 0 %t148 = zext i1 %t147 to i32 store i32 %t148, ptr %t141 @@ -17684,7 +19880,7 @@ sc30: %t150 = getelementptr inbounds %Cmp_Val, ptr %t149, i32 0, i32 1 %t151 = load ptr, ptr %t150 %t152 = call ptr @fn_llty(ptr %t151) - %t153 = call i32 @fn_str_eq(ptr %t152, ptr @.str909) + %t153 = call i32 @fn_str_eq(ptr %t152, ptr @.str1132) %t154 = icmp ne i32 %t153, 0 %t155 = zext i1 %t154 to i32 store i32 %t155, ptr %t141 @@ -17694,7 +19890,7 @@ scend31: %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then32, label %ifend34 then32: - store ptr @.str910, ptr %t134 + store ptr @.str1133, ptr %t134 br label %ifend34 ifend34: br label %ifend29 @@ -17703,23 +19899,23 @@ ifend29: %t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 1 %t160 = load ptr, ptr %t159 %t161 = call ptr @fn_cmp_code(ptr %t160) - %t162 = call ptr @fn_str_concat(ptr @.str911, ptr %t161) - %t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str912) + %t162 = call ptr @fn_str_concat(ptr @.str1134, ptr %t161) + %t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str1135) %t164 = load ptr, ptr %t134 %t165 = call ptr @fn_str_concat(ptr %t163, ptr %t164) - %t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str913) + %t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str1136) %t167 = load ptr, ptr %t129 %t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167) - %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str914) + %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str1137) %t170 = load ptr, ptr %t133 %t171 = call ptr @fn_str_concat(ptr %t169, ptr %t170) %t172 = call ptr @fn_emit_bind(ptr %t171) store ptr %t172, ptr %t173 %t174 = load ptr, ptr %t173 - %t175 = call ptr @fn_str_concat(ptr @.str915, ptr %t174) - %t176 = call ptr @fn_str_concat(ptr %t175, ptr @.str916) + %t175 = call ptr @fn_str_concat(ptr @.str1138, ptr %t174) + %t176 = call ptr @fn_str_concat(ptr %t175, ptr @.str1139) %t177 = call ptr @fn_emit_bind(ptr %t176) - %t178 = call ptr @fn_val(ptr %t177, ptr @.str917) + %t178 = call ptr @fn_val(ptr %t177, ptr @.str1140) store ptr %t178, ptr %retval br label %ret ifend26: @@ -17736,74 +19932,74 @@ then35: %t187 = load ptr, ptr %t0 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 1 %t189 = load ptr, ptr %t188 - %t190 = call i32 @fn_str_eq(ptr %t189, ptr @.str918) + %t190 = call i32 @fn_str_eq(ptr %t189, ptr @.str1141) %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then38, label %ifend40 then38: %t192 = load ptr, ptr %t183 - %t193 = call ptr @fn_str_concat(ptr @.str919, ptr %t192) - %t194 = call ptr @fn_str_concat(ptr %t193, ptr @.str920) + %t193 = call ptr @fn_str_concat(ptr @.str1142, ptr %t192) + %t194 = call ptr @fn_str_concat(ptr %t193, ptr @.str1143) %t195 = call ptr @fn_emit_bind(ptr %t194) store ptr %t195, ptr %t196 %t197 = load ptr, ptr %t186 - %t198 = call ptr @fn_str_concat(ptr @.str921, ptr %t197) - %t199 = call ptr @fn_str_concat(ptr %t198, ptr @.str922) + %t198 = call ptr @fn_str_concat(ptr @.str1144, ptr %t197) + %t199 = call ptr @fn_str_concat(ptr %t198, ptr @.str1145) %t200 = call ptr @fn_emit_bind(ptr %t199) store ptr %t200, ptr %t201 %t202 = load ptr, ptr %t196 - %t203 = call ptr @fn_str_concat(ptr @.str923, ptr %t202) - %t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str924) + %t203 = call ptr @fn_str_concat(ptr @.str1146, ptr %t202) + %t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str1147) %t205 = load ptr, ptr %t201 %t206 = call ptr @fn_str_concat(ptr %t204, ptr %t205) %t207 = call ptr @fn_emit_bind(ptr %t206) store ptr %t207, ptr %t208 %t209 = load ptr, ptr %t208 - %t210 = call ptr @fn_str_concat(ptr @.str925, ptr %t209) - %t211 = call ptr @fn_str_concat(ptr %t210, ptr @.str926) + %t210 = call ptr @fn_str_concat(ptr @.str1148, ptr %t209) + %t211 = call ptr @fn_str_concat(ptr %t210, ptr @.str1149) %t212 = call ptr @fn_emit_bind(ptr %t211) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t213 - %t215 = call ptr @fn_str_concat(ptr @.str927, ptr %t214) - %t216 = call ptr @fn_str_concat(ptr %t215, ptr @.str928) + %t215 = call ptr @fn_str_concat(ptr @.str1150, ptr %t214) + %t216 = call ptr @fn_str_concat(ptr %t215, ptr @.str1151) %t217 = call ptr @fn_emit_bind(ptr %t216) - %t218 = call ptr @fn_val(ptr %t217, ptr @.str929) + %t218 = call ptr @fn_val(ptr %t217, ptr @.str1152) store ptr %t218, ptr %retval br label %ret ifend40: %t219 = load ptr, ptr %t0 %t220 = getelementptr inbounds %Cmp_Node, ptr %t219, i32 0, i32 1 %t221 = load ptr, ptr %t220 - %t222 = call i32 @fn_str_eq(ptr %t221, ptr @.str930) + %t222 = call i32 @fn_str_eq(ptr %t221, ptr @.str1153) %t223 = icmp ne i32 %t222, 0 br i1 %t223, label %then41, label %ifend43 then41: %t224 = load ptr, ptr %t183 - %t225 = call ptr @fn_str_concat(ptr @.str931, ptr %t224) - %t226 = call ptr @fn_str_concat(ptr %t225, ptr @.str932) + %t225 = call ptr @fn_str_concat(ptr @.str1154, ptr %t224) + %t226 = call ptr @fn_str_concat(ptr %t225, ptr @.str1155) %t227 = call ptr @fn_emit_bind(ptr %t226) store ptr %t227, ptr %t228 %t229 = load ptr, ptr %t228 - %t230 = call ptr @fn_str_concat(ptr @.str933, ptr %t229) - %t231 = call ptr @fn_str_concat(ptr %t230, ptr @.str934) + %t230 = call ptr @fn_str_concat(ptr @.str1156, ptr %t229) + %t231 = call ptr @fn_str_concat(ptr %t230, ptr @.str1157) %t232 = call ptr @fn_emit_bind(ptr %t231) store ptr %t232, ptr %t233 %t234 = load ptr, ptr %t186 - %t235 = call ptr @fn_str_concat(ptr @.str935, ptr %t234) - %t236 = call ptr @fn_str_concat(ptr %t235, ptr @.str936) + %t235 = call ptr @fn_str_concat(ptr @.str1158, ptr %t234) + %t236 = call ptr @fn_str_concat(ptr %t235, ptr @.str1159) %t237 = call ptr @fn_emit_bind(ptr %t236) store ptr %t237, ptr %t238 %t239 = load ptr, ptr %t233 - %t240 = call ptr @fn_str_concat(ptr @.str937, ptr %t239) - %t241 = call ptr @fn_str_concat(ptr %t240, ptr @.str938) + %t240 = call ptr @fn_str_concat(ptr @.str1160, ptr %t239) + %t241 = call ptr @fn_str_concat(ptr %t240, ptr @.str1161) %t242 = load ptr, ptr %t238 %t243 = call ptr @fn_str_concat(ptr %t241, ptr %t242) %t244 = call ptr @fn_emit_bind(ptr %t243) store ptr %t244, ptr %t245 %t246 = load ptr, ptr %t245 - %t247 = call ptr @fn_str_concat(ptr @.str939, ptr %t246) - %t248 = call ptr @fn_str_concat(ptr %t247, ptr @.str940) + %t247 = call ptr @fn_str_concat(ptr @.str1162, ptr %t246) + %t248 = call ptr @fn_str_concat(ptr %t247, ptr @.str1163) %t249 = call ptr @fn_emit_bind(ptr %t248) - %t250 = call ptr @fn_val(ptr %t249, ptr @.str941) + %t250 = call ptr @fn_val(ptr %t249, ptr @.str1164) store ptr %t250, ptr %retval br label %ret ifend43: @@ -17811,16 +20007,16 @@ ifend43: %t252 = getelementptr inbounds %Cmp_Node, ptr %t251, i32 0, i32 1 %t253 = load ptr, ptr %t252 %t254 = call ptr @fn_arith_code(ptr %t253) - %t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str942) + %t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str1165) %t256 = load ptr, ptr %t183 %t257 = call ptr @fn_str_concat(ptr %t255, ptr %t256) - %t258 = call ptr @fn_str_concat(ptr %t257, ptr @.str943) + %t258 = call ptr @fn_str_concat(ptr %t257, ptr @.str1166) %t259 = load ptr, ptr %t186 %t260 = call ptr @fn_str_concat(ptr %t258, ptr %t259) %t261 = call ptr @fn_emit_bind(ptr %t260) store ptr %t261, ptr %t262 %t263 = load ptr, ptr %t262 - %t264 = call ptr @fn_val(ptr %t263, ptr @.str944) + %t264 = call ptr @fn_val(ptr %t263, ptr @.str1167) store ptr %t264, ptr %retval br label %ret ifend37: @@ -17828,12 +20024,12 @@ ifend37: %t266 = getelementptr inbounds %Cmp_Node, ptr %t265, i32 0, i32 1 %t267 = load ptr, ptr %t266 %t268 = call ptr @fn_arith_code(ptr %t267) - %t269 = call ptr @fn_str_concat(ptr %t268, ptr @.str945) + %t269 = call ptr @fn_str_concat(ptr %t268, ptr @.str1168) %t270 = load ptr, ptr %t22 %t271 = getelementptr inbounds %Cmp_Val, ptr %t270, i32 0, i32 0 %t272 = load ptr, ptr %t271 %t273 = call ptr @fn_str_concat(ptr %t269, ptr %t272) - %t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str946) + %t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str1169) %t275 = load ptr, ptr %t27 %t276 = getelementptr inbounds %Cmp_Val, ptr %t275, i32 0, i32 0 %t277 = load ptr, ptr %t276 @@ -17841,7 +20037,7 @@ ifend37: %t279 = call ptr @fn_emit_bind(ptr %t278) store ptr %t279, ptr %t280 %t281 = load ptr, ptr %t280 - %t282 = call ptr @fn_val(ptr %t281, ptr @.str947) + %t282 = call ptr @fn_val(ptr %t281, ptr @.str1170) store ptr %t282, ptr %retval br label %ret ret: @@ -17849,244 +20045,1760 @@ ret: ret ptr %t283 } +define i32 @fn_args_are_named(ptr %arg_e) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_e, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr %t0 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 + %t7 = load i32, ptr %t6 + %t8 = icmp slt i32 %t2, %t7 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %wbody1, label %wend2 +wbody1: + %t11 = load ptr, ptr %t0 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 + %t15 = load ptr, ptr %t14 + %t16 = load i32, ptr %t1 + %t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0 + %t20 = load i32, ptr %t19 + %t21 = icmp eq i32 %t20, 42 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t24 = load i32, ptr %t1 + %t25 = add i32 %t24, 1 + store i32 %t25, ptr %t1 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t26 = load i32, ptr %retval + ret i32 %t26 +} + +define void @fn_reorder_named(ptr %arg_e, ptr %arg_labels) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t7 = alloca i32 + %t49 = alloca ptr + %t50 = alloca i32 + %t58 = alloca ptr + %t59 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_labels, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @fn_args_are_named(ptr %t2) + %t4 = icmp eq i32 %t3, 0 + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + store i32 0, ptr %t7 + br label %wcond3 +wcond3: + %t8 = load i32, ptr %t7 + %t9 = load ptr, ptr %t0 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 + %t11 = load ptr, ptr %t10 + %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 + %t13 = load i32, ptr %t12 + %t14 = icmp slt i32 %t8, %t13 + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %wbody4, label %wend5 +wbody4: + %t17 = load ptr, ptr %t0 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t21 = load ptr, ptr %t20 + %t22 = load i32, ptr %t7 + %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 + %t24 = load ptr, ptr %t23 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 + %t26 = load i32, ptr %t25 + %t27 = icmp ne i32 %t26, 42 + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then6, label %ifend8 +then6: + call void @fn_perr(ptr @.str1171) + br label %ifend8 +ifend8: + %t30 = load i32, ptr %t7 + %t31 = add i32 %t30, 1 + store i32 %t31, ptr %t7 + br label %wcond3 +wend5: + %t32 = load ptr, ptr %t0 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 + %t36 = load i32, ptr %t35 + %t37 = load ptr, ptr %t1 + %t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 + %t39 = load i32, ptr %t38 + %t40 = icmp ne i32 %t36, %t39 + %t41 = zext i1 %t40 to i32 + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then9, label %ifend11 +then9: + call void @fn_perr(ptr @.str1172) + br label %ifend11 +ifend11: + %t43 = getelementptr %LSlice, ptr null, i32 1 + %t44 = ptrtoint ptr %t43 to i64 + %t45 = call ptr @malloc(i64 %t44) + %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 + store ptr null, ptr %t46 + %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 + store i32 0, ptr %t47 + %t48 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 2 + store i32 0, ptr %t48 + store ptr %t45, ptr %t49 + store i32 0, ptr %t50 + br label %wcond12 +wcond12: + %t51 = load i32, ptr %t50 + %t52 = load ptr, ptr %t1 + %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 + %t54 = load i32, ptr %t53 + %t55 = icmp slt i32 %t51, %t54 + %t56 = zext i1 %t55 to i32 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %wbody13, label %wend14 +wbody13: + store ptr null, ptr %t58 + store i32 0, ptr %t59 + br label %wcond15 +wcond15: + %t60 = load i32, ptr %t59 + %t61 = load ptr, ptr %t0 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7 + %t63 = load ptr, ptr %t62 + %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 + %t65 = load i32, ptr %t64 + %t66 = icmp slt i32 %t60, %t65 + %t67 = zext i1 %t66 to i32 + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %wbody16, label %wend17 +wbody16: + %t69 = load ptr, ptr %t0 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 7 + %t71 = load ptr, ptr %t70 + %t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 + %t73 = load ptr, ptr %t72 + %t74 = load i32, ptr %t59 + %t75 = getelementptr inbounds ptr, ptr %t73, i32 %t74 + %t76 = load ptr, ptr %t75 + %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1 + %t78 = load ptr, ptr %t77 + %t79 = load ptr, ptr %t1 + %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 + %t81 = load ptr, ptr %t80 + %t82 = load i32, ptr %t50 + %t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82 + %t84 = load ptr, ptr %t83 + %t85 = call i32 @fn_str_eq(ptr %t78, ptr %t84) + %t86 = icmp ne i32 %t85, 0 + br i1 %t86, label %then18, label %ifend20 +then18: + %t87 = load ptr, ptr %t0 + %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 7 + %t89 = load ptr, ptr %t88 + %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 + %t91 = load ptr, ptr %t90 + %t92 = load i32, ptr %t59 + %t93 = getelementptr inbounds ptr, ptr %t91, i32 %t92 + %t94 = load ptr, ptr %t93 + store ptr %t94, ptr %t58 + br label %ifend20 +ifend20: + %t95 = load i32, ptr %t59 + %t96 = add i32 %t95, 1 + store i32 %t96, ptr %t59 + br label %wcond15 +wend17: + %t97 = load ptr, ptr %t58 + %t98 = icmp eq ptr %t97, null + %t99 = zext i1 %t98 to i32 + %t100 = icmp ne i32 %t99, 0 + br i1 %t100, label %then21, label %ifend23 +then21: + %t101 = load ptr, ptr %t1 + %t102 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 + %t103 = load ptr, ptr %t102 + %t104 = load i32, ptr %t50 + %t105 = getelementptr inbounds ptr, ptr %t103, i32 %t104 + %t106 = load ptr, ptr %t105 + %t107 = call ptr @fn_str_concat(ptr @.str1173, ptr %t106) + call void @fn_perr(ptr %t107) + br label %ifend23 +ifend23: + %t108 = load ptr, ptr %t49 + %t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 + %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2 + %t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 + %t112 = load i32, ptr %t109 + %t113 = load i32, ptr %t110 + %t114 = icmp sge i32 %t112, %t113 + br i1 %t114, label %grow24, label %put25 +grow24: + %t115 = mul i32 %t113, 2 + %t116 = icmp eq i32 %t113, 0 + %t117 = select i1 %t116, i32 8, i32 %t115 + %t118 = getelementptr ptr, ptr null, i32 1 + %t119 = ptrtoint ptr %t118 to i64 + %t120 = zext i32 %t117 to i64 + %t121 = mul i64 %t120, %t119 + %t122 = load ptr, ptr %t111 + %t123 = call ptr @realloc(ptr %t122, i64 %t121) + store ptr %t123, ptr %t111 + store i32 %t117, ptr %t110 + br label %put25 +put25: + %t124 = load ptr, ptr %t58 + %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 4 + %t126 = load ptr, ptr %t125 + %t127 = load ptr, ptr %t111 + %t128 = getelementptr inbounds ptr, ptr %t127, i32 %t112 + store ptr %t126, ptr %t128 + %t129 = add i32 %t112, 1 + store i32 %t129, ptr %t109 + %t130 = load i32, ptr %t50 + %t131 = add i32 %t130, 1 + store i32 %t131, ptr %t50 + br label %wcond12 +wend14: + %t132 = load ptr, ptr %t0 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 + %t134 = load ptr, ptr %t49 + store ptr %t134, ptr %t133 + br label %ret +ret: + ret void +} + +define ptr @fn_param_labels(ptr %arg_fn) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t7 = alloca ptr + %t8 = alloca i32 + store ptr %arg_fn, ptr %t0 + %t1 = getelementptr %LSlice, ptr null, i32 1 + %t2 = ptrtoint ptr %t1 to i64 + %t3 = call ptr @malloc(i64 %t2) + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 + store ptr null, ptr %t4 + %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + store i32 0, ptr %t5 + %t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2 + store i32 0, ptr %t6 + store ptr %t3, ptr %t7 + store i32 0, ptr %t8 + br label %wcond0 +wcond0: + %t9 = load i32, ptr %t8 + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7 + %t12 = load ptr, ptr %t11 + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 + %t14 = load i32, ptr %t13 + %t15 = icmp slt i32 %t9, %t14 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %wbody1, label %wend2 +wbody1: + %t18 = load ptr, ptr %t0 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 + %t20 = load ptr, ptr %t19 + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t8 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0 + %t27 = load i32, ptr %t26 + %t28 = icmp eq i32 %t27, 5 + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then3, label %ifend5 +then3: + %t31 = load ptr, ptr %t7 + %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 + %t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2 + %t34 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 + %t35 = load i32, ptr %t32 + %t36 = load i32, ptr %t33 + %t37 = icmp sge i32 %t35, %t36 + br i1 %t37, label %grow6, label %put7 +grow6: + %t38 = mul i32 %t36, 2 + %t39 = icmp eq i32 %t36, 0 + %t40 = select i1 %t39, i32 8, i32 %t38 + %t41 = getelementptr ptr, ptr null, i32 1 + %t42 = ptrtoint ptr %t41 to i64 + %t43 = zext i32 %t40 to i64 + %t44 = mul i64 %t43, %t42 + %t45 = load ptr, ptr %t34 + %t46 = call ptr @realloc(ptr %t45, i64 %t44) + store ptr %t46, ptr %t34 + store i32 %t40, ptr %t33 + br label %put7 +put7: + %t47 = load ptr, ptr %t0 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 7 + %t49 = load ptr, ptr %t48 + %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 + %t51 = load ptr, ptr %t50 + %t52 = load i32, ptr %t8 + %t53 = getelementptr inbounds ptr, ptr %t51, i32 %t52 + %t54 = load ptr, ptr %t53 + %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 + %t56 = load ptr, ptr %t55 + %t57 = load ptr, ptr %t34 + %t58 = getelementptr inbounds ptr, ptr %t57, i32 %t35 + store ptr %t56, ptr %t58 + %t59 = add i32 %t35, 1 + store i32 %t59, ptr %t32 + br label %ifend5 +ifend5: + %t60 = load i32, ptr %t8 + %t61 = add i32 %t60, 1 + store i32 %t61, ptr %t8 + br label %wcond0 +wend2: + %t62 = load ptr, ptr %t7 + store ptr %t62, ptr %retval + br label %ret +ret: + %t63 = load ptr, ptr %retval + ret ptr %t63 +} + +define ptr @fn_emit_ns_call(ptr %arg_ns, ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t10 = alloca ptr + %t751 = alloca ptr + store ptr %arg_ns, ptr %t0 + store ptr %arg_meth, ptr %t1 + store ptr %arg_e, ptr %t2 + store ptr null, ptr %t3 + %t4 = getelementptr %LSlice, ptr null, i32 1 + %t5 = ptrtoint ptr %t4 to i64 + %t6 = call ptr @malloc(i64 %t5) + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + store i32 0, ptr %t8 + %t9 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 2 + store i32 0, ptr %t9 + store ptr %t6, ptr %t10 + %t11 = load ptr, ptr %t0 + %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str1174) + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then0, label %ifend2 +then0: + %t14 = load ptr, ptr %t1 + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str1175) + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then3, label %ifend5 +then3: + store ptr @.str1176, ptr %t3 + %t17 = load ptr, ptr %t10 + %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 + %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 2 + %t20 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 + %t21 = load i32, ptr %t18 + %t22 = load i32, ptr %t19 + %t23 = icmp sge i32 %t21, %t22 + br i1 %t23, label %grow6, label %put7 +grow6: + %t24 = mul i32 %t22, 2 + %t25 = icmp eq i32 %t22, 0 + %t26 = select i1 %t25, i32 8, i32 %t24 + %t27 = getelementptr ptr, ptr null, i32 1 + %t28 = ptrtoint ptr %t27 to i64 + %t29 = zext i32 %t26 to i64 + %t30 = mul i64 %t29, %t28 + %t31 = load ptr, ptr %t20 + %t32 = call ptr @realloc(ptr %t31, i64 %t30) + store ptr %t32, ptr %t20 + store i32 %t26, ptr %t19 + br label %put7 +put7: + %t33 = load ptr, ptr %t20 + %t34 = getelementptr inbounds ptr, ptr %t33, i32 %t21 + store ptr @.str1177, ptr %t34 + %t35 = add i32 %t21, 1 + store i32 %t35, ptr %t18 + br label %ifend5 +ifend5: + %t36 = load ptr, ptr %t1 + %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str1178) + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then8, label %ifend10 +then8: + store ptr @.str1179, ptr %t3 + %t39 = load ptr, ptr %t10 + %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 + %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 2 + %t42 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 + %t43 = load i32, ptr %t40 + %t44 = load i32, ptr %t41 + %t45 = icmp sge i32 %t43, %t44 + br i1 %t45, label %grow11, label %put12 +grow11: + %t46 = mul i32 %t44, 2 + %t47 = icmp eq i32 %t44, 0 + %t48 = select i1 %t47, i32 8, i32 %t46 + %t49 = getelementptr ptr, ptr null, i32 1 + %t50 = ptrtoint ptr %t49 to i64 + %t51 = zext i32 %t48 to i64 + %t52 = mul i64 %t51, %t50 + %t53 = load ptr, ptr %t42 + %t54 = call ptr @realloc(ptr %t53, i64 %t52) + store ptr %t54, ptr %t42 + store i32 %t48, ptr %t41 + br label %put12 +put12: + %t55 = load ptr, ptr %t42 + %t56 = getelementptr inbounds ptr, ptr %t55, i32 %t43 + store ptr @.str1180, ptr %t56 + %t57 = add i32 %t43, 1 + store i32 %t57, ptr %t40 + %t58 = load ptr, ptr %t10 + %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 + %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 2 + %t61 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 + %t62 = load i32, ptr %t59 + %t63 = load i32, ptr %t60 + %t64 = icmp sge i32 %t62, %t63 + br i1 %t64, label %grow13, label %put14 +grow13: + %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 %put14 +put14: + %t74 = load ptr, ptr %t61 + %t75 = getelementptr inbounds ptr, ptr %t74, i32 %t62 + store ptr @.str1181, ptr %t75 + %t76 = add i32 %t62, 1 + store i32 %t76, ptr %t59 + %t77 = load ptr, ptr %t10 + %t78 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 + %t79 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 2 + %t80 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 + %t81 = load i32, ptr %t78 + %t82 = load i32, ptr %t79 + %t83 = icmp sge i32 %t81, %t82 + br i1 %t83, label %grow15, label %put16 +grow15: + %t84 = mul i32 %t82, 2 + %t85 = icmp eq i32 %t82, 0 + %t86 = select i1 %t85, i32 8, i32 %t84 + %t87 = getelementptr ptr, ptr null, i32 1 + %t88 = ptrtoint ptr %t87 to i64 + %t89 = zext i32 %t86 to i64 + %t90 = mul i64 %t89, %t88 + %t91 = load ptr, ptr %t80 + %t92 = call ptr @realloc(ptr %t91, i64 %t90) + store ptr %t92, ptr %t80 + store i32 %t86, ptr %t79 + br label %put16 +put16: + %t93 = load ptr, ptr %t80 + %t94 = getelementptr inbounds ptr, ptr %t93, i32 %t81 + store ptr @.str1182, ptr %t94 + %t95 = add i32 %t81, 1 + store i32 %t95, ptr %t78 + %t96 = load ptr, ptr %t10 + %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 + %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 2 + %t99 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 + %t100 = load i32, ptr %t97 + %t101 = load i32, ptr %t98 + %t102 = icmp sge i32 %t100, %t101 + br i1 %t102, label %grow17, label %put18 +grow17: + %t103 = mul i32 %t101, 2 + %t104 = icmp eq i32 %t101, 0 + %t105 = select i1 %t104, i32 8, i32 %t103 + %t106 = getelementptr ptr, ptr null, i32 1 + %t107 = ptrtoint ptr %t106 to i64 + %t108 = zext i32 %t105 to i64 + %t109 = mul i64 %t108, %t107 + %t110 = load ptr, ptr %t99 + %t111 = call ptr @realloc(ptr %t110, i64 %t109) + store ptr %t111, ptr %t99 + store i32 %t105, ptr %t98 + br label %put18 +put18: + %t112 = load ptr, ptr %t99 + %t113 = getelementptr inbounds ptr, ptr %t112, i32 %t100 + store ptr @.str1183, ptr %t113 + %t114 = add i32 %t100, 1 + store i32 %t114, ptr %t97 + %t115 = load ptr, ptr %t10 + %t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1 + %t117 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 2 + %t118 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 0 + %t119 = load i32, ptr %t116 + %t120 = load i32, ptr %t117 + %t121 = icmp sge i32 %t119, %t120 + br i1 %t121, label %grow19, label %put20 +grow19: + %t122 = mul i32 %t120, 2 + %t123 = icmp eq i32 %t120, 0 + %t124 = select i1 %t123, i32 8, i32 %t122 + %t125 = getelementptr ptr, ptr null, i32 1 + %t126 = ptrtoint ptr %t125 to i64 + %t127 = zext i32 %t124 to i64 + %t128 = mul i64 %t127, %t126 + %t129 = load ptr, ptr %t118 + %t130 = call ptr @realloc(ptr %t129, i64 %t128) + store ptr %t130, ptr %t118 + store i32 %t124, ptr %t117 + br label %put20 +put20: + %t131 = load ptr, ptr %t118 + %t132 = getelementptr inbounds ptr, ptr %t131, i32 %t119 + store ptr @.str1184, ptr %t132 + %t133 = add i32 %t119, 1 + store i32 %t133, ptr %t116 + br label %ifend10 +ifend10: + %t134 = load ptr, ptr %t1 + %t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str1185) + %t136 = icmp ne i32 %t135, 0 + br i1 %t136, label %then21, label %ifend23 +then21: + store ptr @.str1186, ptr %t3 + %t137 = load ptr, ptr %t10 + %t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 1 + %t139 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 2 + %t140 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 0 + %t141 = load i32, ptr %t138 + %t142 = load i32, ptr %t139 + %t143 = icmp sge i32 %t141, %t142 + br i1 %t143, label %grow24, label %put25 +grow24: + %t144 = mul i32 %t142, 2 + %t145 = icmp eq i32 %t142, 0 + %t146 = select i1 %t145, i32 8, i32 %t144 + %t147 = getelementptr ptr, ptr null, i32 1 + %t148 = ptrtoint ptr %t147 to i64 + %t149 = zext i32 %t146 to i64 + %t150 = mul i64 %t149, %t148 + %t151 = load ptr, ptr %t140 + %t152 = call ptr @realloc(ptr %t151, i64 %t150) + store ptr %t152, ptr %t140 + store i32 %t146, ptr %t139 + br label %put25 +put25: + %t153 = load ptr, ptr %t140 + %t154 = getelementptr inbounds ptr, ptr %t153, i32 %t141 + store ptr @.str1187, ptr %t154 + %t155 = add i32 %t141, 1 + store i32 %t155, ptr %t138 + %t156 = load ptr, ptr %t10 + %t157 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 1 + %t158 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 2 + %t159 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 0 + %t160 = load i32, ptr %t157 + %t161 = load i32, ptr %t158 + %t162 = icmp sge i32 %t160, %t161 + br i1 %t162, label %grow26, label %put27 +grow26: + %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 %put27 +put27: + %t172 = load ptr, ptr %t159 + %t173 = getelementptr inbounds ptr, ptr %t172, i32 %t160 + store ptr @.str1188, ptr %t173 + %t174 = add i32 %t160, 1 + store i32 %t174, ptr %t157 + %t175 = load ptr, ptr %t10 + %t176 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 1 + %t177 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 2 + %t178 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 0 + %t179 = load i32, ptr %t176 + %t180 = load i32, ptr %t177 + %t181 = icmp sge i32 %t179, %t180 + br i1 %t181, label %grow28, label %put29 +grow28: + %t182 = mul i32 %t180, 2 + %t183 = icmp eq i32 %t180, 0 + %t184 = select i1 %t183, i32 8, i32 %t182 + %t185 = getelementptr ptr, ptr null, i32 1 + %t186 = ptrtoint ptr %t185 to i64 + %t187 = zext i32 %t184 to i64 + %t188 = mul i64 %t187, %t186 + %t189 = load ptr, ptr %t178 + %t190 = call ptr @realloc(ptr %t189, i64 %t188) + store ptr %t190, ptr %t178 + store i32 %t184, ptr %t177 + br label %put29 +put29: + %t191 = load ptr, ptr %t178 + %t192 = getelementptr inbounds ptr, ptr %t191, i32 %t179 + store ptr @.str1189, ptr %t192 + %t193 = add i32 %t179, 1 + store i32 %t193, ptr %t176 + %t194 = load ptr, ptr %t10 + %t195 = getelementptr inbounds %LSlice, ptr %t194, i32 0, i32 1 + %t196 = getelementptr inbounds %LSlice, ptr %t194, i32 0, i32 2 + %t197 = getelementptr inbounds %LSlice, ptr %t194, i32 0, i32 0 + %t198 = load i32, ptr %t195 + %t199 = load i32, ptr %t196 + %t200 = icmp sge i32 %t198, %t199 + br i1 %t200, label %grow30, label %put31 +grow30: + %t201 = mul i32 %t199, 2 + %t202 = icmp eq i32 %t199, 0 + %t203 = select i1 %t202, i32 8, i32 %t201 + %t204 = getelementptr ptr, ptr null, i32 1 + %t205 = ptrtoint ptr %t204 to i64 + %t206 = zext i32 %t203 to i64 + %t207 = mul i64 %t206, %t205 + %t208 = load ptr, ptr %t197 + %t209 = call ptr @realloc(ptr %t208, i64 %t207) + store ptr %t209, ptr %t197 + store i32 %t203, ptr %t196 + br label %put31 +put31: + %t210 = load ptr, ptr %t197 + %t211 = getelementptr inbounds ptr, ptr %t210, i32 %t198 + store ptr @.str1190, ptr %t211 + %t212 = add i32 %t198, 1 + store i32 %t212, ptr %t195 + %t213 = load ptr, ptr %t10 + %t214 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 1 + %t215 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 2 + %t216 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 + %t217 = load i32, ptr %t214 + %t218 = load i32, ptr %t215 + %t219 = icmp sge i32 %t217, %t218 + br i1 %t219, label %grow32, label %put33 +grow32: + %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 %put33 +put33: + %t229 = load ptr, ptr %t216 + %t230 = getelementptr inbounds ptr, ptr %t229, i32 %t217 + store ptr @.str1191, ptr %t230 + %t231 = add i32 %t217, 1 + store i32 %t231, ptr %t214 + br label %ifend23 +ifend23: + %t232 = load ptr, ptr %t1 + %t233 = call i32 @fn_str_eq(ptr %t232, ptr @.str1192) + %t234 = icmp ne i32 %t233, 0 + br i1 %t234, label %then34, label %ifend36 +then34: + store ptr @.str1193, ptr %t3 + %t235 = load ptr, ptr %t10 + %t236 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 1 + %t237 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 2 + %t238 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 0 + %t239 = load i32, ptr %t236 + %t240 = load i32, ptr %t237 + %t241 = icmp sge i32 %t239, %t240 + br i1 %t241, label %grow37, label %put38 +grow37: + %t242 = mul i32 %t240, 2 + %t243 = icmp eq i32 %t240, 0 + %t244 = select i1 %t243, i32 8, i32 %t242 + %t245 = getelementptr ptr, ptr null, i32 1 + %t246 = ptrtoint ptr %t245 to i64 + %t247 = zext i32 %t244 to i64 + %t248 = mul i64 %t247, %t246 + %t249 = load ptr, ptr %t238 + %t250 = call ptr @realloc(ptr %t249, i64 %t248) + store ptr %t250, ptr %t238 + store i32 %t244, ptr %t237 + br label %put38 +put38: + %t251 = load ptr, ptr %t238 + %t252 = getelementptr inbounds ptr, ptr %t251, i32 %t239 + store ptr @.str1194, ptr %t252 + %t253 = add i32 %t239, 1 + store i32 %t253, ptr %t236 + %t254 = load ptr, ptr %t10 + %t255 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 1 + %t256 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 2 + %t257 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 0 + %t258 = load i32, ptr %t255 + %t259 = load i32, ptr %t256 + %t260 = icmp sge i32 %t258, %t259 + br i1 %t260, label %grow39, label %put40 +grow39: + %t261 = mul i32 %t259, 2 + %t262 = icmp eq i32 %t259, 0 + %t263 = select i1 %t262, i32 8, i32 %t261 + %t264 = getelementptr ptr, ptr null, i32 1 + %t265 = ptrtoint ptr %t264 to i64 + %t266 = zext i32 %t263 to i64 + %t267 = mul i64 %t266, %t265 + %t268 = load ptr, ptr %t257 + %t269 = call ptr @realloc(ptr %t268, i64 %t267) + store ptr %t269, ptr %t257 + store i32 %t263, ptr %t256 + br label %put40 +put40: + %t270 = load ptr, ptr %t257 + %t271 = getelementptr inbounds ptr, ptr %t270, i32 %t258 + store ptr @.str1195, ptr %t271 + %t272 = add i32 %t258, 1 + store i32 %t272, ptr %t255 + %t273 = load ptr, ptr %t10 + %t274 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 1 + %t275 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 2 + %t276 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 0 + %t277 = load i32, ptr %t274 + %t278 = load i32, ptr %t275 + %t279 = icmp sge i32 %t277, %t278 + br i1 %t279, label %grow41, label %put42 +grow41: + %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 %put42 +put42: + %t289 = load ptr, ptr %t276 + %t290 = getelementptr inbounds ptr, ptr %t289, i32 %t277 + store ptr @.str1196, ptr %t290 + %t291 = add i32 %t277, 1 + store i32 %t291, ptr %t274 + br label %ifend36 +ifend36: + %t292 = load ptr, ptr %t1 + %t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str1197) + %t294 = icmp ne i32 %t293, 0 + br i1 %t294, label %then43, label %ifend45 +then43: + store ptr @.str1198, ptr %t3 + %t295 = load ptr, ptr %t10 + %t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 1 + %t297 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 2 + %t298 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0 + %t299 = load i32, ptr %t296 + %t300 = load i32, ptr %t297 + %t301 = icmp sge i32 %t299, %t300 + br i1 %t301, label %grow46, label %put47 +grow46: + %t302 = mul i32 %t300, 2 + %t303 = icmp eq i32 %t300, 0 + %t304 = select i1 %t303, i32 8, i32 %t302 + %t305 = getelementptr ptr, ptr null, i32 1 + %t306 = ptrtoint ptr %t305 to i64 + %t307 = zext i32 %t304 to i64 + %t308 = mul i64 %t307, %t306 + %t309 = load ptr, ptr %t298 + %t310 = call ptr @realloc(ptr %t309, i64 %t308) + store ptr %t310, ptr %t298 + store i32 %t304, ptr %t297 + br label %put47 +put47: + %t311 = load ptr, ptr %t298 + %t312 = getelementptr inbounds ptr, ptr %t311, i32 %t299 + store ptr @.str1199, ptr %t312 + %t313 = add i32 %t299, 1 + store i32 %t313, ptr %t296 + %t314 = load ptr, ptr %t10 + %t315 = getelementptr inbounds %LSlice, ptr %t314, i32 0, i32 1 + %t316 = getelementptr inbounds %LSlice, ptr %t314, i32 0, i32 2 + %t317 = getelementptr inbounds %LSlice, ptr %t314, i32 0, i32 0 + %t318 = load i32, ptr %t315 + %t319 = load i32, ptr %t316 + %t320 = icmp sge i32 %t318, %t319 + br i1 %t320, label %grow48, label %put49 +grow48: + %t321 = mul i32 %t319, 2 + %t322 = icmp eq i32 %t319, 0 + %t323 = select i1 %t322, i32 8, i32 %t321 + %t324 = getelementptr ptr, ptr null, i32 1 + %t325 = ptrtoint ptr %t324 to i64 + %t326 = zext i32 %t323 to i64 + %t327 = mul i64 %t326, %t325 + %t328 = load ptr, ptr %t317 + %t329 = call ptr @realloc(ptr %t328, i64 %t327) + store ptr %t329, ptr %t317 + store i32 %t323, ptr %t316 + br label %put49 +put49: + %t330 = load ptr, ptr %t317 + %t331 = getelementptr inbounds ptr, ptr %t330, i32 %t318 + store ptr @.str1200, ptr %t331 + %t332 = add i32 %t318, 1 + store i32 %t332, ptr %t315 + %t333 = load ptr, ptr %t10 + %t334 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 1 + %t335 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 2 + %t336 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 0 + %t337 = load i32, ptr %t334 + %t338 = load i32, ptr %t335 + %t339 = icmp sge i32 %t337, %t338 + br i1 %t339, label %grow50, label %put51 +grow50: + %t340 = mul i32 %t338, 2 + %t341 = icmp eq i32 %t338, 0 + %t342 = select i1 %t341, i32 8, i32 %t340 + %t343 = getelementptr ptr, ptr null, i32 1 + %t344 = ptrtoint ptr %t343 to i64 + %t345 = zext i32 %t342 to i64 + %t346 = mul i64 %t345, %t344 + %t347 = load ptr, ptr %t336 + %t348 = call ptr @realloc(ptr %t347, i64 %t346) + store ptr %t348, ptr %t336 + store i32 %t342, ptr %t335 + br label %put51 +put51: + %t349 = load ptr, ptr %t336 + %t350 = getelementptr inbounds ptr, ptr %t349, i32 %t337 + store ptr @.str1201, ptr %t350 + %t351 = add i32 %t337, 1 + store i32 %t351, ptr %t334 + %t352 = load ptr, ptr %t10 + %t353 = getelementptr inbounds %LSlice, ptr %t352, i32 0, i32 1 + %t354 = getelementptr inbounds %LSlice, ptr %t352, i32 0, i32 2 + %t355 = getelementptr inbounds %LSlice, ptr %t352, i32 0, i32 0 + %t356 = load i32, ptr %t353 + %t357 = load i32, ptr %t354 + %t358 = icmp sge i32 %t356, %t357 + br i1 %t358, label %grow52, label %put53 +grow52: + %t359 = mul i32 %t357, 2 + %t360 = icmp eq i32 %t357, 0 + %t361 = select i1 %t360, i32 8, i32 %t359 + %t362 = getelementptr ptr, ptr null, i32 1 + %t363 = ptrtoint ptr %t362 to i64 + %t364 = zext i32 %t361 to i64 + %t365 = mul i64 %t364, %t363 + %t366 = load ptr, ptr %t355 + %t367 = call ptr @realloc(ptr %t366, i64 %t365) + store ptr %t367, ptr %t355 + store i32 %t361, ptr %t354 + br label %put53 +put53: + %t368 = load ptr, ptr %t355 + %t369 = getelementptr inbounds ptr, ptr %t368, i32 %t356 + store ptr @.str1202, ptr %t369 + %t370 = add i32 %t356, 1 + store i32 %t370, ptr %t353 + %t371 = load ptr, ptr %t10 + %t372 = getelementptr inbounds %LSlice, ptr %t371, i32 0, i32 1 + %t373 = getelementptr inbounds %LSlice, ptr %t371, i32 0, i32 2 + %t374 = getelementptr inbounds %LSlice, ptr %t371, i32 0, i32 0 + %t375 = load i32, ptr %t372 + %t376 = load i32, ptr %t373 + %t377 = icmp sge i32 %t375, %t376 + br i1 %t377, label %grow54, label %put55 +grow54: + %t378 = mul i32 %t376, 2 + %t379 = icmp eq i32 %t376, 0 + %t380 = select i1 %t379, i32 8, i32 %t378 + %t381 = getelementptr ptr, ptr null, i32 1 + %t382 = ptrtoint ptr %t381 to i64 + %t383 = zext i32 %t380 to i64 + %t384 = mul i64 %t383, %t382 + %t385 = load ptr, ptr %t374 + %t386 = call ptr @realloc(ptr %t385, i64 %t384) + store ptr %t386, ptr %t374 + store i32 %t380, ptr %t373 + br label %put55 +put55: + %t387 = load ptr, ptr %t374 + %t388 = getelementptr inbounds ptr, ptr %t387, i32 %t375 + store ptr @.str1203, ptr %t388 + %t389 = add i32 %t375, 1 + store i32 %t389, ptr %t372 + br label %ifend45 +ifend45: + %t390 = load ptr, ptr %t1 + %t391 = call i32 @fn_str_eq(ptr %t390, ptr @.str1204) + %t392 = icmp ne i32 %t391, 0 + br i1 %t392, label %then56, label %ifend58 +then56: + store ptr @.str1205, ptr %t3 + %t393 = load ptr, ptr %t10 + %t394 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 1 + %t395 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 2 + %t396 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 0 + %t397 = load i32, ptr %t394 + %t398 = load i32, ptr %t395 + %t399 = icmp sge i32 %t397, %t398 + br i1 %t399, label %grow59, label %put60 +grow59: + %t400 = mul i32 %t398, 2 + %t401 = icmp eq i32 %t398, 0 + %t402 = select i1 %t401, i32 8, i32 %t400 + %t403 = getelementptr ptr, ptr null, i32 1 + %t404 = ptrtoint ptr %t403 to i64 + %t405 = zext i32 %t402 to i64 + %t406 = mul i64 %t405, %t404 + %t407 = load ptr, ptr %t396 + %t408 = call ptr @realloc(ptr %t407, i64 %t406) + store ptr %t408, ptr %t396 + store i32 %t402, ptr %t395 + br label %put60 +put60: + %t409 = load ptr, ptr %t396 + %t410 = getelementptr inbounds ptr, ptr %t409, i32 %t397 + store ptr @.str1206, ptr %t410 + %t411 = add i32 %t397, 1 + store i32 %t411, ptr %t394 + %t412 = load ptr, ptr %t10 + %t413 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 1 + %t414 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 2 + %t415 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 0 + %t416 = load i32, ptr %t413 + %t417 = load i32, ptr %t414 + %t418 = icmp sge i32 %t416, %t417 + br i1 %t418, label %grow61, label %put62 +grow61: + %t419 = mul i32 %t417, 2 + %t420 = icmp eq i32 %t417, 0 + %t421 = select i1 %t420, i32 8, i32 %t419 + %t422 = getelementptr ptr, ptr null, i32 1 + %t423 = ptrtoint ptr %t422 to i64 + %t424 = zext i32 %t421 to i64 + %t425 = mul i64 %t424, %t423 + %t426 = load ptr, ptr %t415 + %t427 = call ptr @realloc(ptr %t426, i64 %t425) + store ptr %t427, ptr %t415 + store i32 %t421, ptr %t414 + br label %put62 +put62: + %t428 = load ptr, ptr %t415 + %t429 = getelementptr inbounds ptr, ptr %t428, i32 %t416 + store ptr @.str1207, ptr %t429 + %t430 = add i32 %t416, 1 + store i32 %t430, ptr %t413 + %t431 = load ptr, ptr %t10 + %t432 = getelementptr inbounds %LSlice, ptr %t431, i32 0, i32 1 + %t433 = getelementptr inbounds %LSlice, ptr %t431, i32 0, i32 2 + %t434 = getelementptr inbounds %LSlice, ptr %t431, i32 0, i32 0 + %t435 = load i32, ptr %t432 + %t436 = load i32, ptr %t433 + %t437 = icmp sge i32 %t435, %t436 + br i1 %t437, label %grow63, label %put64 +grow63: + %t438 = mul i32 %t436, 2 + %t439 = icmp eq i32 %t436, 0 + %t440 = select i1 %t439, i32 8, i32 %t438 + %t441 = getelementptr ptr, ptr null, i32 1 + %t442 = ptrtoint ptr %t441 to i64 + %t443 = zext i32 %t440 to i64 + %t444 = mul i64 %t443, %t442 + %t445 = load ptr, ptr %t434 + %t446 = call ptr @realloc(ptr %t445, i64 %t444) + store ptr %t446, ptr %t434 + store i32 %t440, ptr %t433 + br label %put64 +put64: + %t447 = load ptr, ptr %t434 + %t448 = getelementptr inbounds ptr, ptr %t447, i32 %t435 + store ptr @.str1208, ptr %t448 + %t449 = add i32 %t435, 1 + store i32 %t449, ptr %t432 + %t450 = load ptr, ptr %t10 + %t451 = getelementptr inbounds %LSlice, ptr %t450, i32 0, i32 1 + %t452 = getelementptr inbounds %LSlice, ptr %t450, i32 0, i32 2 + %t453 = getelementptr inbounds %LSlice, ptr %t450, i32 0, i32 0 + %t454 = load i32, ptr %t451 + %t455 = load i32, ptr %t452 + %t456 = icmp sge i32 %t454, %t455 + br i1 %t456, label %grow65, label %put66 +grow65: + %t457 = mul i32 %t455, 2 + %t458 = icmp eq i32 %t455, 0 + %t459 = select i1 %t458, i32 8, i32 %t457 + %t460 = getelementptr ptr, ptr null, i32 1 + %t461 = ptrtoint ptr %t460 to i64 + %t462 = zext i32 %t459 to i64 + %t463 = mul i64 %t462, %t461 + %t464 = load ptr, ptr %t453 + %t465 = call ptr @realloc(ptr %t464, i64 %t463) + store ptr %t465, ptr %t453 + store i32 %t459, ptr %t452 + br label %put66 +put66: + %t466 = load ptr, ptr %t453 + %t467 = getelementptr inbounds ptr, ptr %t466, i32 %t454 + store ptr @.str1209, ptr %t467 + %t468 = add i32 %t454, 1 + store i32 %t468, ptr %t451 + %t469 = load ptr, ptr %t10 + %t470 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 1 + %t471 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 2 + %t472 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 0 + %t473 = load i32, ptr %t470 + %t474 = load i32, ptr %t471 + %t475 = icmp sge i32 %t473, %t474 + br i1 %t475, label %grow67, label %put68 +grow67: + %t476 = mul i32 %t474, 2 + %t477 = icmp eq i32 %t474, 0 + %t478 = select i1 %t477, i32 8, i32 %t476 + %t479 = getelementptr ptr, ptr null, i32 1 + %t480 = ptrtoint ptr %t479 to i64 + %t481 = zext i32 %t478 to i64 + %t482 = mul i64 %t481, %t480 + %t483 = load ptr, ptr %t472 + %t484 = call ptr @realloc(ptr %t483, i64 %t482) + store ptr %t484, ptr %t472 + store i32 %t478, ptr %t471 + br label %put68 +put68: + %t485 = load ptr, ptr %t472 + %t486 = getelementptr inbounds ptr, ptr %t485, i32 %t473 + store ptr @.str1210, ptr %t486 + %t487 = add i32 %t473, 1 + store i32 %t487, ptr %t470 + br label %ifend58 +ifend58: + %t488 = load ptr, ptr %t1 + %t489 = call i32 @fn_str_eq(ptr %t488, ptr @.str1211) + %t490 = icmp ne i32 %t489, 0 + br i1 %t490, label %then69, label %ifend71 +then69: + store ptr @.str1212, ptr %t3 + br label %ifend71 +ifend71: + %t491 = load ptr, ptr %t1 + %t492 = call i32 @fn_str_eq(ptr %t491, ptr @.str1213) + %t493 = icmp ne i32 %t492, 0 + br i1 %t493, label %then72, label %ifend74 +then72: + store ptr @.str1214, ptr %t3 + br label %ifend74 +ifend74: + %t494 = load ptr, ptr %t1 + %t495 = call i32 @fn_str_eq(ptr %t494, ptr @.str1215) + %t496 = icmp ne i32 %t495, 0 + br i1 %t496, label %then75, label %ifend77 +then75: + store ptr @.str1216, ptr %t3 + br label %ifend77 +ifend77: + %t497 = load ptr, ptr %t1 + %t498 = call i32 @fn_str_eq(ptr %t497, ptr @.str1217) + %t499 = icmp ne i32 %t498, 0 + br i1 %t499, label %then78, label %ifend80 +then78: + store ptr @.str1218, ptr %t3 + %t500 = load ptr, ptr %t10 + %t501 = getelementptr inbounds %LSlice, ptr %t500, i32 0, i32 1 + %t502 = getelementptr inbounds %LSlice, ptr %t500, i32 0, i32 2 + %t503 = getelementptr inbounds %LSlice, ptr %t500, i32 0, i32 0 + %t504 = load i32, ptr %t501 + %t505 = load i32, ptr %t502 + %t506 = icmp sge i32 %t504, %t505 + br i1 %t506, label %grow81, label %put82 +grow81: + %t507 = mul i32 %t505, 2 + %t508 = icmp eq i32 %t505, 0 + %t509 = select i1 %t508, i32 8, i32 %t507 + %t510 = getelementptr ptr, ptr null, i32 1 + %t511 = ptrtoint ptr %t510 to i64 + %t512 = zext i32 %t509 to i64 + %t513 = mul i64 %t512, %t511 + %t514 = load ptr, ptr %t503 + %t515 = call ptr @realloc(ptr %t514, i64 %t513) + store ptr %t515, ptr %t503 + store i32 %t509, ptr %t502 + br label %put82 +put82: + %t516 = load ptr, ptr %t503 + %t517 = getelementptr inbounds ptr, ptr %t516, i32 %t504 + store ptr @.str1219, ptr %t517 + %t518 = add i32 %t504, 1 + store i32 %t518, ptr %t501 + br label %ifend80 +ifend80: + br label %ifend2 +ifend2: + %t519 = load ptr, ptr %t0 + %t520 = call i32 @fn_str_eq(ptr %t519, ptr @.str1220) + %t521 = icmp ne i32 %t520, 0 + br i1 %t521, label %then83, label %ifend85 +then83: + %t522 = load ptr, ptr %t1 + %t523 = call i32 @fn_str_eq(ptr %t522, ptr @.str1221) + %t524 = icmp ne i32 %t523, 0 + br i1 %t524, label %then86, label %ifend88 +then86: + store ptr @.str1222, ptr %t3 + %t525 = load ptr, ptr %t10 + %t526 = getelementptr inbounds %LSlice, ptr %t525, i32 0, i32 1 + %t527 = getelementptr inbounds %LSlice, ptr %t525, i32 0, i32 2 + %t528 = getelementptr inbounds %LSlice, ptr %t525, i32 0, i32 0 + %t529 = load i32, ptr %t526 + %t530 = load i32, ptr %t527 + %t531 = icmp sge i32 %t529, %t530 + br i1 %t531, label %grow89, label %put90 +grow89: + %t532 = mul i32 %t530, 2 + %t533 = icmp eq i32 %t530, 0 + %t534 = select i1 %t533, i32 8, i32 %t532 + %t535 = getelementptr ptr, ptr null, i32 1 + %t536 = ptrtoint ptr %t535 to i64 + %t537 = zext i32 %t534 to i64 + %t538 = mul i64 %t537, %t536 + %t539 = load ptr, ptr %t528 + %t540 = call ptr @realloc(ptr %t539, i64 %t538) + store ptr %t540, ptr %t528 + store i32 %t534, ptr %t527 + br label %put90 +put90: + %t541 = load ptr, ptr %t528 + %t542 = getelementptr inbounds ptr, ptr %t541, i32 %t529 + store ptr @.str1223, ptr %t542 + %t543 = add i32 %t529, 1 + store i32 %t543, ptr %t526 + %t544 = load ptr, ptr %t10 + %t545 = getelementptr inbounds %LSlice, ptr %t544, i32 0, i32 1 + %t546 = getelementptr inbounds %LSlice, ptr %t544, i32 0, i32 2 + %t547 = getelementptr inbounds %LSlice, ptr %t544, i32 0, i32 0 + %t548 = load i32, ptr %t545 + %t549 = load i32, ptr %t546 + %t550 = icmp sge i32 %t548, %t549 + br i1 %t550, label %grow91, label %put92 +grow91: + %t551 = mul i32 %t549, 2 + %t552 = icmp eq i32 %t549, 0 + %t553 = select i1 %t552, i32 8, i32 %t551 + %t554 = getelementptr ptr, ptr null, i32 1 + %t555 = ptrtoint ptr %t554 to i64 + %t556 = zext i32 %t553 to i64 + %t557 = mul i64 %t556, %t555 + %t558 = load ptr, ptr %t547 + %t559 = call ptr @realloc(ptr %t558, i64 %t557) + store ptr %t559, ptr %t547 + store i32 %t553, ptr %t546 + br label %put92 +put92: + %t560 = load ptr, ptr %t547 + %t561 = getelementptr inbounds ptr, ptr %t560, i32 %t548 + store ptr @.str1224, ptr %t561 + %t562 = add i32 %t548, 1 + store i32 %t562, ptr %t545 + br label %ifend88 +ifend88: + %t563 = load ptr, ptr %t1 + %t564 = call i32 @fn_str_eq(ptr %t563, ptr @.str1225) + %t565 = icmp ne i32 %t564, 0 + br i1 %t565, label %then93, label %ifend95 +then93: + store ptr @.str1226, ptr %t3 + %t566 = load ptr, ptr %t10 + %t567 = getelementptr inbounds %LSlice, ptr %t566, i32 0, i32 1 + %t568 = getelementptr inbounds %LSlice, ptr %t566, i32 0, i32 2 + %t569 = getelementptr inbounds %LSlice, ptr %t566, i32 0, i32 0 + %t570 = load i32, ptr %t567 + %t571 = load i32, ptr %t568 + %t572 = icmp sge i32 %t570, %t571 + br i1 %t572, label %grow96, label %put97 +grow96: + %t573 = mul i32 %t571, 2 + %t574 = icmp eq i32 %t571, 0 + %t575 = select i1 %t574, i32 8, i32 %t573 + %t576 = getelementptr ptr, ptr null, i32 1 + %t577 = ptrtoint ptr %t576 to i64 + %t578 = zext i32 %t575 to i64 + %t579 = mul i64 %t578, %t577 + %t580 = load ptr, ptr %t569 + %t581 = call ptr @realloc(ptr %t580, i64 %t579) + store ptr %t581, ptr %t569 + store i32 %t575, ptr %t568 + br label %put97 +put97: + %t582 = load ptr, ptr %t569 + %t583 = getelementptr inbounds ptr, ptr %t582, i32 %t570 + store ptr @.str1227, ptr %t583 + %t584 = add i32 %t570, 1 + store i32 %t584, ptr %t567 + %t585 = load ptr, ptr %t10 + %t586 = getelementptr inbounds %LSlice, ptr %t585, i32 0, i32 1 + %t587 = getelementptr inbounds %LSlice, ptr %t585, i32 0, i32 2 + %t588 = getelementptr inbounds %LSlice, ptr %t585, i32 0, i32 0 + %t589 = load i32, ptr %t586 + %t590 = load i32, ptr %t587 + %t591 = icmp sge i32 %t589, %t590 + br i1 %t591, label %grow98, label %put99 +grow98: + %t592 = mul i32 %t590, 2 + %t593 = icmp eq i32 %t590, 0 + %t594 = select i1 %t593, i32 8, i32 %t592 + %t595 = getelementptr ptr, ptr null, i32 1 + %t596 = ptrtoint ptr %t595 to i64 + %t597 = zext i32 %t594 to i64 + %t598 = mul i64 %t597, %t596 + %t599 = load ptr, ptr %t588 + %t600 = call ptr @realloc(ptr %t599, i64 %t598) + store ptr %t600, ptr %t588 + store i32 %t594, ptr %t587 + br label %put99 +put99: + %t601 = load ptr, ptr %t588 + %t602 = getelementptr inbounds ptr, ptr %t601, i32 %t589 + store ptr @.str1228, ptr %t602 + %t603 = add i32 %t589, 1 + store i32 %t603, ptr %t586 + br label %ifend95 +ifend95: + %t604 = load ptr, ptr %t1 + %t605 = call i32 @fn_str_eq(ptr %t604, ptr @.str1229) + %t606 = icmp ne i32 %t605, 0 + br i1 %t606, label %then100, label %ifend102 +then100: + store ptr @.str1230, ptr %t3 + %t607 = load ptr, ptr %t10 + %t608 = getelementptr inbounds %LSlice, ptr %t607, i32 0, i32 1 + %t609 = getelementptr inbounds %LSlice, ptr %t607, i32 0, i32 2 + %t610 = getelementptr inbounds %LSlice, ptr %t607, i32 0, i32 0 + %t611 = load i32, ptr %t608 + %t612 = load i32, ptr %t609 + %t613 = icmp sge i32 %t611, %t612 + br i1 %t613, label %grow103, label %put104 +grow103: + %t614 = mul i32 %t612, 2 + %t615 = icmp eq i32 %t612, 0 + %t616 = select i1 %t615, i32 8, i32 %t614 + %t617 = getelementptr ptr, ptr null, i32 1 + %t618 = ptrtoint ptr %t617 to i64 + %t619 = zext i32 %t616 to i64 + %t620 = mul i64 %t619, %t618 + %t621 = load ptr, ptr %t610 + %t622 = call ptr @realloc(ptr %t621, i64 %t620) + store ptr %t622, ptr %t610 + store i32 %t616, ptr %t609 + br label %put104 +put104: + %t623 = load ptr, ptr %t610 + %t624 = getelementptr inbounds ptr, ptr %t623, i32 %t611 + store ptr @.str1231, ptr %t624 + %t625 = add i32 %t611, 1 + store i32 %t625, ptr %t608 + %t626 = load ptr, ptr %t10 + %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 %grow105, label %put106 +grow105: + %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 %put106 +put106: + %t642 = load ptr, ptr %t629 + %t643 = getelementptr inbounds ptr, ptr %t642, i32 %t630 + store ptr @.str1232, ptr %t643 + %t644 = add i32 %t630, 1 + store i32 %t644, ptr %t627 + br label %ifend102 +ifend102: + br label %ifend85 +ifend85: + %t645 = load ptr, ptr %t0 + %t646 = call i32 @fn_str_eq(ptr %t645, ptr @.str1233) + %t647 = icmp ne i32 %t646, 0 + br i1 %t647, label %then107, label %ifend109 +then107: + %t648 = load ptr, ptr %t1 + %t649 = call i32 @fn_str_eq(ptr %t648, ptr @.str1234) + %t650 = icmp ne i32 %t649, 0 + br i1 %t650, label %then110, label %ifend112 +then110: + store ptr @.str1235, ptr %t3 + %t651 = load ptr, ptr %t10 + %t652 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 1 + %t653 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 2 + %t654 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 0 + %t655 = load i32, ptr %t652 + %t656 = load i32, ptr %t653 + %t657 = icmp sge i32 %t655, %t656 + br i1 %t657, label %grow113, label %put114 +grow113: + %t658 = mul i32 %t656, 2 + %t659 = icmp eq i32 %t656, 0 + %t660 = select i1 %t659, i32 8, i32 %t658 + %t661 = getelementptr ptr, ptr null, i32 1 + %t662 = ptrtoint ptr %t661 to i64 + %t663 = zext i32 %t660 to i64 + %t664 = mul i64 %t663, %t662 + %t665 = load ptr, ptr %t654 + %t666 = call ptr @realloc(ptr %t665, i64 %t664) + store ptr %t666, ptr %t654 + store i32 %t660, ptr %t653 + br label %put114 +put114: + %t667 = load ptr, ptr %t654 + %t668 = getelementptr inbounds ptr, ptr %t667, i32 %t655 + store ptr @.str1236, ptr %t668 + %t669 = add i32 %t655, 1 + store i32 %t669, ptr %t652 + %t670 = load ptr, ptr %t10 + %t671 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 1 + %t672 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 2 + %t673 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 0 + %t674 = load i32, ptr %t671 + %t675 = load i32, ptr %t672 + %t676 = icmp sge i32 %t674, %t675 + br i1 %t676, label %grow115, label %put116 +grow115: + %t677 = mul i32 %t675, 2 + %t678 = icmp eq i32 %t675, 0 + %t679 = select i1 %t678, i32 8, i32 %t677 + %t680 = getelementptr ptr, ptr null, i32 1 + %t681 = ptrtoint ptr %t680 to i64 + %t682 = zext i32 %t679 to i64 + %t683 = mul i64 %t682, %t681 + %t684 = load ptr, ptr %t673 + %t685 = call ptr @realloc(ptr %t684, i64 %t683) + store ptr %t685, ptr %t673 + store i32 %t679, ptr %t672 + br label %put116 +put116: + %t686 = load ptr, ptr %t673 + %t687 = getelementptr inbounds ptr, ptr %t686, i32 %t674 + store ptr @.str1237, ptr %t687 + %t688 = add i32 %t674, 1 + store i32 %t688, ptr %t671 + br label %ifend112 +ifend112: + %t689 = load ptr, ptr %t1 + %t690 = call i32 @fn_str_eq(ptr %t689, ptr @.str1238) + %t691 = icmp ne i32 %t690, 0 + br i1 %t691, label %then117, label %ifend119 +then117: + store ptr @.str1239, ptr %t3 + %t692 = load ptr, ptr %t10 + %t693 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 1 + %t694 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 2 + %t695 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 0 + %t696 = load i32, ptr %t693 + %t697 = load i32, ptr %t694 + %t698 = icmp sge i32 %t696, %t697 + br i1 %t698, label %grow120, label %put121 +grow120: + %t699 = mul i32 %t697, 2 + %t700 = icmp eq i32 %t697, 0 + %t701 = select i1 %t700, i32 8, i32 %t699 + %t702 = getelementptr ptr, ptr null, i32 1 + %t703 = ptrtoint ptr %t702 to i64 + %t704 = zext i32 %t701 to i64 + %t705 = mul i64 %t704, %t703 + %t706 = load ptr, ptr %t695 + %t707 = call ptr @realloc(ptr %t706, i64 %t705) + store ptr %t707, ptr %t695 + store i32 %t701, ptr %t694 + br label %put121 +put121: + %t708 = load ptr, ptr %t695 + %t709 = getelementptr inbounds ptr, ptr %t708, i32 %t696 + store ptr @.str1240, ptr %t709 + %t710 = add i32 %t696, 1 + store i32 %t710, ptr %t693 + br label %ifend119 +ifend119: + %t711 = load ptr, ptr %t1 + %t712 = call i32 @fn_str_eq(ptr %t711, ptr @.str1241) + %t713 = icmp ne i32 %t712, 0 + br i1 %t713, label %then122, label %ifend124 +then122: + store ptr @.str1242, ptr %t3 + %t714 = load ptr, ptr %t10 + %t715 = getelementptr inbounds %LSlice, ptr %t714, i32 0, i32 1 + %t716 = getelementptr inbounds %LSlice, ptr %t714, i32 0, i32 2 + %t717 = getelementptr inbounds %LSlice, ptr %t714, i32 0, i32 0 + %t718 = load i32, ptr %t715 + %t719 = load i32, ptr %t716 + %t720 = icmp sge i32 %t718, %t719 + br i1 %t720, label %grow125, label %put126 +grow125: + %t721 = mul i32 %t719, 2 + %t722 = icmp eq i32 %t719, 0 + %t723 = select i1 %t722, i32 8, i32 %t721 + %t724 = getelementptr ptr, ptr null, i32 1 + %t725 = ptrtoint ptr %t724 to i64 + %t726 = zext i32 %t723 to i64 + %t727 = mul i64 %t726, %t725 + %t728 = load ptr, ptr %t717 + %t729 = call ptr @realloc(ptr %t728, i64 %t727) + store ptr %t729, ptr %t717 + store i32 %t723, ptr %t716 + br label %put126 +put126: + %t730 = load ptr, ptr %t717 + %t731 = getelementptr inbounds ptr, ptr %t730, i32 %t718 + store ptr @.str1243, ptr %t731 + %t732 = add i32 %t718, 1 + store i32 %t732, ptr %t715 + br label %ifend124 +ifend124: + br label %ifend109 +ifend109: + %t733 = load ptr, ptr %t0 + %t734 = call i32 @fn_str_eq(ptr %t733, ptr @.str1244) + %t735 = icmp ne i32 %t734, 0 + br i1 %t735, label %then127, label %ifend129 +then127: + %t736 = load ptr, ptr %t1 + %t737 = call i32 @fn_str_eq(ptr %t736, ptr @.str1245) + %t738 = icmp ne i32 %t737, 0 + br i1 %t738, label %then130, label %ifend132 +then130: + store ptr @.str1246, ptr %t3 + br label %ifend132 +ifend132: + br label %ifend129 +ifend129: + %t739 = load ptr, ptr %t3 + %t740 = icmp eq ptr %t739, null + %t741 = zext i1 %t740 to i32 + %t742 = icmp ne i32 %t741, 0 + br i1 %t742, label %then133, label %ifend135 +then133: + %t743 = load ptr, ptr %t0 + %t744 = call ptr @fn_str_concat(ptr @.str1247, ptr %t743) + %t745 = call ptr @fn_str_concat(ptr %t744, ptr @.str1248) + %t746 = load ptr, ptr %t1 + %t747 = call ptr @fn_str_concat(ptr %t745, ptr %t746) + call void @fn_perr(ptr %t747) + br label %ifend135 +ifend135: + %t748 = load ptr, ptr %t2 + %t749 = load ptr, ptr %t10 + call void @fn_reorder_named(ptr %t748, ptr %t749) + %t750 = call ptr @fn_node(i32 33) + store ptr %t750, ptr %t751 + %t752 = load ptr, ptr %t751 + %t753 = getelementptr inbounds %Cmp_Node, ptr %t752, i32 0, i32 1 + %t754 = load ptr, ptr %t3 + store ptr %t754, ptr %t753 + %t755 = load ptr, ptr %t2 + %t756 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 4 + %t757 = load ptr, ptr %t751 + store ptr %t757, ptr %t756 + %t758 = load ptr, ptr %t2 + %t759 = call ptr @fn_emit_call(ptr %t758) + store ptr %t759, ptr %retval + br label %ret +ret: + %t760 = load ptr, ptr %retval + ret ptr %t760 +} + define ptr @fn_emit_call(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr - %t6 = alloca ptr - %t59 = alloca ptr - %t78 = alloca ptr - %t87 = alloca ptr + %t38 = alloca ptr + %t91 = alloca ptr %t110 = alloca ptr %t119 = alloca ptr - %t143 = alloca ptr - %t152 = alloca ptr - %t161 = alloca ptr - %t183 = alloca ptr - %t202 = alloca ptr - %t221 = alloca ptr - %t230 = alloca ptr - %t249 = alloca ptr - %t261 = alloca ptr - %t266 = alloca ptr - %t300 = alloca ptr - %t316 = alloca ptr - %t321 = alloca i32 - %t341 = alloca ptr - %t350 = alloca ptr - %t359 = alloca ptr - %t370 = alloca i32 - %t390 = alloca ptr - %t399 = alloca ptr - %t433 = alloca ptr - %t459 = alloca ptr - %t488 = alloca ptr - %t495 = alloca ptr - %t512 = alloca ptr - %t519 = alloca ptr - %t524 = alloca ptr - %t541 = alloca ptr - %t560 = alloca ptr - %t579 = alloca ptr - %t598 = alloca ptr - %t607 = alloca ptr - %t631 = alloca ptr - %t640 = alloca ptr - %t649 = alloca ptr - %t666 = alloca ptr - %t683 = alloca ptr - %t692 = alloca ptr - %t701 = alloca ptr - %t710 = alloca ptr - %t717 = alloca ptr - %t740 = alloca ptr + %t142 = alloca ptr + %t151 = alloca ptr + %t175 = alloca ptr + %t184 = alloca ptr + %t193 = alloca ptr + %t215 = alloca ptr + %t234 = alloca ptr + %t253 = alloca ptr + %t262 = alloca ptr + %t281 = alloca ptr + %t293 = alloca ptr + %t298 = alloca ptr + %t332 = alloca ptr + %t348 = alloca ptr + %t353 = alloca i32 + %t373 = alloca ptr + %t382 = alloca ptr + %t391 = alloca ptr + %t402 = alloca i32 + %t422 = alloca ptr + %t431 = alloca ptr + %t465 = alloca ptr + %t491 = alloca ptr + %t520 = alloca ptr + %t527 = alloca ptr + %t544 = alloca ptr + %t551 = alloca ptr + %t556 = alloca ptr + %t573 = alloca ptr + %t592 = alloca ptr + %t611 = alloca ptr + %t630 = alloca ptr + %t639 = alloca ptr + %t663 = alloca ptr + %t672 = alloca ptr + %t681 = alloca ptr + %t698 = alloca ptr + %t715 = alloca ptr + %t724 = alloca ptr + %t733 = alloca ptr + %t742 = alloca ptr %t749 = alloca ptr - %t778 = alloca ptr - %t797 = alloca ptr - %t816 = alloca ptr - %t825 = alloca ptr - %t849 = alloca ptr - %t858 = alloca ptr - %t882 = alloca ptr - %t891 = alloca ptr - %t910 = alloca ptr - %t919 = alloca ptr - %t938 = alloca ptr - %t966 = alloca ptr - %t977 = alloca ptr - %t984 = alloca ptr - %t985 = alloca i32 - %t1004 = alloca ptr - %t1055 = alloca ptr - %t1056 = alloca ptr - %t1103 = alloca ptr - %t1105 = alloca ptr - %t1112 = alloca ptr - %t1128 = alloca ptr - %t1135 = alloca ptr - %t1136 = alloca i32 - %t1155 = alloca ptr - %t1206 = alloca ptr - %t1207 = alloca ptr + %t772 = alloca ptr + %t781 = alloca ptr + %t810 = alloca ptr + %t829 = alloca ptr + %t848 = alloca ptr + %t857 = alloca ptr + %t881 = alloca ptr + %t890 = alloca ptr + %t914 = alloca ptr + %t923 = alloca ptr + %t942 = alloca ptr + %t951 = alloca ptr + %t970 = alloca ptr + %t998 = alloca ptr + %t1012 = alloca ptr + %t1019 = alloca ptr + %t1020 = alloca i32 + %t1039 = alloca ptr + %t1090 = alloca ptr + %t1091 = alloca ptr + %t1138 = alloca ptr + %t1140 = alloca ptr + %t1147 = alloca ptr + %t1166 = alloca ptr + %t1173 = alloca ptr + %t1174 = alloca i32 + %t1193 = alloca ptr + %t1244 = alloca ptr + %t1245 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 - %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 - %t5 = load ptr, ptr %t4 - store ptr %t5, ptr %t6 - %t7 = load ptr, ptr %t6 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str948) - %t9 = icmp ne i32 %t8, 0 - br i1 %t9, label %then0, label %ifend2 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 0 + %t5 = load i32, ptr %t4 + %t6 = icmp eq i32 %t5, 35 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 then0: - %t10 = load i32, ptr @g_nself - %t11 = icmp eq i32 %t10, 0 - %t12 = zext i1 %t11 to i32 - %t13 = icmp ne i32 %t12, 0 - br i1 %t13, label %then3, label %ifend5 + %t9 = load ptr, ptr %t0 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 + %t11 = load ptr, ptr %t10 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 33 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 then3: - %t14 = call ptr @fn_val(ptr @.str949, ptr @.str950) - store ptr %t14, ptr %retval + %t19 = load ptr, ptr %t0 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4 + %t21 = load ptr, ptr %t20 + %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4 + %t23 = load ptr, ptr %t22 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = load ptr, ptr %t0 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 4 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 + %t30 = load ptr, ptr %t29 + %t31 = load ptr, ptr %t0 + %t32 = call ptr @fn_emit_ns_call(ptr %t25, ptr %t30, ptr %t31) + store ptr %t32, ptr %retval br label %ret ifend5: - %t15 = load ptr, ptr @g_self_stk - %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 - %t17 = load ptr, ptr %t16 - %t18 = load i32, ptr @g_nself - %t19 = sub i32 %t18, 1 - %t20 = getelementptr inbounds ptr, ptr %t17, i32 %t19 - %t21 = load ptr, ptr %t20 - %t22 = call ptr @fn_str_concat(ptr @.str951, ptr %t21) - %t23 = call ptr @fn_emit_bind(ptr %t22) - %t24 = call ptr @fn_val(ptr %t23, ptr @.str952) - store ptr %t24, ptr %retval - br label %ret + call void @fn_perr(ptr @.str1249) + br label %ifend2 ifend2: - %t25 = load ptr, ptr %t6 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str953) - %t27 = icmp ne i32 %t26, 0 - br i1 %t27, label %then6, label %ifend8 + %t33 = load ptr, ptr %t0 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 + %t37 = load ptr, ptr %t36 + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t38 + %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str1250) + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then6, label %ifend8 then6: - %t28 = call ptr @fn_emit_bind(ptr @.str954) - %t29 = call ptr @fn_val(ptr %t28, ptr @.str955) - store ptr %t29, ptr %retval - br label %ret -ifend8: - %t30 = load ptr, ptr %t6 - %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str956) - %t32 = icmp ne i32 %t31, 0 - br i1 %t32, label %then9, label %ifend11 + %t42 = load i32, ptr @g_nself + %t43 = icmp eq i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + %t45 = icmp ne i32 %t44, 0 + br i1 %t45, label %then9, label %ifend11 then9: - call void @fn_emit(ptr @.str957) - %t33 = call ptr @fn_val(ptr @.str958, ptr @.str959) - store ptr %t33, ptr %retval + %t46 = call ptr @fn_val(ptr @.str1251, ptr @.str1252) + store ptr %t46, ptr %retval br label %ret ifend11: - %t34 = load ptr, ptr %t6 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str960) - %t36 = icmp ne i32 %t35, 0 - br i1 %t36, label %then12, label %ifend14 + %t47 = load ptr, ptr @g_self_stk + %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 + %t49 = load ptr, ptr %t48 + %t50 = load i32, ptr @g_nself + %t51 = sub i32 %t50, 1 + %t52 = getelementptr inbounds ptr, ptr %t49, i32 %t51 + %t53 = load ptr, ptr %t52 + %t54 = call ptr @fn_str_concat(ptr @.str1253, ptr %t53) + %t55 = call ptr @fn_emit_bind(ptr %t54) + %t56 = call ptr @fn_val(ptr %t55, ptr @.str1254) + store ptr %t56, ptr %retval + br label %ret +ifend8: + %t57 = load ptr, ptr %t38 + %t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str1255) + %t59 = icmp ne i32 %t58, 0 + br i1 %t59, label %then12, label %ifend14 then12: - call void @fn_emit(ptr @.str961) - %t37 = call ptr @fn_val(ptr @.str962, ptr @.str963) - store ptr %t37, ptr %retval + %t60 = call ptr @fn_emit_bind(ptr @.str1256) + %t61 = call ptr @fn_val(ptr %t60, ptr @.str1257) + store ptr %t61, ptr %retval br label %ret ifend14: - %t38 = load ptr, ptr %t6 - %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str964) - %t40 = icmp ne i32 %t39, 0 - br i1 %t40, label %then15, label %ifend17 + %t62 = load ptr, ptr %t38 + %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str1258) + %t64 = icmp ne i32 %t63, 0 + br i1 %t64, label %then15, label %ifend17 then15: - %t41 = call ptr @fn_emit_bind(ptr @.str965) - %t42 = call ptr @fn_val(ptr %t41, ptr @.str966) - store ptr %t42, ptr %retval + call void @fn_emit(ptr @.str1259) + %t65 = call ptr @fn_val(ptr @.str1260, ptr @.str1261) + store ptr %t65, ptr %retval br label %ret ifend17: - %t43 = load ptr, ptr %t6 - %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str967) - %t45 = icmp ne i32 %t44, 0 - br i1 %t45, label %then18, label %ifend20 + %t66 = load ptr, ptr %t38 + %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str1262) + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %then18, label %ifend20 then18: - %t46 = call ptr @fn_emit_bind(ptr @.str968) - %t47 = call ptr @fn_val(ptr %t46, ptr @.str969) - store ptr %t47, ptr %retval + call void @fn_emit(ptr @.str1263) + %t69 = call ptr @fn_val(ptr @.str1264, ptr @.str1265) + store ptr %t69, ptr %retval br label %ret ifend20: - %t48 = load ptr, ptr %t6 - %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str970) - %t50 = icmp ne i32 %t49, 0 - br i1 %t50, label %then21, label %ifend23 + %t70 = load ptr, ptr %t38 + %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str1266) + %t72 = icmp ne i32 %t71, 0 + br i1 %t72, label %then21, label %ifend23 then21: - %t51 = load ptr, ptr %t0 - %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 7 - %t53 = load ptr, ptr %t52 - %t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 - %t55 = load ptr, ptr %t54 - %t56 = getelementptr inbounds ptr, ptr %t55, i32 0 - %t57 = load ptr, ptr %t56 - %t58 = call ptr @fn_emit_expr(ptr %t57) - store ptr %t58, ptr %t59 - %t60 = load ptr, ptr %t59 - %t61 = getelementptr inbounds %Cmp_Val, ptr %t60, i32 0, i32 0 - %t62 = load ptr, ptr %t61 - %t63 = call ptr @fn_str_concat(ptr @.str971, ptr %t62) - %t64 = call ptr @fn_str_concat(ptr %t63, ptr @.str972) - %t65 = call ptr @fn_emit_bind(ptr %t64) - %t66 = call ptr @fn_val(ptr %t65, ptr @.str973) - store ptr %t66, ptr %retval + %t73 = call ptr @fn_emit_bind(ptr @.str1267) + %t74 = call ptr @fn_val(ptr %t73, ptr @.str1268) + store ptr %t74, ptr %retval br label %ret ifend23: - %t67 = load ptr, ptr %t6 - %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str974) - %t69 = icmp ne i32 %t68, 0 - br i1 %t69, label %then24, label %ifend26 + %t75 = load ptr, ptr %t38 + %t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str1269) + %t77 = icmp ne i32 %t76, 0 + br i1 %t77, label %then24, label %ifend26 then24: - %t70 = load ptr, ptr %t0 - %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 7 - %t72 = load ptr, ptr %t71 - %t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 - %t74 = load ptr, ptr %t73 - %t75 = getelementptr inbounds ptr, ptr %t74, i32 0 - %t76 = load ptr, ptr %t75 - %t77 = call ptr @fn_emit_expr(ptr %t76) - store ptr %t77, ptr %t78 - %t79 = load ptr, ptr %t0 - %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 7 - %t81 = load ptr, ptr %t80 - %t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 - %t83 = load ptr, ptr %t82 - %t84 = getelementptr inbounds ptr, ptr %t83, i32 1 - %t85 = load ptr, ptr %t84 - %t86 = call ptr @fn_emit_expr(ptr %t85) - store ptr %t86, ptr %t87 - call void @fn_emit(ptr @.str975) - %t88 = load ptr, ptr %t78 - %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 - %t90 = load ptr, ptr %t89 - call void @fn_emit(ptr %t90) - call void @fn_emit(ptr @.str976) - %t91 = load ptr, ptr %t87 - %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 @.str977) - %t94 = call ptr @fn_val(ptr @.str978, ptr @.str979) - store ptr %t94, ptr %retval + %t78 = call ptr @fn_emit_bind(ptr @.str1270) + %t79 = call ptr @fn_val(ptr %t78, ptr @.str1271) + store ptr %t79, ptr %retval br label %ret ifend26: - %t95 = load ptr, ptr %t6 - %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str980) - %t97 = icmp ne i32 %t96, 0 - br i1 %t97, label %then27, label %ifend29 + %t80 = load ptr, ptr %t38 + %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str1272) + %t82 = icmp ne i32 %t81, 0 + br i1 %t82, label %then27, label %ifend29 then27: - call void @fn_emit(ptr @.str981) - %t98 = call ptr @fn_val(ptr @.str982, ptr @.str983) + %t83 = load ptr, ptr %t0 + %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 7 + %t85 = load ptr, ptr %t84 + %t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 + %t87 = load ptr, ptr %t86 + %t88 = getelementptr inbounds ptr, ptr %t87, i32 0 + %t89 = load ptr, ptr %t88 + %t90 = call ptr @fn_emit_expr(ptr %t89) + store ptr %t90, ptr %t91 + %t92 = load ptr, ptr %t91 + %t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0 + %t94 = load ptr, ptr %t93 + %t95 = call ptr @fn_str_concat(ptr @.str1273, ptr %t94) + %t96 = call ptr @fn_str_concat(ptr %t95, ptr @.str1274) + %t97 = call ptr @fn_emit_bind(ptr %t96) + %t98 = call ptr @fn_val(ptr %t97, ptr @.str1275) store ptr %t98, ptr %retval br label %ret ifend29: - %t99 = load ptr, ptr %t6 - %t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str984) + %t99 = load ptr, ptr %t38 + %t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str1276) %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then30, label %ifend32 then30: @@ -18108,1539 +21820,1595 @@ then30: %t117 = load ptr, ptr %t116 %t118 = call ptr @fn_emit_expr(ptr %t117) store ptr %t118, ptr %t119 + call void @fn_emit(ptr @.str1277) %t120 = load ptr, ptr %t110 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 - %t123 = call ptr @fn_str_concat(ptr @.str985, ptr %t122) - %t124 = call ptr @fn_str_concat(ptr %t123, ptr @.str986) - %t125 = load ptr, ptr %t119 - %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 @.str987) - %t130 = call ptr @fn_emit_bind(ptr %t129) - %t131 = call ptr @fn_val(ptr %t130, ptr @.str988) - store ptr %t131, ptr %retval + call void @fn_emit(ptr %t122) + call void @fn_emit(ptr @.str1278) + %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 @.str1279) + %t126 = call ptr @fn_val(ptr @.str1280, ptr @.str1281) + store ptr %t126, ptr %retval br label %ret ifend32: - %t132 = load ptr, ptr %t6 - %t133 = call i32 @fn_str_eq(ptr %t132, ptr @.str989) - %t134 = icmp ne i32 %t133, 0 - br i1 %t134, label %then33, label %ifend35 + %t127 = load ptr, ptr %t38 + %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str1282) + %t129 = icmp ne i32 %t128, 0 + br i1 %t129, label %then33, label %ifend35 then33: - %t135 = load ptr, ptr %t0 - %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 7 - %t137 = load ptr, ptr %t136 - %t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 0 - %t139 = load ptr, ptr %t138 - %t140 = getelementptr inbounds ptr, ptr %t139, i32 0 - %t141 = load ptr, ptr %t140 - %t142 = call ptr @fn_emit_expr(ptr %t141) - store ptr %t142, ptr %t143 - %t144 = load ptr, ptr %t0 - %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 7 - %t146 = load ptr, ptr %t145 - %t147 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 - %t148 = load ptr, ptr %t147 - %t149 = getelementptr inbounds ptr, ptr %t148, i32 1 - %t150 = load ptr, ptr %t149 - %t151 = call ptr @fn_emit_expr(ptr %t150) - store ptr %t151, ptr %t152 - %t153 = load ptr, ptr %t0 - %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 7 - %t155 = load ptr, ptr %t154 - %t156 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 - %t157 = load ptr, ptr %t156 - %t158 = getelementptr inbounds ptr, ptr %t157, i32 2 - %t159 = load ptr, ptr %t158 - %t160 = call ptr @fn_emit_expr(ptr %t159) - store ptr %t160, ptr %t161 - call void @fn_emit(ptr @.str990) - %t162 = load ptr, ptr %t143 - %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 @.str991) - %t165 = load ptr, ptr %t152 - %t166 = getelementptr inbounds %Cmp_Val, ptr %t165, i32 0, i32 0 - %t167 = load ptr, ptr %t166 - call void @fn_emit(ptr %t167) - call void @fn_emit(ptr @.str992) - %t168 = load ptr, ptr %t161 - %t169 = getelementptr inbounds %Cmp_Val, ptr %t168, i32 0, i32 0 - %t170 = load ptr, ptr %t169 - call void @fn_emit(ptr %t170) - call void @fn_emit(ptr @.str993) - %t171 = call ptr @fn_val(ptr @.str994, ptr @.str995) - store ptr %t171, ptr %retval + call void @fn_emit(ptr @.str1283) + %t130 = call ptr @fn_val(ptr @.str1284, ptr @.str1285) + store ptr %t130, ptr %retval br label %ret ifend35: - %t172 = load ptr, ptr %t6 - %t173 = call i32 @fn_str_eq(ptr %t172, ptr @.str996) - %t174 = icmp ne i32 %t173, 0 - br i1 %t174, label %then36, label %ifend38 + %t131 = load ptr, ptr %t38 + %t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str1286) + %t133 = icmp ne i32 %t132, 0 + br i1 %t133, label %then36, label %ifend38 then36: - %t175 = load ptr, ptr %t0 - %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 7 - %t177 = load ptr, ptr %t176 - %t178 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 0 - %t179 = load ptr, ptr %t178 - %t180 = getelementptr inbounds ptr, ptr %t179, i32 0 - %t181 = load ptr, ptr %t180 - %t182 = call ptr @fn_emit_expr(ptr %t181) - store ptr %t182, ptr %t183 - %t184 = load ptr, ptr %t183 - %t185 = getelementptr inbounds %Cmp_Val, ptr %t184, i32 0, i32 0 - %t186 = load ptr, ptr %t185 - %t187 = call ptr @fn_str_concat(ptr @.str997, ptr %t186) - %t188 = call ptr @fn_str_concat(ptr %t187, ptr @.str998) - %t189 = call ptr @fn_emit_bind(ptr %t188) - %t190 = call ptr @fn_val(ptr %t189, ptr @.str999) - store ptr %t190, ptr %retval + %t134 = load ptr, ptr %t0 + %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 7 + %t136 = load ptr, ptr %t135 + %t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 + %t138 = load ptr, ptr %t137 + %t139 = getelementptr inbounds ptr, ptr %t138, i32 0 + %t140 = load ptr, ptr %t139 + %t141 = call ptr @fn_emit_expr(ptr %t140) + store ptr %t141, ptr %t142 + %t143 = load ptr, ptr %t0 + %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 7 + %t145 = load ptr, ptr %t144 + %t146 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0 + %t147 = load ptr, ptr %t146 + %t148 = getelementptr inbounds ptr, ptr %t147, i32 1 + %t149 = load ptr, ptr %t148 + %t150 = call ptr @fn_emit_expr(ptr %t149) + store ptr %t150, ptr %t151 + %t152 = load ptr, ptr %t142 + %t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0 + %t154 = load ptr, ptr %t153 + %t155 = call ptr @fn_str_concat(ptr @.str1287, ptr %t154) + %t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str1288) + %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 @.str1289) + %t162 = call ptr @fn_emit_bind(ptr %t161) + %t163 = call ptr @fn_val(ptr %t162, ptr @.str1290) + store ptr %t163, ptr %retval br label %ret ifend38: - %t191 = load ptr, ptr %t6 - %t192 = call i32 @fn_str_eq(ptr %t191, ptr @.str1000) - %t193 = icmp ne i32 %t192, 0 - br i1 %t193, label %then39, label %ifend41 + %t164 = load ptr, ptr %t38 + %t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str1291) + %t166 = icmp ne i32 %t165, 0 + br i1 %t166, label %then39, label %ifend41 then39: - %t194 = load ptr, ptr %t0 - %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 7 + %t167 = load ptr, ptr %t0 + %t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 7 + %t169 = load ptr, ptr %t168 + %t170 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 0 + %t171 = load ptr, ptr %t170 + %t172 = getelementptr inbounds ptr, ptr %t171, i32 0 + %t173 = load ptr, ptr %t172 + %t174 = call ptr @fn_emit_expr(ptr %t173) + store ptr %t174, ptr %t175 + %t176 = load ptr, ptr %t0 + %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 7 + %t178 = load ptr, ptr %t177 + %t179 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 0 + %t180 = load ptr, ptr %t179 + %t181 = getelementptr inbounds ptr, ptr %t180, i32 1 + %t182 = load ptr, ptr %t181 + %t183 = call ptr @fn_emit_expr(ptr %t182) + store ptr %t183, ptr %t184 + %t185 = load ptr, ptr %t0 + %t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 7 + %t187 = load ptr, ptr %t186 + %t188 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0 + %t189 = load ptr, ptr %t188 + %t190 = getelementptr inbounds ptr, ptr %t189, i32 2 + %t191 = load ptr, ptr %t190 + %t192 = call ptr @fn_emit_expr(ptr %t191) + store ptr %t192, ptr %t193 + call void @fn_emit(ptr @.str1292) + %t194 = load ptr, ptr %t175 + %t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0 %t196 = load ptr, ptr %t195 - %t197 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 0 - %t198 = load ptr, ptr %t197 - %t199 = getelementptr inbounds ptr, ptr %t198, i32 0 - %t200 = load ptr, ptr %t199 - %t201 = call ptr @fn_emit_expr(ptr %t200) - store ptr %t201, ptr %t202 - %t203 = load ptr, ptr %t202 - %t204 = getelementptr inbounds %Cmp_Val, ptr %t203, i32 0, i32 0 - %t205 = load ptr, ptr %t204 - %t206 = call ptr @fn_str_concat(ptr @.str1001, ptr %t205) - %t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str1002) - %t208 = call ptr @fn_emit_bind(ptr %t207) - %t209 = call ptr @fn_val(ptr %t208, ptr @.str1003) - store ptr %t209, ptr %retval + call void @fn_emit(ptr %t196) + call void @fn_emit(ptr @.str1293) + %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 @.str1294) + %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 @.str1295) + %t203 = call ptr @fn_val(ptr @.str1296, ptr @.str1297) + store ptr %t203, ptr %retval br label %ret ifend41: - %t210 = load ptr, ptr %t6 - %t211 = call i32 @fn_str_eq(ptr %t210, ptr @.str1004) - %t212 = icmp ne i32 %t211, 0 - br i1 %t212, label %then42, label %ifend44 + %t204 = load ptr, ptr %t38 + %t205 = call i32 @fn_str_eq(ptr %t204, ptr @.str1298) + %t206 = icmp ne i32 %t205, 0 + br i1 %t206, label %then42, label %ifend44 then42: - %t213 = load ptr, ptr %t0 - %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 7 - %t215 = load ptr, ptr %t214 - %t216 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0 - %t217 = load ptr, ptr %t216 - %t218 = getelementptr inbounds ptr, ptr %t217, i32 0 - %t219 = load ptr, ptr %t218 - %t220 = call ptr @fn_emit_expr(ptr %t219) - store ptr %t220, ptr %t221 - %t222 = load ptr, ptr %t0 - %t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 7 - %t224 = load ptr, ptr %t223 - %t225 = getelementptr inbounds %LSlice, ptr %t224, i32 0, i32 0 - %t226 = load ptr, ptr %t225 - %t227 = getelementptr inbounds ptr, ptr %t226, i32 1 - %t228 = load ptr, ptr %t227 - %t229 = call ptr @fn_emit_expr(ptr %t228) - store ptr %t229, ptr %t230 - call void @fn_emit(ptr @.str1005) - %t231 = load ptr, ptr %t221 - %t232 = getelementptr inbounds %Cmp_Val, ptr %t231, i32 0, i32 0 - %t233 = load ptr, ptr %t232 - call void @fn_emit(ptr %t233) - call void @fn_emit(ptr @.str1006) - %t234 = load ptr, ptr %t230 - %t235 = getelementptr inbounds %Cmp_Val, ptr %t234, i32 0, i32 0 - %t236 = load ptr, ptr %t235 - call void @fn_emit(ptr %t236) - call void @fn_emit(ptr @.str1007) - %t237 = call ptr @fn_val(ptr @.str1008, ptr @.str1009) - store ptr %t237, ptr %retval + %t207 = load ptr, ptr %t0 + %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 7 + %t209 = load ptr, ptr %t208 + %t210 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 + %t211 = load ptr, ptr %t210 + %t212 = getelementptr inbounds ptr, ptr %t211, i32 0 + %t213 = load ptr, ptr %t212 + %t214 = call ptr @fn_emit_expr(ptr %t213) + store ptr %t214, ptr %t215 + %t216 = load ptr, ptr %t215 + %t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0 + %t218 = load ptr, ptr %t217 + %t219 = call ptr @fn_str_concat(ptr @.str1299, ptr %t218) + %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str1300) + %t221 = call ptr @fn_emit_bind(ptr %t220) + %t222 = call ptr @fn_val(ptr %t221, ptr @.str1301) + store ptr %t222, ptr %retval br label %ret ifend44: - %t238 = load ptr, ptr %t6 - %t239 = call i32 @fn_str_eq(ptr %t238, ptr @.str1010) - %t240 = icmp ne i32 %t239, 0 - br i1 %t240, label %then45, label %ifend47 + %t223 = load ptr, ptr %t38 + %t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str1302) + %t225 = icmp ne i32 %t224, 0 + br i1 %t225, label %then45, label %ifend47 then45: - %t241 = load ptr, ptr %t0 - %t242 = getelementptr inbounds %Cmp_Node, ptr %t241, i32 0, i32 7 - %t243 = load ptr, ptr %t242 - %t244 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 0 - %t245 = load ptr, ptr %t244 - %t246 = getelementptr inbounds ptr, ptr %t245, i32 0 - %t247 = load ptr, ptr %t246 - %t248 = call ptr @fn_emit_expr(ptr %t247) - store ptr %t248, ptr %t249 - %t250 = load ptr, ptr %t249 - %t251 = getelementptr inbounds %Cmp_Val, ptr %t250, i32 0, i32 0 - %t252 = load ptr, ptr %t251 - %t253 = call ptr @fn_str_concat(ptr @.str1011, ptr %t252) - %t254 = call ptr @fn_str_concat(ptr %t253, ptr @.str1012) - %t255 = call ptr @fn_emit_bind(ptr %t254) - %t256 = call ptr @fn_val(ptr %t255, ptr @.str1013) - store ptr %t256, ptr %retval + %t226 = load ptr, ptr %t0 + %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 7 + %t228 = load ptr, ptr %t227 + %t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 + %t230 = load ptr, ptr %t229 + %t231 = getelementptr inbounds ptr, ptr %t230, i32 0 + %t232 = load ptr, ptr %t231 + %t233 = call ptr @fn_emit_expr(ptr %t232) + store ptr %t233, ptr %t234 + %t235 = load ptr, ptr %t234 + %t236 = getelementptr inbounds %Cmp_Val, ptr %t235, i32 0, i32 0 + %t237 = load ptr, ptr %t236 + %t238 = call ptr @fn_str_concat(ptr @.str1303, ptr %t237) + %t239 = call ptr @fn_str_concat(ptr %t238, ptr @.str1304) + %t240 = call ptr @fn_emit_bind(ptr %t239) + %t241 = call ptr @fn_val(ptr %t240, ptr @.str1305) + store ptr %t241, ptr %retval br label %ret ifend47: - %t257 = load ptr, ptr %t6 - %t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str1014) - %t259 = icmp ne i32 %t258, 0 - br i1 %t259, label %then48, label %ifend50 + %t242 = load ptr, ptr %t38 + %t243 = call i32 @fn_str_eq(ptr %t242, ptr @.str1306) + %t244 = icmp ne i32 %t243, 0 + br i1 %t244, label %then48, label %ifend50 then48: - %t260 = call ptr @fn_emit_bind(ptr @.str1015) - store ptr %t260, ptr %t261 - %t262 = load ptr, ptr %t261 - %t263 = call ptr @fn_str_concat(ptr @.str1016, ptr %t262) - %t264 = call ptr @fn_str_concat(ptr %t263, ptr @.str1017) - %t265 = call ptr @fn_emit_bind(ptr %t264) - store ptr %t265, ptr %t266 - %t267 = load ptr, ptr %t266 - %t268 = call ptr @fn_str_concat(ptr @.str1018, ptr %t267) - %t269 = call ptr @fn_str_concat(ptr %t268, ptr @.str1019) - %t270 = call ptr @fn_emit_bind(ptr %t269) - %t271 = call ptr @fn_val(ptr %t270, ptr @.str1020) - store ptr %t271, ptr %retval + %t245 = load ptr, ptr %t0 + %t246 = getelementptr inbounds %Cmp_Node, ptr %t245, i32 0, i32 7 + %t247 = load ptr, ptr %t246 + %t248 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 0 + %t249 = load ptr, ptr %t248 + %t250 = getelementptr inbounds ptr, ptr %t249, i32 0 + %t251 = load ptr, ptr %t250 + %t252 = call ptr @fn_emit_expr(ptr %t251) + store ptr %t252, ptr %t253 + %t254 = load ptr, ptr %t0 + %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 7 + %t256 = load ptr, ptr %t255 + %t257 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0 + %t258 = load ptr, ptr %t257 + %t259 = getelementptr inbounds ptr, ptr %t258, i32 1 + %t260 = load ptr, ptr %t259 + %t261 = call ptr @fn_emit_expr(ptr %t260) + store ptr %t261, ptr %t262 + call void @fn_emit(ptr @.str1307) + %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 @.str1308) + %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 @.str1309) + %t269 = call ptr @fn_val(ptr @.str1310, ptr @.str1311) + store ptr %t269, ptr %retval br label %ret ifend50: - %t272 = load ptr, ptr %t6 - %t273 = call i32 @fn_str_eq(ptr %t272, ptr @.str1021) - %t274 = icmp ne i32 %t273, 0 - br i1 %t274, label %then51, label %ifend53 + %t270 = load ptr, ptr %t38 + %t271 = call i32 @fn_str_eq(ptr %t270, ptr @.str1312) + %t272 = icmp ne i32 %t271, 0 + br i1 %t272, label %then51, label %ifend53 then51: - %t275 = call ptr @fn_emit_bind(ptr @.str1022) - %t276 = call ptr @fn_val(ptr %t275, ptr @.str1023) - store ptr %t276, ptr %retval - br label %ret -ifend53: - %t277 = load ptr, ptr %t6 - %t278 = call i32 @fn_str_eq(ptr %t277, ptr @.str1024) - %t279 = icmp ne i32 %t278, 0 - br i1 %t279, label %then54, label %ifend56 -then54: - call void @fn_emit(ptr @.str1025) - %t280 = call ptr @fn_val(ptr @.str1026, ptr @.str1027) - store ptr %t280, ptr %retval - br label %ret -ifend56: - %t281 = load ptr, ptr %t6 - %t282 = call i32 @fn_str_eq(ptr %t281, ptr @.str1028) - %t283 = icmp ne i32 %t282, 0 - br i1 %t283, label %then57, label %ifend59 -then57: - call void @fn_emit(ptr @.str1029) - %t284 = call ptr @fn_val(ptr @.str1030, ptr @.str1031) - store ptr %t284, ptr %retval - br label %ret -ifend59: - %t285 = load ptr, ptr %t6 - %t286 = call i32 @fn_str_eq(ptr %t285, ptr @.str1032) - %t287 = icmp ne i32 %t286, 0 - br i1 %t287, label %then60, label %ifend62 -then60: - call void @fn_emit(ptr @.str1033) - %t288 = call ptr @fn_val(ptr @.str1034, ptr @.str1035) + %t273 = load ptr, ptr %t0 + %t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 7 + %t275 = load ptr, ptr %t274 + %t276 = getelementptr inbounds %LSlice, ptr %t275, i32 0, i32 0 + %t277 = load ptr, ptr %t276 + %t278 = getelementptr inbounds ptr, ptr %t277, i32 0 + %t279 = load ptr, ptr %t278 + %t280 = call ptr @fn_emit_expr(ptr %t279) + store ptr %t280, ptr %t281 + %t282 = load ptr, ptr %t281 + %t283 = getelementptr inbounds %Cmp_Val, ptr %t282, i32 0, i32 0 + %t284 = load ptr, ptr %t283 + %t285 = call ptr @fn_str_concat(ptr @.str1313, ptr %t284) + %t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str1314) + %t287 = call ptr @fn_emit_bind(ptr %t286) + %t288 = call ptr @fn_val(ptr %t287, ptr @.str1315) store ptr %t288, ptr %retval br label %ret -ifend62: - %t289 = load ptr, ptr %t6 - %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str1036) +ifend53: + %t289 = load ptr, ptr %t38 + %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str1316) %t291 = icmp ne i32 %t290, 0 - br i1 %t291, label %then63, label %ifend65 -then63: - %t292 = load ptr, ptr %t0 - %t293 = getelementptr inbounds %Cmp_Node, ptr %t292, i32 0, i32 7 + br i1 %t291, label %then54, label %ifend56 +then54: + %t292 = call ptr @fn_emit_bind(ptr @.str1317) + store ptr %t292, ptr %t293 %t294 = load ptr, ptr %t293 - %t295 = getelementptr inbounds %LSlice, ptr %t294, i32 0, i32 0 - %t296 = load ptr, ptr %t295 - %t297 = getelementptr inbounds ptr, ptr %t296, i32 0 - %t298 = load ptr, ptr %t297 - %t299 = call ptr @fn_emit_expr(ptr %t298) - store ptr %t299, ptr %t300 - call void @fn_emit(ptr @.str1037) - %t301 = load ptr, ptr %t300 - %t302 = getelementptr inbounds %Cmp_Val, ptr %t301, i32 0, i32 0 - %t303 = load ptr, ptr %t302 - call void @fn_emit(ptr %t303) - call void @fn_emit(ptr @.str1038) - %t304 = call ptr @fn_val(ptr @.str1039, ptr @.str1040) - store ptr %t304, ptr %retval + %t295 = call ptr @fn_str_concat(ptr @.str1318, ptr %t294) + %t296 = call ptr @fn_str_concat(ptr %t295, ptr @.str1319) + %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 @.str1320, ptr %t299) + %t301 = call ptr @fn_str_concat(ptr %t300, ptr @.str1321) + %t302 = call ptr @fn_emit_bind(ptr %t301) + %t303 = call ptr @fn_val(ptr %t302, ptr @.str1322) + store ptr %t303, ptr %retval + br label %ret +ifend56: + %t304 = load ptr, ptr %t38 + %t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str1323) + %t306 = icmp ne i32 %t305, 0 + br i1 %t306, label %then57, label %ifend59 +then57: + %t307 = call ptr @fn_emit_bind(ptr @.str1324) + %t308 = call ptr @fn_val(ptr %t307, ptr @.str1325) + store ptr %t308, ptr %retval + br label %ret +ifend59: + %t309 = load ptr, ptr %t38 + %t310 = call i32 @fn_str_eq(ptr %t309, ptr @.str1326) + %t311 = icmp ne i32 %t310, 0 + br i1 %t311, label %then60, label %ifend62 +then60: + call void @fn_emit(ptr @.str1327) + %t312 = call ptr @fn_val(ptr @.str1328, ptr @.str1329) + store ptr %t312, ptr %retval + br label %ret +ifend62: + %t313 = load ptr, ptr %t38 + %t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str1330) + %t315 = icmp ne i32 %t314, 0 + br i1 %t315, label %then63, label %ifend65 +then63: + call void @fn_emit(ptr @.str1331) + %t316 = call ptr @fn_val(ptr @.str1332, ptr @.str1333) + store ptr %t316, ptr %retval br label %ret ifend65: - %t305 = load ptr, ptr %t6 - %t306 = call i32 @fn_str_eq(ptr %t305, ptr @.str1041) - %t307 = icmp ne i32 %t306, 0 - br i1 %t307, label %then66, label %ifend68 + %t317 = load ptr, ptr %t38 + %t318 = call i32 @fn_str_eq(ptr %t317, ptr @.str1334) + %t319 = icmp ne i32 %t318, 0 + br i1 %t319, label %then66, label %ifend68 then66: - %t308 = load ptr, ptr %t0 - %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 7 - %t310 = load ptr, ptr %t309 - %t311 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 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 - call void @fn_emit(ptr @.str1042) - %t317 = load ptr, ptr %t316 - %t318 = getelementptr inbounds %Cmp_Val, ptr %t317, i32 0, i32 0 - %t319 = load ptr, ptr %t318 - call void @fn_emit(ptr %t319) - call void @fn_emit(ptr @.str1043) - %t320 = call ptr @fn_val(ptr @.str1044, ptr @.str1045) + call void @fn_emit(ptr @.str1335) + %t320 = call ptr @fn_val(ptr @.str1336, ptr @.str1337) store ptr %t320, ptr %retval br label %ret ifend68: - %t322 = load ptr, ptr %t6 - %t323 = call i32 @fn_str_eq(ptr %t322, ptr @.str1046) - %t324 = icmp ne i32 %t323, 0 - %t325 = zext i1 %t324 to i32 - store i32 %t325, ptr %t321 - br i1 %t324, label %sc69, label %scend70 -sc69: - %t326 = call ptr @fn_find_extern(ptr @.str1047) - %t327 = icmp eq ptr %t326, null - %t328 = zext i1 %t327 to i32 - %t329 = icmp ne i32 %t328, 0 - %t330 = zext i1 %t329 to i32 - store i32 %t330, ptr %t321 - br label %scend70 -scend70: - %t331 = load i32, ptr %t321 - %t332 = icmp ne i32 %t331, 0 - br i1 %t332, label %then71, label %ifend73 -then71: - store i32 1, ptr @g_g_uses_loopback - %t333 = load ptr, ptr %t0 - %t334 = getelementptr inbounds %Cmp_Node, ptr %t333, i32 0, i32 7 + %t321 = load ptr, ptr %t38 + %t322 = call i32 @fn_str_eq(ptr %t321, ptr @.str1338) + %t323 = icmp ne i32 %t322, 0 + br i1 %t323, label %then69, label %ifend71 +then69: + %t324 = load ptr, ptr %t0 + %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 7 + %t326 = load ptr, ptr %t325 + %t327 = getelementptr inbounds %LSlice, ptr %t326, i32 0, i32 0 + %t328 = load ptr, ptr %t327 + %t329 = getelementptr inbounds ptr, ptr %t328, i32 0 + %t330 = load ptr, ptr %t329 + %t331 = call ptr @fn_emit_expr(ptr %t330) + store ptr %t331, ptr %t332 + call void @fn_emit(ptr @.str1339) + %t333 = load ptr, ptr %t332 + %t334 = getelementptr inbounds %Cmp_Val, ptr %t333, i32 0, i32 0 %t335 = load ptr, ptr %t334 - %t336 = getelementptr inbounds %LSlice, ptr %t335, i32 0, i32 0 - %t337 = load ptr, ptr %t336 - %t338 = getelementptr inbounds ptr, ptr %t337, i32 0 - %t339 = load ptr, ptr %t338 - %t340 = call ptr @fn_emit_expr(ptr %t339) - store ptr %t340, ptr %t341 - %t342 = load ptr, ptr %t0 - %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 7 + call void @fn_emit(ptr %t335) + call void @fn_emit(ptr @.str1340) + %t336 = call ptr @fn_val(ptr @.str1341, ptr @.str1342) + store ptr %t336, ptr %retval + br label %ret +ifend71: + %t337 = load ptr, ptr %t38 + %t338 = call i32 @fn_str_eq(ptr %t337, ptr @.str1343) + %t339 = icmp ne i32 %t338, 0 + br i1 %t339, label %then72, label %ifend74 +then72: + %t340 = load ptr, ptr %t0 + %t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 7 + %t342 = load ptr, ptr %t341 + %t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0 %t344 = load ptr, ptr %t343 - %t345 = getelementptr inbounds %LSlice, ptr %t344, i32 0, i32 0 + %t345 = getelementptr inbounds ptr, ptr %t344, i32 0 %t346 = load ptr, ptr %t345 - %t347 = getelementptr inbounds ptr, ptr %t346, i32 1 - %t348 = load ptr, ptr %t347 - %t349 = call ptr @fn_emit_expr(ptr %t348) - store ptr %t349, ptr %t350 - %t351 = load ptr, ptr %t0 - %t352 = getelementptr inbounds %Cmp_Node, ptr %t351, i32 0, i32 7 - %t353 = load ptr, ptr %t352 - %t354 = getelementptr inbounds %LSlice, ptr %t353, i32 0, i32 0 - %t355 = load ptr, ptr %t354 - %t356 = getelementptr inbounds ptr, ptr %t355, i32 2 - %t357 = load ptr, ptr %t356 - %t358 = call ptr @fn_emit_expr(ptr %t357) - store ptr %t358, ptr %t359 - call void @fn_emit(ptr @.str1048) - %t360 = load ptr, ptr %t341 - %t361 = getelementptr inbounds %Cmp_Val, ptr %t360, i32 0, i32 0 - %t362 = load ptr, ptr %t361 - call void @fn_emit(ptr %t362) - call void @fn_emit(ptr @.str1049) - %t363 = load ptr, ptr %t350 - %t364 = getelementptr inbounds %Cmp_Val, ptr %t363, i32 0, i32 0 - %t365 = load ptr, ptr %t364 - call void @fn_emit(ptr %t365) - call void @fn_emit(ptr @.str1050) - %t366 = load ptr, ptr %t359 - %t367 = getelementptr inbounds %Cmp_Val, ptr %t366, i32 0, i32 0 - %t368 = load ptr, ptr %t367 - call void @fn_emit(ptr %t368) - call void @fn_emit(ptr @.str1051) - %t369 = call ptr @fn_val(ptr @.str1052, ptr @.str1053) - store ptr %t369, ptr %retval + %t347 = call ptr @fn_emit_expr(ptr %t346) + store ptr %t347, ptr %t348 + call void @fn_emit(ptr @.str1344) + %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 @.str1345) + %t352 = call ptr @fn_val(ptr @.str1346, ptr @.str1347) + store ptr %t352, ptr %retval br label %ret -ifend73: - %t371 = load ptr, ptr %t6 - %t372 = call i32 @fn_str_eq(ptr %t371, ptr @.str1054) - %t373 = icmp ne i32 %t372, 0 - %t374 = zext i1 %t373 to i32 - store i32 %t374, ptr %t370 - br i1 %t373, label %sc74, label %scend75 -sc74: - %t375 = call ptr @fn_find_extern(ptr @.str1055) - %t376 = icmp eq ptr %t375, null - %t377 = zext i1 %t376 to i32 - %t378 = icmp ne i32 %t377, 0 - %t379 = zext i1 %t378 to i32 - store i32 %t379, ptr %t370 - br label %scend75 -scend75: - %t380 = load i32, ptr %t370 - %t381 = icmp ne i32 %t380, 0 - br i1 %t381, label %then76, label %ifend78 -then76: +ifend74: + %t354 = load ptr, ptr %t38 + %t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str1348) + %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 @.str1349) + %t359 = icmp eq ptr %t358, null + %t360 = zext i1 %t359 to i32 + %t361 = icmp ne i32 %t360, 0 + %t362 = zext i1 %t361 to i32 + store i32 %t362, ptr %t353 + br label %scend76 +scend76: + %t363 = load i32, ptr %t353 + %t364 = icmp ne i32 %t363, 0 + br i1 %t364, label %then77, label %ifend79 +then77: store i32 1, ptr @g_g_uses_loopback - %t382 = load ptr, ptr %t0 - %t383 = getelementptr inbounds %Cmp_Node, ptr %t382, i32 0, i32 7 - %t384 = load ptr, ptr %t383 - %t385 = getelementptr inbounds %LSlice, ptr %t384, i32 0, i32 0 - %t386 = load ptr, ptr %t385 - %t387 = getelementptr inbounds ptr, ptr %t386, i32 0 - %t388 = load ptr, ptr %t387 - %t389 = call ptr @fn_emit_expr(ptr %t388) - store ptr %t389, ptr %t390 - %t391 = load ptr, ptr %t0 - %t392 = getelementptr inbounds %Cmp_Node, ptr %t391, i32 0, i32 7 - %t393 = load ptr, ptr %t392 - %t394 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 0 - %t395 = load ptr, ptr %t394 - %t396 = getelementptr inbounds ptr, ptr %t395, i32 1 + %t365 = load ptr, ptr %t0 + %t366 = getelementptr inbounds %Cmp_Node, ptr %t365, i32 0, i32 7 + %t367 = load ptr, ptr %t366 + %t368 = getelementptr inbounds %LSlice, ptr %t367, i32 0, i32 0 + %t369 = load ptr, ptr %t368 + %t370 = getelementptr inbounds ptr, ptr %t369, i32 0 + %t371 = load ptr, ptr %t370 + %t372 = call ptr @fn_emit_expr(ptr %t371) + store ptr %t372, ptr %t373 + %t374 = load ptr, ptr %t0 + %t375 = getelementptr inbounds %Cmp_Node, ptr %t374, i32 0, i32 7 + %t376 = load ptr, ptr %t375 + %t377 = getelementptr inbounds %LSlice, ptr %t376, i32 0, i32 0 + %t378 = load ptr, ptr %t377 + %t379 = getelementptr inbounds ptr, ptr %t378, i32 1 + %t380 = load ptr, ptr %t379 + %t381 = call ptr @fn_emit_expr(ptr %t380) + store ptr %t381, ptr %t382 + %t383 = load ptr, ptr %t0 + %t384 = getelementptr inbounds %Cmp_Node, ptr %t383, i32 0, i32 7 + %t385 = load ptr, ptr %t384 + %t386 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 0 + %t387 = load ptr, ptr %t386 + %t388 = getelementptr inbounds ptr, ptr %t387, i32 2 + %t389 = load ptr, ptr %t388 + %t390 = call ptr @fn_emit_expr(ptr %t389) + store ptr %t390, ptr %t391 + call void @fn_emit(ptr @.str1350) + %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 @.str1351) + %t395 = load ptr, ptr %t382 + %t396 = getelementptr inbounds %Cmp_Val, ptr %t395, i32 0, i32 0 %t397 = load ptr, ptr %t396 - %t398 = call ptr @fn_emit_expr(ptr %t397) - store ptr %t398, ptr %t399 - %t400 = load ptr, ptr %t390 - %t401 = getelementptr inbounds %Cmp_Val, ptr %t400, i32 0, i32 0 - %t402 = load ptr, ptr %t401 - %t403 = call ptr @fn_str_concat(ptr @.str1056, ptr %t402) - %t404 = call ptr @fn_str_concat(ptr %t403, ptr @.str1057) - %t405 = load ptr, ptr %t399 - %t406 = getelementptr inbounds %Cmp_Val, ptr %t405, i32 0, i32 0 - %t407 = load ptr, ptr %t406 - %t408 = call ptr @fn_str_concat(ptr %t404, ptr %t407) - %t409 = call ptr @fn_str_concat(ptr %t408, ptr @.str1058) - %t410 = call ptr @fn_emit_bind(ptr %t409) - %t411 = call ptr @fn_val(ptr %t410, ptr @.str1059) - store ptr %t411, ptr %retval + call void @fn_emit(ptr %t397) + call void @fn_emit(ptr @.str1352) + %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 @.str1353) + %t401 = call ptr @fn_val(ptr @.str1354, ptr @.str1355) + store ptr %t401, ptr %retval br label %ret -ifend78: - %t412 = load ptr, ptr %t6 - %t413 = call i32 @fn_str_eq(ptr %t412, ptr @.str1060) - %t414 = icmp ne i32 %t413, 0 - br i1 %t414, label %then79, label %ifend81 -then79: - %t415 = load ptr, ptr %t0 - %t416 = call ptr @fn_emit_len(ptr %t415) - store ptr %t416, ptr %retval - br label %ret -ifend81: - %t417 = load ptr, ptr %t6 - %t418 = call i32 @fn_str_eq(ptr %t417, ptr @.str1061) - %t419 = icmp ne i32 %t418, 0 - br i1 %t419, label %then82, label %ifend84 +ifend79: + %t403 = load ptr, ptr %t38 + %t404 = call i32 @fn_str_eq(ptr %t403, ptr @.str1356) + %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 @.str1357) + %t408 = icmp eq ptr %t407, null + %t409 = zext i1 %t408 to i32 + %t410 = icmp ne i32 %t409, 0 + %t411 = zext i1 %t410 to i32 + store i32 %t411, ptr %t402 + br label %scend81 +scend81: + %t412 = load i32, ptr %t402 + %t413 = icmp ne i32 %t412, 0 + br i1 %t413, label %then82, label %ifend84 then82: - %t420 = load ptr, ptr %t0 - %t421 = call ptr @fn_emit_push(ptr %t420) - store ptr %t421, ptr %retval + store i32 1, ptr @g_g_uses_loopback + %t414 = load ptr, ptr %t0 + %t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 7 + %t416 = load ptr, ptr %t415 + %t417 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 0 + %t418 = load ptr, ptr %t417 + %t419 = getelementptr inbounds ptr, ptr %t418, i32 0 + %t420 = load ptr, ptr %t419 + %t421 = call ptr @fn_emit_expr(ptr %t420) + store ptr %t421, ptr %t422 + %t423 = load ptr, ptr %t0 + %t424 = getelementptr inbounds %Cmp_Node, ptr %t423, i32 0, i32 7 + %t425 = load ptr, ptr %t424 + %t426 = getelementptr inbounds %LSlice, ptr %t425, i32 0, i32 0 + %t427 = load ptr, ptr %t426 + %t428 = getelementptr inbounds ptr, ptr %t427, i32 1 + %t429 = load ptr, ptr %t428 + %t430 = call ptr @fn_emit_expr(ptr %t429) + store ptr %t430, ptr %t431 + %t432 = load ptr, ptr %t422 + %t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0 + %t434 = load ptr, ptr %t433 + %t435 = call ptr @fn_str_concat(ptr @.str1358, ptr %t434) + %t436 = call ptr @fn_str_concat(ptr %t435, ptr @.str1359) + %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 @.str1360) + %t442 = call ptr @fn_emit_bind(ptr %t441) + %t443 = call ptr @fn_val(ptr %t442, ptr @.str1361) + store ptr %t443, ptr %retval br label %ret ifend84: - %t422 = load ptr, ptr %t6 - %t423 = call i32 @fn_str_eq(ptr %t422, ptr @.str1062) - %t424 = icmp ne i32 %t423, 0 - br i1 %t424, label %then85, label %ifend87 + %t444 = load ptr, ptr %t38 + %t445 = call i32 @fn_str_eq(ptr %t444, ptr @.str1362) + %t446 = icmp ne i32 %t445, 0 + br i1 %t446, label %then85, label %ifend87 then85: - %t425 = load ptr, ptr %t0 - %t426 = getelementptr inbounds %Cmp_Node, ptr %t425, i32 0, i32 7 - %t427 = load ptr, ptr %t426 - %t428 = getelementptr inbounds %LSlice, ptr %t427, i32 0, i32 0 - %t429 = load ptr, ptr %t428 - %t430 = getelementptr inbounds ptr, ptr %t429, i32 0 - %t431 = load ptr, ptr %t430 - %t432 = call ptr @fn_emit_expr(ptr %t431) - store ptr %t432, ptr %t433 - %t434 = load ptr, ptr %t433 - %t435 = getelementptr inbounds %Cmp_Val, ptr %t434, i32 0, i32 1 - %t436 = load ptr, ptr %t435 - %t437 = call ptr @fn_llty(ptr %t436) - %t438 = call i32 @fn_str_eq(ptr %t437, ptr @.str1063) - %t439 = icmp ne i32 %t438, 0 - br i1 %t439, label %then88, label %ifend90 -then88: - %t440 = load ptr, ptr %t433 - store ptr %t440, ptr %retval - br label %ret -ifend90: - store i32 1, ptr @g_g_uses_intstr - %t441 = load ptr, ptr %t433 - %t442 = getelementptr inbounds %Cmp_Val, ptr %t441, i32 0, i32 0 - %t443 = load ptr, ptr %t442 - %t444 = call ptr @fn_str_concat(ptr @.str1064, ptr %t443) - %t445 = call ptr @fn_str_concat(ptr %t444, ptr @.str1065) - %t446 = call ptr @fn_emit_bind(ptr %t445) - %t447 = call ptr @fn_val(ptr %t446, ptr @.str1066) - store ptr %t447, ptr %retval + %t447 = load ptr, ptr %t0 + %t448 = call ptr @fn_emit_len(ptr %t447) + store ptr %t448, ptr %retval br label %ret ifend87: - %t448 = load ptr, ptr %t6 - %t449 = call i32 @fn_str_eq(ptr %t448, ptr @.str1067) - %t450 = icmp ne i32 %t449, 0 - br i1 %t450, label %then91, label %ifend93 + %t449 = load ptr, ptr %t38 + %t450 = call i32 @fn_str_eq(ptr %t449, ptr @.str1363) + %t451 = icmp ne i32 %t450, 0 + br i1 %t451, label %then88, label %ifend90 +then88: + %t452 = load ptr, ptr %t0 + %t453 = call ptr @fn_emit_push(ptr %t452) + store ptr %t453, ptr %retval + br label %ret +ifend90: + %t454 = load ptr, ptr %t38 + %t455 = call i32 @fn_str_eq(ptr %t454, ptr @.str1364) + %t456 = icmp ne i32 %t455, 0 + br i1 %t456, label %then91, label %ifend93 then91: - %t451 = load ptr, ptr %t0 - %t452 = getelementptr inbounds %Cmp_Node, ptr %t451, i32 0, i32 7 - %t453 = load ptr, ptr %t452 - %t454 = getelementptr inbounds %LSlice, ptr %t453, i32 0, i32 0 - %t455 = load ptr, ptr %t454 - %t456 = getelementptr inbounds ptr, ptr %t455, i32 0 - %t457 = load ptr, ptr %t456 - %t458 = call ptr @fn_emit_expr(ptr %t457) - store ptr %t458, ptr %t459 - %t460 = load ptr, ptr %t459 - %t461 = getelementptr inbounds %Cmp_Val, ptr %t460, i32 0, i32 1 - %t462 = load ptr, ptr %t461 - %t463 = call ptr @fn_llty(ptr %t462) - %t464 = call i32 @fn_str_eq(ptr %t463, ptr @.str1068) - %t465 = icmp ne i32 %t464, 0 - br i1 %t465, label %then94, label %else95 -then94: - %t466 = load ptr, ptr %t459 - %t467 = getelementptr inbounds %Cmp_Val, ptr %t466, i32 0, i32 0 + %t457 = load ptr, ptr %t0 + %t458 = getelementptr inbounds %Cmp_Node, ptr %t457, i32 0, i32 7 + %t459 = load ptr, ptr %t458 + %t460 = getelementptr inbounds %LSlice, ptr %t459, i32 0, i32 0 + %t461 = load ptr, ptr %t460 + %t462 = getelementptr inbounds ptr, ptr %t461, i32 0 + %t463 = load ptr, ptr %t462 + %t464 = call ptr @fn_emit_expr(ptr %t463) + store ptr %t464, ptr %t465 + %t466 = load ptr, ptr %t465 + %t467 = getelementptr inbounds %Cmp_Val, ptr %t466, i32 0, i32 1 %t468 = load ptr, ptr %t467 - %t469 = call ptr @fn_str_concat(ptr %t468, ptr @.str1070) - %t470 = call ptr @fn_str_concat(ptr @.str1069, ptr %t469) - call void @fn_emit(ptr %t470) - br label %ifend96 -else95: - %t471 = load ptr, ptr %t459 - %t472 = getelementptr inbounds %Cmp_Val, ptr %t471, i32 0, i32 0 - %t473 = load ptr, ptr %t472 - %t474 = call ptr @fn_str_concat(ptr %t473, ptr @.str1072) - %t475 = call ptr @fn_str_concat(ptr @.str1071, ptr %t474) - call void @fn_emit(ptr %t475) - br label %ifend96 + %t469 = call ptr @fn_llty(ptr %t468) + %t470 = call i32 @fn_str_eq(ptr %t469, ptr @.str1365) + %t471 = icmp ne i32 %t470, 0 + br i1 %t471, label %then94, label %ifend96 +then94: + %t472 = load ptr, ptr %t465 + store ptr %t472, ptr %retval + br label %ret ifend96: - %t476 = call ptr @fn_val(ptr @.str1073, ptr @.str1074) - store ptr %t476, ptr %retval + store i32 1, ptr @g_g_uses_intstr + %t473 = load ptr, ptr %t465 + %t474 = getelementptr inbounds %Cmp_Val, ptr %t473, i32 0, i32 0 + %t475 = load ptr, ptr %t474 + %t476 = call ptr @fn_str_concat(ptr @.str1366, ptr %t475) + %t477 = call ptr @fn_str_concat(ptr %t476, ptr @.str1367) + %t478 = call ptr @fn_emit_bind(ptr %t477) + %t479 = call ptr @fn_val(ptr %t478, ptr @.str1368) + store ptr %t479, ptr %retval br label %ret ifend93: - %t477 = load ptr, ptr %t6 - %t478 = call i32 @fn_str_eq(ptr %t477, ptr @.str1075) - %t479 = icmp ne i32 %t478, 0 - br i1 %t479, label %then97, label %ifend99 + %t480 = load ptr, ptr %t38 + %t481 = call i32 @fn_str_eq(ptr %t480, ptr @.str1369) + %t482 = icmp ne i32 %t481, 0 + br i1 %t482, label %then97, label %ifend99 then97: - %t480 = load ptr, ptr %t0 - %t481 = getelementptr inbounds %Cmp_Node, ptr %t480, i32 0, i32 7 - %t482 = load ptr, ptr %t481 - %t483 = getelementptr inbounds %LSlice, ptr %t482, i32 0, i32 0 - %t484 = load ptr, ptr %t483 - %t485 = getelementptr inbounds ptr, ptr %t484, i32 0 - %t486 = load ptr, ptr %t485 - %t487 = call ptr @fn_emit_expr(ptr %t486) - store ptr %t487, ptr %t488 + %t483 = load ptr, ptr %t0 + %t484 = getelementptr inbounds %Cmp_Node, ptr %t483, i32 0, i32 7 + %t485 = load ptr, ptr %t484 + %t486 = getelementptr inbounds %LSlice, ptr %t485, i32 0, i32 0 + %t487 = load ptr, ptr %t486 + %t488 = getelementptr inbounds ptr, ptr %t487, i32 0 %t489 = load ptr, ptr %t488 - %t490 = getelementptr inbounds %Cmp_Val, ptr %t489, i32 0, i32 0 - %t491 = load ptr, ptr %t490 - %t492 = call ptr @fn_str_concat(ptr @.str1076, ptr %t491) - %t493 = call ptr @fn_str_concat(ptr %t492, ptr @.str1077) - %t494 = call ptr @fn_emit_bind(ptr %t493) - store ptr %t494, ptr %t495 - %t496 = load ptr, ptr %t495 - %t497 = call ptr @fn_str_concat(ptr @.str1078, ptr %t496) - %t498 = call ptr @fn_str_concat(ptr %t497, ptr @.str1079) - %t499 = call ptr @fn_emit_bind(ptr %t498) - %t500 = call ptr @fn_val(ptr %t499, ptr @.str1080) - store ptr %t500, ptr %retval + %t490 = call ptr @fn_emit_expr(ptr %t489) + store ptr %t490, ptr %t491 + %t492 = load ptr, ptr %t491 + %t493 = getelementptr inbounds %Cmp_Val, ptr %t492, i32 0, i32 1 + %t494 = load ptr, ptr %t493 + %t495 = call ptr @fn_llty(ptr %t494) + %t496 = call i32 @fn_str_eq(ptr %t495, ptr @.str1370) + %t497 = icmp ne i32 %t496, 0 + br i1 %t497, label %then100, label %else101 +then100: + %t498 = load ptr, ptr %t491 + %t499 = getelementptr inbounds %Cmp_Val, ptr %t498, i32 0, i32 0 + %t500 = load ptr, ptr %t499 + %t501 = call ptr @fn_str_concat(ptr %t500, ptr @.str1372) + %t502 = call ptr @fn_str_concat(ptr @.str1371, ptr %t501) + call void @fn_emit(ptr %t502) + br label %ifend102 +else101: + %t503 = load ptr, ptr %t491 + %t504 = getelementptr inbounds %Cmp_Val, ptr %t503, i32 0, i32 0 + %t505 = load ptr, ptr %t504 + %t506 = call ptr @fn_str_concat(ptr %t505, ptr @.str1374) + %t507 = call ptr @fn_str_concat(ptr @.str1373, ptr %t506) + call void @fn_emit(ptr %t507) + br label %ifend102 +ifend102: + %t508 = call ptr @fn_val(ptr @.str1375, ptr @.str1376) + store ptr %t508, ptr %retval br label %ret ifend99: - %t501 = load ptr, ptr %t6 - %t502 = call i32 @fn_str_eq(ptr %t501, ptr @.str1081) - %t503 = icmp ne i32 %t502, 0 - br i1 %t503, label %then100, label %ifend102 -then100: - %t504 = load ptr, ptr %t0 - %t505 = getelementptr inbounds %Cmp_Node, ptr %t504, i32 0, i32 7 - %t506 = load ptr, ptr %t505 - %t507 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 0 - %t508 = load ptr, ptr %t507 - %t509 = getelementptr inbounds ptr, ptr %t508, i32 0 - %t510 = load ptr, ptr %t509 - %t511 = call ptr @fn_emit_expr(ptr %t510) - store ptr %t511, ptr %t512 - %t513 = load ptr, ptr %t512 - %t514 = getelementptr inbounds %Cmp_Val, ptr %t513, i32 0, i32 0 - %t515 = load ptr, ptr %t514 - %t516 = call ptr @fn_str_concat(ptr @.str1082, ptr %t515) - %t517 = call ptr @fn_str_concat(ptr %t516, ptr @.str1083) - %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 @.str1084, ptr %t520) - %t522 = call ptr @fn_str_concat(ptr %t521, ptr @.str1085) - %t523 = call ptr @fn_emit_bind(ptr %t522) - store ptr %t523, ptr %t524 - %t525 = load ptr, ptr %t524 - %t526 = call ptr @fn_str_concat(ptr @.str1086, ptr %t525) - %t527 = call ptr @fn_str_concat(ptr %t526, ptr @.str1087) - %t528 = call ptr @fn_emit_bind(ptr %t527) - %t529 = call ptr @fn_val(ptr %t528, ptr @.str1088) - store ptr %t529, ptr %retval - br label %ret -ifend102: - %t530 = load ptr, ptr %t6 - %t531 = call i32 @fn_str_eq(ptr %t530, ptr @.str1089) - %t532 = icmp ne i32 %t531, 0 - br i1 %t532, label %then103, label %ifend105 + %t509 = load ptr, ptr %t38 + %t510 = call i32 @fn_str_eq(ptr %t509, ptr @.str1377) + %t511 = icmp ne i32 %t510, 0 + br i1 %t511, label %then103, label %ifend105 then103: - %t533 = load ptr, ptr %t0 - %t534 = getelementptr inbounds %Cmp_Node, ptr %t533, i32 0, i32 7 - %t535 = load ptr, ptr %t534 - %t536 = getelementptr inbounds %LSlice, ptr %t535, i32 0, i32 0 - %t537 = load ptr, ptr %t536 - %t538 = getelementptr inbounds ptr, ptr %t537, i32 0 - %t539 = load ptr, ptr %t538 - %t540 = call ptr @fn_emit_expr(ptr %t539) - store ptr %t540, ptr %t541 - %t542 = load ptr, ptr %t541 - %t543 = getelementptr inbounds %Cmp_Val, ptr %t542, i32 0, i32 0 - %t544 = load ptr, ptr %t543 - %t545 = call ptr @fn_str_concat(ptr @.str1090, ptr %t544) - %t546 = call ptr @fn_str_concat(ptr %t545, ptr @.str1091) - %t547 = call ptr @fn_emit_bind(ptr %t546) - %t548 = call ptr @fn_val(ptr %t547, ptr @.str1092) - store ptr %t548, ptr %retval + %t512 = load ptr, ptr %t0 + %t513 = getelementptr inbounds %Cmp_Node, ptr %t512, i32 0, i32 7 + %t514 = load ptr, ptr %t513 + %t515 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 0 + %t516 = load ptr, ptr %t515 + %t517 = getelementptr inbounds ptr, ptr %t516, i32 0 + %t518 = load ptr, ptr %t517 + %t519 = call ptr @fn_emit_expr(ptr %t518) + store ptr %t519, ptr %t520 + %t521 = load ptr, ptr %t520 + %t522 = getelementptr inbounds %Cmp_Val, ptr %t521, i32 0, i32 0 + %t523 = load ptr, ptr %t522 + %t524 = call ptr @fn_str_concat(ptr @.str1378, ptr %t523) + %t525 = call ptr @fn_str_concat(ptr %t524, ptr @.str1379) + %t526 = call ptr @fn_emit_bind(ptr %t525) + store ptr %t526, ptr %t527 + %t528 = load ptr, ptr %t527 + %t529 = call ptr @fn_str_concat(ptr @.str1380, ptr %t528) + %t530 = call ptr @fn_str_concat(ptr %t529, ptr @.str1381) + %t531 = call ptr @fn_emit_bind(ptr %t530) + %t532 = call ptr @fn_val(ptr %t531, ptr @.str1382) + store ptr %t532, ptr %retval br label %ret ifend105: - %t549 = load ptr, ptr %t6 - %t550 = call i32 @fn_str_eq(ptr %t549, ptr @.str1093) - %t551 = icmp ne i32 %t550, 0 - br i1 %t551, label %then106, label %ifend108 + %t533 = load ptr, ptr %t38 + %t534 = call i32 @fn_str_eq(ptr %t533, ptr @.str1383) + %t535 = icmp ne i32 %t534, 0 + br i1 %t535, label %then106, label %ifend108 then106: - %t552 = load ptr, ptr %t0 - %t553 = getelementptr inbounds %Cmp_Node, ptr %t552, i32 0, i32 7 - %t554 = load ptr, ptr %t553 - %t555 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 0 - %t556 = load ptr, ptr %t555 - %t557 = getelementptr inbounds ptr, ptr %t556, i32 0 - %t558 = load ptr, ptr %t557 - %t559 = call ptr @fn_emit_expr(ptr %t558) - store ptr %t559, ptr %t560 - %t561 = load ptr, ptr %t560 - %t562 = getelementptr inbounds %Cmp_Val, ptr %t561, i32 0, i32 0 - %t563 = load ptr, ptr %t562 - %t564 = call ptr @fn_str_concat(ptr @.str1094, ptr %t563) - %t565 = call ptr @fn_str_concat(ptr %t564, ptr @.str1095) - %t566 = call ptr @fn_emit_bind(ptr %t565) - %t567 = call ptr @fn_val(ptr %t566, ptr @.str1096) - store ptr %t567, ptr %retval + %t536 = load ptr, ptr %t0 + %t537 = getelementptr inbounds %Cmp_Node, ptr %t536, i32 0, i32 7 + %t538 = load ptr, ptr %t537 + %t539 = getelementptr inbounds %LSlice, ptr %t538, i32 0, i32 0 + %t540 = load ptr, ptr %t539 + %t541 = getelementptr inbounds ptr, ptr %t540, i32 0 + %t542 = load ptr, ptr %t541 + %t543 = call ptr @fn_emit_expr(ptr %t542) + store ptr %t543, ptr %t544 + %t545 = load ptr, ptr %t544 + %t546 = getelementptr inbounds %Cmp_Val, ptr %t545, i32 0, i32 0 + %t547 = load ptr, ptr %t546 + %t548 = call ptr @fn_str_concat(ptr @.str1384, ptr %t547) + %t549 = call ptr @fn_str_concat(ptr %t548, ptr @.str1385) + %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 @.str1386, ptr %t552) + %t554 = call ptr @fn_str_concat(ptr %t553, ptr @.str1387) + %t555 = call ptr @fn_emit_bind(ptr %t554) + store ptr %t555, ptr %t556 + %t557 = load ptr, ptr %t556 + %t558 = call ptr @fn_str_concat(ptr @.str1388, ptr %t557) + %t559 = call ptr @fn_str_concat(ptr %t558, ptr @.str1389) + %t560 = call ptr @fn_emit_bind(ptr %t559) + %t561 = call ptr @fn_val(ptr %t560, ptr @.str1390) + store ptr %t561, ptr %retval br label %ret ifend108: - %t568 = load ptr, ptr %t6 - %t569 = call i32 @fn_str_eq(ptr %t568, ptr @.str1097) - %t570 = icmp ne i32 %t569, 0 - br i1 %t570, label %then109, label %ifend111 + %t562 = load ptr, ptr %t38 + %t563 = call i32 @fn_str_eq(ptr %t562, ptr @.str1391) + %t564 = icmp ne i32 %t563, 0 + br i1 %t564, label %then109, label %ifend111 then109: - %t571 = load ptr, ptr %t0 - %t572 = getelementptr inbounds %Cmp_Node, ptr %t571, i32 0, i32 7 - %t573 = load ptr, ptr %t572 - %t574 = getelementptr inbounds %LSlice, ptr %t573, i32 0, i32 0 - %t575 = load ptr, ptr %t574 - %t576 = getelementptr inbounds ptr, ptr %t575, i32 0 - %t577 = load ptr, ptr %t576 - %t578 = call ptr @fn_emit_expr(ptr %t577) - store ptr %t578, ptr %t579 - %t580 = load ptr, ptr %t579 - %t581 = getelementptr inbounds %Cmp_Val, ptr %t580, i32 0, i32 0 - %t582 = load ptr, ptr %t581 - %t583 = call ptr @fn_str_concat(ptr @.str1098, ptr %t582) - %t584 = call ptr @fn_str_concat(ptr %t583, ptr @.str1099) - %t585 = call ptr @fn_emit_bind(ptr %t584) - %t586 = call ptr @fn_val(ptr %t585, ptr @.str1100) - store ptr %t586, ptr %retval + %t565 = load ptr, ptr %t0 + %t566 = getelementptr inbounds %Cmp_Node, ptr %t565, i32 0, i32 7 + %t567 = load ptr, ptr %t566 + %t568 = getelementptr inbounds %LSlice, ptr %t567, i32 0, i32 0 + %t569 = load ptr, ptr %t568 + %t570 = getelementptr inbounds ptr, ptr %t569, i32 0 + %t571 = load ptr, ptr %t570 + %t572 = call ptr @fn_emit_expr(ptr %t571) + store ptr %t572, ptr %t573 + %t574 = load ptr, ptr %t573 + %t575 = getelementptr inbounds %Cmp_Val, ptr %t574, i32 0, i32 0 + %t576 = load ptr, ptr %t575 + %t577 = call ptr @fn_str_concat(ptr @.str1392, ptr %t576) + %t578 = call ptr @fn_str_concat(ptr %t577, ptr @.str1393) + %t579 = call ptr @fn_emit_bind(ptr %t578) + %t580 = call ptr @fn_val(ptr %t579, ptr @.str1394) + store ptr %t580, ptr %retval br label %ret ifend111: - %t587 = load ptr, ptr %t6 - %t588 = call i32 @fn_str_eq(ptr %t587, ptr @.str1101) - %t589 = icmp ne i32 %t588, 0 - br i1 %t589, label %then112, label %ifend114 + %t581 = load ptr, ptr %t38 + %t582 = call i32 @fn_str_eq(ptr %t581, ptr @.str1395) + %t583 = icmp ne i32 %t582, 0 + br i1 %t583, label %then112, label %ifend114 then112: - %t590 = load ptr, ptr %t0 - %t591 = getelementptr inbounds %Cmp_Node, ptr %t590, i32 0, i32 7 - %t592 = load ptr, ptr %t591 - %t593 = getelementptr inbounds %LSlice, ptr %t592, i32 0, i32 0 - %t594 = load ptr, ptr %t593 - %t595 = getelementptr inbounds ptr, ptr %t594, i32 0 - %t596 = load ptr, ptr %t595 - %t597 = call ptr @fn_emit_expr(ptr %t596) - store ptr %t597, ptr %t598 - %t599 = load ptr, ptr %t0 - %t600 = getelementptr inbounds %Cmp_Node, ptr %t599, i32 0, i32 7 - %t601 = load ptr, ptr %t600 - %t602 = getelementptr inbounds %LSlice, ptr %t601, i32 0, i32 0 - %t603 = load ptr, ptr %t602 - %t604 = getelementptr inbounds ptr, ptr %t603, i32 1 - %t605 = load ptr, ptr %t604 - %t606 = call ptr @fn_emit_expr(ptr %t605) - store ptr %t606, ptr %t607 - %t608 = load ptr, ptr %t598 - %t609 = getelementptr inbounds %Cmp_Val, ptr %t608, i32 0, i32 0 - %t610 = load ptr, ptr %t609 - %t611 = call ptr @fn_str_concat(ptr @.str1102, ptr %t610) - %t612 = call ptr @fn_str_concat(ptr %t611, ptr @.str1103) - %t613 = load ptr, ptr %t607 - %t614 = getelementptr inbounds %Cmp_Val, ptr %t613, i32 0, i32 0 - %t615 = load ptr, ptr %t614 - %t616 = call ptr @fn_str_concat(ptr %t612, ptr %t615) - %t617 = call ptr @fn_str_concat(ptr %t616, ptr @.str1104) - %t618 = call ptr @fn_emit_bind(ptr %t617) - %t619 = call ptr @fn_val(ptr %t618, ptr @.str1105) - store ptr %t619, ptr %retval + %t584 = load ptr, ptr %t0 + %t585 = getelementptr inbounds %Cmp_Node, ptr %t584, i32 0, i32 7 + %t586 = load ptr, ptr %t585 + %t587 = getelementptr inbounds %LSlice, ptr %t586, i32 0, i32 0 + %t588 = load ptr, ptr %t587 + %t589 = getelementptr inbounds ptr, ptr %t588, i32 0 + %t590 = load ptr, ptr %t589 + %t591 = call ptr @fn_emit_expr(ptr %t590) + store ptr %t591, ptr %t592 + %t593 = load ptr, ptr %t592 + %t594 = getelementptr inbounds %Cmp_Val, ptr %t593, i32 0, i32 0 + %t595 = load ptr, ptr %t594 + %t596 = call ptr @fn_str_concat(ptr @.str1396, ptr %t595) + %t597 = call ptr @fn_str_concat(ptr %t596, ptr @.str1397) + %t598 = call ptr @fn_emit_bind(ptr %t597) + %t599 = call ptr @fn_val(ptr %t598, ptr @.str1398) + store ptr %t599, ptr %retval br label %ret ifend114: - %t620 = load ptr, ptr %t6 - %t621 = call i32 @fn_str_eq(ptr %t620, ptr @.str1106) - %t622 = icmp ne i32 %t621, 0 - br i1 %t622, label %then115, label %ifend117 + %t600 = load ptr, ptr %t38 + %t601 = call i32 @fn_str_eq(ptr %t600, ptr @.str1399) + %t602 = icmp ne i32 %t601, 0 + br i1 %t602, label %then115, label %ifend117 then115: - %t623 = load ptr, ptr %t0 - %t624 = getelementptr inbounds %Cmp_Node, ptr %t623, i32 0, i32 7 - %t625 = load ptr, ptr %t624 - %t626 = getelementptr inbounds %LSlice, ptr %t625, i32 0, i32 0 - %t627 = load ptr, ptr %t626 - %t628 = getelementptr inbounds ptr, ptr %t627, i32 0 - %t629 = load ptr, ptr %t628 - %t630 = call ptr @fn_emit_expr(ptr %t629) - store ptr %t630, ptr %t631 - %t632 = load ptr, ptr %t0 - %t633 = getelementptr inbounds %Cmp_Node, ptr %t632, i32 0, i32 7 - %t634 = load ptr, ptr %t633 - %t635 = getelementptr inbounds %LSlice, ptr %t634, i32 0, i32 0 - %t636 = load ptr, ptr %t635 - %t637 = getelementptr inbounds ptr, ptr %t636, i32 1 - %t638 = load ptr, ptr %t637 - %t639 = call ptr @fn_emit_expr(ptr %t638) - store ptr %t639, ptr %t640 - %t641 = load ptr, ptr %t0 - %t642 = getelementptr inbounds %Cmp_Node, ptr %t641, i32 0, i32 7 - %t643 = load ptr, ptr %t642 - %t644 = getelementptr inbounds %LSlice, ptr %t643, i32 0, i32 0 - %t645 = load ptr, ptr %t644 - %t646 = getelementptr inbounds ptr, ptr %t645, i32 2 - %t647 = load ptr, ptr %t646 - %t648 = call ptr @fn_emit_expr(ptr %t647) - store ptr %t648, ptr %t649 - %t650 = load ptr, ptr %t631 - %t651 = getelementptr inbounds %Cmp_Val, ptr %t650, i32 0, i32 0 - %t652 = load ptr, ptr %t651 - %t653 = call ptr @fn_str_concat(ptr @.str1107, ptr %t652) - %t654 = call ptr @fn_str_concat(ptr %t653, ptr @.str1108) - %t655 = load ptr, ptr %t640 - %t656 = getelementptr inbounds %Cmp_Val, ptr %t655, i32 0, i32 0 - %t657 = load ptr, ptr %t656 - %t658 = call ptr @fn_str_concat(ptr %t654, ptr %t657) - %t659 = call ptr @fn_str_concat(ptr %t658, ptr @.str1109) - %t660 = load ptr, ptr %t649 - %t661 = getelementptr inbounds %Cmp_Val, ptr %t660, i32 0, i32 0 - %t662 = load ptr, ptr %t661 - %t663 = call ptr @fn_str_concat(ptr %t659, ptr %t662) - %t664 = call ptr @fn_str_concat(ptr %t663, ptr @.str1110) - %t665 = call ptr @fn_emit_bind(ptr %t664) - store ptr %t665, ptr %t666 - %t667 = load ptr, ptr %t666 - %t668 = call ptr @fn_str_concat(ptr @.str1111, ptr %t667) - %t669 = call ptr @fn_str_concat(ptr %t668, ptr @.str1112) - %t670 = call ptr @fn_emit_bind(ptr %t669) - %t671 = call ptr @fn_val(ptr %t670, ptr @.str1113) - store ptr %t671, ptr %retval + %t603 = load ptr, ptr %t0 + %t604 = getelementptr inbounds %Cmp_Node, ptr %t603, i32 0, i32 7 + %t605 = load ptr, ptr %t604 + %t606 = getelementptr inbounds %LSlice, ptr %t605, i32 0, i32 0 + %t607 = load ptr, ptr %t606 + %t608 = getelementptr inbounds ptr, ptr %t607, i32 0 + %t609 = load ptr, ptr %t608 + %t610 = call ptr @fn_emit_expr(ptr %t609) + store ptr %t610, ptr %t611 + %t612 = load ptr, ptr %t611 + %t613 = getelementptr inbounds %Cmp_Val, ptr %t612, i32 0, i32 0 + %t614 = load ptr, ptr %t613 + %t615 = call ptr @fn_str_concat(ptr @.str1400, ptr %t614) + %t616 = call ptr @fn_str_concat(ptr %t615, ptr @.str1401) + %t617 = call ptr @fn_emit_bind(ptr %t616) + %t618 = call ptr @fn_val(ptr %t617, ptr @.str1402) + store ptr %t618, ptr %retval br label %ret ifend117: - %t672 = load ptr, ptr %t6 - %t673 = call i32 @fn_str_eq(ptr %t672, ptr @.str1114) - %t674 = icmp ne i32 %t673, 0 - br i1 %t674, label %then118, label %ifend120 + %t619 = load ptr, ptr %t38 + %t620 = call i32 @fn_str_eq(ptr %t619, ptr @.str1403) + %t621 = icmp ne i32 %t620, 0 + br i1 %t621, label %then118, label %ifend120 then118: - %t675 = load ptr, ptr %t0 - %t676 = getelementptr inbounds %Cmp_Node, ptr %t675, i32 0, i32 7 - %t677 = load ptr, ptr %t676 - %t678 = getelementptr inbounds %LSlice, ptr %t677, i32 0, i32 0 - %t679 = load ptr, ptr %t678 - %t680 = getelementptr inbounds ptr, ptr %t679, i32 0 - %t681 = load ptr, ptr %t680 - %t682 = call ptr @fn_emit_expr(ptr %t681) - store ptr %t682, ptr %t683 - %t684 = load ptr, ptr %t0 - %t685 = getelementptr inbounds %Cmp_Node, ptr %t684, i32 0, i32 7 - %t686 = load ptr, ptr %t685 - %t687 = getelementptr inbounds %LSlice, ptr %t686, i32 0, i32 0 - %t688 = load ptr, ptr %t687 - %t689 = getelementptr inbounds ptr, ptr %t688, i32 1 - %t690 = load ptr, ptr %t689 - %t691 = call ptr @fn_emit_expr(ptr %t690) - store ptr %t691, ptr %t692 - %t693 = load ptr, ptr %t0 - %t694 = getelementptr inbounds %Cmp_Node, ptr %t693, i32 0, i32 7 - %t695 = load ptr, ptr %t694 - %t696 = getelementptr inbounds %LSlice, ptr %t695, i32 0, i32 0 - %t697 = load ptr, ptr %t696 - %t698 = getelementptr inbounds ptr, ptr %t697, i32 2 - %t699 = load ptr, ptr %t698 - %t700 = call ptr @fn_emit_expr(ptr %t699) - store ptr %t700, ptr %t701 - %t702 = load ptr, ptr %t0 - %t703 = getelementptr inbounds %Cmp_Node, ptr %t702, i32 0, i32 7 - %t704 = load ptr, ptr %t703 - %t705 = getelementptr inbounds %LSlice, ptr %t704, i32 0, i32 0 - %t706 = load ptr, ptr %t705 - %t707 = getelementptr inbounds ptr, ptr %t706, i32 3 - %t708 = load ptr, ptr %t707 - %t709 = call ptr @fn_emit_expr(ptr %t708) - store ptr %t709, ptr %t710 - %t711 = load ptr, ptr %t710 - %t712 = getelementptr inbounds %Cmp_Val, ptr %t711, i32 0, i32 0 - %t713 = load ptr, ptr %t712 - %t714 = call ptr @fn_str_concat(ptr @.str1115, ptr %t713) - %t715 = call ptr @fn_str_concat(ptr %t714, ptr @.str1116) - %t716 = call ptr @fn_emit_bind(ptr %t715) - store ptr %t716, ptr %t717 - call void @fn_emit(ptr @.str1117) - %t718 = load ptr, ptr %t683 - %t719 = getelementptr inbounds %Cmp_Val, ptr %t718, i32 0, i32 0 - %t720 = load ptr, ptr %t719 - call void @fn_emit(ptr %t720) - call void @fn_emit(ptr @.str1118) - %t721 = load ptr, ptr %t692 - %t722 = getelementptr inbounds %Cmp_Val, ptr %t721, i32 0, i32 0 - %t723 = load ptr, ptr %t722 - call void @fn_emit(ptr %t723) - call void @fn_emit(ptr @.str1119) - %t724 = load ptr, ptr %t701 - %t725 = getelementptr inbounds %Cmp_Val, ptr %t724, i32 0, i32 0 - %t726 = load ptr, ptr %t725 - call void @fn_emit(ptr %t726) - call void @fn_emit(ptr @.str1120) - %t727 = load ptr, ptr %t717 - call void @fn_emit(ptr %t727) - call void @fn_emit(ptr @.str1121) - %t728 = call ptr @fn_val(ptr @.str1122, ptr @.str1123) - store ptr %t728, ptr %retval + %t622 = load ptr, ptr %t0 + %t623 = getelementptr inbounds %Cmp_Node, ptr %t622, i32 0, i32 7 + %t624 = load ptr, ptr %t623 + %t625 = getelementptr inbounds %LSlice, ptr %t624, i32 0, i32 0 + %t626 = load ptr, ptr %t625 + %t627 = getelementptr inbounds ptr, ptr %t626, i32 0 + %t628 = load ptr, ptr %t627 + %t629 = call ptr @fn_emit_expr(ptr %t628) + store ptr %t629, ptr %t630 + %t631 = load ptr, ptr %t0 + %t632 = getelementptr inbounds %Cmp_Node, ptr %t631, i32 0, i32 7 + %t633 = load ptr, ptr %t632 + %t634 = getelementptr inbounds %LSlice, ptr %t633, i32 0, i32 0 + %t635 = load ptr, ptr %t634 + %t636 = getelementptr inbounds ptr, ptr %t635, i32 1 + %t637 = load ptr, ptr %t636 + %t638 = call ptr @fn_emit_expr(ptr %t637) + store ptr %t638, ptr %t639 + %t640 = load ptr, ptr %t630 + %t641 = getelementptr inbounds %Cmp_Val, ptr %t640, i32 0, i32 0 + %t642 = load ptr, ptr %t641 + %t643 = call ptr @fn_str_concat(ptr @.str1404, ptr %t642) + %t644 = call ptr @fn_str_concat(ptr %t643, ptr @.str1405) + %t645 = load ptr, ptr %t639 + %t646 = getelementptr inbounds %Cmp_Val, ptr %t645, i32 0, i32 0 + %t647 = load ptr, ptr %t646 + %t648 = call ptr @fn_str_concat(ptr %t644, ptr %t647) + %t649 = call ptr @fn_str_concat(ptr %t648, ptr @.str1406) + %t650 = call ptr @fn_emit_bind(ptr %t649) + %t651 = call ptr @fn_val(ptr %t650, ptr @.str1407) + store ptr %t651, ptr %retval br label %ret ifend120: - %t729 = load ptr, ptr %t6 - %t730 = call i32 @fn_str_eq(ptr %t729, ptr @.str1124) - %t731 = icmp ne i32 %t730, 0 - br i1 %t731, label %then121, label %ifend123 + %t652 = load ptr, ptr %t38 + %t653 = call i32 @fn_str_eq(ptr %t652, ptr @.str1408) + %t654 = icmp ne i32 %t653, 0 + br i1 %t654, label %then121, label %ifend123 then121: - %t732 = load ptr, ptr %t0 - %t733 = getelementptr inbounds %Cmp_Node, ptr %t732, i32 0, i32 7 - %t734 = load ptr, ptr %t733 - %t735 = getelementptr inbounds %LSlice, ptr %t734, i32 0, i32 0 - %t736 = load ptr, ptr %t735 - %t737 = getelementptr inbounds ptr, ptr %t736, i32 0 - %t738 = load ptr, ptr %t737 - %t739 = call ptr @fn_emit_expr(ptr %t738) - store ptr %t739, ptr %t740 - %t741 = load ptr, ptr %t0 - %t742 = getelementptr inbounds %Cmp_Node, ptr %t741, i32 0, i32 7 - %t743 = load ptr, ptr %t742 - %t744 = getelementptr inbounds %LSlice, ptr %t743, i32 0, i32 0 - %t745 = load ptr, ptr %t744 - %t746 = getelementptr inbounds ptr, ptr %t745, i32 1 - %t747 = load ptr, ptr %t746 - %t748 = call ptr @fn_emit_expr(ptr %t747) - store ptr %t748, ptr %t749 - %t750 = load ptr, ptr %t740 - %t751 = getelementptr inbounds %Cmp_Val, ptr %t750, i32 0, i32 0 - %t752 = load ptr, ptr %t751 - %t753 = call ptr @fn_str_concat(ptr @.str1125, ptr %t752) - %t754 = call ptr @fn_str_concat(ptr %t753, ptr @.str1126) - %t755 = load ptr, ptr %t749 - %t756 = getelementptr inbounds %Cmp_Val, ptr %t755, i32 0, i32 0 - %t757 = load ptr, ptr %t756 - %t758 = call ptr @fn_str_concat(ptr %t754, ptr %t757) - %t759 = call ptr @fn_str_concat(ptr %t758, ptr @.str1127) - %t760 = call ptr @fn_emit_bind(ptr %t759) - %t761 = call ptr @fn_val(ptr %t760, ptr @.str1128) - store ptr %t761, ptr %retval + %t655 = load ptr, ptr %t0 + %t656 = getelementptr inbounds %Cmp_Node, ptr %t655, i32 0, i32 7 + %t657 = load ptr, ptr %t656 + %t658 = getelementptr inbounds %LSlice, ptr %t657, i32 0, i32 0 + %t659 = load ptr, ptr %t658 + %t660 = getelementptr inbounds ptr, ptr %t659, i32 0 + %t661 = load ptr, ptr %t660 + %t662 = call ptr @fn_emit_expr(ptr %t661) + store ptr %t662, ptr %t663 + %t664 = load ptr, ptr %t0 + %t665 = getelementptr inbounds %Cmp_Node, ptr %t664, i32 0, i32 7 + %t666 = load ptr, ptr %t665 + %t667 = getelementptr inbounds %LSlice, ptr %t666, i32 0, i32 0 + %t668 = load ptr, ptr %t667 + %t669 = getelementptr inbounds ptr, ptr %t668, i32 1 + %t670 = load ptr, ptr %t669 + %t671 = call ptr @fn_emit_expr(ptr %t670) + store ptr %t671, ptr %t672 + %t673 = load ptr, ptr %t0 + %t674 = getelementptr inbounds %Cmp_Node, ptr %t673, i32 0, i32 7 + %t675 = load ptr, ptr %t674 + %t676 = getelementptr inbounds %LSlice, ptr %t675, i32 0, i32 0 + %t677 = load ptr, ptr %t676 + %t678 = getelementptr inbounds ptr, ptr %t677, i32 2 + %t679 = load ptr, ptr %t678 + %t680 = call ptr @fn_emit_expr(ptr %t679) + store ptr %t680, ptr %t681 + %t682 = load ptr, ptr %t663 + %t683 = getelementptr inbounds %Cmp_Val, ptr %t682, i32 0, i32 0 + %t684 = load ptr, ptr %t683 + %t685 = call ptr @fn_str_concat(ptr @.str1409, ptr %t684) + %t686 = call ptr @fn_str_concat(ptr %t685, ptr @.str1410) + %t687 = load ptr, ptr %t672 + %t688 = getelementptr inbounds %Cmp_Val, ptr %t687, i32 0, i32 0 + %t689 = load ptr, ptr %t688 + %t690 = call ptr @fn_str_concat(ptr %t686, ptr %t689) + %t691 = call ptr @fn_str_concat(ptr %t690, ptr @.str1411) + %t692 = load ptr, ptr %t681 + %t693 = getelementptr inbounds %Cmp_Val, ptr %t692, i32 0, i32 0 + %t694 = load ptr, ptr %t693 + %t695 = call ptr @fn_str_concat(ptr %t691, ptr %t694) + %t696 = call ptr @fn_str_concat(ptr %t695, ptr @.str1412) + %t697 = call ptr @fn_emit_bind(ptr %t696) + store ptr %t697, ptr %t698 + %t699 = load ptr, ptr %t698 + %t700 = call ptr @fn_str_concat(ptr @.str1413, ptr %t699) + %t701 = call ptr @fn_str_concat(ptr %t700, ptr @.str1414) + %t702 = call ptr @fn_emit_bind(ptr %t701) + %t703 = call ptr @fn_val(ptr %t702, ptr @.str1415) + store ptr %t703, ptr %retval br label %ret ifend123: - %t762 = load ptr, ptr %t6 - %t763 = call i32 @fn_str_eq(ptr %t762, ptr @.str1129) - %t764 = icmp ne i32 %t763, 0 - br i1 %t764, label %then124, label %ifend126 + %t704 = load ptr, ptr %t38 + %t705 = call i32 @fn_str_eq(ptr %t704, ptr @.str1416) + %t706 = icmp ne i32 %t705, 0 + br i1 %t706, label %then124, label %ifend126 then124: - %t765 = call ptr @fn_emit_bind(ptr @.str1130) - %t766 = call ptr @fn_val(ptr %t765, ptr @.str1131) - store ptr %t766, ptr %retval + %t707 = load ptr, ptr %t0 + %t708 = getelementptr inbounds %Cmp_Node, ptr %t707, i32 0, i32 7 + %t709 = load ptr, ptr %t708 + %t710 = getelementptr inbounds %LSlice, ptr %t709, i32 0, i32 0 + %t711 = load ptr, ptr %t710 + %t712 = getelementptr inbounds ptr, ptr %t711, i32 0 + %t713 = load ptr, ptr %t712 + %t714 = call ptr @fn_emit_expr(ptr %t713) + store ptr %t714, ptr %t715 + %t716 = load ptr, ptr %t0 + %t717 = getelementptr inbounds %Cmp_Node, ptr %t716, i32 0, i32 7 + %t718 = load ptr, ptr %t717 + %t719 = getelementptr inbounds %LSlice, ptr %t718, i32 0, i32 0 + %t720 = load ptr, ptr %t719 + %t721 = getelementptr inbounds ptr, ptr %t720, i32 1 + %t722 = load ptr, ptr %t721 + %t723 = call ptr @fn_emit_expr(ptr %t722) + store ptr %t723, ptr %t724 + %t725 = load ptr, ptr %t0 + %t726 = getelementptr inbounds %Cmp_Node, ptr %t725, i32 0, i32 7 + %t727 = load ptr, ptr %t726 + %t728 = getelementptr inbounds %LSlice, ptr %t727, i32 0, i32 0 + %t729 = load ptr, ptr %t728 + %t730 = getelementptr inbounds ptr, ptr %t729, i32 2 + %t731 = load ptr, ptr %t730 + %t732 = call ptr @fn_emit_expr(ptr %t731) + store ptr %t732, ptr %t733 + %t734 = load ptr, ptr %t0 + %t735 = getelementptr inbounds %Cmp_Node, ptr %t734, i32 0, i32 7 + %t736 = load ptr, ptr %t735 + %t737 = getelementptr inbounds %LSlice, ptr %t736, i32 0, i32 0 + %t738 = load ptr, ptr %t737 + %t739 = getelementptr inbounds ptr, ptr %t738, i32 3 + %t740 = load ptr, ptr %t739 + %t741 = call ptr @fn_emit_expr(ptr %t740) + store ptr %t741, ptr %t742 + %t743 = load ptr, ptr %t742 + %t744 = getelementptr inbounds %Cmp_Val, ptr %t743, i32 0, i32 0 + %t745 = load ptr, ptr %t744 + %t746 = call ptr @fn_str_concat(ptr @.str1417, ptr %t745) + %t747 = call ptr @fn_str_concat(ptr %t746, ptr @.str1418) + %t748 = call ptr @fn_emit_bind(ptr %t747) + store ptr %t748, ptr %t749 + call void @fn_emit(ptr @.str1419) + %t750 = load ptr, ptr %t715 + %t751 = getelementptr inbounds %Cmp_Val, ptr %t750, i32 0, i32 0 + %t752 = load ptr, ptr %t751 + call void @fn_emit(ptr %t752) + call void @fn_emit(ptr @.str1420) + %t753 = load ptr, ptr %t724 + %t754 = getelementptr inbounds %Cmp_Val, ptr %t753, i32 0, i32 0 + %t755 = load ptr, ptr %t754 + call void @fn_emit(ptr %t755) + call void @fn_emit(ptr @.str1421) + %t756 = load ptr, ptr %t733 + %t757 = getelementptr inbounds %Cmp_Val, ptr %t756, i32 0, i32 0 + %t758 = load ptr, ptr %t757 + call void @fn_emit(ptr %t758) + call void @fn_emit(ptr @.str1422) + %t759 = load ptr, ptr %t749 + call void @fn_emit(ptr %t759) + call void @fn_emit(ptr @.str1423) + %t760 = call ptr @fn_val(ptr @.str1424, ptr @.str1425) + store ptr %t760, ptr %retval br label %ret ifend126: - %t767 = load ptr, ptr %t6 - %t768 = call i32 @fn_str_eq(ptr %t767, ptr @.str1132) - %t769 = icmp ne i32 %t768, 0 - br i1 %t769, label %then127, label %ifend129 + %t761 = load ptr, ptr %t38 + %t762 = call i32 @fn_str_eq(ptr %t761, ptr @.str1426) + %t763 = icmp ne i32 %t762, 0 + br i1 %t763, label %then127, label %ifend129 then127: - %t770 = load ptr, ptr %t0 - %t771 = getelementptr inbounds %Cmp_Node, ptr %t770, i32 0, i32 7 - %t772 = load ptr, ptr %t771 - %t773 = getelementptr inbounds %LSlice, ptr %t772, i32 0, i32 0 - %t774 = load ptr, ptr %t773 - %t775 = getelementptr inbounds ptr, ptr %t774, i32 0 - %t776 = load ptr, ptr %t775 - %t777 = call ptr @fn_emit_expr(ptr %t776) - store ptr %t777, ptr %t778 + %t764 = load ptr, ptr %t0 + %t765 = getelementptr inbounds %Cmp_Node, ptr %t764, i32 0, i32 7 + %t766 = load ptr, ptr %t765 + %t767 = getelementptr inbounds %LSlice, ptr %t766, i32 0, i32 0 + %t768 = load ptr, ptr %t767 + %t769 = getelementptr inbounds ptr, ptr %t768, i32 0 + %t770 = load ptr, ptr %t769 + %t771 = call ptr @fn_emit_expr(ptr %t770) + store ptr %t771, ptr %t772 + %t773 = load ptr, ptr %t0 + %t774 = getelementptr inbounds %Cmp_Node, ptr %t773, i32 0, i32 7 + %t775 = load ptr, ptr %t774 + %t776 = getelementptr inbounds %LSlice, ptr %t775, i32 0, i32 0 + %t777 = load ptr, ptr %t776 + %t778 = getelementptr inbounds ptr, ptr %t777, i32 1 %t779 = load ptr, ptr %t778 - %t780 = getelementptr inbounds %Cmp_Val, ptr %t779, i32 0, i32 0 - %t781 = load ptr, ptr %t780 - %t782 = call ptr @fn_str_concat(ptr @.str1133, ptr %t781) - %t783 = call ptr @fn_str_concat(ptr %t782, ptr @.str1134) - %t784 = call ptr @fn_emit_bind(ptr %t783) - %t785 = call ptr @fn_val(ptr %t784, ptr @.str1135) - store ptr %t785, ptr %retval + %t780 = call ptr @fn_emit_expr(ptr %t779) + store ptr %t780, ptr %t781 + %t782 = load ptr, ptr %t772 + %t783 = getelementptr inbounds %Cmp_Val, ptr %t782, i32 0, i32 0 + %t784 = load ptr, ptr %t783 + %t785 = call ptr @fn_str_concat(ptr @.str1427, ptr %t784) + %t786 = call ptr @fn_str_concat(ptr %t785, ptr @.str1428) + %t787 = load ptr, ptr %t781 + %t788 = getelementptr inbounds %Cmp_Val, ptr %t787, i32 0, i32 0 + %t789 = load ptr, ptr %t788 + %t790 = call ptr @fn_str_concat(ptr %t786, ptr %t789) + %t791 = call ptr @fn_str_concat(ptr %t790, ptr @.str1429) + %t792 = call ptr @fn_emit_bind(ptr %t791) + %t793 = call ptr @fn_val(ptr %t792, ptr @.str1430) + store ptr %t793, ptr %retval br label %ret ifend129: - %t786 = load ptr, ptr %t6 - %t787 = call i32 @fn_str_eq(ptr %t786, ptr @.str1136) - %t788 = icmp ne i32 %t787, 0 - br i1 %t788, label %then130, label %ifend132 + %t794 = load ptr, ptr %t38 + %t795 = call i32 @fn_str_eq(ptr %t794, ptr @.str1431) + %t796 = icmp ne i32 %t795, 0 + br i1 %t796, label %then130, label %ifend132 then130: - %t789 = load ptr, ptr %t0 - %t790 = getelementptr inbounds %Cmp_Node, ptr %t789, i32 0, i32 7 - %t791 = load ptr, ptr %t790 - %t792 = getelementptr inbounds %LSlice, ptr %t791, i32 0, i32 0 - %t793 = load ptr, ptr %t792 - %t794 = getelementptr inbounds ptr, ptr %t793, i32 0 - %t795 = load ptr, ptr %t794 - %t796 = call ptr @fn_emit_expr(ptr %t795) - store ptr %t796, ptr %t797 - %t798 = load ptr, ptr %t797 - %t799 = getelementptr inbounds %Cmp_Val, ptr %t798, i32 0, i32 0 - %t800 = load ptr, ptr %t799 - %t801 = call ptr @fn_str_concat(ptr @.str1137, ptr %t800) - %t802 = call ptr @fn_str_concat(ptr %t801, ptr @.str1138) - %t803 = call ptr @fn_emit_bind(ptr %t802) - %t804 = call ptr @fn_val(ptr %t803, ptr @.str1139) - store ptr %t804, ptr %retval + %t797 = call ptr @fn_emit_bind(ptr @.str1432) + %t798 = call ptr @fn_val(ptr %t797, ptr @.str1433) + store ptr %t798, ptr %retval br label %ret ifend132: - %t805 = load ptr, ptr %t6 - %t806 = call i32 @fn_str_eq(ptr %t805, ptr @.str1140) - %t807 = icmp ne i32 %t806, 0 - br i1 %t807, label %then133, label %ifend135 + %t799 = load ptr, ptr %t38 + %t800 = call i32 @fn_str_eq(ptr %t799, ptr @.str1434) + %t801 = icmp ne i32 %t800, 0 + br i1 %t801, label %then133, label %ifend135 then133: - %t808 = load ptr, ptr %t0 - %t809 = getelementptr inbounds %Cmp_Node, ptr %t808, i32 0, i32 7 - %t810 = load ptr, ptr %t809 - %t811 = getelementptr inbounds %LSlice, ptr %t810, i32 0, i32 0 - %t812 = load ptr, ptr %t811 - %t813 = getelementptr inbounds ptr, ptr %t812, i32 0 - %t814 = load ptr, ptr %t813 - %t815 = call ptr @fn_emit_expr(ptr %t814) - store ptr %t815, ptr %t816 - %t817 = load ptr, ptr %t0 - %t818 = getelementptr inbounds %Cmp_Node, ptr %t817, i32 0, i32 7 - %t819 = load ptr, ptr %t818 - %t820 = getelementptr inbounds %LSlice, ptr %t819, i32 0, i32 0 - %t821 = load ptr, ptr %t820 - %t822 = getelementptr inbounds ptr, ptr %t821, i32 1 - %t823 = load ptr, ptr %t822 - %t824 = call ptr @fn_emit_expr(ptr %t823) - store ptr %t824, ptr %t825 - %t826 = load ptr, ptr %t816 - %t827 = getelementptr inbounds %Cmp_Val, ptr %t826, i32 0, i32 0 - %t828 = load ptr, ptr %t827 - %t829 = call ptr @fn_str_concat(ptr @.str1141, ptr %t828) - %t830 = call ptr @fn_str_concat(ptr %t829, ptr @.str1142) - %t831 = load ptr, ptr %t825 - %t832 = getelementptr inbounds %Cmp_Val, ptr %t831, i32 0, i32 0 - %t833 = load ptr, ptr %t832 - %t834 = call ptr @fn_str_concat(ptr %t830, ptr %t833) - %t835 = call ptr @fn_str_concat(ptr %t834, ptr @.str1143) - %t836 = call ptr @fn_emit_bind(ptr %t835) - %t837 = call ptr @fn_val(ptr %t836, ptr @.str1144) - store ptr %t837, ptr %retval + %t802 = load ptr, ptr %t0 + %t803 = getelementptr inbounds %Cmp_Node, ptr %t802, i32 0, i32 7 + %t804 = load ptr, ptr %t803 + %t805 = getelementptr inbounds %LSlice, ptr %t804, i32 0, i32 0 + %t806 = load ptr, ptr %t805 + %t807 = getelementptr inbounds ptr, ptr %t806, i32 0 + %t808 = load ptr, ptr %t807 + %t809 = call ptr @fn_emit_expr(ptr %t808) + store ptr %t809, ptr %t810 + %t811 = load ptr, ptr %t810 + %t812 = getelementptr inbounds %Cmp_Val, ptr %t811, i32 0, i32 0 + %t813 = load ptr, ptr %t812 + %t814 = call ptr @fn_str_concat(ptr @.str1435, ptr %t813) + %t815 = call ptr @fn_str_concat(ptr %t814, ptr @.str1436) + %t816 = call ptr @fn_emit_bind(ptr %t815) + %t817 = call ptr @fn_val(ptr %t816, ptr @.str1437) + store ptr %t817, ptr %retval br label %ret ifend135: - %t838 = load ptr, ptr %t6 - %t839 = call i32 @fn_str_eq(ptr %t838, ptr @.str1145) - %t840 = icmp ne i32 %t839, 0 - br i1 %t840, label %then136, label %ifend138 + %t818 = load ptr, ptr %t38 + %t819 = call i32 @fn_str_eq(ptr %t818, ptr @.str1438) + %t820 = icmp ne i32 %t819, 0 + br i1 %t820, label %then136, label %ifend138 then136: - %t841 = load ptr, ptr %t0 - %t842 = getelementptr inbounds %Cmp_Node, ptr %t841, i32 0, i32 7 - %t843 = load ptr, ptr %t842 - %t844 = getelementptr inbounds %LSlice, ptr %t843, i32 0, i32 0 - %t845 = load ptr, ptr %t844 - %t846 = getelementptr inbounds ptr, ptr %t845, i32 0 - %t847 = load ptr, ptr %t846 - %t848 = call ptr @fn_emit_expr(ptr %t847) - store ptr %t848, ptr %t849 - %t850 = load ptr, ptr %t0 - %t851 = getelementptr inbounds %Cmp_Node, ptr %t850, i32 0, i32 7 - %t852 = load ptr, ptr %t851 - %t853 = getelementptr inbounds %LSlice, ptr %t852, i32 0, i32 0 - %t854 = load ptr, ptr %t853 - %t855 = getelementptr inbounds ptr, ptr %t854, i32 1 - %t856 = load ptr, ptr %t855 - %t857 = call ptr @fn_emit_expr(ptr %t856) - store ptr %t857, ptr %t858 - %t859 = load ptr, ptr %t849 - %t860 = getelementptr inbounds %Cmp_Val, ptr %t859, i32 0, i32 0 - %t861 = load ptr, ptr %t860 - %t862 = call ptr @fn_str_concat(ptr @.str1146, ptr %t861) - %t863 = call ptr @fn_str_concat(ptr %t862, ptr @.str1147) - %t864 = load ptr, ptr %t858 - %t865 = getelementptr inbounds %Cmp_Val, ptr %t864, i32 0, i32 0 - %t866 = load ptr, ptr %t865 - %t867 = call ptr @fn_str_concat(ptr %t863, ptr %t866) - %t868 = call ptr @fn_str_concat(ptr %t867, ptr @.str1148) - %t869 = call ptr @fn_emit_bind(ptr %t868) - %t870 = call ptr @fn_val(ptr %t869, ptr @.str1149) - store ptr %t870, ptr %retval + %t821 = load ptr, ptr %t0 + %t822 = getelementptr inbounds %Cmp_Node, ptr %t821, i32 0, i32 7 + %t823 = load ptr, ptr %t822 + %t824 = getelementptr inbounds %LSlice, ptr %t823, i32 0, i32 0 + %t825 = load ptr, ptr %t824 + %t826 = getelementptr inbounds ptr, ptr %t825, i32 0 + %t827 = load ptr, ptr %t826 + %t828 = call ptr @fn_emit_expr(ptr %t827) + store ptr %t828, ptr %t829 + %t830 = load ptr, ptr %t829 + %t831 = getelementptr inbounds %Cmp_Val, ptr %t830, i32 0, i32 0 + %t832 = load ptr, ptr %t831 + %t833 = call ptr @fn_str_concat(ptr @.str1439, ptr %t832) + %t834 = call ptr @fn_str_concat(ptr %t833, ptr @.str1440) + %t835 = call ptr @fn_emit_bind(ptr %t834) + %t836 = call ptr @fn_val(ptr %t835, ptr @.str1441) + store ptr %t836, ptr %retval br label %ret ifend138: - %t871 = load ptr, ptr %t6 - %t872 = call i32 @fn_str_eq(ptr %t871, ptr @.str1150) - %t873 = icmp ne i32 %t872, 0 - br i1 %t873, label %then139, label %ifend141 + %t837 = load ptr, ptr %t38 + %t838 = call i32 @fn_str_eq(ptr %t837, ptr @.str1442) + %t839 = icmp ne i32 %t838, 0 + br i1 %t839, label %then139, label %ifend141 then139: - %t874 = load ptr, ptr %t0 - %t875 = getelementptr inbounds %Cmp_Node, ptr %t874, i32 0, i32 7 - %t876 = load ptr, ptr %t875 - %t877 = getelementptr inbounds %LSlice, ptr %t876, i32 0, i32 0 - %t878 = load ptr, ptr %t877 - %t879 = getelementptr inbounds ptr, ptr %t878, i32 0 - %t880 = load ptr, ptr %t879 - %t881 = call ptr @fn_emit_expr(ptr %t880) - store ptr %t881, ptr %t882 - %t883 = load ptr, ptr %t0 - %t884 = getelementptr inbounds %Cmp_Node, ptr %t883, i32 0, i32 7 - %t885 = load ptr, ptr %t884 - %t886 = getelementptr inbounds %LSlice, ptr %t885, i32 0, i32 0 - %t887 = load ptr, ptr %t886 - %t888 = getelementptr inbounds ptr, ptr %t887, i32 1 - %t889 = load ptr, ptr %t888 - %t890 = call ptr @fn_emit_expr(ptr %t889) - store ptr %t890, ptr %t891 - call void @fn_emit(ptr @.str1151) - %t892 = load ptr, ptr %t882 - %t893 = getelementptr inbounds %Cmp_Val, ptr %t892, i32 0, i32 0 - %t894 = load ptr, ptr %t893 - call void @fn_emit(ptr %t894) - call void @fn_emit(ptr @.str1152) - %t895 = load ptr, ptr %t891 - %t896 = getelementptr inbounds %Cmp_Val, ptr %t895, i32 0, i32 0 - %t897 = load ptr, ptr %t896 - call void @fn_emit(ptr %t897) - call void @fn_emit(ptr @.str1153) - %t898 = call ptr @fn_val(ptr @.str1154, ptr @.str1155) - store ptr %t898, ptr %retval + %t840 = load ptr, ptr %t0 + %t841 = getelementptr inbounds %Cmp_Node, ptr %t840, i32 0, i32 7 + %t842 = load ptr, ptr %t841 + %t843 = getelementptr inbounds %LSlice, ptr %t842, i32 0, i32 0 + %t844 = load ptr, ptr %t843 + %t845 = getelementptr inbounds ptr, ptr %t844, i32 0 + %t846 = load ptr, ptr %t845 + %t847 = call ptr @fn_emit_expr(ptr %t846) + store ptr %t847, ptr %t848 + %t849 = load ptr, ptr %t0 + %t850 = getelementptr inbounds %Cmp_Node, ptr %t849, i32 0, i32 7 + %t851 = load ptr, ptr %t850 + %t852 = getelementptr inbounds %LSlice, ptr %t851, i32 0, i32 0 + %t853 = load ptr, ptr %t852 + %t854 = getelementptr inbounds ptr, ptr %t853, i32 1 + %t855 = load ptr, ptr %t854 + %t856 = call ptr @fn_emit_expr(ptr %t855) + store ptr %t856, ptr %t857 + %t858 = load ptr, ptr %t848 + %t859 = getelementptr inbounds %Cmp_Val, ptr %t858, i32 0, i32 0 + %t860 = load ptr, ptr %t859 + %t861 = call ptr @fn_str_concat(ptr @.str1443, ptr %t860) + %t862 = call ptr @fn_str_concat(ptr %t861, ptr @.str1444) + %t863 = load ptr, ptr %t857 + %t864 = getelementptr inbounds %Cmp_Val, ptr %t863, i32 0, i32 0 + %t865 = load ptr, ptr %t864 + %t866 = call ptr @fn_str_concat(ptr %t862, ptr %t865) + %t867 = call ptr @fn_str_concat(ptr %t866, ptr @.str1445) + %t868 = call ptr @fn_emit_bind(ptr %t867) + %t869 = call ptr @fn_val(ptr %t868, ptr @.str1446) + store ptr %t869, ptr %retval br label %ret ifend141: - %t899 = load ptr, ptr %t6 - %t900 = call i32 @fn_str_eq(ptr %t899, ptr @.str1156) - %t901 = icmp ne i32 %t900, 0 - br i1 %t901, label %then142, label %ifend144 + %t870 = load ptr, ptr %t38 + %t871 = call i32 @fn_str_eq(ptr %t870, ptr @.str1447) + %t872 = icmp ne i32 %t871, 0 + br i1 %t872, label %then142, label %ifend144 then142: - %t902 = load ptr, ptr %t0 - %t903 = getelementptr inbounds %Cmp_Node, ptr %t902, i32 0, i32 7 - %t904 = load ptr, ptr %t903 - %t905 = getelementptr inbounds %LSlice, ptr %t904, i32 0, i32 0 - %t906 = load ptr, ptr %t905 - %t907 = getelementptr inbounds ptr, ptr %t906, i32 0 - %t908 = load ptr, ptr %t907 - %t909 = call ptr @fn_emit_expr(ptr %t908) - store ptr %t909, ptr %t910 - %t911 = load ptr, ptr %t0 - %t912 = getelementptr inbounds %Cmp_Node, ptr %t911, i32 0, i32 7 - %t913 = load ptr, ptr %t912 - %t914 = getelementptr inbounds %LSlice, ptr %t913, i32 0, i32 0 - %t915 = load ptr, ptr %t914 - %t916 = getelementptr inbounds ptr, ptr %t915, i32 1 - %t917 = load ptr, ptr %t916 - %t918 = call ptr @fn_emit_expr(ptr %t917) - store ptr %t918, ptr %t919 - call void @fn_emit(ptr @.str1157) - %t920 = load ptr, ptr %t910 - %t921 = getelementptr inbounds %Cmp_Val, ptr %t920, i32 0, i32 0 - %t922 = load ptr, ptr %t921 - call void @fn_emit(ptr %t922) - call void @fn_emit(ptr @.str1158) - %t923 = load ptr, ptr %t919 - %t924 = getelementptr inbounds %Cmp_Val, ptr %t923, i32 0, i32 0 - %t925 = load ptr, ptr %t924 - call void @fn_emit(ptr %t925) - call void @fn_emit(ptr @.str1159) - %t926 = call ptr @fn_val(ptr @.str1160, ptr @.str1161) - store ptr %t926, ptr %retval + %t873 = load ptr, ptr %t0 + %t874 = getelementptr inbounds %Cmp_Node, ptr %t873, i32 0, i32 7 + %t875 = load ptr, ptr %t874 + %t876 = getelementptr inbounds %LSlice, ptr %t875, i32 0, i32 0 + %t877 = load ptr, ptr %t876 + %t878 = getelementptr inbounds ptr, ptr %t877, i32 0 + %t879 = load ptr, ptr %t878 + %t880 = call ptr @fn_emit_expr(ptr %t879) + store ptr %t880, ptr %t881 + %t882 = load ptr, ptr %t0 + %t883 = getelementptr inbounds %Cmp_Node, ptr %t882, i32 0, i32 7 + %t884 = load ptr, ptr %t883 + %t885 = getelementptr inbounds %LSlice, ptr %t884, i32 0, i32 0 + %t886 = load ptr, ptr %t885 + %t887 = getelementptr inbounds ptr, ptr %t886, i32 1 + %t888 = load ptr, ptr %t887 + %t889 = call ptr @fn_emit_expr(ptr %t888) + store ptr %t889, ptr %t890 + %t891 = load ptr, ptr %t881 + %t892 = getelementptr inbounds %Cmp_Val, ptr %t891, i32 0, i32 0 + %t893 = load ptr, ptr %t892 + %t894 = call ptr @fn_str_concat(ptr @.str1448, ptr %t893) + %t895 = call ptr @fn_str_concat(ptr %t894, ptr @.str1449) + %t896 = load ptr, ptr %t890 + %t897 = getelementptr inbounds %Cmp_Val, ptr %t896, i32 0, i32 0 + %t898 = load ptr, ptr %t897 + %t899 = call ptr @fn_str_concat(ptr %t895, ptr %t898) + %t900 = call ptr @fn_str_concat(ptr %t899, ptr @.str1450) + %t901 = call ptr @fn_emit_bind(ptr %t900) + %t902 = call ptr @fn_val(ptr %t901, ptr @.str1451) + store ptr %t902, ptr %retval br label %ret ifend144: - %t927 = load ptr, ptr %t6 - %t928 = call i32 @fn_str_eq(ptr %t927, ptr @.str1162) - %t929 = icmp ne i32 %t928, 0 - br i1 %t929, label %then145, label %ifend147 + %t903 = load ptr, ptr %t38 + %t904 = call i32 @fn_str_eq(ptr %t903, ptr @.str1452) + %t905 = icmp ne i32 %t904, 0 + br i1 %t905, label %then145, label %ifend147 then145: - %t930 = load ptr, ptr %t0 - %t931 = getelementptr inbounds %Cmp_Node, ptr %t930, i32 0, i32 7 - %t932 = load ptr, ptr %t931 - %t933 = getelementptr inbounds %LSlice, ptr %t932, i32 0, i32 0 - %t934 = load ptr, ptr %t933 - %t935 = getelementptr inbounds ptr, ptr %t934, i32 0 - %t936 = load ptr, ptr %t935 - %t937 = call ptr @fn_emit_expr(ptr %t936) - store ptr %t937, ptr %t938 - %t939 = load ptr, ptr %t938 - %t940 = getelementptr inbounds %Cmp_Val, ptr %t939, i32 0, i32 0 - %t941 = load ptr, ptr %t940 - %t942 = call ptr @fn_str_concat(ptr @.str1163, ptr %t941) - %t943 = call ptr @fn_str_concat(ptr %t942, ptr @.str1164) - %t944 = call ptr @fn_emit_bind(ptr %t943) - %t945 = call ptr @fn_val(ptr %t944, ptr @.str1165) - store ptr %t945, ptr %retval + %t906 = load ptr, ptr %t0 + %t907 = getelementptr inbounds %Cmp_Node, ptr %t906, i32 0, i32 7 + %t908 = load ptr, ptr %t907 + %t909 = getelementptr inbounds %LSlice, ptr %t908, i32 0, i32 0 + %t910 = load ptr, ptr %t909 + %t911 = getelementptr inbounds ptr, ptr %t910, i32 0 + %t912 = load ptr, ptr %t911 + %t913 = call ptr @fn_emit_expr(ptr %t912) + store ptr %t913, ptr %t914 + %t915 = load ptr, ptr %t0 + %t916 = getelementptr inbounds %Cmp_Node, ptr %t915, i32 0, i32 7 + %t917 = load ptr, ptr %t916 + %t918 = getelementptr inbounds %LSlice, ptr %t917, i32 0, i32 0 + %t919 = load ptr, ptr %t918 + %t920 = getelementptr inbounds ptr, ptr %t919, i32 1 + %t921 = load ptr, ptr %t920 + %t922 = call ptr @fn_emit_expr(ptr %t921) + store ptr %t922, ptr %t923 + call void @fn_emit(ptr @.str1453) + %t924 = load ptr, ptr %t914 + %t925 = getelementptr inbounds %Cmp_Val, ptr %t924, i32 0, i32 0 + %t926 = load ptr, ptr %t925 + call void @fn_emit(ptr %t926) + call void @fn_emit(ptr @.str1454) + %t927 = load ptr, ptr %t923 + %t928 = getelementptr inbounds %Cmp_Val, ptr %t927, i32 0, i32 0 + %t929 = load ptr, ptr %t928 + call void @fn_emit(ptr %t929) + call void @fn_emit(ptr @.str1455) + %t930 = call ptr @fn_val(ptr @.str1456, ptr @.str1457) + store ptr %t930, ptr %retval br label %ret ifend147: - %t946 = load ptr, ptr %t6 - %t947 = call i32 @fn_is_intrinsic(ptr %t946) - %t948 = icmp ne i32 %t947, 0 - br i1 %t948, label %then148, label %ifend150 + %t931 = load ptr, ptr %t38 + %t932 = call i32 @fn_str_eq(ptr %t931, ptr @.str1458) + %t933 = icmp ne i32 %t932, 0 + br i1 %t933, label %then148, label %ifend150 then148: - %t949 = load ptr, ptr %t6 - %t950 = load ptr, ptr %t0 - %t951 = call ptr @fn_emit_intrinsic(ptr %t949, ptr %t950) - store ptr %t951, ptr %retval + %t934 = load ptr, ptr %t0 + %t935 = getelementptr inbounds %Cmp_Node, ptr %t934, i32 0, i32 7 + %t936 = load ptr, ptr %t935 + %t937 = getelementptr inbounds %LSlice, ptr %t936, i32 0, i32 0 + %t938 = load ptr, ptr %t937 + %t939 = getelementptr inbounds ptr, ptr %t938, i32 0 + %t940 = load ptr, ptr %t939 + %t941 = call ptr @fn_emit_expr(ptr %t940) + store ptr %t941, ptr %t942 + %t943 = load ptr, ptr %t0 + %t944 = getelementptr inbounds %Cmp_Node, ptr %t943, i32 0, i32 7 + %t945 = load ptr, ptr %t944 + %t946 = getelementptr inbounds %LSlice, ptr %t945, i32 0, i32 0 + %t947 = load ptr, ptr %t946 + %t948 = getelementptr inbounds ptr, ptr %t947, i32 1 + %t949 = load ptr, ptr %t948 + %t950 = call ptr @fn_emit_expr(ptr %t949) + store ptr %t950, ptr %t951 + call void @fn_emit(ptr @.str1459) + %t952 = load ptr, ptr %t942 + %t953 = getelementptr inbounds %Cmp_Val, ptr %t952, i32 0, i32 0 + %t954 = load ptr, ptr %t953 + call void @fn_emit(ptr %t954) + call void @fn_emit(ptr @.str1460) + %t955 = load ptr, ptr %t951 + %t956 = getelementptr inbounds %Cmp_Val, ptr %t955, i32 0, i32 0 + %t957 = load ptr, ptr %t956 + call void @fn_emit(ptr %t957) + call void @fn_emit(ptr @.str1461) + %t958 = call ptr @fn_val(ptr @.str1462, ptr @.str1463) + store ptr %t958, ptr %retval br label %ret ifend150: - %t952 = load ptr, ptr %t6 - %t953 = call i32 @fn_is_intrinsic2(ptr %t952) - %t954 = icmp ne i32 %t953, 0 - br i1 %t954, label %then151, label %ifend153 + %t959 = load ptr, ptr %t38 + %t960 = call i32 @fn_str_eq(ptr %t959, ptr @.str1464) + %t961 = icmp ne i32 %t960, 0 + br i1 %t961, label %then151, label %ifend153 then151: - %t955 = load ptr, ptr %t6 - %t956 = load ptr, ptr %t0 - %t957 = call ptr @fn_emit_intrinsic2(ptr %t955, ptr %t956) - store ptr %t957, ptr %retval + %t962 = load ptr, ptr %t0 + %t963 = getelementptr inbounds %Cmp_Node, ptr %t962, i32 0, i32 7 + %t964 = load ptr, ptr %t963 + %t965 = getelementptr inbounds %LSlice, ptr %t964, i32 0, i32 0 + %t966 = load ptr, ptr %t965 + %t967 = getelementptr inbounds ptr, ptr %t966, i32 0 + %t968 = load ptr, ptr %t967 + %t969 = call ptr @fn_emit_expr(ptr %t968) + store ptr %t969, ptr %t970 + %t971 = load ptr, ptr %t970 + %t972 = getelementptr inbounds %Cmp_Val, ptr %t971, i32 0, i32 0 + %t973 = load ptr, ptr %t972 + %t974 = call ptr @fn_str_concat(ptr @.str1465, ptr %t973) + %t975 = call ptr @fn_str_concat(ptr %t974, ptr @.str1466) + %t976 = call ptr @fn_emit_bind(ptr %t975) + %t977 = call ptr @fn_val(ptr %t976, ptr @.str1467) + store ptr %t977, ptr %retval br label %ret ifend153: - %t958 = load ptr, ptr %t6 - %t959 = call i32 @fn_is_math_builtin(ptr %t958) - %t960 = icmp ne i32 %t959, 0 - br i1 %t960, label %then154, label %ifend156 + %t978 = load ptr, ptr %t38 + %t979 = call i32 @fn_is_intrinsic(ptr %t978) + %t980 = icmp ne i32 %t979, 0 + br i1 %t980, label %then154, label %ifend156 then154: - %t961 = load ptr, ptr %t6 - %t962 = load ptr, ptr %t0 - %t963 = call ptr @fn_emit_math_builtin(ptr %t961, ptr %t962) - store ptr %t963, ptr %retval + %t981 = load ptr, ptr %t38 + %t982 = load ptr, ptr %t0 + %t983 = call ptr @fn_emit_intrinsic(ptr %t981, ptr %t982) + store ptr %t983, ptr %retval br label %ret ifend156: - %t964 = load ptr, ptr %t6 - %t965 = call ptr @fn_find_extern(ptr %t964) - store ptr %t965, ptr %t966 - %t967 = load ptr, ptr %t966 - %t968 = icmp ne ptr %t967, null - %t969 = zext i1 %t968 to i32 - %t970 = icmp ne i32 %t969, 0 - br i1 %t970, label %then157, label %ifend159 + %t984 = load ptr, ptr %t38 + %t985 = call i32 @fn_is_intrinsic2(ptr %t984) + %t986 = icmp ne i32 %t985, 0 + br i1 %t986, label %then157, label %ifend159 then157: - %t971 = getelementptr %LSlice, ptr null, i32 1 - %t972 = ptrtoint ptr %t971 to i64 - %t973 = call ptr @malloc(i64 %t972) - %t974 = getelementptr inbounds %LSlice, ptr %t973, i32 0, i32 0 - store ptr null, ptr %t974 - %t975 = getelementptr inbounds %LSlice, ptr %t973, i32 0, i32 1 - store i32 0, ptr %t975 - %t976 = getelementptr inbounds %LSlice, ptr %t973, i32 0, i32 2 - store i32 0, ptr %t976 - store ptr %t973, ptr %t977 - %t978 = getelementptr %LSlice, ptr null, i32 1 - %t979 = ptrtoint ptr %t978 to i64 - %t980 = call ptr @malloc(i64 %t979) - %t981 = getelementptr inbounds %LSlice, ptr %t980, i32 0, i32 0 - store ptr null, ptr %t981 - %t982 = getelementptr inbounds %LSlice, ptr %t980, i32 0, i32 1 - store i32 0, ptr %t982 - %t983 = getelementptr inbounds %LSlice, ptr %t980, i32 0, i32 2 - store i32 0, ptr %t983 - store ptr %t980, ptr %t984 - store i32 0, ptr %t985 - br label %wcond160 -wcond160: - %t986 = load i32, ptr %t985 - %t987 = load ptr, ptr %t0 - %t988 = getelementptr inbounds %Cmp_Node, ptr %t987, i32 0, i32 7 - %t989 = load ptr, ptr %t988 - %t990 = getelementptr inbounds %LSlice, ptr %t989, i32 0, i32 1 - %t991 = load i32, ptr %t990 - %t992 = icmp slt i32 %t986, %t991 - %t993 = zext i1 %t992 to i32 - %t994 = icmp ne i32 %t993, 0 - br i1 %t994, label %wbody161, label %wend162 -wbody161: - %t995 = load ptr, ptr %t0 - %t996 = getelementptr inbounds %Cmp_Node, ptr %t995, i32 0, i32 7 - %t997 = load ptr, ptr %t996 - %t998 = getelementptr inbounds %LSlice, ptr %t997, i32 0, i32 0 - %t999 = load ptr, ptr %t998 - %t1000 = load i32, ptr %t985 - %t1001 = getelementptr inbounds ptr, ptr %t999, i32 %t1000 - %t1002 = load ptr, ptr %t1001 - %t1003 = call ptr @fn_emit_expr(ptr %t1002) - store ptr %t1003, ptr %t1004 - %t1005 = load ptr, ptr %t977 - %t1006 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 1 - %t1007 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 2 - %t1008 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 0 - %t1009 = load i32, ptr %t1006 - %t1010 = load i32, ptr %t1007 - %t1011 = icmp sge i32 %t1009, %t1010 - br i1 %t1011, label %grow163, label %put164 -grow163: - %t1012 = mul i32 %t1010, 2 - %t1013 = icmp eq i32 %t1010, 0 - %t1014 = select i1 %t1013, i32 8, i32 %t1012 - %t1015 = getelementptr ptr, ptr null, i32 1 - %t1016 = ptrtoint ptr %t1015 to i64 - %t1017 = zext i32 %t1014 to i64 - %t1018 = mul i64 %t1017, %t1016 - %t1019 = load ptr, ptr %t1008 - %t1020 = call ptr @realloc(ptr %t1019, i64 %t1018) - store ptr %t1020, ptr %t1008 - store i32 %t1014, ptr %t1007 - br label %put164 -put164: - %t1021 = load ptr, ptr %t1004 - %t1022 = getelementptr inbounds %Cmp_Val, ptr %t1021, i32 0, i32 0 - %t1023 = load ptr, ptr %t1022 - %t1024 = load ptr, ptr %t1008 - %t1025 = getelementptr inbounds ptr, ptr %t1024, i32 %t1009 - store ptr %t1023, ptr %t1025 - %t1026 = add i32 %t1009, 1 - store i32 %t1026, ptr %t1006 - %t1027 = load ptr, ptr %t984 - %t1028 = getelementptr inbounds %LSlice, ptr %t1027, i32 0, i32 1 - %t1029 = getelementptr inbounds %LSlice, ptr %t1027, i32 0, i32 2 - %t1030 = getelementptr inbounds %LSlice, ptr %t1027, i32 0, i32 0 - %t1031 = load i32, ptr %t1028 - %t1032 = load i32, ptr %t1029 - %t1033 = icmp sge i32 %t1031, %t1032 - br i1 %t1033, label %grow165, label %put166 -grow165: - %t1034 = mul i32 %t1032, 2 - %t1035 = icmp eq i32 %t1032, 0 - %t1036 = select i1 %t1035, i32 8, i32 %t1034 - %t1037 = getelementptr ptr, ptr null, i32 1 - %t1038 = ptrtoint ptr %t1037 to i64 - %t1039 = zext i32 %t1036 to i64 - %t1040 = mul i64 %t1039, %t1038 - %t1041 = load ptr, ptr %t1030 - %t1042 = call ptr @realloc(ptr %t1041, i64 %t1040) - store ptr %t1042, ptr %t1030 - store i32 %t1036, ptr %t1029 - br label %put166 -put166: - %t1043 = load ptr, ptr %t1004 - %t1044 = getelementptr inbounds %Cmp_Val, ptr %t1043, i32 0, i32 1 - %t1045 = load ptr, ptr %t1044 - %t1046 = load ptr, ptr %t1030 - %t1047 = getelementptr inbounds ptr, ptr %t1046, i32 %t1031 - store ptr %t1045, ptr %t1047 - %t1048 = add i32 %t1031, 1 - store i32 %t1048, ptr %t1028 - %t1049 = load i32, ptr %t985 - %t1050 = add i32 %t1049, 1 - store i32 %t1050, ptr %t985 - br label %wcond160 -wend162: - %t1051 = load ptr, ptr %t966 - %t1052 = getelementptr inbounds %Cmp_Node, ptr %t1051, i32 0, i32 3 - %t1053 = load ptr, ptr %t1052 - %t1054 = call ptr @fn_llty(ptr %t1053) - store ptr %t1054, ptr %t1055 - call void @fn_emit(ptr @.str1166) - store ptr @.str1167, ptr %t1056 - %t1057 = load ptr, ptr %t1055 - %t1058 = call i32 @fn_str_eq(ptr %t1057, ptr @.str1168) - %t1059 = icmp eq i32 %t1058, 0 - %t1060 = zext i1 %t1059 to i32 - %t1061 = icmp ne i32 %t1060, 0 - br i1 %t1061, label %then167, label %ifend169 -then167: - %t1062 = call ptr @fn_nreg() - store ptr %t1062, ptr %t1056 - %t1063 = load ptr, ptr %t1056 - call void @fn_emit(ptr %t1063) - call void @fn_emit(ptr @.str1169) - br label %ifend169 -ifend169: - call void @fn_emit(ptr @.str1170) - %t1064 = load ptr, ptr %t1055 - call void @fn_emit(ptr %t1064) - call void @fn_emit(ptr @.str1171) - %t1065 = load ptr, ptr %t966 - %t1066 = getelementptr inbounds %Cmp_Node, ptr %t1065, i32 0, i32 4 - %t1067 = load ptr, ptr %t1066 - %t1068 = getelementptr inbounds %Cmp_Node, ptr %t1067, i32 0, i32 1 - %t1069 = load ptr, ptr %t1068 - call void @fn_emit(ptr %t1069) - call void @fn_emit(ptr @.str1172) - store i32 0, ptr %t985 - br label %wcond170 -wcond170: - %t1070 = load i32, ptr %t985 - %t1071 = load ptr, ptr %t977 - %t1072 = getelementptr inbounds %LSlice, ptr %t1071, i32 0, i32 1 - %t1073 = load i32, ptr %t1072 - %t1074 = icmp slt i32 %t1070, %t1073 - %t1075 = zext i1 %t1074 to i32 - %t1076 = icmp ne i32 %t1075, 0 - br i1 %t1076, label %wbody171, label %wend172 -wbody171: - %t1077 = load i32, ptr %t985 - %t1078 = icmp sgt i32 %t1077, 0 - %t1079 = zext i1 %t1078 to i32 - %t1080 = icmp ne i32 %t1079, 0 - br i1 %t1080, label %then173, label %ifend175 -then173: - call void @fn_emit(ptr @.str1173) - br label %ifend175 -ifend175: - %t1081 = load ptr, ptr %t984 - %t1082 = getelementptr inbounds %LSlice, ptr %t1081, i32 0, i32 0 - %t1083 = load ptr, ptr %t1082 - %t1084 = load i32, ptr %t985 - %t1085 = getelementptr inbounds ptr, ptr %t1083, i32 %t1084 - %t1086 = load ptr, ptr %t1085 - %t1087 = call ptr @fn_llty(ptr %t1086) - call void @fn_emit(ptr %t1087) - call void @fn_emit(ptr @.str1174) - %t1088 = load ptr, ptr %t977 - %t1089 = getelementptr inbounds %LSlice, ptr %t1088, i32 0, i32 0 - %t1090 = load ptr, ptr %t1089 - %t1091 = load i32, ptr %t985 - %t1092 = getelementptr inbounds ptr, ptr %t1090, i32 %t1091 - %t1093 = load ptr, ptr %t1092 - call void @fn_emit(ptr %t1093) - %t1094 = load i32, ptr %t985 - %t1095 = add i32 %t1094, 1 - store i32 %t1095, ptr %t985 - br label %wcond170 -wend172: - call void @fn_emit(ptr @.str1175) - %t1096 = load ptr, ptr %t1056 - %t1097 = load ptr, ptr %t966 - %t1098 = getelementptr inbounds %Cmp_Node, ptr %t1097, i32 0, i32 3 - %t1099 = load ptr, ptr %t1098 - %t1100 = call ptr @fn_val(ptr %t1096, ptr %t1099) - store ptr %t1100, ptr %retval + %t987 = load ptr, ptr %t38 + %t988 = load ptr, ptr %t0 + %t989 = call ptr @fn_emit_intrinsic2(ptr %t987, ptr %t988) + store ptr %t989, ptr %retval br label %ret ifend159: - %t1101 = load ptr, ptr %t6 - %t1102 = call ptr @fn_find_fn(ptr %t1101) - store ptr %t1102, ptr %t1103 - %t1104 = load ptr, ptr %t6 - store ptr %t1104, ptr %t1105 - %t1106 = load ptr, ptr %t1103 - %t1107 = icmp eq ptr %t1106, null - %t1108 = zext i1 %t1107 to i32 - %t1109 = icmp ne i32 %t1108, 0 - br i1 %t1109, label %then176, label %ifend178 -then176: - %t1110 = load ptr, ptr %t6 - %t1111 = call ptr @fn_str_concat(ptr @.str1176, ptr %t1110) - store ptr %t1111, ptr %t1112 - %t1113 = load ptr, ptr %t1112 - %t1114 = call ptr @fn_find_fn(ptr %t1113) - store ptr %t1114, ptr %t1103 - %t1115 = load ptr, ptr %t1103 - %t1116 = icmp eq ptr %t1115, null - %t1117 = zext i1 %t1116 to i32 - %t1118 = icmp ne i32 %t1117, 0 - br i1 %t1118, label %then179, label %ifend181 + %t990 = load ptr, ptr %t38 + %t991 = call i32 @fn_is_math_builtin(ptr %t990) + %t992 = icmp ne i32 %t991, 0 + br i1 %t992, label %then160, label %ifend162 +then160: + %t993 = load ptr, ptr %t38 + %t994 = load ptr, ptr %t0 + %t995 = call ptr @fn_emit_math_builtin(ptr %t993, ptr %t994) + store ptr %t995, ptr %retval + br label %ret +ifend162: + %t996 = load ptr, ptr %t38 + %t997 = call ptr @fn_find_extern(ptr %t996) + store ptr %t997, ptr %t998 + %t999 = load ptr, ptr %t998 + %t1000 = icmp ne ptr %t999, null + %t1001 = zext i1 %t1000 to i32 + %t1002 = icmp ne i32 %t1001, 0 + br i1 %t1002, label %then163, label %ifend165 +then163: + %t1003 = load ptr, ptr %t0 + %t1004 = load ptr, ptr %t998 + %t1005 = call ptr @fn_param_labels(ptr %t1004) + call void @fn_reorder_named(ptr %t1003, ptr %t1005) + %t1006 = getelementptr %LSlice, ptr null, i32 1 + %t1007 = ptrtoint ptr %t1006 to i64 + %t1008 = call ptr @malloc(i64 %t1007) + %t1009 = getelementptr inbounds %LSlice, ptr %t1008, i32 0, i32 0 + store ptr null, ptr %t1009 + %t1010 = getelementptr inbounds %LSlice, ptr %t1008, i32 0, i32 1 + store i32 0, ptr %t1010 + %t1011 = getelementptr inbounds %LSlice, ptr %t1008, i32 0, i32 2 + store i32 0, ptr %t1011 + store ptr %t1008, ptr %t1012 + %t1013 = getelementptr %LSlice, ptr null, i32 1 + %t1014 = ptrtoint ptr %t1013 to i64 + %t1015 = call ptr @malloc(i64 %t1014) + %t1016 = getelementptr inbounds %LSlice, ptr %t1015, i32 0, i32 0 + store ptr null, ptr %t1016 + %t1017 = getelementptr inbounds %LSlice, ptr %t1015, i32 0, i32 1 + store i32 0, ptr %t1017 + %t1018 = getelementptr inbounds %LSlice, ptr %t1015, i32 0, i32 2 + store i32 0, ptr %t1018 + store ptr %t1015, ptr %t1019 + store i32 0, ptr %t1020 + br label %wcond166 +wcond166: + %t1021 = load i32, ptr %t1020 + %t1022 = load ptr, ptr %t0 + %t1023 = getelementptr inbounds %Cmp_Node, ptr %t1022, i32 0, i32 7 + %t1024 = load ptr, ptr %t1023 + %t1025 = getelementptr inbounds %LSlice, ptr %t1024, i32 0, i32 1 + %t1026 = load i32, ptr %t1025 + %t1027 = icmp slt i32 %t1021, %t1026 + %t1028 = zext i1 %t1027 to i32 + %t1029 = icmp ne i32 %t1028, 0 + br i1 %t1029, label %wbody167, label %wend168 +wbody167: + %t1030 = load ptr, ptr %t0 + %t1031 = getelementptr inbounds %Cmp_Node, ptr %t1030, i32 0, i32 7 + %t1032 = load ptr, ptr %t1031 + %t1033 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 0 + %t1034 = load ptr, ptr %t1033 + %t1035 = load i32, ptr %t1020 + %t1036 = getelementptr inbounds ptr, ptr %t1034, i32 %t1035 + %t1037 = load ptr, ptr %t1036 + %t1038 = call ptr @fn_emit_expr(ptr %t1037) + store ptr %t1038, ptr %t1039 + %t1040 = load ptr, ptr %t1012 + %t1041 = getelementptr inbounds %LSlice, ptr %t1040, i32 0, i32 1 + %t1042 = getelementptr inbounds %LSlice, ptr %t1040, i32 0, i32 2 + %t1043 = getelementptr inbounds %LSlice, ptr %t1040, i32 0, i32 0 + %t1044 = load i32, ptr %t1041 + %t1045 = load i32, ptr %t1042 + %t1046 = icmp sge i32 %t1044, %t1045 + br i1 %t1046, label %grow169, label %put170 +grow169: + %t1047 = mul i32 %t1045, 2 + %t1048 = icmp eq i32 %t1045, 0 + %t1049 = select i1 %t1048, i32 8, i32 %t1047 + %t1050 = getelementptr ptr, ptr null, i32 1 + %t1051 = ptrtoint ptr %t1050 to i64 + %t1052 = zext i32 %t1049 to i64 + %t1053 = mul i64 %t1052, %t1051 + %t1054 = load ptr, ptr %t1043 + %t1055 = call ptr @realloc(ptr %t1054, i64 %t1053) + store ptr %t1055, ptr %t1043 + store i32 %t1049, ptr %t1042 + br label %put170 +put170: + %t1056 = load ptr, ptr %t1039 + %t1057 = getelementptr inbounds %Cmp_Val, ptr %t1056, i32 0, i32 0 + %t1058 = load ptr, ptr %t1057 + %t1059 = load ptr, ptr %t1043 + %t1060 = getelementptr inbounds ptr, ptr %t1059, i32 %t1044 + store ptr %t1058, ptr %t1060 + %t1061 = add i32 %t1044, 1 + store i32 %t1061, ptr %t1041 + %t1062 = load ptr, ptr %t1019 + %t1063 = getelementptr inbounds %LSlice, ptr %t1062, i32 0, i32 1 + %t1064 = getelementptr inbounds %LSlice, ptr %t1062, i32 0, i32 2 + %t1065 = getelementptr inbounds %LSlice, ptr %t1062, i32 0, i32 0 + %t1066 = load i32, ptr %t1063 + %t1067 = load i32, ptr %t1064 + %t1068 = icmp sge i32 %t1066, %t1067 + br i1 %t1068, label %grow171, label %put172 +grow171: + %t1069 = mul i32 %t1067, 2 + %t1070 = icmp eq i32 %t1067, 0 + %t1071 = select i1 %t1070, i32 8, i32 %t1069 + %t1072 = getelementptr ptr, ptr null, i32 1 + %t1073 = ptrtoint ptr %t1072 to i64 + %t1074 = zext i32 %t1071 to i64 + %t1075 = mul i64 %t1074, %t1073 + %t1076 = load ptr, ptr %t1065 + %t1077 = call ptr @realloc(ptr %t1076, i64 %t1075) + store ptr %t1077, ptr %t1065 + store i32 %t1071, ptr %t1064 + br label %put172 +put172: + %t1078 = load ptr, ptr %t1039 + %t1079 = getelementptr inbounds %Cmp_Val, ptr %t1078, i32 0, i32 1 + %t1080 = load ptr, ptr %t1079 + %t1081 = load ptr, ptr %t1065 + %t1082 = getelementptr inbounds ptr, ptr %t1081, i32 %t1066 + store ptr %t1080, ptr %t1082 + %t1083 = add i32 %t1066, 1 + store i32 %t1083, ptr %t1063 + %t1084 = load i32, ptr %t1020 + %t1085 = add i32 %t1084, 1 + store i32 %t1085, ptr %t1020 + br label %wcond166 +wend168: + %t1086 = load ptr, ptr %t998 + %t1087 = getelementptr inbounds %Cmp_Node, ptr %t1086, i32 0, i32 3 + %t1088 = load ptr, ptr %t1087 + %t1089 = call ptr @fn_llty(ptr %t1088) + store ptr %t1089, ptr %t1090 + call void @fn_emit(ptr @.str1468) + store ptr @.str1469, ptr %t1091 + %t1092 = load ptr, ptr %t1090 + %t1093 = call i32 @fn_str_eq(ptr %t1092, ptr @.str1470) + %t1094 = icmp eq i32 %t1093, 0 + %t1095 = zext i1 %t1094 to i32 + %t1096 = icmp ne i32 %t1095, 0 + br i1 %t1096, label %then173, label %ifend175 +then173: + %t1097 = call ptr @fn_nreg() + store ptr %t1097, ptr %t1091 + %t1098 = load ptr, ptr %t1091 + call void @fn_emit(ptr %t1098) + call void @fn_emit(ptr @.str1471) + br label %ifend175 +ifend175: + call void @fn_emit(ptr @.str1472) + %t1099 = load ptr, ptr %t1090 + call void @fn_emit(ptr %t1099) + call void @fn_emit(ptr @.str1473) + %t1100 = load ptr, ptr %t998 + %t1101 = getelementptr inbounds %Cmp_Node, ptr %t1100, i32 0, i32 4 + %t1102 = load ptr, ptr %t1101 + %t1103 = getelementptr inbounds %Cmp_Node, ptr %t1102, i32 0, i32 1 + %t1104 = load ptr, ptr %t1103 + call void @fn_emit(ptr %t1104) + call void @fn_emit(ptr @.str1474) + store i32 0, ptr %t1020 + br label %wcond176 +wcond176: + %t1105 = load i32, ptr %t1020 + %t1106 = load ptr, ptr %t1012 + %t1107 = getelementptr inbounds %LSlice, ptr %t1106, i32 0, i32 1 + %t1108 = load i32, ptr %t1107 + %t1109 = icmp slt i32 %t1105, %t1108 + %t1110 = zext i1 %t1109 to i32 + %t1111 = icmp ne i32 %t1110, 0 + br i1 %t1111, label %wbody177, label %wend178 +wbody177: + %t1112 = load i32, ptr %t1020 + %t1113 = icmp sgt i32 %t1112, 0 + %t1114 = zext i1 %t1113 to i32 + %t1115 = icmp ne i32 %t1114, 0 + br i1 %t1115, label %then179, label %ifend181 then179: - %t1119 = load ptr, ptr %t6 - %t1120 = call ptr @fn_str_concat(ptr @.str1177, ptr %t1119) - call void @fn_perr(ptr %t1120) + call void @fn_emit(ptr @.str1475) br label %ifend181 ifend181: - %t1121 = load ptr, ptr %t1112 - store ptr %t1121, ptr %t1105 - br label %ifend178 -ifend178: - %t1122 = getelementptr %LSlice, ptr null, i32 1 - %t1123 = ptrtoint ptr %t1122 to i64 - %t1124 = call ptr @malloc(i64 %t1123) - %t1125 = getelementptr inbounds %LSlice, ptr %t1124, i32 0, i32 0 - store ptr null, ptr %t1125 - %t1126 = getelementptr inbounds %LSlice, ptr %t1124, i32 0, i32 1 - store i32 0, ptr %t1126 - %t1127 = getelementptr inbounds %LSlice, ptr %t1124, i32 0, i32 2 - store i32 0, ptr %t1127 - store ptr %t1124, ptr %t1128 - %t1129 = getelementptr %LSlice, ptr null, i32 1 - %t1130 = ptrtoint ptr %t1129 to i64 - %t1131 = call ptr @malloc(i64 %t1130) - %t1132 = getelementptr inbounds %LSlice, ptr %t1131, i32 0, i32 0 - store ptr null, ptr %t1132 - %t1133 = getelementptr inbounds %LSlice, ptr %t1131, i32 0, i32 1 - store i32 0, ptr %t1133 - %t1134 = getelementptr inbounds %LSlice, ptr %t1131, i32 0, i32 2 - store i32 0, ptr %t1134 - store ptr %t1131, ptr %t1135 - store i32 0, ptr %t1136 - br label %wcond182 -wcond182: - %t1137 = load i32, ptr %t1136 - %t1138 = load ptr, ptr %t0 - %t1139 = getelementptr inbounds %Cmp_Node, ptr %t1138, i32 0, i32 7 - %t1140 = load ptr, ptr %t1139 - %t1141 = getelementptr inbounds %LSlice, ptr %t1140, i32 0, i32 1 - %t1142 = load i32, ptr %t1141 - %t1143 = icmp slt i32 %t1137, %t1142 - %t1144 = zext i1 %t1143 to i32 - %t1145 = icmp ne i32 %t1144, 0 - br i1 %t1145, label %wbody183, label %wend184 -wbody183: - %t1146 = load ptr, ptr %t0 - %t1147 = getelementptr inbounds %Cmp_Node, ptr %t1146, i32 0, i32 7 + %t1116 = load ptr, ptr %t1019 + %t1117 = getelementptr inbounds %LSlice, ptr %t1116, i32 0, i32 0 + %t1118 = load ptr, ptr %t1117 + %t1119 = load i32, ptr %t1020 + %t1120 = getelementptr inbounds ptr, ptr %t1118, i32 %t1119 + %t1121 = load ptr, ptr %t1120 + %t1122 = call ptr @fn_llty(ptr %t1121) + call void @fn_emit(ptr %t1122) + call void @fn_emit(ptr @.str1476) + %t1123 = load ptr, ptr %t1012 + %t1124 = getelementptr inbounds %LSlice, ptr %t1123, i32 0, i32 0 + %t1125 = load ptr, ptr %t1124 + %t1126 = load i32, ptr %t1020 + %t1127 = getelementptr inbounds ptr, ptr %t1125, i32 %t1126 + %t1128 = load ptr, ptr %t1127 + call void @fn_emit(ptr %t1128) + %t1129 = load i32, ptr %t1020 + %t1130 = add i32 %t1129, 1 + store i32 %t1130, ptr %t1020 + br label %wcond176 +wend178: + call void @fn_emit(ptr @.str1477) + %t1131 = load ptr, ptr %t1091 + %t1132 = load ptr, ptr %t998 + %t1133 = getelementptr inbounds %Cmp_Node, ptr %t1132, i32 0, i32 3 + %t1134 = load ptr, ptr %t1133 + %t1135 = call ptr @fn_val(ptr %t1131, ptr %t1134) + store ptr %t1135, ptr %retval + br label %ret +ifend165: + %t1136 = load ptr, ptr %t38 + %t1137 = call ptr @fn_find_fn(ptr %t1136) + store ptr %t1137, ptr %t1138 + %t1139 = load ptr, ptr %t38 + store ptr %t1139, ptr %t1140 + %t1141 = load ptr, ptr %t1138 + %t1142 = icmp eq ptr %t1141, null + %t1143 = zext i1 %t1142 to i32 + %t1144 = icmp ne i32 %t1143, 0 + br i1 %t1144, label %then182, label %ifend184 +then182: + %t1145 = load ptr, ptr %t38 + %t1146 = call ptr @fn_str_concat(ptr @.str1478, ptr %t1145) + store ptr %t1146, ptr %t1147 %t1148 = load ptr, ptr %t1147 - %t1149 = getelementptr inbounds %LSlice, ptr %t1148, i32 0, i32 0 - %t1150 = load ptr, ptr %t1149 - %t1151 = load i32, ptr %t1136 - %t1152 = getelementptr inbounds ptr, ptr %t1150, i32 %t1151 - %t1153 = load ptr, ptr %t1152 - %t1154 = call ptr @fn_emit_expr(ptr %t1153) - store ptr %t1154, ptr %t1155 - %t1156 = load ptr, ptr %t1128 - %t1157 = getelementptr inbounds %LSlice, ptr %t1156, i32 0, i32 1 - %t1158 = getelementptr inbounds %LSlice, ptr %t1156, i32 0, i32 2 - %t1159 = getelementptr inbounds %LSlice, ptr %t1156, i32 0, i32 0 - %t1160 = load i32, ptr %t1157 - %t1161 = load i32, ptr %t1158 - %t1162 = icmp sge i32 %t1160, %t1161 - br i1 %t1162, label %grow185, label %put186 -grow185: - %t1163 = mul i32 %t1161, 2 - %t1164 = icmp eq i32 %t1161, 0 - %t1165 = select i1 %t1164, i32 8, i32 %t1163 - %t1166 = getelementptr ptr, ptr null, i32 1 - %t1167 = ptrtoint ptr %t1166 to i64 - %t1168 = zext i32 %t1165 to i64 - %t1169 = mul i64 %t1168, %t1167 - %t1170 = load ptr, ptr %t1159 - %t1171 = call ptr @realloc(ptr %t1170, i64 %t1169) - store ptr %t1171, ptr %t1159 - store i32 %t1165, ptr %t1158 - br label %put186 -put186: - %t1172 = load ptr, ptr %t1155 - %t1173 = getelementptr inbounds %Cmp_Val, ptr %t1172, i32 0, i32 0 - %t1174 = load ptr, ptr %t1173 - %t1175 = load ptr, ptr %t1159 - %t1176 = getelementptr inbounds ptr, ptr %t1175, i32 %t1160 - store ptr %t1174, ptr %t1176 - %t1177 = add i32 %t1160, 1 - store i32 %t1177, ptr %t1157 - %t1178 = load ptr, ptr %t1135 + %t1149 = call ptr @fn_find_fn(ptr %t1148) + store ptr %t1149, ptr %t1138 + %t1150 = load ptr, ptr %t1138 + %t1151 = icmp eq ptr %t1150, null + %t1152 = zext i1 %t1151 to i32 + %t1153 = icmp ne i32 %t1152, 0 + br i1 %t1153, label %then185, label %ifend187 +then185: + %t1154 = load ptr, ptr %t38 + %t1155 = call ptr @fn_str_concat(ptr @.str1479, ptr %t1154) + call void @fn_perr(ptr %t1155) + br label %ifend187 +ifend187: + %t1156 = load ptr, ptr %t1147 + store ptr %t1156, ptr %t1140 + br label %ifend184 +ifend184: + %t1157 = load ptr, ptr %t0 + %t1158 = load ptr, ptr %t1138 + %t1159 = call ptr @fn_param_labels(ptr %t1158) + call void @fn_reorder_named(ptr %t1157, ptr %t1159) + %t1160 = getelementptr %LSlice, ptr null, i32 1 + %t1161 = ptrtoint ptr %t1160 to i64 + %t1162 = call ptr @malloc(i64 %t1161) + %t1163 = getelementptr inbounds %LSlice, ptr %t1162, i32 0, i32 0 + store ptr null, ptr %t1163 + %t1164 = getelementptr inbounds %LSlice, ptr %t1162, i32 0, i32 1 + store i32 0, ptr %t1164 + %t1165 = getelementptr inbounds %LSlice, ptr %t1162, i32 0, i32 2 + store i32 0, ptr %t1165 + store ptr %t1162, ptr %t1166 + %t1167 = getelementptr %LSlice, ptr null, i32 1 + %t1168 = ptrtoint ptr %t1167 to i64 + %t1169 = call ptr @malloc(i64 %t1168) + %t1170 = getelementptr inbounds %LSlice, ptr %t1169, i32 0, i32 0 + store ptr null, ptr %t1170 + %t1171 = getelementptr inbounds %LSlice, ptr %t1169, i32 0, i32 1 + store i32 0, ptr %t1171 + %t1172 = getelementptr inbounds %LSlice, ptr %t1169, i32 0, i32 2 + store i32 0, ptr %t1172 + store ptr %t1169, ptr %t1173 + store i32 0, ptr %t1174 + br label %wcond188 +wcond188: + %t1175 = load i32, ptr %t1174 + %t1176 = load ptr, ptr %t0 + %t1177 = getelementptr inbounds %Cmp_Node, ptr %t1176, i32 0, i32 7 + %t1178 = load ptr, ptr %t1177 %t1179 = getelementptr inbounds %LSlice, ptr %t1178, i32 0, i32 1 - %t1180 = getelementptr inbounds %LSlice, ptr %t1178, i32 0, i32 2 - %t1181 = getelementptr inbounds %LSlice, ptr %t1178, i32 0, i32 0 - %t1182 = load i32, ptr %t1179 - %t1183 = load i32, ptr %t1180 - %t1184 = icmp sge i32 %t1182, %t1183 - br i1 %t1184, label %grow187, label %put188 -grow187: - %t1185 = mul i32 %t1183, 2 - %t1186 = icmp eq i32 %t1183, 0 - %t1187 = select i1 %t1186, i32 8, i32 %t1185 - %t1188 = getelementptr ptr, ptr null, i32 1 - %t1189 = ptrtoint ptr %t1188 to i64 - %t1190 = zext i32 %t1187 to i64 - %t1191 = mul i64 %t1190, %t1189 - %t1192 = load ptr, ptr %t1181 - %t1193 = call ptr @realloc(ptr %t1192, i64 %t1191) - store ptr %t1193, ptr %t1181 - store i32 %t1187, ptr %t1180 - br label %put188 -put188: - %t1194 = load ptr, ptr %t1155 - %t1195 = getelementptr inbounds %Cmp_Val, ptr %t1194, i32 0, i32 1 - %t1196 = load ptr, ptr %t1195 - %t1197 = load ptr, ptr %t1181 - %t1198 = getelementptr inbounds ptr, ptr %t1197, i32 %t1182 - store ptr %t1196, ptr %t1198 - %t1199 = add i32 %t1182, 1 - store i32 %t1199, ptr %t1179 - %t1200 = load i32, ptr %t1136 - %t1201 = add i32 %t1200, 1 - store i32 %t1201, ptr %t1136 - br label %wcond182 -wend184: - %t1202 = load ptr, ptr %t1103 - %t1203 = getelementptr inbounds %Cmp_Node, ptr %t1202, i32 0, i32 3 - %t1204 = load ptr, ptr %t1203 - %t1205 = call ptr @fn_llty(ptr %t1204) - store ptr %t1205, ptr %t1206 - call void @fn_emit(ptr @.str1178) - store ptr @.str1179, ptr %t1207 - %t1208 = load ptr, ptr %t1206 - %t1209 = call i32 @fn_str_eq(ptr %t1208, ptr @.str1180) - %t1210 = icmp eq i32 %t1209, 0 - %t1211 = zext i1 %t1210 to i32 - %t1212 = icmp ne i32 %t1211, 0 - br i1 %t1212, label %then189, label %ifend191 -then189: - %t1213 = call ptr @fn_nreg() - store ptr %t1213, ptr %t1207 - %t1214 = load ptr, ptr %t1207 - call void @fn_emit(ptr %t1214) - call void @fn_emit(ptr @.str1181) - br label %ifend191 -ifend191: - call void @fn_emit(ptr @.str1182) - %t1215 = load ptr, ptr %t1206 - call void @fn_emit(ptr %t1215) - call void @fn_emit(ptr @.str1183) - %t1216 = load ptr, ptr %t1105 - call void @fn_emit(ptr %t1216) - call void @fn_emit(ptr @.str1184) - store i32 0, ptr %t1136 - br label %wcond192 -wcond192: - %t1217 = load i32, ptr %t1136 - %t1218 = load ptr, ptr %t1128 - %t1219 = getelementptr inbounds %LSlice, ptr %t1218, i32 0, i32 1 - %t1220 = load i32, ptr %t1219 - %t1221 = icmp slt i32 %t1217, %t1220 - %t1222 = zext i1 %t1221 to i32 - %t1223 = icmp ne i32 %t1222, 0 - br i1 %t1223, label %wbody193, label %wend194 -wbody193: - %t1224 = load i32, ptr %t1136 - %t1225 = icmp sgt i32 %t1224, 0 - %t1226 = zext i1 %t1225 to i32 - %t1227 = icmp ne i32 %t1226, 0 - br i1 %t1227, label %then195, label %ifend197 + %t1180 = load i32, ptr %t1179 + %t1181 = icmp slt i32 %t1175, %t1180 + %t1182 = zext i1 %t1181 to i32 + %t1183 = icmp ne i32 %t1182, 0 + br i1 %t1183, label %wbody189, label %wend190 +wbody189: + %t1184 = load ptr, ptr %t0 + %t1185 = getelementptr inbounds %Cmp_Node, ptr %t1184, i32 0, i32 7 + %t1186 = load ptr, ptr %t1185 + %t1187 = getelementptr inbounds %LSlice, ptr %t1186, i32 0, i32 0 + %t1188 = load ptr, ptr %t1187 + %t1189 = load i32, ptr %t1174 + %t1190 = getelementptr inbounds ptr, ptr %t1188, i32 %t1189 + %t1191 = load ptr, ptr %t1190 + %t1192 = call ptr @fn_emit_expr(ptr %t1191) + store ptr %t1192, ptr %t1193 + %t1194 = load ptr, ptr %t1166 + %t1195 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 1 + %t1196 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 2 + %t1197 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 0 + %t1198 = load i32, ptr %t1195 + %t1199 = load i32, ptr %t1196 + %t1200 = icmp sge i32 %t1198, %t1199 + br i1 %t1200, label %grow191, label %put192 +grow191: + %t1201 = mul i32 %t1199, 2 + %t1202 = icmp eq i32 %t1199, 0 + %t1203 = select i1 %t1202, i32 8, i32 %t1201 + %t1204 = getelementptr ptr, ptr null, i32 1 + %t1205 = ptrtoint ptr %t1204 to i64 + %t1206 = zext i32 %t1203 to i64 + %t1207 = mul i64 %t1206, %t1205 + %t1208 = load ptr, ptr %t1197 + %t1209 = call ptr @realloc(ptr %t1208, i64 %t1207) + store ptr %t1209, ptr %t1197 + store i32 %t1203, ptr %t1196 + br label %put192 +put192: + %t1210 = load ptr, ptr %t1193 + %t1211 = getelementptr inbounds %Cmp_Val, ptr %t1210, i32 0, i32 0 + %t1212 = load ptr, ptr %t1211 + %t1213 = load ptr, ptr %t1197 + %t1214 = getelementptr inbounds ptr, ptr %t1213, i32 %t1198 + store ptr %t1212, ptr %t1214 + %t1215 = add i32 %t1198, 1 + store i32 %t1215, ptr %t1195 + %t1216 = load ptr, ptr %t1173 + %t1217 = getelementptr inbounds %LSlice, ptr %t1216, i32 0, i32 1 + %t1218 = getelementptr inbounds %LSlice, ptr %t1216, i32 0, i32 2 + %t1219 = getelementptr inbounds %LSlice, ptr %t1216, i32 0, i32 0 + %t1220 = load i32, ptr %t1217 + %t1221 = load i32, ptr %t1218 + %t1222 = icmp sge i32 %t1220, %t1221 + br i1 %t1222, label %grow193, label %put194 +grow193: + %t1223 = mul i32 %t1221, 2 + %t1224 = icmp eq i32 %t1221, 0 + %t1225 = select i1 %t1224, i32 8, i32 %t1223 + %t1226 = getelementptr ptr, ptr null, i32 1 + %t1227 = ptrtoint ptr %t1226 to i64 + %t1228 = zext i32 %t1225 to i64 + %t1229 = mul i64 %t1228, %t1227 + %t1230 = load ptr, ptr %t1219 + %t1231 = call ptr @realloc(ptr %t1230, i64 %t1229) + store ptr %t1231, ptr %t1219 + store i32 %t1225, ptr %t1218 + br label %put194 +put194: + %t1232 = load ptr, ptr %t1193 + %t1233 = getelementptr inbounds %Cmp_Val, ptr %t1232, i32 0, i32 1 + %t1234 = load ptr, ptr %t1233 + %t1235 = load ptr, ptr %t1219 + %t1236 = getelementptr inbounds ptr, ptr %t1235, i32 %t1220 + store ptr %t1234, ptr %t1236 + %t1237 = add i32 %t1220, 1 + store i32 %t1237, ptr %t1217 + %t1238 = load i32, ptr %t1174 + %t1239 = add i32 %t1238, 1 + store i32 %t1239, ptr %t1174 + br label %wcond188 +wend190: + %t1240 = load ptr, ptr %t1138 + %t1241 = getelementptr inbounds %Cmp_Node, ptr %t1240, i32 0, i32 3 + %t1242 = load ptr, ptr %t1241 + %t1243 = call ptr @fn_llty(ptr %t1242) + store ptr %t1243, ptr %t1244 + call void @fn_emit(ptr @.str1480) + store ptr @.str1481, ptr %t1245 + %t1246 = load ptr, ptr %t1244 + %t1247 = call i32 @fn_str_eq(ptr %t1246, ptr @.str1482) + %t1248 = icmp eq i32 %t1247, 0 + %t1249 = zext i1 %t1248 to i32 + %t1250 = icmp ne i32 %t1249, 0 + br i1 %t1250, label %then195, label %ifend197 then195: - call void @fn_emit(ptr @.str1185) + %t1251 = call ptr @fn_nreg() + store ptr %t1251, ptr %t1245 + %t1252 = load ptr, ptr %t1245 + call void @fn_emit(ptr %t1252) + call void @fn_emit(ptr @.str1483) br label %ifend197 ifend197: - %t1228 = load ptr, ptr %t1135 - %t1229 = getelementptr inbounds %LSlice, ptr %t1228, i32 0, i32 0 - %t1230 = load ptr, ptr %t1229 - %t1231 = load i32, ptr %t1136 - %t1232 = getelementptr inbounds ptr, ptr %t1230, i32 %t1231 - %t1233 = load ptr, ptr %t1232 - %t1234 = call ptr @fn_llty(ptr %t1233) - call void @fn_emit(ptr %t1234) - call void @fn_emit(ptr @.str1186) - %t1235 = load ptr, ptr %t1128 - %t1236 = getelementptr inbounds %LSlice, ptr %t1235, i32 0, i32 0 - %t1237 = load ptr, ptr %t1236 - %t1238 = load i32, ptr %t1136 - %t1239 = getelementptr inbounds ptr, ptr %t1237, i32 %t1238 - %t1240 = load ptr, ptr %t1239 - call void @fn_emit(ptr %t1240) - %t1241 = load i32, ptr %t1136 - %t1242 = add i32 %t1241, 1 - store i32 %t1242, ptr %t1136 - br label %wcond192 -wend194: - call void @fn_emit(ptr @.str1187) - %t1243 = load ptr, ptr %t1207 - %t1244 = load ptr, ptr %t1103 - %t1245 = getelementptr inbounds %Cmp_Node, ptr %t1244, i32 0, i32 3 - %t1246 = load ptr, ptr %t1245 - %t1247 = call ptr @fn_val(ptr %t1243, ptr %t1246) - store ptr %t1247, ptr %retval + call void @fn_emit(ptr @.str1484) + %t1253 = load ptr, ptr %t1244 + call void @fn_emit(ptr %t1253) + call void @fn_emit(ptr @.str1485) + %t1254 = load ptr, ptr %t1140 + call void @fn_emit(ptr %t1254) + call void @fn_emit(ptr @.str1486) + store i32 0, ptr %t1174 + br label %wcond198 +wcond198: + %t1255 = load i32, ptr %t1174 + %t1256 = load ptr, ptr %t1166 + %t1257 = getelementptr inbounds %LSlice, ptr %t1256, i32 0, i32 1 + %t1258 = load i32, ptr %t1257 + %t1259 = icmp slt i32 %t1255, %t1258 + %t1260 = zext i1 %t1259 to i32 + %t1261 = icmp ne i32 %t1260, 0 + br i1 %t1261, label %wbody199, label %wend200 +wbody199: + %t1262 = load i32, ptr %t1174 + %t1263 = icmp sgt i32 %t1262, 0 + %t1264 = zext i1 %t1263 to i32 + %t1265 = icmp ne i32 %t1264, 0 + br i1 %t1265, label %then201, label %ifend203 +then201: + call void @fn_emit(ptr @.str1487) + br label %ifend203 +ifend203: + %t1266 = load ptr, ptr %t1173 + %t1267 = getelementptr inbounds %LSlice, ptr %t1266, i32 0, i32 0 + %t1268 = load ptr, ptr %t1267 + %t1269 = load i32, ptr %t1174 + %t1270 = getelementptr inbounds ptr, ptr %t1268, i32 %t1269 + %t1271 = load ptr, ptr %t1270 + %t1272 = call ptr @fn_llty(ptr %t1271) + call void @fn_emit(ptr %t1272) + call void @fn_emit(ptr @.str1488) + %t1273 = load ptr, ptr %t1166 + %t1274 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 0 + %t1275 = load ptr, ptr %t1274 + %t1276 = load i32, ptr %t1174 + %t1277 = getelementptr inbounds ptr, ptr %t1275, i32 %t1276 + %t1278 = load ptr, ptr %t1277 + call void @fn_emit(ptr %t1278) + %t1279 = load i32, ptr %t1174 + %t1280 = add i32 %t1279, 1 + store i32 %t1280, ptr %t1174 + br label %wcond198 +wend200: + call void @fn_emit(ptr @.str1489) + %t1281 = load ptr, ptr %t1245 + %t1282 = load ptr, ptr %t1138 + %t1283 = getelementptr inbounds %Cmp_Node, ptr %t1282, i32 0, i32 3 + %t1284 = load ptr, ptr %t1283 + %t1285 = call ptr @fn_val(ptr %t1281, ptr %t1284) + store ptr %t1285, ptr %retval br label %ret ret: - %t1248 = load ptr, ptr %retval - ret ptr %t1248 + %t1286 = load ptr, ptr %retval + ret ptr %t1286 } define ptr @fn_emit_expr(ptr %arg_e) { @@ -19653,14 +23421,15 @@ entry: %t124 = alloca i32 %t146 = alloca ptr %t175 = alloca ptr - %t219 = alloca i32 - %t231 = alloca ptr - %t241 = alloca ptr + %t221 = alloca i32 + %t242 = alloca i32 %t254 = alloca ptr - %t266 = alloca ptr - %t273 = alloca ptr - %t316 = alloca ptr - %t346 = alloca ptr + %t264 = alloca ptr + %t277 = alloca ptr + %t289 = alloca ptr + %t296 = alloca ptr + %t339 = alloca ptr + %t369 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = icmp eq ptr %t1, null @@ -19668,7 +23437,7 @@ entry: %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: - %t5 = call ptr @fn_val(ptr @.str1188, ptr @.str1189) + %t5 = call ptr @fn_val(ptr @.str1490, ptr @.str1491) store ptr %t5, ptr %retval br label %ret ifend2: @@ -19684,7 +23453,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 @.str1190) + %t16 = call ptr @fn_val(ptr %t15, ptr @.str1492) store ptr %t16, ptr %retval br label %ret ifend5: @@ -19700,7 +23469,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 @.str1191) + %t27 = call ptr @fn_val(ptr %t26, ptr @.str1493) store ptr %t27, ptr %retval br label %ret ifend8: @@ -19716,7 +23485,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 @.str1192) + %t38 = call ptr @fn_val(ptr %t37, ptr @.str1494) store ptr %t38, ptr %retval br label %ret ifend11: @@ -19728,7 +23497,7 @@ ifend11: %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then12, label %ifend14 then12: - %t45 = call ptr @fn_val(ptr @.str1193, ptr @.str1194) + %t45 = call ptr @fn_val(ptr @.str1495, ptr @.str1496) store ptr %t45, ptr %retval br label %ret ifend14: @@ -19759,20 +23528,20 @@ then15: %t67 = load ptr, ptr %t56 %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0 %t69 = load ptr, ptr %t68 - %t70 = call ptr @fn_str_concat(ptr @.str1195, ptr %t69) - %t71 = call ptr @fn_str_concat(ptr %t70, ptr @.str1196) + %t70 = call ptr @fn_str_concat(ptr @.str1497, ptr %t69) + %t71 = call ptr @fn_str_concat(ptr %t70, ptr @.str1498) %t72 = load ptr, ptr %t61 %t73 = getelementptr inbounds %Cmp_Val, ptr %t72, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = call ptr @fn_str_concat(ptr %t71, ptr %t74) - %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str1197) + %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str1499) %t77 = load ptr, ptr %t66 %t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_str_concat(ptr %t76, ptr %t79) - %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str1198) + %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str1500) %t82 = call ptr @fn_emit_bind(ptr %t81) - %t83 = call ptr @fn_val(ptr %t82, ptr @.str1199) + %t83 = call ptr @fn_val(ptr %t82, ptr @.str1501) store ptr %t83, ptr %retval br label %ret ifend17: @@ -19788,7 +23557,7 @@ then18: %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 %t92 = load ptr, ptr %t91 %t93 = call ptr @fn_emit_str_const(ptr %t92) - %t94 = call ptr @fn_val(ptr %t93, ptr @.str1200) + %t94 = call ptr @fn_val(ptr %t93, ptr @.str1502) store ptr %t94, ptr %retval br label %ret ifend20: @@ -19881,7 +23650,7 @@ then36: %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 2 %t161 = load i32, ptr %t160 %t162 = call ptr @fn_itoa(i32 %t161) - %t163 = call ptr @fn_val(ptr %t162, ptr @.str1201) + %t163 = call ptr @fn_val(ptr %t162, ptr @.str1503) store ptr %t163, ptr %retval br label %ret ifend38: @@ -19889,8 +23658,8 @@ ifend38: %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 3 %t166 = load ptr, ptr %t165 %t167 = call ptr @fn_llty(ptr %t166) - %t168 = call ptr @fn_str_concat(ptr @.str1202, ptr %t167) - %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str1203) + %t168 = call ptr @fn_str_concat(ptr @.str1504, ptr %t167) + %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str1505) %t170 = load ptr, ptr %t0 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 1 %t172 = load ptr, ptr %t171 @@ -19917,14 +23686,14 @@ then39: %t188 = load ptr, ptr %t187 %t189 = call i32 @fn_ui_index_of(ptr %t188) %t190 = call ptr @fn_itoa(i32 %t189) - %t191 = call ptr @fn_val(ptr %t190, ptr @.str1204) + %t191 = call ptr @fn_val(ptr %t190, ptr @.str1506) store ptr %t191, ptr %retval br label %ret ifend41: %t192 = load ptr, ptr %t0 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 1 %t194 = load ptr, ptr %t193 - %t195 = call ptr @fn_str_concat(ptr @.str1205, ptr %t194) + %t195 = call ptr @fn_str_concat(ptr @.str1507, ptr %t194) call void @fn_perr(ptr %t195) br label %ifend29 ifend29: @@ -19951,209 +23720,242 @@ then45: %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 %t0 - %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 1 - %t217 = load ptr, ptr %t216 - %t218 = call i32 @fn_enum_ordinal(ptr %t214, ptr %t217) - store i32 %t218, ptr %t219 - %t220 = load i32, ptr %t219 - %t221 = icmp sge i32 %t220, 0 - %t222 = zext i1 %t221 to i32 - %t223 = icmp ne i32 %t222, 0 - br i1 %t223, label %then48, label %ifend50 + %t215 = call i32 @fn_str_eq(ptr %t214, ptr @.str1508) + %t216 = icmp ne i32 %t215, 0 + br i1 %t216, label %then48, label %ifend50 then48: - %t224 = load i32, ptr %t219 - %t225 = call ptr @fn_itoa(i32 %t224) - %t226 = call ptr @fn_val(ptr %t225, ptr @.str1206) - store ptr %t226, ptr %retval - br label %ret -ifend50: - br label %ifend47 -ifend47: - %t227 = load ptr, ptr %t0 - %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 4 - %t229 = load ptr, ptr %t228 - %t230 = call ptr @fn_static_type(ptr %t229) - store ptr %t230, ptr %t231 - %t232 = load ptr, ptr %t231 - %t233 = icmp ne ptr %t232, null - %t234 = zext i1 %t233 to i32 - %t235 = icmp ne i32 %t234, 0 - br i1 %t235, label %then51, label %ifend53 + %t217 = load ptr, ptr %t0 + %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 1 + %t219 = load ptr, ptr %t218 + %t220 = call i32 @fn_color_lookup(ptr %t219) + store i32 %t220, ptr %t221 + %t222 = load i32, ptr %t221 + %t223 = icmp slt i32 %t222, 0 + %t224 = zext i1 %t223 to i32 + %t225 = icmp ne i32 %t224, 0 + br i1 %t225, label %then51, label %ifend53 then51: - %t236 = load ptr, ptr %t231 - %t237 = load ptr, ptr %t0 - %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 1 - %t239 = load ptr, ptr %t238 - %t240 = call ptr @fn_computed_expr(ptr %t236, ptr %t239) - store ptr %t240, ptr %t241 - %t242 = load ptr, ptr %t241 - %t243 = icmp ne ptr %t242, null - %t244 = zext i1 %t243 to i32 - %t245 = icmp ne i32 %t244, 0 - br i1 %t245, label %then54, label %ifend56 -then54: - %t246 = load ptr, ptr %t241 - %t247 = load ptr, ptr %t0 - %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 4 - %t249 = load ptr, ptr %t248 - %t250 = call ptr @fn_qualify_fields(ptr %t246, ptr %t249) - %t251 = call ptr @fn_emit_expr(ptr %t250) - store ptr %t251, ptr %retval - br label %ret -ifend56: + %t226 = load ptr, ptr %t0 + %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 1 + %t228 = load ptr, ptr %t227 + %t229 = call ptr @fn_str_concat(ptr @.str1509, ptr %t228) + call void @fn_perr(ptr %t229) br label %ifend53 ifend53: - %t252 = load ptr, ptr %t0 - %t253 = call ptr @fn_emit_member_addr(ptr %t252) + %t230 = load i32, ptr %t221 + %t231 = call ptr @fn_itoa(i32 %t230) + %t232 = call ptr @fn_val(ptr %t231, ptr @.str1510) + store ptr %t232, ptr %retval + br label %ret +ifend50: + %t233 = load ptr, ptr %t0 + %t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 4 + %t235 = load ptr, ptr %t234 + %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 1 + %t237 = load ptr, ptr %t236 + %t238 = load ptr, ptr %t0 + %t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 1 + %t240 = load ptr, ptr %t239 + %t241 = call i32 @fn_enum_ordinal(ptr %t237, ptr %t240) + store i32 %t241, ptr %t242 + %t243 = load i32, ptr %t242 + %t244 = icmp sge i32 %t243, 0 + %t245 = zext i1 %t244 to i32 + %t246 = icmp ne i32 %t245, 0 + br i1 %t246, label %then54, label %ifend56 +then54: + %t247 = load i32, ptr %t242 + %t248 = call ptr @fn_itoa(i32 %t247) + %t249 = call ptr @fn_val(ptr %t248, ptr @.str1511) + store ptr %t249, ptr %retval + br label %ret +ifend56: + br label %ifend47 +ifend47: + %t250 = load ptr, ptr %t0 + %t251 = getelementptr inbounds %Cmp_Node, ptr %t250, i32 0, i32 4 + %t252 = load ptr, ptr %t251 + %t253 = call ptr @fn_static_type(ptr %t252) store ptr %t253, ptr %t254 %t255 = load ptr, ptr %t254 - %t256 = load ptr, ptr @g_g_addr_ty - %t257 = call ptr @fn_emit_load_at(ptr %t255, ptr %t256) - store ptr %t257, ptr %retval - br label %ret -ifend44: - %t258 = load ptr, ptr %t0 - %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 0 - %t260 = load i32, ptr %t259 - %t261 = icmp eq i32 %t260, 36 - %t262 = zext i1 %t261 to i32 - %t263 = icmp ne i32 %t262, 0 - br i1 %t263, label %then57, label %ifend59 + %t256 = icmp ne ptr %t255, null + %t257 = zext i1 %t256 to i32 + %t258 = icmp ne i32 %t257, 0 + br i1 %t258, label %then57, label %ifend59 then57: - %t264 = load ptr, ptr %t0 - %t265 = call ptr @fn_emit_index_addr(ptr %t264) - store ptr %t265, ptr %t266 - %t267 = load ptr, ptr @g_g_addr_ty - %t268 = call i32 @fn_str_eq(ptr %t267, ptr @.str1207) - %t269 = icmp ne i32 %t268, 0 - br i1 %t269, label %then60, label %ifend62 + %t259 = load ptr, ptr %t254 + %t260 = load ptr, ptr %t0 + %t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 1 + %t262 = load ptr, ptr %t261 + %t263 = call ptr @fn_computed_expr(ptr %t259, ptr %t262) + store ptr %t263, ptr %t264 + %t265 = load ptr, ptr %t264 + %t266 = icmp ne ptr %t265, null + %t267 = zext i1 %t266 to i32 + %t268 = icmp ne i32 %t267, 0 + br i1 %t268, label %then60, label %ifend62 then60: - %t270 = load ptr, ptr %t266 - %t271 = call ptr @fn_str_concat(ptr @.str1208, ptr %t270) - %t272 = call ptr @fn_emit_bind(ptr %t271) - store ptr %t272, ptr %t273 - %t274 = load ptr, ptr %t273 - %t275 = call ptr @fn_str_concat(ptr @.str1209, ptr %t274) - %t276 = call ptr @fn_str_concat(ptr %t275, ptr @.str1210) - %t277 = call ptr @fn_emit_bind(ptr %t276) - %t278 = call ptr @fn_val(ptr %t277, ptr @.str1211) - store ptr %t278, ptr %retval + %t269 = load ptr, ptr %t264 + %t270 = load ptr, ptr %t0 + %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 4 + %t272 = load ptr, ptr %t271 + %t273 = call ptr @fn_qualify_fields(ptr %t269, ptr %t272) + %t274 = call ptr @fn_emit_expr(ptr %t273) + store ptr %t274, ptr %retval br label %ret ifend62: - %t279 = load ptr, ptr %t266 - %t280 = load ptr, ptr @g_g_addr_ty - %t281 = call ptr @fn_emit_load_at(ptr %t279, ptr %t280) - store ptr %t281, ptr %retval - br label %ret + br label %ifend59 ifend59: - %t282 = load ptr, ptr %t0 - %t283 = getelementptr inbounds %Cmp_Node, ptr %t282, i32 0, i32 0 - %t284 = load i32, ptr %t283 - %t285 = icmp eq i32 %t284, 49 - %t286 = zext i1 %t285 to i32 - %t287 = icmp ne i32 %t286, 0 - br i1 %t287, label %then63, label %ifend65 -then63: - %t288 = load ptr, ptr %t0 - %t289 = call ptr @fn_emit_emit(ptr %t288) - store ptr %t289, ptr %retval + %t275 = load ptr, ptr %t0 + %t276 = call ptr @fn_emit_member_addr(ptr %t275) + store ptr %t276, ptr %t277 + %t278 = load ptr, ptr %t277 + %t279 = load ptr, ptr @g_g_addr_ty + %t280 = call ptr @fn_emit_load_at(ptr %t278, ptr %t279) + store ptr %t280, ptr %retval br label %ret -ifend65: - %t290 = load ptr, ptr %t0 - %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 0 - %t292 = load i32, ptr %t291 - %t293 = icmp eq i32 %t292, 34 - %t294 = zext i1 %t293 to i32 - %t295 = icmp ne i32 %t294, 0 - br i1 %t295, label %then66, label %ifend68 +ifend44: + %t281 = load ptr, ptr %t0 + %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 0 + %t283 = load i32, ptr %t282 + %t284 = icmp eq i32 %t283, 36 + %t285 = zext i1 %t284 to i32 + %t286 = icmp ne i32 %t285, 0 + br i1 %t286, label %then63, label %ifend65 +then63: + %t287 = load ptr, ptr %t0 + %t288 = call ptr @fn_emit_index_addr(ptr %t287) + store ptr %t288, ptr %t289 + %t290 = load ptr, ptr @g_g_addr_ty + %t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str1512) + %t292 = icmp ne i32 %t291, 0 + br i1 %t292, label %then66, label %ifend68 then66: - %t296 = load ptr, ptr %t0 - %t297 = call ptr @fn_emit_call(ptr %t296) - store ptr %t297, ptr %retval + %t293 = load ptr, ptr %t289 + %t294 = call ptr @fn_str_concat(ptr @.str1513, ptr %t293) + %t295 = call ptr @fn_emit_bind(ptr %t294) + store ptr %t295, ptr %t296 + %t297 = load ptr, ptr %t296 + %t298 = call ptr @fn_str_concat(ptr @.str1514, ptr %t297) + %t299 = call ptr @fn_str_concat(ptr %t298, ptr @.str1515) + %t300 = call ptr @fn_emit_bind(ptr %t299) + %t301 = call ptr @fn_val(ptr %t300, ptr @.str1516) + store ptr %t301, ptr %retval br label %ret ifend68: - %t298 = load ptr, ptr %t0 - %t299 = getelementptr inbounds %Cmp_Node, ptr %t298, i32 0, i32 0 - %t300 = load i32, ptr %t299 - %t301 = icmp eq i32 %t300, 37 - %t302 = zext i1 %t301 to i32 - %t303 = icmp ne i32 %t302, 0 - br i1 %t303, label %then69, label %ifend71 + %t302 = load ptr, ptr %t289 + %t303 = load ptr, ptr @g_g_addr_ty + %t304 = call ptr @fn_emit_load_at(ptr %t302, ptr %t303) + store ptr %t304, ptr %retval + br label %ret +ifend65: + %t305 = load ptr, ptr %t0 + %t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 0 + %t307 = load i32, ptr %t306 + %t308 = icmp eq i32 %t307, 49 + %t309 = zext i1 %t308 to i32 + %t310 = icmp ne i32 %t309, 0 + br i1 %t310, label %then69, label %ifend71 then69: - %t304 = load ptr, ptr %t0 - %t305 = call ptr @fn_emit_bin(ptr %t304) - store ptr %t305, ptr %retval + %t311 = load ptr, ptr %t0 + %t312 = call ptr @fn_emit_emit(ptr %t311) + store ptr %t312, ptr %retval br label %ret ifend71: - %t306 = load ptr, ptr %t0 - %t307 = getelementptr inbounds %Cmp_Node, ptr %t306, i32 0, i32 0 - %t308 = load i32, ptr %t307 - %t309 = icmp eq i32 %t308, 38 - %t310 = zext i1 %t309 to i32 - %t311 = icmp ne i32 %t310, 0 - br i1 %t311, label %then72, label %ifend74 + %t313 = load ptr, ptr %t0 + %t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 0 + %t315 = load i32, ptr %t314 + %t316 = icmp eq i32 %t315, 34 + %t317 = zext i1 %t316 to i32 + %t318 = icmp ne i32 %t317, 0 + br i1 %t318, label %then72, label %ifend74 then72: - %t312 = load ptr, ptr %t0 - %t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 4 - %t314 = load ptr, ptr %t313 - %t315 = call ptr @fn_emit_expr(ptr %t314) - store ptr %t315, ptr %t316 - %t317 = load ptr, ptr %t0 - %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 1 - %t319 = load ptr, ptr %t318 - %t320 = call i32 @fn_str_eq(ptr %t319, ptr @.str1212) - %t321 = icmp ne i32 %t320, 0 - br i1 %t321, label %then75, label %ifend77 -then75: - %t322 = load ptr, ptr %t316 - %t323 = getelementptr inbounds %Cmp_Val, ptr %t322, i32 0, i32 0 - %t324 = load ptr, ptr %t323 - %t325 = call ptr @fn_str_concat(ptr @.str1213, ptr %t324) - %t326 = call ptr @fn_emit_bind(ptr %t325) - %t327 = call ptr @fn_val(ptr %t326, ptr @.str1214) - store ptr %t327, ptr %retval - br label %ret -ifend77: - %t328 = load ptr, ptr %t0 - %t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 1 - %t330 = load ptr, ptr %t329 - %t331 = call i32 @fn_str_eq(ptr %t330, ptr @.str1215) - %t332 = icmp ne i32 %t331, 0 - br i1 %t332, label %then78, label %ifend80 -then78: - %t333 = load ptr, ptr %t316 - %t334 = getelementptr inbounds %Cmp_Val, ptr %t333, i32 0, i32 0 - %t335 = load ptr, ptr %t334 - %t336 = call ptr @fn_str_concat(ptr @.str1216, ptr %t335) - %t337 = call ptr @fn_str_concat(ptr %t336, ptr @.str1217) - %t338 = call ptr @fn_emit_bind(ptr %t337) - %t339 = call ptr @fn_val(ptr %t338, ptr @.str1218) - store ptr %t339, ptr %retval - br label %ret -ifend80: - %t340 = load ptr, ptr %t316 - %t341 = getelementptr inbounds %Cmp_Val, ptr %t340, i32 0, i32 0 - %t342 = load ptr, ptr %t341 - %t343 = call ptr @fn_str_concat(ptr @.str1219, ptr %t342) - %t344 = call ptr @fn_str_concat(ptr %t343, ptr @.str1220) - %t345 = call ptr @fn_emit_bind(ptr %t344) - store ptr %t345, ptr %t346 - %t347 = load ptr, ptr %t346 - %t348 = call ptr @fn_str_concat(ptr @.str1221, ptr %t347) - %t349 = call ptr @fn_str_concat(ptr %t348, ptr @.str1222) - %t350 = call ptr @fn_emit_bind(ptr %t349) - %t351 = call ptr @fn_val(ptr %t350, ptr @.str1223) - store ptr %t351, ptr %retval + %t319 = load ptr, ptr %t0 + %t320 = call ptr @fn_emit_call(ptr %t319) + store ptr %t320, ptr %retval br label %ret ifend74: - call void @fn_perr(ptr @.str1224) - %t352 = call ptr @fn_val(ptr @.str1225, ptr @.str1226) - store ptr %t352, ptr %retval + %t321 = load ptr, ptr %t0 + %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 0 + %t323 = load i32, ptr %t322 + %t324 = icmp eq i32 %t323, 37 + %t325 = zext i1 %t324 to i32 + %t326 = icmp ne i32 %t325, 0 + br i1 %t326, label %then75, label %ifend77 +then75: + %t327 = load ptr, ptr %t0 + %t328 = call ptr @fn_emit_bin(ptr %t327) + store ptr %t328, ptr %retval + br label %ret +ifend77: + %t329 = load ptr, ptr %t0 + %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 0 + %t331 = load i32, ptr %t330 + %t332 = icmp eq i32 %t331, 38 + %t333 = zext i1 %t332 to i32 + %t334 = icmp ne i32 %t333, 0 + br i1 %t334, label %then78, label %ifend80 +then78: + %t335 = load ptr, ptr %t0 + %t336 = getelementptr inbounds %Cmp_Node, ptr %t335, i32 0, i32 4 + %t337 = load ptr, ptr %t336 + %t338 = call ptr @fn_emit_expr(ptr %t337) + store ptr %t338, ptr %t339 + %t340 = load ptr, ptr %t0 + %t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 1 + %t342 = load ptr, ptr %t341 + %t343 = call i32 @fn_str_eq(ptr %t342, ptr @.str1517) + %t344 = icmp ne i32 %t343, 0 + br i1 %t344, label %then81, label %ifend83 +then81: + %t345 = load ptr, ptr %t339 + %t346 = getelementptr inbounds %Cmp_Val, ptr %t345, i32 0, i32 0 + %t347 = load ptr, ptr %t346 + %t348 = call ptr @fn_str_concat(ptr @.str1518, ptr %t347) + %t349 = call ptr @fn_emit_bind(ptr %t348) + %t350 = call ptr @fn_val(ptr %t349, ptr @.str1519) + store ptr %t350, ptr %retval + br label %ret +ifend83: + %t351 = load ptr, ptr %t0 + %t352 = getelementptr inbounds %Cmp_Node, ptr %t351, i32 0, i32 1 + %t353 = load ptr, ptr %t352 + %t354 = call i32 @fn_str_eq(ptr %t353, ptr @.str1520) + %t355 = icmp ne i32 %t354, 0 + br i1 %t355, label %then84, label %ifend86 +then84: + %t356 = load ptr, ptr %t339 + %t357 = getelementptr inbounds %Cmp_Val, ptr %t356, i32 0, i32 0 + %t358 = load ptr, ptr %t357 + %t359 = call ptr @fn_str_concat(ptr @.str1521, ptr %t358) + %t360 = call ptr @fn_str_concat(ptr %t359, ptr @.str1522) + %t361 = call ptr @fn_emit_bind(ptr %t360) + %t362 = call ptr @fn_val(ptr %t361, ptr @.str1523) + store ptr %t362, ptr %retval + br label %ret +ifend86: + %t363 = load ptr, ptr %t339 + %t364 = getelementptr inbounds %Cmp_Val, ptr %t363, i32 0, i32 0 + %t365 = load ptr, ptr %t364 + %t366 = call ptr @fn_str_concat(ptr @.str1524, ptr %t365) + %t367 = call ptr @fn_str_concat(ptr %t366, ptr @.str1525) + %t368 = call ptr @fn_emit_bind(ptr %t367) + store ptr %t368, ptr %t369 + %t370 = load ptr, ptr %t369 + %t371 = call ptr @fn_str_concat(ptr @.str1526, ptr %t370) + %t372 = call ptr @fn_str_concat(ptr %t371, ptr @.str1527) + %t373 = call ptr @fn_emit_bind(ptr %t372) + %t374 = call ptr @fn_val(ptr %t373, ptr @.str1528) + store ptr %t374, ptr %retval + br label %ret +ifend80: + call void @fn_perr(ptr @.str1529) + %t375 = call ptr @fn_val(ptr @.str1530, ptr @.str1531) + store ptr %t375, ptr %retval br label %ret ret: - %t353 = load ptr, ptr %retval - ret ptr %t353 + %t376 = load ptr, ptr %retval + ret ptr %t376 } define void @fn_emit_block(ptr %arg_b) { @@ -20208,16 +24010,16 @@ entry: store ptr %arg_lt, ptr %t0 store ptr %arg_v, ptr %t1 store ptr %arg_addr, ptr %t2 - call void @fn_emit(ptr @.str1227) + call void @fn_emit(ptr @.str1532) %t3 = load ptr, ptr %t0 call void @fn_emit(ptr %t3) - call void @fn_emit(ptr @.str1228) + call void @fn_emit(ptr @.str1533) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str1229) + call void @fn_emit(ptr @.str1534) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str1230) + call void @fn_emit(ptr @.str1535) br label %ret ret: ret void @@ -20241,8 +24043,8 @@ entry: %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 store ptr %t3, ptr %t4 - store ptr @.str1231, ptr %t5 - store ptr @.str1232, ptr %t6 + store ptr @.str1536, ptr %t5 + store ptr @.str1537, ptr %t6 %t7 = load ptr, ptr %t4 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 @@ -20276,8 +24078,8 @@ 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 @.str1233, ptr %t33) - %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str1234) + %t34 = call ptr @fn_str_concat(ptr @.str1538, ptr %t33) + %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str1539) %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 8 %t38 = load i32, ptr %t37 @@ -20316,14 +24118,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 @.str1235, ptr %t64) + %t65 = call ptr @fn_str_concat(ptr @.str1540, 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 @.str1236, ptr %t68) + %t69 = call ptr @fn_str_concat(ptr @.str1541, ptr %t68) store ptr %t69, ptr %t5 %t70 = load ptr, ptr %t57 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 3 @@ -20363,7 +24165,7 @@ then15: store ptr %t90, ptr %t6 br label %ifend17 else16: - call void @fn_perr(ptr @.str1237) + call void @fn_perr(ptr @.str1542) br label %ifend17 ifend17: br label %ifend14 @@ -20385,55 +24187,55 @@ ifend2: %t103 = load ptr, ptr %t0 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1 %t105 = load ptr, ptr %t104 - %t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str1238) + %t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str1543) %t107 = icmp eq i32 %t106, 0 %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then18, label %ifend20 then18: %t110 = load ptr, ptr %t93 - %t111 = call ptr @fn_str_concat(ptr @.str1239, ptr %t110) - %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str1240) + %t111 = call ptr @fn_str_concat(ptr @.str1544, ptr %t110) + %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str1545) %t113 = load ptr, ptr %t5 %t114 = call ptr @fn_str_concat(ptr %t112, ptr %t113) %t115 = call ptr @fn_emit_bind(ptr %t114) store ptr %t115, ptr %t116 - store ptr @.str1241, ptr %t117 + store ptr @.str1546, ptr %t117 %t118 = load ptr, ptr %t0 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 1 %t120 = load ptr, ptr %t119 - %t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str1242) + %t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str1547) %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then21, label %ifend23 then21: - store ptr @.str1243, ptr %t117 + store ptr @.str1548, ptr %t117 br label %ifend23 ifend23: %t123 = load ptr, ptr %t0 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1 %t125 = load ptr, ptr %t124 - %t126 = call i32 @fn_str_eq(ptr %t125, ptr @.str1244) + %t126 = call i32 @fn_str_eq(ptr %t125, ptr @.str1549) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then24, label %ifend26 then24: - store ptr @.str1245, ptr %t117 + store ptr @.str1550, ptr %t117 br label %ifend26 ifend26: %t128 = load ptr, ptr %t0 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1 %t130 = load ptr, ptr %t129 - %t131 = call i32 @fn_str_eq(ptr %t130, ptr @.str1246) + %t131 = call i32 @fn_str_eq(ptr %t130, ptr @.str1551) %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then27, label %ifend29 then27: - store ptr @.str1247, ptr %t117 + store ptr @.str1552, ptr %t117 br label %ifend29 ifend29: %t133 = load ptr, ptr %t117 - %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str1248) + %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str1553) %t135 = load ptr, ptr %t116 %t136 = call ptr @fn_str_concat(ptr %t134, ptr %t135) - %t137 = call ptr @fn_str_concat(ptr %t136, ptr @.str1249) + %t137 = call ptr @fn_str_concat(ptr %t136, ptr @.str1554) %t138 = load ptr, ptr %t102 %t139 = call ptr @fn_str_concat(ptr %t137, ptr %t138) %t140 = call ptr @fn_emit_bind(ptr %t139) @@ -20441,13 +24243,13 @@ ifend29: br label %ifend20 ifend20: %t141 = load ptr, ptr %t93 - %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str1250) + %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str1555) %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then30, label %ifend32 then30: %t144 = load ptr, ptr %t102 - %t145 = call ptr @fn_str_concat(ptr @.str1251, ptr %t144) - %t146 = call ptr @fn_str_concat(ptr %t145, ptr @.str1252) + %t145 = call ptr @fn_str_concat(ptr @.str1556, ptr %t144) + %t146 = call ptr @fn_str_concat(ptr %t145, ptr @.str1557) %t147 = call ptr @fn_emit_bind(ptr %t146) store ptr %t147, ptr %t102 br label %ifend32 @@ -20479,8 +24281,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 @.str1253, ptr %t8) - %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str1254) + %t9 = call ptr @fn_str_concat(ptr @.str1558, ptr %t8) + %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str1559) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t0 @@ -20489,43 +24291,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 @.str1255) + %t19 = call ptr @fn_lbl(ptr @.str1560) store ptr %t19, ptr %t20 - %t21 = call ptr @fn_lbl(ptr @.str1256) + %t21 = call ptr @fn_lbl(ptr @.str1561) store ptr %t21, ptr %t22 - %t23 = call ptr @fn_lbl(ptr @.str1257) + %t23 = call ptr @fn_lbl(ptr @.str1562) 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 @.str1258) + call void @fn_emit(ptr @.str1563) %t27 = load ptr, ptr %t12 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str1259) + call void @fn_emit(ptr @.str1564) %t28 = load ptr, ptr %t20 call void @fn_emit(ptr %t28) - call void @fn_emit(ptr @.str1260) + call void @fn_emit(ptr @.str1565) %t29 = load ptr, ptr %t22 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str1261) + call void @fn_emit(ptr @.str1566) br label %ifend2 else1: - call void @fn_emit(ptr @.str1262) + call void @fn_emit(ptr @.str1567) %t30 = load ptr, ptr %t12 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str1263) + call void @fn_emit(ptr @.str1568) %t31 = load ptr, ptr %t20 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str1264) + call void @fn_emit(ptr @.str1569) %t32 = load ptr, ptr %t24 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str1265) + call void @fn_emit(ptr @.str1570) br label %ifend2 ifend2: %t33 = load ptr, ptr %t20 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str1266) + call void @fn_emit(ptr @.str1571) store i32 0, ptr @g_g_term %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 5 @@ -20537,10 +24339,10 @@ ifend2: %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str1267) + call void @fn_emit(ptr @.str1572) %t41 = load ptr, ptr %t24 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str1268) + call void @fn_emit(ptr @.str1573) br label %ifend5 ifend5: %t42 = load i32, ptr %t18 @@ -20549,7 +24351,7 @@ ifend5: then6: %t44 = load ptr, ptr %t22 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str1269) + call void @fn_emit(ptr @.str1574) store i32 0, ptr @g_g_term %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 6 @@ -20579,17 +24381,17 @@ ifend11: %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then12, label %ifend14 then12: - call void @fn_emit(ptr @.str1270) + call void @fn_emit(ptr @.str1575) %t63 = load ptr, ptr %t24 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str1271) + call void @fn_emit(ptr @.str1576) br label %ifend14 ifend14: br label %ifend8 ifend8: %t64 = load ptr, ptr %t24 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str1272) + call void @fn_emit(ptr @.str1577) store i32 0, ptr @g_g_term br label %ret ret: @@ -20605,19 +24407,19 @@ entry: %t13 = alloca ptr %t20 = alloca ptr store ptr %arg_st, ptr %t0 - %t1 = call ptr @fn_lbl(ptr @.str1273) + %t1 = call ptr @fn_lbl(ptr @.str1578) store ptr %t1, ptr %t2 - %t3 = call ptr @fn_lbl(ptr @.str1274) + %t3 = call ptr @fn_lbl(ptr @.str1579) store ptr %t3, ptr %t4 - %t5 = call ptr @fn_lbl(ptr @.str1275) + %t5 = call ptr @fn_lbl(ptr @.str1580) store ptr %t5, ptr %t6 - call void @fn_emit(ptr @.str1276) + call void @fn_emit(ptr @.str1581) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) - call void @fn_emit(ptr @.str1277) + call void @fn_emit(ptr @.str1582) %t8 = load ptr, ptr %t2 call void @fn_emit(ptr %t8) - call void @fn_emit(ptr @.str1278) + call void @fn_emit(ptr @.str1583) %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 %t11 = load ptr, ptr %t10 @@ -20626,23 +24428,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 @.str1279, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str1280) + %t17 = call ptr @fn_str_concat(ptr @.str1584, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str1585) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 - call void @fn_emit(ptr @.str1281) + call void @fn_emit(ptr @.str1586) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str1282) + call void @fn_emit(ptr @.str1587) %t22 = load ptr, ptr %t4 call void @fn_emit(ptr %t22) - call void @fn_emit(ptr @.str1283) + call void @fn_emit(ptr @.str1588) %t23 = load ptr, ptr %t6 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str1284) + call void @fn_emit(ptr @.str1589) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str1285) + call void @fn_emit(ptr @.str1590) store i32 0, ptr @g_g_term %t25 = load ptr, ptr %t2 %t26 = load ptr, ptr %t6 @@ -20658,15 +24460,15 @@ entry: %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str1286) + call void @fn_emit(ptr @.str1591) %t34 = load ptr, ptr %t2 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str1287) + call void @fn_emit(ptr @.str1592) br label %ifend2 ifend2: %t35 = load ptr, ptr %t6 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str1288) + call void @fn_emit(ptr @.str1593) store i32 0, ptr @g_g_term br label %ret ret: @@ -20688,7 +24490,7 @@ entry: %t62 = alloca ptr %t67 = alloca ptr store ptr %arg_st, ptr %t0 - %t1 = call ptr @fn_emit_alloca(ptr @.str1289) + %t1 = call ptr @fn_emit_alloca(ptr @.str1594) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 @@ -20699,29 +24501,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 @.str1290, ptr %t10, ptr %t11) + call void @fn_store_at(ptr @.str1595, 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 @.str1291) - %t16 = call ptr @fn_lbl(ptr @.str1292) + call void @fn_loc_push(ptr %t14, ptr %t15, ptr @.str1596) + %t16 = call ptr @fn_lbl(ptr @.str1597) store ptr %t16, ptr %t17 - %t18 = call ptr @fn_lbl(ptr @.str1293) + %t18 = call ptr @fn_lbl(ptr @.str1598) store ptr %t18, ptr %t19 - %t20 = call ptr @fn_lbl(ptr @.str1294) + %t20 = call ptr @fn_lbl(ptr @.str1599) store ptr %t20, ptr %t21 - %t22 = call ptr @fn_lbl(ptr @.str1295) + %t22 = call ptr @fn_lbl(ptr @.str1600) store ptr %t22, ptr %t23 - call void @fn_emit(ptr @.str1296) + call void @fn_emit(ptr @.str1601) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str1297) + call void @fn_emit(ptr @.str1602) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str1298) + call void @fn_emit(ptr @.str1603) %t26 = load ptr, ptr %t2 - %t27 = call ptr @fn_str_concat(ptr @.str1299, ptr %t26) + %t27 = call ptr @fn_str_concat(ptr @.str1604, ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t0 @@ -20730,27 +24532,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 @.str1300, ptr %t35) - %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str1301) + %t36 = call ptr @fn_str_concat(ptr @.str1605, ptr %t35) + %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str1606) %t38 = load ptr, ptr %t34 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @fn_str_concat(ptr %t37, ptr %t40) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 - call void @fn_emit(ptr @.str1302) + call void @fn_emit(ptr @.str1607) %t44 = load ptr, ptr %t43 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str1303) + call void @fn_emit(ptr @.str1608) %t45 = load ptr, ptr %t19 call void @fn_emit(ptr %t45) - call void @fn_emit(ptr @.str1304) + call void @fn_emit(ptr @.str1609) %t46 = load ptr, ptr %t23 call void @fn_emit(ptr %t46) - call void @fn_emit(ptr @.str1305) + call void @fn_emit(ptr @.str1610) %t47 = load ptr, ptr %t19 call void @fn_emit(ptr %t47) - call void @fn_emit(ptr @.str1306) + call void @fn_emit(ptr @.str1611) store i32 0, ptr @g_g_term %t48 = load ptr, ptr %t21 %t49 = load ptr, ptr %t23 @@ -20766,34 +24568,34 @@ entry: %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str1307) + call void @fn_emit(ptr @.str1612) %t57 = load ptr, ptr %t21 call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str1308) + call void @fn_emit(ptr @.str1613) br label %ifend2 ifend2: %t58 = load ptr, ptr %t21 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str1309) + call void @fn_emit(ptr @.str1614) %t59 = load ptr, ptr %t2 - %t60 = call ptr @fn_str_concat(ptr @.str1310, ptr %t59) + %t60 = call ptr @fn_str_concat(ptr @.str1615, 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 @.str1311, ptr %t63) - %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str1312) + %t64 = call ptr @fn_str_concat(ptr @.str1616, ptr %t63) + %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str1617) %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 @.str1313, ptr %t68, ptr %t69) - call void @fn_emit(ptr @.str1314) + call void @fn_store_at(ptr @.str1618, ptr %t68, ptr %t69) + call void @fn_emit(ptr @.str1619) %t70 = load ptr, ptr %t17 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str1315) + call void @fn_emit(ptr @.str1620) %t71 = load ptr, ptr %t23 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str1316) + call void @fn_emit(ptr @.str1621) store i32 0, ptr @g_g_term br label %ret ret: @@ -20823,10 +24625,10 @@ then0: %t14 = load ptr, ptr %t11 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 - call void @fn_store_at(ptr %t13, ptr %t16, ptr @.str1317) + call void @fn_store_at(ptr %t13, ptr %t16, ptr @.str1622) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str1318) + call void @fn_emit(ptr @.str1623) store i32 1, ptr @g_g_term br label %ret ret: @@ -20881,7 +24683,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 @.str1319) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1624) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t11 @@ -20927,7 +24729,7 @@ entry: %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_emit_expr(ptr %t3) store ptr %t4, ptr %t5 - %t6 = call ptr @fn_lbl(ptr @.str1320) + %t6 = call ptr @fn_lbl(ptr @.str1625) store ptr %t6, ptr %t7 store ptr null, ptr %t8 store i32 0, ptr %t9 @@ -20962,7 +24764,7 @@ then3: store ptr %t31, ptr %t8 br label %ifend5 else4: - store ptr @.str1321, ptr %t32 + store ptr @.str1626, ptr %t32 store i32 1, ptr %t33 store i32 0, ptr %t34 br label %wcond6 @@ -20991,8 +24793,8 @@ wbody7: %t54 = load ptr, ptr %t5 %t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0 %t56 = load ptr, ptr %t55 - %t57 = call ptr @fn_str_concat(ptr @.str1322, ptr %t56) - %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str1323) + %t57 = call ptr @fn_str_concat(ptr @.str1627, ptr %t56) + %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str1628) %t59 = load ptr, ptr %t53 %t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 @@ -21009,8 +24811,8 @@ then9: br label %ifend11 else10: %t68 = load ptr, ptr %t32 - %t69 = call ptr @fn_str_concat(ptr @.str1324, ptr %t68) - %t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str1325) + %t69 = call ptr @fn_str_concat(ptr @.str1629, ptr %t68) + %t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str1630) %t71 = load ptr, ptr %t64 %t72 = call ptr @fn_str_concat(ptr %t70, ptr %t71) %t73 = call ptr @fn_emit_bind(ptr %t72) @@ -21022,23 +24824,23 @@ ifend11: store i32 %t75, ptr %t34 br label %wcond6 wend8: - %t76 = call ptr @fn_lbl(ptr @.str1326) + %t76 = call ptr @fn_lbl(ptr @.str1631) store ptr %t76, ptr %t77 - %t78 = call ptr @fn_lbl(ptr @.str1327) + %t78 = call ptr @fn_lbl(ptr @.str1632) store ptr %t78, ptr %t79 - call void @fn_emit(ptr @.str1328) + call void @fn_emit(ptr @.str1633) %t80 = load ptr, ptr %t32 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str1329) + call void @fn_emit(ptr @.str1634) %t81 = load ptr, ptr %t77 call void @fn_emit(ptr %t81) - call void @fn_emit(ptr @.str1330) + call void @fn_emit(ptr @.str1635) %t82 = load ptr, ptr %t79 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str1331) + call void @fn_emit(ptr @.str1636) %t83 = load ptr, ptr %t77 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str1332) + call void @fn_emit(ptr @.str1637) store i32 0, ptr @g_g_term %t84 = load ptr, ptr %t27 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 4 @@ -21050,15 +24852,15 @@ wend8: %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then12, label %ifend14 then12: - call void @fn_emit(ptr @.str1333) + call void @fn_emit(ptr @.str1638) %t91 = load ptr, ptr %t7 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str1334) + call void @fn_emit(ptr @.str1639) br label %ifend14 ifend14: %t92 = load ptr, ptr %t79 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str1335) + call void @fn_emit(ptr @.str1640) store i32 0, ptr @g_g_term br label %ifend5 ifend5: @@ -21085,15 +24887,15 @@ ifend17: %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then18, label %ifend20 then18: - call void @fn_emit(ptr @.str1336) + call void @fn_emit(ptr @.str1641) %t106 = load ptr, ptr %t7 call void @fn_emit(ptr %t106) - call void @fn_emit(ptr @.str1337) + call void @fn_emit(ptr @.str1642) br label %ifend20 ifend20: %t107 = load ptr, ptr %t7 call void @fn_emit(ptr %t107) - call void @fn_emit(ptr @.str1338) + call void @fn_emit(ptr @.str1643) store i32 0, ptr @g_g_term br label %ret ret: @@ -21138,7 +24940,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 @.str1339, ptr %t12) + %t13 = call ptr @fn_str_concat(ptr @.str1644, ptr %t12) call void @fn_perr(ptr %t13) br label %ifend2 ifend2: @@ -21246,13 +25048,13 @@ wend8: %t93 = load ptr, ptr %t92 %t94 = call ptr @fn_llty(ptr %t93) store ptr %t94, ptr %t95 - store ptr @.str1340, ptr %t96 + store ptr @.str1645, ptr %t96 %t97 = load ptr, ptr %t95 - %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str1341) + %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str1646) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then12, label %ifend14 then12: - store ptr @.str1342, ptr %t96 + store ptr @.str1647, ptr %t96 br label %ifend14 ifend14: %t100 = load ptr, ptr %t47 @@ -21362,21 +25164,21 @@ wend5: then25: %t172 = call ptr @fn_nreg() store ptr %t172, ptr %t173 - call void @fn_emit(ptr @.str1343) + call void @fn_emit(ptr @.str1648) %t174 = load ptr, ptr %t173 call void @fn_emit(ptr %t174) - call void @fn_emit(ptr @.str1344) - call void @fn_emit(ptr @.str1345) + call void @fn_emit(ptr @.str1649) + call void @fn_emit(ptr @.str1650) %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 @.str1346) + call void @fn_emit(ptr @.str1651) %t180 = load ptr, ptr %t173 call void @fn_emit(ptr %t180) - call void @fn_emit(ptr @.str1347) + call void @fn_emit(ptr @.str1652) store i32 4, ptr %t181 store i32 0, ptr %t182 br label %wcond28 @@ -21394,15 +25196,15 @@ wcond28: wbody29: %t192 = call ptr @fn_nreg() store ptr %t192, ptr %t193 - call void @fn_emit(ptr @.str1348) + call void @fn_emit(ptr @.str1653) %t194 = load ptr, ptr %t193 call void @fn_emit(ptr %t194) - call void @fn_emit(ptr @.str1349) + call void @fn_emit(ptr @.str1654) %t195 = load i32, ptr %t181 %t196 = call ptr @fn_itoa(i32 %t195) call void @fn_emit(ptr %t196) - call void @fn_emit(ptr @.str1350) - call void @fn_emit(ptr @.str1351) + call void @fn_emit(ptr @.str1655) + call void @fn_emit(ptr @.str1656) %t197 = load ptr, ptr %t27 %t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t199 = load ptr, ptr %t198 @@ -21410,7 +25212,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 @.str1352) + call void @fn_emit(ptr @.str1657) %t203 = load ptr, ptr %t20 %t204 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0 %t205 = load ptr, ptr %t204 @@ -21418,10 +25220,10 @@ 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 @.str1353) + call void @fn_emit(ptr @.str1658) %t209 = load ptr, ptr %t193 call void @fn_emit(ptr %t209) - call void @fn_emit(ptr @.str1354) + call void @fn_emit(ptr @.str1659) %t210 = load i32, ptr %t181 %t211 = load ptr, ptr %t5 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 7 @@ -21441,18 +25243,18 @@ wbody29: store i32 %t224, ptr %t182 br label %wcond28 wend30: - store ptr @.str1355, ptr %t225 + store ptr @.str1660, 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 @.str1356) + %t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str1661) %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then31, label %ifend33 then31: - store ptr @.str1357, ptr %t225 + store ptr @.str1662, ptr %t225 br label %ifend33 ifend33: - %t231 = call ptr @fn_find_extern(ptr @.str1358) + %t231 = call ptr @fn_find_extern(ptr @.str1663) %t232 = icmp eq ptr %t231, null %t233 = zext i1 %t232 to i32 %t234 = icmp ne i32 %t233, 0 @@ -21461,18 +25263,18 @@ then34: store i32 1, ptr @g_g_uses_loopback br label %ifend36 ifend36: - call void @fn_emit(ptr @.str1359) + call void @fn_emit(ptr @.str1664) %t235 = call ptr @fn_net_send_sym() call void @fn_emit(ptr %t235) - call void @fn_emit(ptr @.str1360) + call void @fn_emit(ptr @.str1665) %t236 = load ptr, ptr %t225 call void @fn_emit(ptr %t236) - call void @fn_emit(ptr @.str1361) + call void @fn_emit(ptr @.str1666) %t237 = load i32, ptr %t181 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) - call void @fn_emit(ptr @.str1362) - %t239 = call ptr @fn_val(ptr @.str1363, ptr @.str1364) + call void @fn_emit(ptr @.str1667) + %t239 = call ptr @fn_val(ptr @.str1668, ptr @.str1669) store ptr %t239, ptr %retval br label %ret ifend27: @@ -21497,7 +25299,7 @@ wbody38: br i1 %t253, label %then40, label %ifend42 then40: %t254 = load ptr, ptr %t241 - call void @fn_buf_puts(ptr %t254, ptr @.str1365) + call void @fn_buf_puts(ptr %t254, ptr @.str1670) br label %ifend42 ifend42: %t255 = load ptr, ptr %t241 @@ -21509,7 +25311,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 @.str1366) + call void @fn_buf_puts(ptr %t262, ptr @.str1671) %t263 = load ptr, ptr %t241 %t264 = load ptr, ptr %t20 %t265 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0 @@ -21533,35 +25335,35 @@ wend39: then43: %t278 = call ptr @fn_nreg() store ptr %t278, ptr %t279 - call void @fn_emit(ptr @.str1367) + call void @fn_emit(ptr @.str1672) %t280 = load ptr, ptr %t279 call void @fn_emit(ptr %t280) - call void @fn_emit(ptr @.str1368) + call void @fn_emit(ptr @.str1673) %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 @.str1369) + call void @fn_emit(ptr @.str1674) %t284 = load ptr, ptr %t241 %t285 = call ptr @fn_buf_str(ptr %t284) call void @fn_emit(ptr %t285) - call void @fn_emit(ptr @.str1370) + call void @fn_emit(ptr @.str1675) %t286 = load ptr, ptr %t279 - %t287 = call ptr @fn_val(ptr %t286, ptr @.str1371) + %t287 = call ptr @fn_val(ptr %t286, ptr @.str1676) store ptr %t287, ptr %retval br label %ret ifend45: - call void @fn_emit(ptr @.str1372) + call void @fn_emit(ptr @.str1677) %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 @.str1373) + call void @fn_emit(ptr @.str1678) %t291 = load ptr, ptr %t241 %t292 = call ptr @fn_buf_str(ptr %t291) call void @fn_emit(ptr %t292) - call void @fn_emit(ptr @.str1374) - %t293 = call ptr @fn_val(ptr @.str1375, ptr @.str1376) + call void @fn_emit(ptr @.str1679) + %t293 = call ptr @fn_val(ptr @.str1680, ptr @.str1681) store ptr %t293, ptr %retval br label %ret ret: @@ -21644,14 +25446,14 @@ ifend5: %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then6, label %else7 then6: - store ptr @.str1377, ptr %t51 + store ptr @.str1682, ptr %t51 %t52 = load ptr, ptr %t10 %t53 = call ptr @fn_llty(ptr %t52) - %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str1378) + %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str1683) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then9, label %ifend11 then9: - store ptr @.str1379, ptr %t51 + store ptr @.str1684, ptr %t51 br label %ifend11 ifend11: %t56 = load ptr, ptr %t10 @@ -21755,7 +25557,7 @@ ifend26: %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then27, label %ifend29 then27: - call void @fn_emit(ptr @.str1380) + call void @fn_emit(ptr @.str1685) %t120 = load ptr, ptr @g_brk_lbl %t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 @@ -21764,7 +25566,7 @@ then27: %t125 = getelementptr inbounds ptr, ptr %t122, i32 %t124 %t126 = load ptr, ptr %t125 call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str1381) + call void @fn_emit(ptr @.str1686) store i32 1, ptr @g_g_term br label %ret ifend29: @@ -21776,7 +25578,7 @@ ifend29: %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then30, label %ifend32 then30: - call void @fn_emit(ptr @.str1382) + call void @fn_emit(ptr @.str1687) %t133 = load ptr, ptr @g_cnt_lbl %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 @@ -21785,7 +25587,7 @@ then30: %t138 = getelementptr inbounds ptr, ptr %t135, i32 %t137 %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str1383) + call void @fn_emit(ptr @.str1688) store i32 1, ptr @g_g_term br label %ret ifend32: @@ -21901,13 +25703,13 @@ then57: %t209 = icmp ne i32 %t208, 0 br i1 %t209, label %then60, label %ifend62 then60: - call void @fn_perr(ptr @.str1384) + call void @fn_perr(ptr @.str1689) br label %ifend62 ifend62: - call void @fn_emit(ptr @.str1385) + call void @fn_emit(ptr @.str1690) %t210 = load ptr, ptr @g_g_cancel_addr call void @fn_emit(ptr %t210) - call void @fn_emit(ptr @.str1386) + call void @fn_emit(ptr @.str1691) br label %ret ifend59: %t211 = load ptr, ptr %t0 @@ -21949,7 +25751,7 @@ then69: store ptr %t234, ptr %t235 br label %ret ifend71: - call void @fn_perr(ptr @.str1387) + call void @fn_perr(ptr @.str1692) br label %ret ret: ret void @@ -22224,8 +26026,8 @@ entry: %t24 = alloca i32 %t38 = alloca ptr %t90 = alloca i32 - call void @fn_emith(ptr @.str1388) - call void @fn_emith(ptr @.str1389) + call void @fn_emith(ptr @.str1693) + call void @fn_emith(ptr @.str1694) %t0 = load ptr, ptr @g_g_scenes %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 @@ -22234,31 +26036,31 @@ entry: %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: - call void @fn_emith(ptr @.str1390) + call void @fn_emith(ptr @.str1695) br label %ifend2 ifend2: - call void @fn_emith(ptr @.str1391) + call void @fn_emith(ptr @.str1696) %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 - %t9 = call ptr @fn_str_concat(ptr @.str1392, ptr %t8) - %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str1393) + %t9 = call ptr @fn_str_concat(ptr @.str1697, ptr %t8) + %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str1698) call void @fn_emith(ptr %t10) %t11 = load ptr, ptr %t7 - %t12 = call ptr @fn_str_concat(ptr @.str1394, ptr %t11) - %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str1395) + %t12 = call ptr @fn_str_concat(ptr @.str1699, ptr %t11) + %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str1700) call void @fn_emith(ptr %t13) %t14 = load ptr, ptr %t7 - %t15 = call ptr @fn_str_concat(ptr @.str1396, ptr %t14) - %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str1397) + %t15 = call ptr @fn_str_concat(ptr @.str1701, ptr %t14) + %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str1702) call void @fn_emith(ptr %t16) - call void @fn_emith(ptr @.str1398) + call void @fn_emith(ptr @.str1703) %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 @.str1399) - call void @fn_emith(ptr @.str1400) + call void @fn_emith(ptr @.str1704) + call void @fn_emith(ptr @.str1705) br label %ifend5 ifend5: %t19 = call i32 @fn_net_has_owned() @@ -22266,8 +26068,8 @@ ifend5: br i1 %t20, label %then6, label %ifend8 then6: %t21 = load ptr, ptr %t7 - %t22 = call ptr @fn_str_concat(ptr @.str1401, ptr %t21) - %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str1402) + %t22 = call ptr @fn_str_concat(ptr @.str1706, ptr %t21) + %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str1707) call void @fn_emith(ptr %t23) br label %ifend8 ifend8: @@ -22301,25 +26103,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 @.str1403, ptr %t47) - %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str1404) + %t48 = call ptr @fn_str_concat(ptr @.str1708, ptr %t47) + %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str1709) %t50 = load ptr, ptr %t7 %t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50) - %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str1405) + %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str1710) %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 @.str1406) + %t57 = call ptr @fn_str_concat(ptr %t56, ptr @.str1711) 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 @.str1407, ptr %t60) - %t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str1408) + %t61 = call ptr @fn_str_concat(ptr @.str1712, ptr %t60) + %t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str1713) %t63 = load ptr, ptr %t7 %t64 = call ptr @fn_str_concat(ptr %t62, ptr %t63) - %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str1409) + %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str1714) call void @fn_emith(ptr %t65) br label %ifend14 ifend14: @@ -22334,8 +26136,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 @.str1410, ptr %t74) - %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str1411) + %t75 = call ptr @fn_str_concat(ptr @.str1715, ptr %t74) + %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str1716) call void @fn_emith(ptr %t76) br label %ifend17 ifend17: @@ -22350,8 +26152,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 @.str1412, ptr %t85) - %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str1413) + %t86 = call ptr @fn_str_concat(ptr @.str1717, ptr %t85) + %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str1718) call void @fn_emith(ptr %t87) br label %ifend20 ifend20: @@ -22378,8 +26180,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 @.str1414, ptr %t103) - %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str1415) + %t104 = call ptr @fn_str_concat(ptr @.str1719, ptr %t103) + %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str1720) call void @fn_emith(ptr %t105) %t106 = load i32, ptr %t90 %t107 = add i32 %t106, 1 @@ -22398,7 +26200,7 @@ entry: %t24 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str1416) + call void @fn_emit(ptr @.str1721) store i32 0, ptr %t2 br label %wcond0 wcond0: @@ -22426,15 +26228,15 @@ wbody1: then3: %t21 = load i32, ptr %t2 %t22 = call ptr @fn_itoa(i32 %t21) - %t23 = call ptr @fn_str_concat(ptr @.str1417, ptr %t22) + %t23 = call ptr @fn_str_concat(ptr @.str1722, ptr %t22) store ptr %t23, ptr %t24 - call void @fn_emit(ptr @.str1418) + call void @fn_emit(ptr @.str1723) %t25 = load ptr, ptr %t24 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str1419) + call void @fn_emit(ptr @.str1724) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) - call void @fn_emit(ptr @.str1420) + call void @fn_emit(ptr @.str1725) %t27 = load ptr, ptr @g_prog %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t29 = load ptr, ptr %t28 @@ -22444,11 +26246,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 @.str1421) - call void @fn_emit(ptr @.str1422) + call void @fn_emit(ptr @.str1726) + call void @fn_emit(ptr @.str1727) %t35 = load ptr, ptr %t24 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str1423) + call void @fn_emit(ptr @.str1728) br label %ifend5 ifend5: %t36 = load i32, ptr %t2 @@ -22456,66 +26258,66 @@ ifend5: store i32 %t37, ptr %t2 br label %wcond0 wend2: - call void @fn_emit(ptr @.str1424) + call void @fn_emit(ptr @.str1729) %t38 = load ptr, ptr %t1 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str1425) - call void @fn_emit(ptr @.str1426) + call void @fn_emit(ptr @.str1730) + call void @fn_emit(ptr @.str1731) %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 @.str1427) + call void @fn_emit(ptr @.str1732) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str1428) - call void @fn_emit(ptr @.str1429) + call void @fn_emit(ptr @.str1733) + call void @fn_emit(ptr @.str1734) br label %ifend8 ifend8: - call void @fn_emit(ptr @.str1430) - call void @fn_emit(ptr @.str1431) - call void @fn_emit(ptr @.str1432) - call void @fn_emit(ptr @.str1433) - call void @fn_emit(ptr @.str1434) - call void @fn_emit(ptr @.str1435) - call void @fn_emit(ptr @.str1436) - call void @fn_emit(ptr @.str1437) - call void @fn_emit(ptr @.str1438) + call void @fn_emit(ptr @.str1735) + call void @fn_emit(ptr @.str1736) + call void @fn_emit(ptr @.str1737) + call void @fn_emit(ptr @.str1738) + call void @fn_emit(ptr @.str1739) + call void @fn_emit(ptr @.str1740) + call void @fn_emit(ptr @.str1741) + call void @fn_emit(ptr @.str1742) + call void @fn_emit(ptr @.str1743) %t42 = load ptr, ptr %t1 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str1439) - call void @fn_emit(ptr @.str1440) - call void @fn_emit(ptr @.str1441) - call void @fn_emit(ptr @.str1442) - call void @fn_emit(ptr @.str1443) - call void @fn_emit(ptr @.str1444) - call void @fn_emit(ptr @.str1445) - call void @fn_emit(ptr @.str1446) - call void @fn_emit(ptr @.str1447) - call void @fn_emit(ptr @.str1448) - call void @fn_emit(ptr @.str1449) - call void @fn_emit(ptr @.str1450) + call void @fn_emit(ptr @.str1744) + call void @fn_emit(ptr @.str1745) + call void @fn_emit(ptr @.str1746) + call void @fn_emit(ptr @.str1747) + call void @fn_emit(ptr @.str1748) + call void @fn_emit(ptr @.str1749) + call void @fn_emit(ptr @.str1750) + call void @fn_emit(ptr @.str1751) + call void @fn_emit(ptr @.str1752) + call void @fn_emit(ptr @.str1753) + call void @fn_emit(ptr @.str1754) + call void @fn_emit(ptr @.str1755) %t43 = load ptr, ptr %t1 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str1451) - call void @fn_emit(ptr @.str1452) - call void @fn_emit(ptr @.str1453) - call void @fn_emit(ptr @.str1454) - call void @fn_emit(ptr @.str1455) + call void @fn_emit(ptr @.str1756) + call void @fn_emit(ptr @.str1757) + call void @fn_emit(ptr @.str1758) + call void @fn_emit(ptr @.str1759) + call void @fn_emit(ptr @.str1760) %t44 = load ptr, ptr %t1 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str1456) - call void @fn_emit(ptr @.str1457) - call void @fn_emit(ptr @.str1458) - call void @fn_emit(ptr @.str1459) - call void @fn_emit(ptr @.str1460) + call void @fn_emit(ptr @.str1761) + call void @fn_emit(ptr @.str1762) + call void @fn_emit(ptr @.str1763) + call void @fn_emit(ptr @.str1764) + call void @fn_emit(ptr @.str1765) %t45 = load ptr, ptr %t1 call void @fn_emit(ptr %t45) - call void @fn_emit(ptr @.str1461) - call void @fn_emit(ptr @.str1462) - call void @fn_emit(ptr @.str1463) - call void @fn_emit(ptr @.str1464) - call void @fn_emit(ptr @.str1465) + call void @fn_emit(ptr @.str1766) + call void @fn_emit(ptr @.str1767) + call void @fn_emit(ptr @.str1768) + call void @fn_emit(ptr @.str1769) + call void @fn_emit(ptr @.str1770) br label %ret ret: ret void @@ -22632,10 +26434,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 @.str1466) + %t3 = call ptr @fn_emit_alloca(ptr @.str1771) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 - call void @fn_store_at(ptr @.str1467, ptr @.str1468, ptr %t5) + call void @fn_store_at(ptr @.str1772, ptr @.str1773, 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 @@ -22687,88 +26489,88 @@ ifend2: %t39 = load i32, ptr @g_nself %t40 = add i32 %t39, 1 store i32 %t40, ptr @g_nself - %t41 = call ptr @fn_lbl(ptr @.str1469) + %t41 = call ptr @fn_lbl(ptr @.str1774) store ptr %t41, ptr %t42 - %t43 = call ptr @fn_lbl(ptr @.str1470) + %t43 = call ptr @fn_lbl(ptr @.str1775) store ptr %t43, ptr %t44 - %t45 = call ptr @fn_lbl(ptr @.str1471) + %t45 = call ptr @fn_lbl(ptr @.str1776) store ptr %t45, ptr %t46 - %t47 = call ptr @fn_lbl(ptr @.str1472) + %t47 = call ptr @fn_lbl(ptr @.str1777) store ptr %t47, ptr %t48 - call void @fn_emit(ptr @.str1473) + call void @fn_emit(ptr @.str1778) %t49 = load ptr, ptr %t42 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str1474) + call void @fn_emit(ptr @.str1779) %t50 = load ptr, ptr %t42 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str1475) + call void @fn_emit(ptr @.str1780) %t51 = load ptr, ptr %t4 - %t52 = call ptr @fn_str_concat(ptr @.str1476, ptr %t51) + %t52 = call ptr @fn_str_concat(ptr @.str1781, ptr %t51) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 - %t55 = call ptr @fn_emit_bind(ptr @.str1477) + %t55 = call ptr @fn_emit_bind(ptr @.str1782) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t54 - %t58 = call ptr @fn_str_concat(ptr @.str1478, ptr %t57) - %t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str1479) + %t58 = call ptr @fn_str_concat(ptr @.str1783, ptr %t57) + %t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str1784) %t60 = load ptr, ptr %t56 %t61 = call ptr @fn_str_concat(ptr %t59, ptr %t60) %t62 = call ptr @fn_emit_bind(ptr %t61) store ptr %t62, ptr %t63 - call void @fn_emit(ptr @.str1480) + call void @fn_emit(ptr @.str1785) %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str1481) + call void @fn_emit(ptr @.str1786) %t65 = load ptr, ptr %t44 call void @fn_emit(ptr %t65) - call void @fn_emit(ptr @.str1482) + call void @fn_emit(ptr @.str1787) %t66 = load ptr, ptr %t48 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str1483) + call void @fn_emit(ptr @.str1788) %t67 = load ptr, ptr %t44 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str1484) + call void @fn_emit(ptr @.str1789) store i32 0, ptr @g_g_term %t68 = load ptr, ptr %t4 - %t69 = call ptr @fn_str_concat(ptr @.str1485, ptr %t68) + %t69 = call ptr @fn_str_concat(ptr @.str1790, 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 @.str1486) + call void @fn_emit(ptr @.str1791) %t74 = load ptr, ptr %t73 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str1487) + call void @fn_emit(ptr @.str1792) %t75 = load ptr, ptr %t2 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str1488) + call void @fn_emit(ptr @.str1793) %t76 = load ptr, ptr %t71 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str1489) + call void @fn_emit(ptr @.str1794) %t77 = load ptr, ptr %t73 - %t78 = call ptr @fn_str_concat(ptr @.str1490, ptr %t77) + %t78 = call ptr @fn_str_concat(ptr @.str1795, 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 @.str1491, ptr %t81) - %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str1492) + %t82 = call ptr @fn_str_concat(ptr @.str1796, ptr %t81) + %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str1797) %t84 = call ptr @fn_emit_bind(ptr %t83) store ptr %t84, ptr %t85 - %t86 = call ptr @fn_lbl(ptr @.str1493) + %t86 = call ptr @fn_lbl(ptr @.str1798) store ptr %t86, ptr %t87 - call void @fn_emit(ptr @.str1494) + call void @fn_emit(ptr @.str1799) %t88 = load ptr, ptr %t85 call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str1495) + call void @fn_emit(ptr @.str1800) %t89 = load ptr, ptr %t87 call void @fn_emit(ptr %t89) - call void @fn_emit(ptr @.str1496) + call void @fn_emit(ptr @.str1801) %t90 = load ptr, ptr %t46 call void @fn_emit(ptr %t90) - call void @fn_emit(ptr @.str1497) + call void @fn_emit(ptr @.str1802) %t91 = load ptr, ptr %t87 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str1498) + call void @fn_emit(ptr @.str1803) %t92 = load ptr, ptr %t0 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 6 %t94 = load ptr, ptr %t93 @@ -22801,7 +26603,7 @@ wbody6: %t117 = load ptr, ptr %t116 %t118 = call i32 @fn_find_arch_id(ptr %t117) store i32 %t118, ptr %t119 - store ptr @.str1499, ptr %t120 + store ptr @.str1804, ptr %t120 %t121 = load i32, ptr %t119 %t122 = icmp sgt i32 %t121, 0 %t123 = zext i1 %t122 to i32 @@ -22810,23 +26612,23 @@ wbody6: then8: %t125 = call ptr @fn_nreg() store ptr %t125, ptr %t126 - call void @fn_emit(ptr @.str1500) + call void @fn_emit(ptr @.str1805) %t127 = load ptr, ptr %t126 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str1501) + call void @fn_emit(ptr @.str1806) %t128 = load ptr, ptr %t2 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str1502) + call void @fn_emit(ptr @.str1807) %t129 = load ptr, ptr %t71 call void @fn_emit(ptr %t129) - call void @fn_emit(ptr @.str1503) + call void @fn_emit(ptr @.str1808) %t130 = load ptr, ptr %t126 - %t131 = call ptr @fn_str_concat(ptr @.str1504, ptr %t130) + %t131 = call ptr @fn_str_concat(ptr @.str1809, 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 @.str1505, ptr %t134) - %t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str1506) + %t135 = call ptr @fn_str_concat(ptr @.str1810, ptr %t134) + %t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str1811) %t137 = load i32, ptr %t119 %t138 = call ptr @fn_itoa(i32 %t137) %t139 = call ptr @fn_str_concat(ptr %t136, ptr %t138) @@ -22835,17 +26637,17 @@ then8: %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 @.str1507, ptr %t144) + %t145 = call ptr @fn_str_concat(ptr @.str1812, 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 @.str1508, ptr %t148) - %t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str1509) + %t149 = call ptr @fn_str_concat(ptr @.str1813, ptr %t148) + %t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str1814) %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 @.str1510, ptr %t153) - %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str1511) + %t154 = call ptr @fn_str_concat(ptr @.str1815, ptr %t153) + %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str1816) %t156 = load ptr, ptr %t152 %t157 = call ptr @fn_str_concat(ptr %t155, ptr %t156) %t158 = call ptr @fn_emit_bind(ptr %t157) @@ -22854,47 +26656,47 @@ then8: else9: %t159 = call ptr @fn_nreg() store ptr %t159, ptr %t160 - call void @fn_emit(ptr @.str1512) + call void @fn_emit(ptr @.str1817) %t161 = load ptr, ptr %t160 call void @fn_emit(ptr %t161) - call void @fn_emit(ptr @.str1513) + call void @fn_emit(ptr @.str1818) %t162 = load ptr, ptr %t2 call void @fn_emit(ptr %t162) - call void @fn_emit(ptr @.str1514) + call void @fn_emit(ptr @.str1819) %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 @.str1515) + call void @fn_emit(ptr @.str1820) %t166 = load ptr, ptr %t71 call void @fn_emit(ptr %t166) - call void @fn_emit(ptr @.str1516) + call void @fn_emit(ptr @.str1821) %t167 = load ptr, ptr %t160 - %t168 = call ptr @fn_str_concat(ptr @.str1517, ptr %t167) + %t168 = call ptr @fn_str_concat(ptr @.str1822, 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 @.str1518, ptr %t171) - %t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str1519) + %t172 = call ptr @fn_str_concat(ptr @.str1823, ptr %t171) + %t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str1824) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t120 br label %ifend10 ifend10: - %t175 = call ptr @fn_lbl(ptr @.str1520) + %t175 = call ptr @fn_lbl(ptr @.str1825) store ptr %t175, ptr %t176 - call void @fn_emit(ptr @.str1521) + call void @fn_emit(ptr @.str1826) %t177 = load ptr, ptr %t120 call void @fn_emit(ptr %t177) - call void @fn_emit(ptr @.str1522) + call void @fn_emit(ptr @.str1827) %t178 = load ptr, ptr %t176 call void @fn_emit(ptr %t178) - call void @fn_emit(ptr @.str1523) + call void @fn_emit(ptr @.str1828) %t179 = load ptr, ptr %t46 call void @fn_emit(ptr %t179) - call void @fn_emit(ptr @.str1524) + call void @fn_emit(ptr @.str1829) %t180 = load ptr, ptr %t176 call void @fn_emit(ptr %t180) - call void @fn_emit(ptr @.str1525) + call void @fn_emit(ptr @.str1830) %t181 = load i32, ptr %t96 %t182 = add i32 %t181, 1 store i32 %t182, ptr %t96 @@ -22964,35 +26766,35 @@ then16: then19: %t231 = call ptr @fn_nreg() store ptr %t231, ptr %t232 - call void @fn_emit(ptr @.str1526) + call void @fn_emit(ptr @.str1831) %t233 = load ptr, ptr %t232 call void @fn_emit(ptr %t233) - call void @fn_emit(ptr @.str1527) + call void @fn_emit(ptr @.str1832) %t234 = load ptr, ptr %t2 call void @fn_emit(ptr %t234) - call void @fn_emit(ptr @.str1528) + call void @fn_emit(ptr @.str1833) %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 @.str1529) + call void @fn_emit(ptr @.str1834) %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 @.str1530) + call void @fn_emit(ptr @.str1835) %t241 = load ptr, ptr %t71 call void @fn_emit(ptr %t241) - call void @fn_emit(ptr @.str1531) - %t242 = call ptr @fn_emit_alloca(ptr @.str1532) + call void @fn_emit(ptr @.str1836) + %t242 = call ptr @fn_emit_alloca(ptr @.str1837) store ptr %t242, ptr %t243 - call void @fn_emit(ptr @.str1533) + call void @fn_emit(ptr @.str1838) %t244 = load ptr, ptr %t232 call void @fn_emit(ptr %t244) - call void @fn_emit(ptr @.str1534) + call void @fn_emit(ptr @.str1839) %t245 = load ptr, ptr %t243 call void @fn_emit(ptr %t245) - call void @fn_emit(ptr @.str1535) + call void @fn_emit(ptr @.str1840) %t246 = load ptr, ptr %t0 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 7 %t248 = load ptr, ptr %t247 @@ -23036,25 +26838,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 @.str1536, ptr %t277) - %t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str1537) + %t278 = call ptr @fn_str_concat(ptr @.str1841, ptr %t277) + %t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str1842) %t280 = call ptr @fn_emit_bind(ptr %t279) store ptr %t280, ptr %t281 - %t282 = call ptr @fn_lbl(ptr @.str1538) + %t282 = call ptr @fn_lbl(ptr @.str1843) store ptr %t282, ptr %t283 - call void @fn_emit(ptr @.str1539) + call void @fn_emit(ptr @.str1844) %t284 = load ptr, ptr %t281 call void @fn_emit(ptr %t284) - call void @fn_emit(ptr @.str1540) + call void @fn_emit(ptr @.str1845) %t285 = load ptr, ptr %t283 call void @fn_emit(ptr %t285) - call void @fn_emit(ptr @.str1541) + call void @fn_emit(ptr @.str1846) %t286 = load ptr, ptr %t46 call void @fn_emit(ptr %t286) - call void @fn_emit(ptr @.str1542) + call void @fn_emit(ptr @.str1847) %t287 = load ptr, ptr %t283 call void @fn_emit(ptr %t287) - call void @fn_emit(ptr @.str1543) + call void @fn_emit(ptr @.str1848) br label %ifend24 ifend24: %t288 = load ptr, ptr %t46 @@ -23073,34 +26875,34 @@ ifend24: %t297 = icmp ne i32 %t296, 0 br i1 %t297, label %then25, label %ifend27 then25: - call void @fn_emit(ptr @.str1544) + call void @fn_emit(ptr @.str1849) %t298 = load ptr, ptr %t46 call void @fn_emit(ptr %t298) - call void @fn_emit(ptr @.str1545) + call void @fn_emit(ptr @.str1850) br label %ifend27 ifend27: %t299 = load ptr, ptr %t46 call void @fn_emit(ptr %t299) - call void @fn_emit(ptr @.str1546) + call void @fn_emit(ptr @.str1851) %t300 = load ptr, ptr %t4 - %t301 = call ptr @fn_str_concat(ptr @.str1547, ptr %t300) + %t301 = call ptr @fn_str_concat(ptr @.str1852, 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 @.str1548, ptr %t304) - %t306 = call ptr @fn_str_concat(ptr %t305, ptr @.str1549) + %t305 = call ptr @fn_str_concat(ptr @.str1853, ptr %t304) + %t306 = call ptr @fn_str_concat(ptr %t305, ptr @.str1854) %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 @.str1550, ptr %t309, ptr %t310) - call void @fn_emit(ptr @.str1551) + call void @fn_store_at(ptr @.str1855, ptr %t309, ptr %t310) + call void @fn_emit(ptr @.str1856) %t311 = load ptr, ptr %t42 call void @fn_emit(ptr %t311) - call void @fn_emit(ptr @.str1552) + call void @fn_emit(ptr @.str1857) %t312 = load ptr, ptr %t48 call void @fn_emit(ptr %t312) - call void @fn_emit(ptr @.str1553) + call void @fn_emit(ptr @.str1858) store i32 0, ptr @g_g_term %t313 = load i32, ptr @g_nself %t314 = sub i32 %t313, 1 @@ -23149,47 +26951,47 @@ entry: br i1 %t11, label %then0, label %ifend2 then0: %t12 = load ptr, ptr %t1 - %t13 = call ptr @fn_str_concat(ptr @.str1554, ptr %t12) + %t13 = call ptr @fn_str_concat(ptr @.str1859, 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 @.str1555) + call void @fn_emit(ptr @.str1860) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str1556) + call void @fn_emit(ptr @.str1861) %t17 = load ptr, ptr %t4 call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str1557) + call void @fn_emit(ptr @.str1862) %t18 = load ptr, ptr %t1 call void @fn_emit(ptr %t18) - call void @fn_emit(ptr @.str1558) + call void @fn_emit(ptr @.str1863) %t19 = load ptr, ptr %t0 call void @fn_emit(ptr %t19) - call void @fn_emit(ptr @.str1559) - call void @fn_emit(ptr @.str1560) + call void @fn_emit(ptr @.str1864) + call void @fn_emit(ptr @.str1865) %t20 = load ptr, ptr %t15 call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str1561) + call void @fn_emit(ptr @.str1866) %t21 = call ptr @fn_nreg() store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str1562) + call void @fn_emit(ptr @.str1867) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str1563) + call void @fn_emit(ptr @.str1868) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str1564) + call void @fn_emit(ptr @.str1869) %t25 = load ptr, ptr %t1 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str1565) + call void @fn_emit(ptr @.str1870) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) - call void @fn_emit(ptr @.str1566) + call void @fn_emit(ptr @.str1871) %t27 = load ptr, ptr %t0 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str1567) + call void @fn_emit(ptr @.str1872) store i32 0, ptr %t28 br label %wcond3 wcond3: @@ -23215,32 +27017,32 @@ wbody4: store ptr %t45, ptr %t46 %t47 = call ptr @fn_nreg() store ptr %t47, ptr %t48 - call void @fn_emit(ptr @.str1568) + call void @fn_emit(ptr @.str1873) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str1569) + call void @fn_emit(ptr @.str1874) %t50 = load ptr, ptr %t1 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str1570) + call void @fn_emit(ptr @.str1875) %t51 = load ptr, ptr %t22 call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str1571) + call void @fn_emit(ptr @.str1876) %t52 = load i32, ptr %t28 %t53 = call ptr @fn_itoa(i32 %t52) call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str1572) + call void @fn_emit(ptr @.str1877) %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 @.str1573, ptr %t59 + store ptr @.str1878, ptr %t59 %t60 = load ptr, ptr %t58 - %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str1574) + %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str1879) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then6, label %ifend8 then6: - store ptr @.str1575, ptr %t59 + store ptr @.str1880, ptr %t59 br label %ifend8 ifend8: %t63 = load ptr, ptr %t46 @@ -23262,16 +27064,16 @@ then9: store ptr %t76, ptr %t59 br label %ifend11 ifend11: - call void @fn_emit(ptr @.str1576) + call void @fn_emit(ptr @.str1881) %t77 = load ptr, ptr %t58 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str1577) + call void @fn_emit(ptr @.str1882) %t78 = load ptr, ptr %t59 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str1578) + call void @fn_emit(ptr @.str1883) %t79 = load ptr, ptr %t48 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str1579) + call void @fn_emit(ptr @.str1884) %t80 = load i32, ptr %t28 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t28 @@ -23320,26 +27122,26 @@ wbody16: then18: %t115 = call ptr @fn_nreg() store ptr %t115, ptr %t116 - call void @fn_emit(ptr @.str1580) + call void @fn_emit(ptr @.str1885) %t117 = load ptr, ptr %t116 call void @fn_emit(ptr %t117) - call void @fn_emit(ptr @.str1581) + call void @fn_emit(ptr @.str1886) %t118 = load ptr, ptr %t1 call void @fn_emit(ptr %t118) - call void @fn_emit(ptr @.str1582) + call void @fn_emit(ptr @.str1887) %t119 = load ptr, ptr %t22 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str1583) + call void @fn_emit(ptr @.str1888) %t120 = load i32, ptr %t110 %t121 = call ptr @fn_itoa(i32 %t120) call void @fn_emit(ptr %t121) - call void @fn_emit(ptr @.str1584) + call void @fn_emit(ptr @.str1889) %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 @.str1585) + call void @fn_emit(ptr @.str1890) %t127 = load ptr, ptr %t7 %t128 = load ptr, ptr %t104 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1 @@ -23347,15 +27149,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 @.str1586) + call void @fn_emit(ptr @.str1891) %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 @.str1587) + call void @fn_emit(ptr @.str1892) %t136 = load ptr, ptr %t116 call void @fn_emit(ptr %t136) - call void @fn_emit(ptr @.str1588) + call void @fn_emit(ptr @.str1893) br label %ifend20 ifend20: %t137 = load i32, ptr %t86 @@ -23376,15 +27178,15 @@ ifend14: then21: %t146 = load i32, ptr @g_nloc store i32 %t146, ptr %t147 - %t148 = call ptr @fn_emit_alloca(ptr @.str1589) + %t148 = call ptr @fn_emit_alloca(ptr @.str1894) store ptr %t148, ptr %t149 - call void @fn_emit(ptr @.str1590) + call void @fn_emit(ptr @.str1895) %t150 = load ptr, ptr %t22 call void @fn_emit(ptr %t150) - call void @fn_emit(ptr @.str1591) + call void @fn_emit(ptr @.str1896) %t151 = load ptr, ptr %t149 call void @fn_emit(ptr %t151) - call void @fn_emit(ptr @.str1592) + call void @fn_emit(ptr @.str1897) %t152 = load ptr, ptr %t1 %t153 = load ptr, ptr %t149 %t154 = load ptr, ptr %t1 @@ -23396,8 +27198,8 @@ then21: br label %ifend23 ifend23: %t157 = load ptr, ptr %t1 - %t158 = call ptr @fn_str_concat(ptr @.str1593, ptr %t157) - %t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str1594) + %t158 = call ptr @fn_str_concat(ptr @.str1898, ptr %t157) + %t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str1899) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t160 %t162 = call ptr @fn_find_event(ptr %t161) @@ -23406,13 +27208,13 @@ ifend23: %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then24, label %ifend26 then24: - call void @fn_emit(ptr @.str1595) + call void @fn_emit(ptr @.str1900) %t166 = load ptr, ptr %t160 call void @fn_emit(ptr %t166) - call void @fn_emit(ptr @.str1596) + call void @fn_emit(ptr @.str1901) %t167 = load ptr, ptr %t0 call void @fn_emit(ptr %t167) - call void @fn_emit(ptr @.str1597) + call void @fn_emit(ptr @.str1902) br label %ifend26 ifend26: br label %ret @@ -23460,31 +27262,31 @@ wbody1: store ptr %t23, ptr %t24 %t25 = call ptr @fn_nreg() store ptr %t25, ptr %t26 - call void @fn_emit(ptr @.str1598) + call void @fn_emit(ptr @.str1903) %t27 = load ptr, ptr %t26 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str1599) + call void @fn_emit(ptr @.str1904) %t28 = load ptr, ptr %t3 call void @fn_emit(ptr %t28) - call void @fn_emit(ptr @.str1600) + call void @fn_emit(ptr @.str1905) %t29 = load ptr, ptr %t24 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str1601) + call void @fn_emit(ptr @.str1906) %t30 = load ptr, ptr %t24 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str1602) + call void @fn_emit(ptr @.str1907) %t31 = load ptr, ptr %t1 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str1603) - %t32 = call ptr @fn_emit_alloca(ptr @.str1604) + call void @fn_emit(ptr @.str1908) + %t32 = call ptr @fn_emit_alloca(ptr @.str1909) store ptr %t32, ptr %t33 - call void @fn_emit(ptr @.str1605) + call void @fn_emit(ptr @.str1910) %t34 = load ptr, ptr %t26 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str1606) + call void @fn_emit(ptr @.str1911) %t35 = load ptr, ptr %t33 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str1607) + call void @fn_emit(ptr @.str1912) %t36 = load ptr, ptr %t24 %t37 = load ptr, ptr %t33 %t38 = load ptr, ptr %t24 @@ -23517,7 +27319,7 @@ entry: %t109 = alloca ptr %t117 = alloca i32 store ptr %arg_st, ptr %t0 - %t1 = call ptr @fn_emit_bind(ptr @.str1608) + %t1 = call ptr @fn_emit_bind(ptr @.str1913) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 @@ -23534,24 +27336,24 @@ then0: store ptr %t12, ptr %t13 %t14 = call ptr @fn_nreg() store ptr %t14, ptr %t15 - call void @fn_emit(ptr @.str1609) + call void @fn_emit(ptr @.str1914) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str1610) + call void @fn_emit(ptr @.str1915) %t17 = load ptr, ptr %t13 call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str1611) + call void @fn_emit(ptr @.str1916) %t18 = load ptr, ptr %t2 call void @fn_emit(ptr %t18) - call void @fn_emit(ptr @.str1612) - call void @fn_emit(ptr @.str1613) + call void @fn_emit(ptr @.str1917) + call void @fn_emit(ptr @.str1918) %t19 = load i32, ptr %t7 %t20 = call ptr @fn_itoa(i32 %t19) call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str1614) + call void @fn_emit(ptr @.str1919) %t21 = load ptr, ptr %t15 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str1615) + call void @fn_emit(ptr @.str1920) %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr %t23 @@ -23664,8 +27466,8 @@ ifend14: %t104 = load ptr, ptr %t0 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1 %t106 = load ptr, ptr %t105 - %t107 = call ptr @fn_str_concat(ptr @.str1616, ptr %t106) - %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str1617) + %t107 = call ptr @fn_str_concat(ptr @.str1921, ptr %t106) + %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str1922) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t109 %t111 = call ptr @fn_find_event(ptr %t110) @@ -23674,13 +27476,13 @@ ifend14: %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then15, label %ifend17 then15: - call void @fn_emit(ptr @.str1618) + call void @fn_emit(ptr @.str1923) %t115 = load ptr, ptr %t109 call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str1619) + call void @fn_emit(ptr @.str1924) %t116 = load ptr, ptr %t2 call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str1620) + call void @fn_emit(ptr @.str1925) br label %ifend17 ifend17: br label %ifend2 @@ -23767,20 +27569,20 @@ then0: store ptr %t12, ptr %t13 %t14 = call ptr @fn_nreg() store ptr %t14, ptr %t15 - call void @fn_emit(ptr @.str1621) + call void @fn_emit(ptr @.str1926) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str1622) + call void @fn_emit(ptr @.str1927) %t17 = load ptr, ptr %t13 call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str1623) + call void @fn_emit(ptr @.str1928) %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 @.str1624) + call void @fn_emit(ptr @.str1929) %t21 = load ptr, ptr %t15 - %t22 = call ptr @fn_str_concat(ptr @.str1625, ptr %t21) + %t22 = call ptr @fn_str_concat(ptr @.str1930, ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 store i32 0, ptr %t25 @@ -23805,42 +27607,42 @@ wbody4: %t40 = load ptr, ptr %t39 store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t24 - %t43 = call ptr @fn_str_concat(ptr @.str1626, ptr %t42) - %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str1627) + %t43 = call ptr @fn_str_concat(ptr @.str1931, ptr %t42) + %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str1932) %t45 = load ptr, ptr %t41 %t46 = call i32 @fn_find_arch_id(ptr %t45) %t47 = call ptr @fn_itoa(i32 %t46) %t48 = call ptr @fn_str_concat(ptr %t44, ptr %t47) %t49 = call ptr @fn_emit_bind(ptr %t48) store ptr %t49, ptr %t50 - %t51 = call ptr @fn_lbl(ptr @.str1628) + %t51 = call ptr @fn_lbl(ptr @.str1933) store ptr %t51, ptr %t52 - %t53 = call ptr @fn_lbl(ptr @.str1629) + %t53 = call ptr @fn_lbl(ptr @.str1934) store ptr %t53, ptr %t54 - call void @fn_emit(ptr @.str1630) + call void @fn_emit(ptr @.str1935) %t55 = load ptr, ptr %t50 call void @fn_emit(ptr %t55) - call void @fn_emit(ptr @.str1631) + call void @fn_emit(ptr @.str1936) %t56 = load ptr, ptr %t52 call void @fn_emit(ptr %t56) - call void @fn_emit(ptr @.str1632) + call void @fn_emit(ptr @.str1937) %t57 = load ptr, ptr %t54 call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str1633) + call void @fn_emit(ptr @.str1938) %t58 = load ptr, ptr %t52 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str1634) + call void @fn_emit(ptr @.str1939) %t59 = load ptr, ptr %t41 call void @fn_emit(ptr %t59) - call void @fn_emit(ptr @.str1635) + call void @fn_emit(ptr @.str1940) %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 @.str1636) + call void @fn_emit(ptr @.str1941) %t63 = load ptr, ptr %t41 - %t64 = call ptr @fn_str_concat(ptr @.str1637, ptr %t63) - %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str1638) + %t64 = call ptr @fn_str_concat(ptr @.str1942, ptr %t63) + %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str1943) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_find_event(ptr %t67) @@ -23849,24 +27651,24 @@ wbody4: %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str1639) + call void @fn_emit(ptr @.str1944) %t72 = load ptr, ptr %t66 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str1640) + call void @fn_emit(ptr @.str1945) %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 @.str1641) + call void @fn_emit(ptr @.str1946) br label %ifend8 ifend8: - call void @fn_emit(ptr @.str1642) + call void @fn_emit(ptr @.str1947) %t76 = load ptr, ptr %t54 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str1643) + call void @fn_emit(ptr @.str1948) %t77 = load ptr, ptr %t54 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str1644) + call void @fn_emit(ptr @.str1949) %t78 = load i32, ptr %t25 %t79 = add i32 %t78, 1 store i32 %t79, ptr %t25 @@ -23882,20 +27684,20 @@ ifend2: %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then9, label %ifend11 then9: - call void @fn_emit(ptr @.str1645) + call void @fn_emit(ptr @.str1950) %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 @.str1646) + call void @fn_emit(ptr @.str1951) br label %ifend11 ifend11: - call void @fn_emit(ptr @.str1647) + call void @fn_emit(ptr @.str1952) %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 @.str1648) + call void @fn_emit(ptr @.str1953) br label %ret ret: ret void @@ -23921,49 +27723,49 @@ entry: store ptr %t6, ptr %t7 %t8 = call ptr @fn_nreg() store ptr %t8, ptr %t9 - call void @fn_emit(ptr @.str1649) + call void @fn_emit(ptr @.str1954) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) - call void @fn_emit(ptr @.str1650) + call void @fn_emit(ptr @.str1955) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) - call void @fn_emit(ptr @.str1651) + call void @fn_emit(ptr @.str1956) %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 @.str1652) + call void @fn_emit(ptr @.str1957) %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 @.str1653) + call void @fn_emit(ptr @.str1958) %t18 = load ptr, ptr %t9 - %t19 = call ptr @fn_str_concat(ptr @.str1654, ptr %t18) + %t19 = call ptr @fn_str_concat(ptr @.str1959, 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 @.str1655, ptr %t22) - %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str1656) + %t23 = call ptr @fn_str_concat(ptr @.str1960, ptr %t22) + %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str1961) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 - %t27 = call ptr @fn_lbl(ptr @.str1657) + %t27 = call ptr @fn_lbl(ptr @.str1962) store ptr %t27, ptr %t28 - %t29 = call ptr @fn_lbl(ptr @.str1658) + %t29 = call ptr @fn_lbl(ptr @.str1963) store ptr %t29, ptr %t30 - call void @fn_emit(ptr @.str1659) + call void @fn_emit(ptr @.str1964) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str1660) + call void @fn_emit(ptr @.str1965) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str1661) + call void @fn_emit(ptr @.str1966) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str1662) + call void @fn_emit(ptr @.str1967) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str1663) + call void @fn_emit(ptr @.str1968) store i32 0, ptr @g_g_term %t35 = load ptr, ptr %t5 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 @@ -23981,15 +27783,15 @@ entry: %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str1664) + call void @fn_emit(ptr @.str1969) %t48 = load ptr, ptr %t30 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str1665) + call void @fn_emit(ptr @.str1970) br label %ifend2 ifend2: %t49 = load ptr, ptr %t30 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str1666) + call void @fn_emit(ptr @.str1971) store i32 0, ptr @g_g_term br label %ret ret: @@ -24021,54 +27823,54 @@ entry: store ptr %t6, ptr %t7 %t8 = call ptr @fn_nreg() store ptr %t8, ptr %t9 - call void @fn_emit(ptr @.str1667) + call void @fn_emit(ptr @.str1972) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) - call void @fn_emit(ptr @.str1668) + call void @fn_emit(ptr @.str1973) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) - call void @fn_emit(ptr @.str1669) + call void @fn_emit(ptr @.str1974) %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 @.str1670) + call void @fn_emit(ptr @.str1975) %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 @.str1671) + call void @fn_emit(ptr @.str1976) %t18 = load ptr, ptr %t9 - %t19 = call ptr @fn_str_concat(ptr @.str1672, ptr %t18) + %t19 = call ptr @fn_str_concat(ptr @.str1977, 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 @.str1673, ptr %t22) - %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str1674) + %t23 = call ptr @fn_str_concat(ptr @.str1978, ptr %t22) + %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str1979) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 - %t27 = call ptr @fn_lbl(ptr @.str1675) + %t27 = call ptr @fn_lbl(ptr @.str1980) store ptr %t27, ptr %t28 - %t29 = call ptr @fn_lbl(ptr @.str1676) + %t29 = call ptr @fn_lbl(ptr @.str1981) store ptr %t29, ptr %t30 - call void @fn_emit(ptr @.str1677) + call void @fn_emit(ptr @.str1982) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str1678) + call void @fn_emit(ptr @.str1983) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str1679) + call void @fn_emit(ptr @.str1984) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str1680) + call void @fn_emit(ptr @.str1985) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str1681) + call void @fn_emit(ptr @.str1986) store i32 0, ptr @g_g_term - call void @fn_emit(ptr @.str1682) + call void @fn_emit(ptr @.str1987) %t35 = load ptr, ptr %t9 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str1683) + call void @fn_emit(ptr @.str1988) %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 @@ -24084,37 +27886,37 @@ then0: store i32 %t45, ptr %t46 %t47 = call ptr @fn_nreg() store ptr %t47, ptr %t48 - call void @fn_emit(ptr @.str1684) + call void @fn_emit(ptr @.str1989) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str1685) + call void @fn_emit(ptr @.str1990) %t50 = load ptr, ptr %t7 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str1686) + call void @fn_emit(ptr @.str1991) %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 @.str1687) + call void @fn_emit(ptr @.str1992) %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 @.str1688) + call void @fn_emit(ptr @.str1993) %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 @.str1689) - %t60 = call ptr @fn_emit_alloca(ptr @.str1690) + call void @fn_emit(ptr @.str1994) + %t60 = call ptr @fn_emit_alloca(ptr @.str1995) store ptr %t60, ptr %t61 - call void @fn_emit(ptr @.str1691) + call void @fn_emit(ptr @.str1996) %t62 = load ptr, ptr %t48 call void @fn_emit(ptr %t62) - call void @fn_emit(ptr @.str1692) + call void @fn_emit(ptr @.str1997) %t63 = load ptr, ptr %t61 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str1693) + call void @fn_emit(ptr @.str1998) %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 @@ -24132,8 +27934,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 @.str1694, ptr %t75) - %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str1695) + %t76 = call ptr @fn_str_concat(ptr @.str1999, ptr %t75) + %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str2000) store ptr %t77, ptr %t78 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_find_event(ptr %t79) @@ -24142,15 +27944,15 @@ ifend2: %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str1696) + call void @fn_emit(ptr @.str2001) %t84 = load ptr, ptr %t78 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str1697) + call void @fn_emit(ptr @.str2002) %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 @.str1698) + call void @fn_emit(ptr @.str2003) br label %ifend5 ifend5: %t88 = load i32, ptr @g_g_term @@ -24159,15 +27961,15 @@ ifend5: %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str1699) + call void @fn_emit(ptr @.str2004) %t92 = load ptr, ptr %t30 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str1700) + call void @fn_emit(ptr @.str2005) br label %ifend8 ifend8: %t93 = load ptr, ptr %t30 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str1701) + call void @fn_emit(ptr @.str2006) store i32 0, ptr @g_g_term br label %ret ret: @@ -24190,7 +27992,7 @@ entry: %t128 = alloca ptr %t149 = alloca ptr store ptr %arg_st, ptr %t0 - store ptr @.str1702, ptr %t1 + store ptr @.str2007, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 2 %t4 = load i32, ptr %t3 @@ -24199,7 +28001,7 @@ entry: %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: - store ptr @.str1703, ptr %t1 + store ptr @.str2008, ptr %t1 br label %ifend2 ifend2: %t9 = load ptr, ptr %t0 @@ -24215,7 +28017,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 @.str1704) + %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str2009) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t8 @@ -24225,20 +28027,20 @@ scend4: %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: - call void @fn_emit(ptr @.str1705) + call void @fn_emit(ptr @.str2010) %t24 = load ptr, ptr %t1 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str1706) + call void @fn_emit(ptr @.str2011) %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str1707) + call void @fn_emit(ptr @.str2012) %t28 = load ptr, ptr %t0 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 - %t31 = call ptr @fn_str_concat(ptr @.str1708, ptr %t30) - %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str1709) + %t31 = call ptr @fn_str_concat(ptr @.str2013, ptr %t30) + %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str2014) store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2 @@ -24251,8 +28053,8 @@ then8: %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 - %t43 = call ptr @fn_str_concat(ptr @.str1710, ptr %t42) - %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str1711) + %t43 = call ptr @fn_str_concat(ptr @.str2015, ptr %t42) + %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str2016) store ptr %t44, ptr %t33 br label %ifend10 ifend10: @@ -24263,10 +28065,10 @@ ifend10: %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then11, label %ifend13 then11: - call void @fn_emit(ptr @.str1712) + call void @fn_emit(ptr @.str2017) %t50 = load ptr, ptr %t33 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str1713) + call void @fn_emit(ptr @.str2018) br label %ifend13 ifend13: br label %ret @@ -24288,30 +28090,30 @@ then14: store ptr %t62, ptr %t63 %t64 = call ptr @fn_nreg() store ptr %t64, ptr %t65 - call void @fn_emit(ptr @.str1714) + call void @fn_emit(ptr @.str2019) %t66 = load ptr, ptr %t65 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str1715) + call void @fn_emit(ptr @.str2020) %t67 = load ptr, ptr %t63 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str1716) + call void @fn_emit(ptr @.str2021) %t68 = load ptr, ptr %t0 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str1717) + call void @fn_emit(ptr @.str2022) %t71 = load ptr, ptr %t61 %t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 0 %t73 = load ptr, ptr %t72 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str1718) - call void @fn_emit(ptr @.str1719) + call void @fn_emit(ptr @.str2023) + call void @fn_emit(ptr @.str2024) %t74 = load ptr, ptr %t1 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str1720) + call void @fn_emit(ptr @.str2025) %t75 = load ptr, ptr %t65 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str1721) + call void @fn_emit(ptr @.str2026) store ptr null, ptr %t76 %t77 = load ptr, ptr %t0 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 2 @@ -24345,37 +28147,37 @@ then20: store i32 %t95, ptr %t96 %t97 = call ptr @fn_nreg() store ptr %t97, ptr %t98 - call void @fn_emit(ptr @.str1722) + call void @fn_emit(ptr @.str2027) %t99 = load ptr, ptr %t98 call void @fn_emit(ptr %t99) - call void @fn_emit(ptr @.str1723) + call void @fn_emit(ptr @.str2028) %t100 = load ptr, ptr %t63 call void @fn_emit(ptr %t100) - call void @fn_emit(ptr @.str1724) + call void @fn_emit(ptr @.str2029) %t101 = load ptr, ptr %t0 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 1 %t103 = load ptr, ptr %t102 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str1725) + call void @fn_emit(ptr @.str2030) %t104 = load ptr, ptr %t0 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1 %t106 = load ptr, ptr %t105 call void @fn_emit(ptr %t106) - call void @fn_emit(ptr @.str1726) + call void @fn_emit(ptr @.str2031) %t107 = load ptr, ptr %t61 %t108 = getelementptr inbounds %Cmp_Val, ptr %t107, i32 0, i32 0 %t109 = load ptr, ptr %t108 call void @fn_emit(ptr %t109) - call void @fn_emit(ptr @.str1727) - %t110 = call ptr @fn_emit_alloca(ptr @.str1728) + call void @fn_emit(ptr @.str2032) + %t110 = call ptr @fn_emit_alloca(ptr @.str2033) store ptr %t110, ptr %t111 - call void @fn_emit(ptr @.str1729) + call void @fn_emit(ptr @.str2034) %t112 = load ptr, ptr %t98 call void @fn_emit(ptr %t112) - call void @fn_emit(ptr @.str1730) + call void @fn_emit(ptr @.str2035) %t113 = load ptr, ptr %t111 call void @fn_emit(ptr %t113) - call void @fn_emit(ptr @.str1731) + call void @fn_emit(ptr @.str2036) %t114 = load ptr, ptr %t0 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 @@ -24393,8 +28195,8 @@ ifend22: %t123 = load ptr, ptr %t0 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1 %t125 = load ptr, ptr %t124 - %t126 = call ptr @fn_str_concat(ptr @.str1732, ptr %t125) - %t127 = call ptr @fn_str_concat(ptr %t126, ptr @.str1733) + %t126 = call ptr @fn_str_concat(ptr @.str2037, ptr %t125) + %t127 = call ptr @fn_str_concat(ptr %t126, ptr @.str2038) store ptr %t127, ptr %t128 %t129 = load ptr, ptr %t0 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 2 @@ -24407,8 +28209,8 @@ then23: %t135 = load ptr, ptr %t0 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1 %t137 = load ptr, ptr %t136 - %t138 = call ptr @fn_str_concat(ptr @.str1734, ptr %t137) - %t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str1735) + %t138 = call ptr @fn_str_concat(ptr @.str2039, ptr %t137) + %t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str2040) store ptr %t139, ptr %t128 br label %ifend25 ifend25: @@ -24419,20 +28221,20 @@ ifend25: %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then26, label %ifend28 then26: - call void @fn_emit(ptr @.str1736) + call void @fn_emit(ptr @.str2041) %t145 = load ptr, ptr %t128 call void @fn_emit(ptr %t145) - call void @fn_emit(ptr @.str1737) + call void @fn_emit(ptr @.str2042) %t146 = load ptr, ptr %t61 %t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0 %t148 = load ptr, ptr %t147 call void @fn_emit(ptr %t148) - call void @fn_emit(ptr @.str1738) + call void @fn_emit(ptr @.str2043) br label %ifend28 ifend28: br label %ifend16 else15: - store ptr @.str1739, ptr %t149 + store ptr @.str2044, ptr %t149 %t150 = load ptr, ptr %t0 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 1 %t152 = load ptr, ptr %t151 @@ -24440,20 +28242,20 @@ else15: %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then29, label %ifend31 then29: - store ptr @.str1740, ptr %t149 + store ptr @.str2045, ptr %t149 br label %ifend31 ifend31: - call void @fn_emit(ptr @.str1741) + call void @fn_emit(ptr @.str2046) %t155 = load ptr, ptr %t1 call void @fn_emit(ptr %t155) - call void @fn_emit(ptr @.str1742) + call void @fn_emit(ptr @.str2047) %t156 = load ptr, ptr %t149 call void @fn_emit(ptr %t156) %t157 = load ptr, ptr %t0 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 1 %t159 = load ptr, ptr %t158 call void @fn_emit(ptr %t159) - call void @fn_emit(ptr @.str1743) + call void @fn_emit(ptr @.str2048) br label %ifend16 ifend16: br label %ret @@ -24477,7 +28279,7 @@ entry: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str1744, ptr @g_ret_ty + store ptr @.str2049, ptr @g_ret_ty %t4 = call ptr @fn_buf_new() store ptr %t4, ptr %t5 %t6 = call ptr @fn_buf_new() @@ -24496,25 +28298,25 @@ entry: %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str1745) + call void @fn_emit(ptr @.str2050) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str1746) + call void @fn_emit(ptr @.str2051) %t17 = load ptr, ptr %t8 store ptr %t17, ptr @g_code - call void @fn_emit(ptr @.str1747) + call void @fn_emit(ptr @.str2052) %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 @.str1748) + call void @fn_emit(ptr @.str2053) %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 @.str1749) + call void @fn_emit(ptr @.str2054) br label %ret ret: ret void @@ -24536,12 +28338,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 @.str1750, ptr %t3) + %t4 = call ptr @fn_str_concat(ptr @.str2055, 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 @.str1751, ptr %t7) - %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str1752) + %t8 = call ptr @fn_str_concat(ptr @.str2056, ptr %t7) + %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str2057) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t13 = load ptr, ptr %t0 @@ -24574,17 +28376,17 @@ 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 @.str1753, ptr %t34) + %t35 = call ptr @fn_str_concat(ptr @.str2058, 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 @.str1754, ptr %t38) - %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str1755) + %t39 = call ptr @fn_str_concat(ptr @.str2059, ptr %t38) + %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str2060) %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 @.str1756, ptr %t43) - %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str1757) + %t44 = call ptr @fn_str_concat(ptr @.str2061, ptr %t43) + %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str2062) %t46 = load ptr, ptr %t42 %t47 = call ptr @fn_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @fn_emit_bind(ptr %t47) @@ -24599,51 +28401,51 @@ ifend4: %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then5, label %ifend7 then5: - %t55 = call ptr @fn_emit_bind(ptr @.str1758) + %t55 = call ptr @fn_emit_bind(ptr @.str2063) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 - %t58 = call ptr @fn_str_concat(ptr @.str1759, ptr %t57) - %t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str1760) + %t58 = call ptr @fn_str_concat(ptr @.str2064, ptr %t57) + %t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str2065) %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 @.str1761, ptr %t62) - %t64 = call ptr @fn_str_concat(ptr %t63, ptr @.str1762) + %t63 = call ptr @fn_str_concat(ptr @.str2066, ptr %t62) + %t64 = call ptr @fn_str_concat(ptr %t63, ptr @.str2067) %t65 = load ptr, ptr %t61 %t66 = call ptr @fn_str_concat(ptr %t64, ptr %t65) %t67 = call ptr @fn_emit_bind(ptr %t66) store ptr %t67, ptr %t11 br label %ifend7 ifend7: - %t68 = call ptr @fn_lbl(ptr @.str1763) + %t68 = call ptr @fn_lbl(ptr @.str2068) store ptr %t68, ptr %t69 - %t70 = call ptr @fn_lbl(ptr @.str1764) + %t70 = call ptr @fn_lbl(ptr @.str2069) store ptr %t70, ptr %t71 - call void @fn_emit(ptr @.str1765) + call void @fn_emit(ptr @.str2070) %t72 = load ptr, ptr %t11 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str1766) + call void @fn_emit(ptr @.str2071) %t73 = load ptr, ptr %t69 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str1767) + call void @fn_emit(ptr @.str2072) %t74 = load ptr, ptr %t71 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str1768) + call void @fn_emit(ptr @.str2073) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str1769) + call void @fn_emit(ptr @.str2074) %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 @.str1770) - call void @fn_emit(ptr @.str1771) + call void @fn_emit(ptr @.str2075) + call void @fn_emit(ptr @.str2076) %t79 = load ptr, ptr %t71 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str1772) + call void @fn_emit(ptr @.str2077) %t80 = load ptr, ptr %t71 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str1773) + call void @fn_emit(ptr @.str2078) br label %ret ret: ret void @@ -24812,7 +28614,7 @@ wend12: then20: br label %ret ifend22: - %t96 = call ptr @fn_emit_bind(ptr @.str1774) + %t96 = call ptr @fn_emit_bind(ptr @.str2079) store ptr %t96, ptr %t97 store i32 0, ptr %t1 br label %wcond23 @@ -24874,8 +28676,8 @@ scend29: br i1 %t139, label %then30, label %ifend32 then30: %t140 = load ptr, ptr %t97 - %t141 = call ptr @fn_str_concat(ptr @.str1775, ptr %t140) - %t142 = call ptr @fn_str_concat(ptr %t141, ptr @.str1776) + %t141 = call ptr @fn_str_concat(ptr @.str2080, ptr %t140) + %t142 = call ptr @fn_str_concat(ptr %t141, ptr @.str2081) %t143 = load ptr, ptr %t111 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 6 %t145 = load ptr, ptr %t144 @@ -24885,32 +28687,32 @@ then30: %t149 = call ptr @fn_str_concat(ptr %t142, ptr %t148) %t150 = call ptr @fn_emit_bind(ptr %t149) store ptr %t150, ptr %t151 - %t152 = call ptr @fn_lbl(ptr @.str1777) + %t152 = call ptr @fn_lbl(ptr @.str2082) store ptr %t152, ptr %t153 - %t154 = call ptr @fn_lbl(ptr @.str1778) + %t154 = call ptr @fn_lbl(ptr @.str2083) store ptr %t154, ptr %t155 - call void @fn_emit(ptr @.str1779) + call void @fn_emit(ptr @.str2084) %t156 = load ptr, ptr %t151 call void @fn_emit(ptr %t156) - call void @fn_emit(ptr @.str1780) + call void @fn_emit(ptr @.str2085) %t157 = load ptr, ptr %t153 call void @fn_emit(ptr %t157) - call void @fn_emit(ptr @.str1781) + call void @fn_emit(ptr @.str2086) %t158 = load ptr, ptr %t155 call void @fn_emit(ptr %t158) - call void @fn_emit(ptr @.str1782) + call void @fn_emit(ptr @.str2087) %t159 = load ptr, ptr %t153 call void @fn_emit(ptr %t159) - call void @fn_emit(ptr @.str1783) + call void @fn_emit(ptr @.str2088) %t160 = load ptr, ptr %t111 call void @fn_emit_call_one(ptr %t160) - call void @fn_emit(ptr @.str1784) + call void @fn_emit(ptr @.str2089) %t161 = load ptr, ptr %t155 call void @fn_emit(ptr %t161) - call void @fn_emit(ptr @.str1785) + call void @fn_emit(ptr @.str2090) %t162 = load ptr, ptr %t155 call void @fn_emit(ptr %t162) - call void @fn_emit(ptr @.str1786) + call void @fn_emit(ptr @.str2091) br label %ifend32 ifend32: %t163 = load i32, ptr %t1 @@ -24941,7 +28743,7 @@ entry: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str1787, ptr @g_ret_ty + store ptr @.str2092, ptr @g_ret_ty %t3 = call ptr @fn_buf_new() store ptr %t3, ptr %t4 %t5 = call ptr @fn_buf_new() @@ -24961,8 +28763,8 @@ then0: br label %ifend2 ifend2: %t14 = load ptr, ptr %t0 - %t15 = call ptr @fn_str_concat(ptr @.str1788, ptr %t14) - %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str1789) + %t15 = call ptr @fn_str_concat(ptr @.str2093, ptr %t14) + %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str2094) %t17 = load ptr, ptr %t1 %t18 = call ptr @fn_str_concat(ptr %t16, ptr %t17) store ptr %t18, ptr %t19 @@ -24987,10 +28789,10 @@ scend4: %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: - call void @fn_emit(ptr @.str1790) + call void @fn_emit(ptr @.str2095) %t34 = load ptr, ptr %t19 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str1791) + call void @fn_emit(ptr @.str2096) br label %ifend7 ifend7: %t35 = load i32, ptr @g_g_term @@ -24999,26 +28801,26 @@ ifend7: %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then8, label %ifend10 then8: - call void @fn_emit(ptr @.str1792) + call void @fn_emit(ptr @.str2097) br label %ifend10 ifend10: - call void @fn_emit(ptr @.str1793) + call void @fn_emit(ptr @.str2098) %t39 = load ptr, ptr %t7 store ptr %t39, ptr @g_code - call void @fn_emit(ptr @.str1794) + call void @fn_emit(ptr @.str2099) %t40 = load ptr, ptr %t1 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str1795) + call void @fn_emit(ptr @.str2100) %t41 = load ptr, ptr %t0 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str1796) + call void @fn_emit(ptr @.str2101) %t42 = load ptr, ptr @g_falloc %t43 = call ptr @fn_buf_str(ptr %t42) call void @fn_emit(ptr %t43) %t44 = load ptr, ptr %t4 %t45 = call ptr @fn_buf_str(ptr %t44) call void @fn_emit(ptr %t45) - call void @fn_emit(ptr @.str1797) + call void @fn_emit(ptr @.str2102) br label %ret ret: ret void @@ -25055,14 +28857,14 @@ wbody1: %t19 = load ptr, ptr %t14 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4 %t21 = load ptr, ptr %t20 - call void @fn_emit_scene_fn(ptr %t18, ptr @.str1798, ptr %t21) + call void @fn_emit_scene_fn(ptr %t18, ptr @.str2103, ptr %t21) %t22 = load ptr, ptr %t14 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr %t23 %t25 = load ptr, ptr %t14 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 5 %t27 = load ptr, ptr %t26 - call void @fn_emit_scene_fn(ptr %t24, ptr @.str1799, ptr %t27) + call void @fn_emit_scene_fn(ptr %t24, ptr @.str2104, ptr %t27) %t28 = load i32, ptr %t0 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t0 @@ -25111,7 +28913,7 @@ wbody1: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str1800, ptr @g_ret_ty + store ptr @.str2105, ptr @g_ret_ty %t20 = call ptr @fn_buf_new() store ptr %t20, ptr %t21 %t22 = call ptr @fn_buf_new() @@ -25128,21 +28930,21 @@ wbody1: %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then3, label %ifend5 then3: - %t32 = call ptr @fn_emit_alloca(ptr @.str1801) + %t32 = call ptr @fn_emit_alloca(ptr @.str2106) store ptr %t32, ptr %t33 - call void @fn_emit(ptr @.str1802) + call void @fn_emit(ptr @.str2107) %t34 = load ptr, ptr %t33 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str1803) + call void @fn_emit(ptr @.str2108) %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 @.str1804) + call void @fn_loc_push(ptr %t37, ptr %t38, ptr @.str2109) br label %ifend5 ifend5: %t39 = load ptr, ptr %t19 - call void @fn_emit_bind_props(ptr %t39, ptr @.str1805) + call void @fn_emit_bind_props(ptr %t39, ptr @.str2110) %t40 = load ptr, ptr %t14 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4 %t42 = load ptr, ptr %t41 @@ -25153,25 +28955,25 @@ ifend5: %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str1806) + call void @fn_emit(ptr @.str2111) br label %ifend8 ifend8: - call void @fn_emit(ptr @.str1807) + call void @fn_emit(ptr @.str2112) %t47 = load ptr, ptr %t24 store ptr %t47, ptr @g_code - call void @fn_emit(ptr @.str1808) + call void @fn_emit(ptr @.str2113) %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 @.str1809) + call void @fn_emit(ptr @.str2114) %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 @.str1810) + call void @fn_emit(ptr @.str2115) %t55 = load i32, ptr %t0 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t0 @@ -25202,21 +29004,21 @@ then0: ifend2: %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 - call void @fn_emit(ptr @.str1811) - call void @fn_emit(ptr @.str1812) - call void @fn_emit(ptr @.str1813) - call void @fn_emit(ptr @.str1814) - call void @fn_emit(ptr @.str1815) + call void @fn_emit(ptr @.str2116) + call void @fn_emit(ptr @.str2117) + call void @fn_emit(ptr @.str2118) + call void @fn_emit(ptr @.str2119) + call void @fn_emit(ptr @.str2120) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) - call void @fn_emit(ptr @.str1816) - call void @fn_emit(ptr @.str1817) - call void @fn_emit(ptr @.str1818) - call void @fn_emit(ptr @.str1819) + call void @fn_emit(ptr @.str2121) + call void @fn_emit(ptr @.str2122) + call void @fn_emit(ptr @.str2123) + call void @fn_emit(ptr @.str2124) %t9 = load ptr, ptr %t7 call void @fn_emit(ptr %t9) - call void @fn_emit(ptr @.str1820) - call void @fn_emit(ptr @.str1821) + call void @fn_emit(ptr @.str2125) + call void @fn_emit(ptr @.str2126) store i32 0, ptr %t10 br label %wcond3 wcond3: @@ -25241,35 +29043,35 @@ wbody4: %t27 = load i32, ptr %t10 %t28 = call ptr @fn_itoa(i32 %t27) store ptr %t28, ptr %t29 - call void @fn_emit(ptr @.str1822) + call void @fn_emit(ptr @.str2127) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str1823) + call void @fn_emit(ptr @.str2128) %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 @.str1824) - call void @fn_emit(ptr @.str1825) + call void @fn_emit(ptr @.str2129) + call void @fn_emit(ptr @.str2130) %t34 = load ptr, ptr %t29 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str1826) + call void @fn_emit(ptr @.str2131) %t35 = load ptr, ptr %t29 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str1827) + call void @fn_emit(ptr @.str2132) %t36 = load ptr, ptr %t29 call void @fn_emit(ptr %t36) - call void @fn_emit(ptr @.str1828) - call void @fn_emit(ptr @.str1829) + call void @fn_emit(ptr @.str2133) + call void @fn_emit(ptr @.str2134) %t37 = load ptr, ptr %t29 call void @fn_emit(ptr %t37) - call void @fn_emit(ptr @.str1830) + call void @fn_emit(ptr @.str2135) %t38 = load ptr, ptr %t26 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str1831) + call void @fn_emit(ptr @.str2136) %t39 = load ptr, ptr %t26 - %t40 = call ptr @fn_str_concat(ptr @.str1832, ptr %t39) - %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str1833) + %t40 = call ptr @fn_str_concat(ptr @.str2137, ptr %t39) + %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str2138) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_find_event(ptr %t43) @@ -25278,28 +29080,28 @@ wbody4: %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str1834) + call void @fn_emit(ptr @.str2139) %t48 = load ptr, ptr %t42 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str1835) + call void @fn_emit(ptr @.str2140) br label %ifend8 ifend8: - call void @fn_emit(ptr @.str1836) + call void @fn_emit(ptr @.str2141) %t49 = load ptr, ptr %t29 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str1837) - call void @fn_emit(ptr @.str1838) + call void @fn_emit(ptr @.str2142) + call void @fn_emit(ptr @.str2143) %t50 = load ptr, ptr %t29 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str1839) + call void @fn_emit(ptr @.str2144) %t51 = load i32, ptr %t10 %t52 = add i32 %t51, 1 store i32 %t52, ptr %t10 br label %wcond3 wend5: - call void @fn_emit(ptr @.str1840) - call void @fn_emit(ptr @.str1841) - call void @fn_emit(ptr @.str1842) + call void @fn_emit(ptr @.str2145) + call void @fn_emit(ptr @.str2146) + call void @fn_emit(ptr @.str2147) br label %ret ret: ret void @@ -25343,7 +29145,7 @@ entry: %t335 = alloca i32 %t351 = alloca ptr %t354 = alloca ptr - call void @fn_emith(ptr @.str1843) + call void @fn_emith(ptr @.str2148) store i32 0, ptr %t0 br label %wcond0 wcond0: @@ -25369,10 +29171,10 @@ wbody1: store ptr %t17, ptr %t18 %t19 = call ptr @fn_itoa(i32 16) store ptr %t19, ptr %t20 - call void @fn_emith(ptr @.str1844) + call void @fn_emith(ptr @.str2149) %t21 = load ptr, ptr %t18 call void @fn_emith(ptr %t21) - call void @fn_emith(ptr @.str1845) + call void @fn_emith(ptr @.str2150) store i32 0, ptr %t22 br label %wcond3 wcond3: @@ -25393,7 +29195,7 @@ wbody4: %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then6, label %ifend8 then6: - call void @fn_emith(ptr @.str1846) + call void @fn_emith(ptr @.str2151) br label %ifend8 ifend8: %t36 = load ptr, ptr %t14 @@ -25431,125 +29233,125 @@ then9: %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then12, label %ifend14 then12: - call void @fn_emith(ptr @.str1847) + call void @fn_emith(ptr @.str2152) br label %ifend14 ifend14: - call void @fn_emith(ptr @.str1848) + call void @fn_emith(ptr @.str2153) br label %ifend11 ifend11: - call void @fn_emith(ptr @.str1849) - call void @fn_emith(ptr @.str1850) + call void @fn_emith(ptr @.str2154) + call void @fn_emith(ptr @.str2155) %t63 = load ptr, ptr %t18 call void @fn_emith(ptr %t63) - call void @fn_emith(ptr @.str1851) + call void @fn_emith(ptr @.str2156) %t64 = load ptr, ptr %t20 call void @fn_emith(ptr %t64) - call void @fn_emith(ptr @.str1852) - call void @fn_emith(ptr @.str1853) + call void @fn_emith(ptr @.str2157) + call void @fn_emith(ptr @.str2158) %t65 = load ptr, ptr %t18 call void @fn_emith(ptr %t65) - call void @fn_emith(ptr @.str1854) - call void @fn_emith(ptr @.str1855) + call void @fn_emith(ptr @.str2159) + call void @fn_emith(ptr @.str2160) %t66 = load ptr, ptr %t18 call void @fn_emith(ptr %t66) - call void @fn_emith(ptr @.str1856) + call void @fn_emith(ptr @.str2161) %t67 = load ptr, ptr %t20 call void @fn_emith(ptr %t67) - call void @fn_emith(ptr @.str1857) - call void @fn_emit(ptr @.str1858) + call void @fn_emith(ptr @.str2162) + call void @fn_emit(ptr @.str2163) %t68 = load ptr, ptr %t18 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str1859) - call void @fn_emit(ptr @.str1860) + call void @fn_emit(ptr @.str2164) + call void @fn_emit(ptr @.str2165) %t69 = load ptr, ptr %t18 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str1861) - call void @fn_emit(ptr @.str1862) + call void @fn_emit(ptr @.str2166) + call void @fn_emit(ptr @.str2167) %t70 = load ptr, ptr %t20 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str1863) - call void @fn_emit(ptr @.str1864) - call void @fn_emit(ptr @.str1865) + call void @fn_emit(ptr @.str2168) + call void @fn_emit(ptr @.str2169) + call void @fn_emit(ptr @.str2170) %t71 = load ptr, ptr %t20 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str1866) + call void @fn_emit(ptr @.str2171) %t72 = load ptr, ptr %t18 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str1867) - call void @fn_emit(ptr @.str1868) - call void @fn_emit(ptr @.str1869) + call void @fn_emit(ptr @.str2172) + call void @fn_emit(ptr @.str2173) + call void @fn_emit(ptr @.str2174) %t73 = load ptr, ptr %t20 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str1870) + call void @fn_emit(ptr @.str2175) %t74 = load ptr, ptr %t18 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str1871) - call void @fn_emit(ptr @.str1872) - call void @fn_emit(ptr @.str1873) + call void @fn_emit(ptr @.str2176) + call void @fn_emit(ptr @.str2177) + call void @fn_emit(ptr @.str2178) %t75 = load ptr, ptr %t18 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str1874) - call void @fn_emit(ptr @.str1875) - call void @fn_emit(ptr @.str1876) + call void @fn_emit(ptr @.str2179) + call void @fn_emit(ptr @.str2180) + call void @fn_emit(ptr @.str2181) %t76 = load ptr, ptr %t18 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str1877) - call void @fn_emit(ptr @.str1878) + call void @fn_emit(ptr @.str2182) + call void @fn_emit(ptr @.str2183) %t77 = load ptr, ptr %t18 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str1879) - call void @fn_emit(ptr @.str1880) + call void @fn_emit(ptr @.str2184) + call void @fn_emit(ptr @.str2185) %t78 = load ptr, ptr %t20 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str1881) - call void @fn_emit(ptr @.str1882) - call void @fn_emit(ptr @.str1883) + call void @fn_emit(ptr @.str2186) + call void @fn_emit(ptr @.str2187) + call void @fn_emit(ptr @.str2188) %t79 = load ptr, ptr %t20 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str1884) + call void @fn_emit(ptr @.str2189) %t80 = load ptr, ptr %t18 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str1885) - call void @fn_emit(ptr @.str1886) - call void @fn_emit(ptr @.str1887) + call void @fn_emit(ptr @.str2190) + call void @fn_emit(ptr @.str2191) + call void @fn_emit(ptr @.str2192) %t81 = load ptr, ptr %t20 call void @fn_emit(ptr %t81) - call void @fn_emit(ptr @.str1888) + call void @fn_emit(ptr @.str2193) %t82 = load ptr, ptr %t18 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str1889) - call void @fn_emit(ptr @.str1890) - call void @fn_emit(ptr @.str1891) + call void @fn_emit(ptr @.str2194) + call void @fn_emit(ptr @.str2195) + call void @fn_emit(ptr @.str2196) %t83 = load ptr, ptr %t18 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str1892) - call void @fn_emit(ptr @.str1893) - call void @fn_emit(ptr @.str1894) + call void @fn_emit(ptr @.str2197) + call void @fn_emit(ptr @.str2198) + call void @fn_emit(ptr @.str2199) %t84 = load ptr, ptr %t18 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str1895) - call void @fn_emit(ptr @.str1896) + call void @fn_emit(ptr @.str2200) + call void @fn_emit(ptr @.str2201) %t85 = load ptr, ptr %t18 call void @fn_emit(ptr %t85) - call void @fn_emit(ptr @.str1897) - call void @fn_emit(ptr @.str1898) - call void @fn_emit(ptr @.str1899) - call void @fn_emit(ptr @.str1900) + call void @fn_emit(ptr @.str2202) + call void @fn_emit(ptr @.str2203) + call void @fn_emit(ptr @.str2204) + call void @fn_emit(ptr @.str2205) %t86 = load ptr, ptr %t20 call void @fn_emit(ptr %t86) - call void @fn_emit(ptr @.str1901) + call void @fn_emit(ptr @.str2206) %t87 = load ptr, ptr %t18 call void @fn_emit(ptr %t87) - call void @fn_emit(ptr @.str1902) - call void @fn_emit(ptr @.str1903) - call void @fn_emit(ptr @.str1904) + call void @fn_emit(ptr @.str2207) + call void @fn_emit(ptr @.str2208) + call void @fn_emit(ptr @.str2209) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str1905, ptr @g_ret_ty + store ptr @.str2210, ptr @g_ret_ty %t88 = call ptr @fn_buf_new() store ptr %t88, ptr %t89 %t90 = call ptr @fn_buf_new() @@ -25558,13 +29360,13 @@ ifend11: store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t89 store ptr %t93, ptr @g_code - call void @fn_emit(ptr @.str1906) - call void @fn_emit(ptr @.str1907) + call void @fn_emit(ptr @.str2211) + call void @fn_emit(ptr @.str2212) %t94 = call ptr @fn_itoa(i32 32) call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str1908) - call void @fn_emit(ptr @.str1909) - call void @fn_emit(ptr @.str1910) + call void @fn_emit(ptr @.str2213) + call void @fn_emit(ptr @.str2214) + call void @fn_emit(ptr @.str2215) %t95 = load ptr, ptr %t14 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 2 %t97 = load i32, ptr %t96 @@ -25573,16 +29375,16 @@ ifend11: %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then15, label %else16 then15: - call void @fn_emit(ptr @.str1911) + call void @fn_emit(ptr @.str2216) br label %ifend17 else16: - call void @fn_emit(ptr @.str1912) + call void @fn_emit(ptr @.str2217) br label %ifend17 ifend17: - call void @fn_emit(ptr @.str1913) - call void @fn_emit(ptr @.str1914) + call void @fn_emit(ptr @.str2218) + call void @fn_emit(ptr @.str2219) %t101 = load ptr, ptr %t18 - %t102 = call ptr @fn_str_concat(ptr @.str1915, ptr %t101) + %t102 = call ptr @fn_str_concat(ptr @.str2220, ptr %t101) %t103 = call ptr @fn_emit_alloca(ptr %t102) store ptr %t103, ptr %t104 store i32 0, ptr %t105 @@ -25615,45 +29417,45 @@ wbody19: store ptr %t127, ptr %t128 %t129 = call ptr @fn_nreg() store ptr %t129, ptr %t130 - call void @fn_emit(ptr @.str1916) + call void @fn_emit(ptr @.str2221) %t131 = load ptr, ptr %t130 call void @fn_emit(ptr %t131) - call void @fn_emit(ptr @.str1917) + call void @fn_emit(ptr @.str2222) %t132 = load ptr, ptr %t18 call void @fn_emit(ptr %t132) - call void @fn_emit(ptr @.str1918) + call void @fn_emit(ptr @.str2223) %t133 = load ptr, ptr %t104 call void @fn_emit(ptr %t133) - call void @fn_emit(ptr @.str1919) + call void @fn_emit(ptr @.str2224) %t134 = load i32, ptr %t105 %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) - call void @fn_emit(ptr @.str1920) - call void @fn_emit(ptr @.str1921) + call void @fn_emit(ptr @.str2225) + call void @fn_emit(ptr @.str2226) %t136 = load ptr, ptr %t128 call void @fn_emit(ptr %t136) - call void @fn_emit(ptr @.str1922) + call void @fn_emit(ptr @.str2227) %t137 = load i32, ptr %t105 %t138 = call ptr @fn_itoa(i32 %t137) call void @fn_emit(ptr %t138) - call void @fn_emit(ptr @.str1923) + call void @fn_emit(ptr @.str2228) %t139 = load ptr, ptr %t130 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str1924) + call void @fn_emit(ptr @.str2229) %t140 = load ptr, ptr %t128 %t141 = call ptr @fn_emit_alloca(ptr %t140) store ptr %t141, ptr %t142 - call void @fn_emit(ptr @.str1925) + call void @fn_emit(ptr @.str2230) %t143 = load ptr, ptr %t128 call void @fn_emit(ptr %t143) - call void @fn_emit(ptr @.str1926) + call void @fn_emit(ptr @.str2231) %t144 = load i32, ptr %t105 %t145 = call ptr @fn_itoa(i32 %t144) call void @fn_emit(ptr %t145) - call void @fn_emit(ptr @.str1927) + call void @fn_emit(ptr @.str2232) %t146 = load ptr, ptr %t142 call void @fn_emit(ptr %t146) - call void @fn_emit(ptr @.str1928) + call void @fn_emit(ptr @.str2233) %t147 = load ptr, ptr %t123 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 1 %t149 = load ptr, ptr %t148 @@ -25678,16 +29480,16 @@ wend20: then21: %t163 = call ptr @fn_nreg() store ptr %t163, ptr %t156 - call void @fn_emit(ptr @.str1929) + call void @fn_emit(ptr @.str2234) %t164 = load ptr, ptr %t156 call void @fn_emit(ptr %t164) - call void @fn_emit(ptr @.str1930) + call void @fn_emit(ptr @.str2235) %t165 = load ptr, ptr %t18 call void @fn_emit(ptr %t165) - call void @fn_emit(ptr @.str1931) + call void @fn_emit(ptr @.str2236) %t166 = load ptr, ptr %t104 call void @fn_emit(ptr %t166) - call void @fn_emit(ptr @.str1932) + call void @fn_emit(ptr @.str2237) %t167 = load ptr, ptr %t14 %t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 7 %t169 = load ptr, ptr %t168 @@ -25695,11 +29497,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 @.str1933) - call void @fn_emit(ptr @.str1934) + call void @fn_emit(ptr @.str2238) + call void @fn_emit(ptr @.str2239) %t173 = load ptr, ptr %t156 call void @fn_emit(ptr %t173) - call void @fn_emit(ptr @.str1935) + call void @fn_emit(ptr @.str2240) %t174 = load ptr, ptr %t156 store ptr %t174, ptr @g_g_cancel_addr br label %ifend23 @@ -25756,132 +29558,132 @@ wend26: %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then30, label %ifend32 then30: - %t211 = call ptr @fn_emit_alloca(ptr @.str1936) + %t211 = call ptr @fn_emit_alloca(ptr @.str2241) store ptr %t211, ptr %t212 - call void @fn_emit(ptr @.str1937) + call void @fn_emit(ptr @.str2242) %t213 = load ptr, ptr %t212 call void @fn_emit(ptr %t213) - call void @fn_emit(ptr @.str1938) - %t214 = call ptr @fn_lbl(ptr @.str1939) + call void @fn_emit(ptr @.str2243) + %t214 = call ptr @fn_lbl(ptr @.str2244) store ptr %t214, ptr %t215 - %t216 = call ptr @fn_lbl(ptr @.str1940) + %t216 = call ptr @fn_lbl(ptr @.str2245) store ptr %t216, ptr %t217 - %t218 = call ptr @fn_lbl(ptr @.str1941) + %t218 = call ptr @fn_lbl(ptr @.str2246) store ptr %t218, ptr %t219 - call void @fn_emit(ptr @.str1942) + call void @fn_emit(ptr @.str2247) %t220 = load ptr, ptr %t215 call void @fn_emit(ptr %t220) - call void @fn_emit(ptr @.str1943) + call void @fn_emit(ptr @.str2248) %t221 = load ptr, ptr %t215 call void @fn_emit(ptr %t221) - call void @fn_emit(ptr @.str1944) + call void @fn_emit(ptr @.str2249) %t222 = load ptr, ptr %t212 - %t223 = call ptr @fn_str_concat(ptr @.str1945, ptr %t222) + %t223 = call ptr @fn_str_concat(ptr @.str2250, 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 @.str1946, ptr %t226) + %t227 = call ptr @fn_str_concat(ptr @.str2251, 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 @.str1947, ptr %t230) - %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str1948) + %t231 = call ptr @fn_str_concat(ptr @.str2252, ptr %t230) + %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str2253) %t233 = load ptr, ptr %t229 %t234 = call ptr @fn_str_concat(ptr %t232, ptr %t233) %t235 = call ptr @fn_emit_bind(ptr %t234) store ptr %t235, ptr %t236 - call void @fn_emit(ptr @.str1949) + call void @fn_emit(ptr @.str2254) %t237 = load ptr, ptr %t236 call void @fn_emit(ptr %t237) - call void @fn_emit(ptr @.str1950) + call void @fn_emit(ptr @.str2255) %t238 = load ptr, ptr %t217 call void @fn_emit(ptr %t238) - call void @fn_emit(ptr @.str1951) + call void @fn_emit(ptr @.str2256) %t239 = load ptr, ptr %t219 call void @fn_emit(ptr %t239) - call void @fn_emit(ptr @.str1952) + call void @fn_emit(ptr @.str2257) %t240 = load ptr, ptr %t217 call void @fn_emit(ptr %t240) - call void @fn_emit(ptr @.str1953) + call void @fn_emit(ptr @.str2258) %t241 = call ptr @fn_nreg() store ptr %t241, ptr %t242 - call void @fn_emit(ptr @.str1954) + call void @fn_emit(ptr @.str2259) %t243 = load ptr, ptr %t242 call void @fn_emit(ptr %t243) - call void @fn_emit(ptr @.str1955) + call void @fn_emit(ptr @.str2260) %t244 = load ptr, ptr %t20 call void @fn_emit(ptr %t244) - call void @fn_emit(ptr @.str1956) + call void @fn_emit(ptr @.str2261) %t245 = load ptr, ptr %t18 call void @fn_emit(ptr %t245) - call void @fn_emit(ptr @.str1957) + call void @fn_emit(ptr @.str2262) %t246 = load ptr, ptr %t225 call void @fn_emit(ptr %t246) - call void @fn_emit(ptr @.str1958) + call void @fn_emit(ptr @.str2263) %t247 = load ptr, ptr %t242 - %t248 = call ptr @fn_str_concat(ptr @.str1959, ptr %t247) + %t248 = call ptr @fn_str_concat(ptr @.str2264, 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 @.str1960, ptr %t251) - %t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str1961) + %t252 = call ptr @fn_str_concat(ptr @.str2265, ptr %t251) + %t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str2266) %t254 = call ptr @fn_emit_bind(ptr %t253) store ptr %t254, ptr %t255 - %t256 = call ptr @fn_lbl(ptr @.str1962) + %t256 = call ptr @fn_lbl(ptr @.str2267) store ptr %t256, ptr %t257 - %t258 = call ptr @fn_lbl(ptr @.str1963) + %t258 = call ptr @fn_lbl(ptr @.str2268) store ptr %t258, ptr %t259 - call void @fn_emit(ptr @.str1964) + call void @fn_emit(ptr @.str2269) %t260 = load ptr, ptr %t255 call void @fn_emit(ptr %t260) - call void @fn_emit(ptr @.str1965) + call void @fn_emit(ptr @.str2270) %t261 = load ptr, ptr %t259 call void @fn_emit(ptr %t261) - call void @fn_emit(ptr @.str1966) + call void @fn_emit(ptr @.str2271) %t262 = load ptr, ptr %t257 call void @fn_emit(ptr %t262) - call void @fn_emit(ptr @.str1967) + call void @fn_emit(ptr @.str2272) %t263 = load ptr, ptr %t257 call void @fn_emit(ptr %t263) - call void @fn_emit(ptr @.str1968) - call void @fn_emit(ptr @.str1969) + call void @fn_emit(ptr @.str2273) + call void @fn_emit(ptr @.str2274) %t264 = load ptr, ptr %t250 call void @fn_emit(ptr %t264) - call void @fn_emit(ptr @.str1970) + call void @fn_emit(ptr @.str2275) %t265 = load ptr, ptr %t104 call void @fn_emit(ptr %t265) - call void @fn_emit(ptr @.str1971) - call void @fn_emit(ptr @.str1972) + call void @fn_emit(ptr @.str2276) + call void @fn_emit(ptr @.str2277) %t266 = load ptr, ptr %t259 call void @fn_emit(ptr %t266) - call void @fn_emit(ptr @.str1973) + call void @fn_emit(ptr @.str2278) %t267 = load ptr, ptr %t259 call void @fn_emit(ptr %t267) - call void @fn_emit(ptr @.str1974) + call void @fn_emit(ptr @.str2279) %t268 = load ptr, ptr %t225 - %t269 = call ptr @fn_str_concat(ptr @.str1975, ptr %t268) - %t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str1976) + %t269 = call ptr @fn_str_concat(ptr @.str2280, ptr %t268) + %t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str2281) %t271 = call ptr @fn_emit_bind(ptr %t270) store ptr %t271, ptr %t272 - call void @fn_emit(ptr @.str1977) + call void @fn_emit(ptr @.str2282) %t273 = load ptr, ptr %t272 call void @fn_emit(ptr %t273) - call void @fn_emit(ptr @.str1978) + call void @fn_emit(ptr @.str2283) %t274 = load ptr, ptr %t212 call void @fn_emit(ptr %t274) - call void @fn_emit(ptr @.str1979) - call void @fn_emit(ptr @.str1980) + call void @fn_emit(ptr @.str2284) + call void @fn_emit(ptr @.str2285) %t275 = load ptr, ptr %t215 call void @fn_emit(ptr %t275) - call void @fn_emit(ptr @.str1981) + call void @fn_emit(ptr @.str2286) %t276 = load ptr, ptr %t219 call void @fn_emit(ptr %t276) - call void @fn_emit(ptr @.str1982) - call void @fn_emit(ptr @.str1983) + call void @fn_emit(ptr @.str2287) + call void @fn_emit(ptr @.str2288) br label %ifend32 ifend32: - call void @fn_emit(ptr @.str1984) - call void @fn_emit(ptr @.str1985) + call void @fn_emit(ptr @.str2289) + call void @fn_emit(ptr @.str2290) %t277 = load ptr, ptr %t14 %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 2 %t279 = load i32, ptr %t278 @@ -25891,22 +29693,22 @@ ifend32: br i1 %t282, label %then33, label %else34 then33: %t283 = load ptr, ptr %t156 - %t284 = call ptr @fn_str_concat(ptr @.str1986, ptr %t283) + %t284 = call ptr @fn_str_concat(ptr @.str2291, ptr %t283) %t285 = call ptr @fn_emit_bind(ptr %t284) store ptr %t285, ptr %t286 - call void @fn_emit(ptr @.str1987) + call void @fn_emit(ptr @.str2292) %t287 = load ptr, ptr %t286 call void @fn_emit(ptr %t287) - call void @fn_emit(ptr @.str1988) + call void @fn_emit(ptr @.str2293) br label %ifend35 else34: - call void @fn_emit(ptr @.str1989) + call void @fn_emit(ptr @.str2294) 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 @.str1990, ptr %t289 + store ptr @.str2295, ptr %t289 %t290 = load ptr, ptr %t14 %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 2 %t292 = load i32, ptr %t291 @@ -25915,16 +29717,16 @@ ifend35: %t295 = icmp ne i32 %t294, 0 br i1 %t295, label %then36, label %ifend38 then36: - store ptr @.str1991, ptr %t289 + store ptr @.str2296, ptr %t289 br label %ifend38 ifend38: - call void @fn_emit(ptr @.str1992) + call void @fn_emit(ptr @.str2297) %t296 = load ptr, ptr %t289 call void @fn_emit(ptr %t296) - call void @fn_emit(ptr @.str1993) + call void @fn_emit(ptr @.str2298) %t297 = load ptr, ptr %t18 call void @fn_emit(ptr %t297) - call void @fn_emit(ptr @.str1994) + call void @fn_emit(ptr @.str2299) store i32 0, ptr %t298 br label %wcond39 wcond39: @@ -25945,7 +29747,7 @@ wbody40: %t311 = icmp ne i32 %t310, 0 br i1 %t311, label %then42, label %ifend44 then42: - call void @fn_emit(ptr @.str1995) + call void @fn_emit(ptr @.str2300) br label %ifend44 ifend44: %t312 = load ptr, ptr %t14 @@ -25960,7 +29762,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 @.str1996) + call void @fn_emit(ptr @.str2301) %t323 = load i32, ptr %t298 %t324 = call ptr @fn_itoa(i32 %t323) call void @fn_emit(ptr %t324) @@ -25969,14 +29771,14 @@ ifend44: store i32 %t326, ptr %t298 br label %wcond39 wend41: - call void @fn_emit(ptr @.str1997) + call void @fn_emit(ptr @.str2302) %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 @.str1998) + call void @fn_emit(ptr @.str2303) %t331 = load i32, ptr %t0 %t332 = add i32 %t331, 1 store i32 %t332, ptr %t0 @@ -25984,7 +29786,7 @@ wend41: wend2: %t333 = call ptr @fn_itoa(i32 16) store ptr %t333, ptr %t334 - call void @fn_emit(ptr @.str1999) + call void @fn_emit(ptr @.str2304) store i32 0, ptr %t335 br label %wcond45 wcond45: @@ -26009,127 +29811,127 @@ wbody46: %t352 = load i32, ptr %t335 %t353 = call ptr @fn_itoa(i32 %t352) store ptr %t353, ptr %t354 - call void @fn_emit(ptr @.str2000) + call void @fn_emit(ptr @.str2305) %t355 = load ptr, ptr %t354 call void @fn_emit(ptr %t355) - call void @fn_emit(ptr @.str2001) - call void @fn_emit(ptr @.str2002) + call void @fn_emit(ptr @.str2306) + call void @fn_emit(ptr @.str2307) %t356 = load ptr, ptr %t354 call void @fn_emit(ptr %t356) - call void @fn_emit(ptr @.str2003) - call void @fn_emit(ptr @.str2004) + call void @fn_emit(ptr @.str2308) + call void @fn_emit(ptr @.str2309) %t357 = load ptr, ptr %t354 call void @fn_emit(ptr %t357) - call void @fn_emit(ptr @.str2005) + call void @fn_emit(ptr @.str2310) %t358 = load ptr, ptr %t351 call void @fn_emit(ptr %t358) - call void @fn_emit(ptr @.str2006) - call void @fn_emit(ptr @.str2007) + call void @fn_emit(ptr @.str2311) + call void @fn_emit(ptr @.str2312) %t359 = load ptr, ptr %t354 call void @fn_emit(ptr %t359) - call void @fn_emit(ptr @.str2008) + call void @fn_emit(ptr @.str2313) %t360 = load ptr, ptr %t354 call void @fn_emit(ptr %t360) - call void @fn_emit(ptr @.str2009) + call void @fn_emit(ptr @.str2314) %t361 = load ptr, ptr %t354 call void @fn_emit(ptr %t361) - call void @fn_emit(ptr @.str2010) - call void @fn_emit(ptr @.str2011) + call void @fn_emit(ptr @.str2315) + call void @fn_emit(ptr @.str2316) %t362 = load ptr, ptr %t354 call void @fn_emit(ptr %t362) - call void @fn_emit(ptr @.str2012) + call void @fn_emit(ptr @.str2317) %t363 = load ptr, ptr %t354 call void @fn_emit(ptr %t363) - call void @fn_emit(ptr @.str2013) + call void @fn_emit(ptr @.str2318) %t364 = load ptr, ptr %t354 call void @fn_emit(ptr %t364) - call void @fn_emit(ptr @.str2014) - call void @fn_emit(ptr @.str2015) + call void @fn_emit(ptr @.str2319) + call void @fn_emit(ptr @.str2320) %t365 = load ptr, ptr %t354 call void @fn_emit(ptr %t365) - call void @fn_emit(ptr @.str2016) - call void @fn_emit(ptr @.str2017) + call void @fn_emit(ptr @.str2321) + call void @fn_emit(ptr @.str2322) %t366 = load ptr, ptr %t354 call void @fn_emit(ptr %t366) - call void @fn_emit(ptr @.str2018) + call void @fn_emit(ptr @.str2323) %t367 = load ptr, ptr %t334 call void @fn_emit(ptr %t367) - call void @fn_emit(ptr @.str2019) + call void @fn_emit(ptr @.str2324) %t368 = load ptr, ptr %t351 call void @fn_emit(ptr %t368) - call void @fn_emit(ptr @.str2020) + call void @fn_emit(ptr @.str2325) %t369 = load ptr, ptr %t354 call void @fn_emit(ptr %t369) - call void @fn_emit(ptr @.str2021) - call void @fn_emit(ptr @.str2022) + call void @fn_emit(ptr @.str2326) + call void @fn_emit(ptr @.str2327) %t370 = load ptr, ptr %t354 call void @fn_emit(ptr %t370) - call void @fn_emit(ptr @.str2023) + call void @fn_emit(ptr @.str2328) %t371 = load ptr, ptr %t354 call void @fn_emit(ptr %t371) - call void @fn_emit(ptr @.str2024) - call void @fn_emit(ptr @.str2025) + call void @fn_emit(ptr @.str2329) + call void @fn_emit(ptr @.str2330) %t372 = load ptr, ptr %t354 call void @fn_emit(ptr %t372) - call void @fn_emit(ptr @.str2026) + call void @fn_emit(ptr @.str2331) %t373 = load ptr, ptr %t354 call void @fn_emit(ptr %t373) - call void @fn_emit(ptr @.str2027) - call void @fn_emit(ptr @.str2028) + call void @fn_emit(ptr @.str2332) + call void @fn_emit(ptr @.str2333) %t374 = load ptr, ptr %t354 call void @fn_emit(ptr %t374) - call void @fn_emit(ptr @.str2029) + call void @fn_emit(ptr @.str2334) %t375 = load ptr, ptr %t354 call void @fn_emit(ptr %t375) - call void @fn_emit(ptr @.str2030) + call void @fn_emit(ptr @.str2335) %t376 = load ptr, ptr %t354 call void @fn_emit(ptr %t376) - call void @fn_emit(ptr @.str2031) - call void @fn_emit(ptr @.str2032) + call void @fn_emit(ptr @.str2336) + call void @fn_emit(ptr @.str2337) %t377 = load ptr, ptr %t354 call void @fn_emit(ptr %t377) - call void @fn_emit(ptr @.str2033) - call void @fn_emit(ptr @.str2034) + call void @fn_emit(ptr @.str2338) + call void @fn_emit(ptr @.str2339) %t378 = load ptr, ptr %t354 call void @fn_emit(ptr %t378) - call void @fn_emit(ptr @.str2035) + call void @fn_emit(ptr @.str2340) %t379 = load ptr, ptr %t334 call void @fn_emit(ptr %t379) - call void @fn_emit(ptr @.str2036) + call void @fn_emit(ptr @.str2341) %t380 = load ptr, ptr %t351 call void @fn_emit(ptr %t380) - call void @fn_emit(ptr @.str2037) + call void @fn_emit(ptr @.str2342) %t381 = load ptr, ptr %t354 call void @fn_emit(ptr %t381) - call void @fn_emit(ptr @.str2038) - call void @fn_emit(ptr @.str2039) + call void @fn_emit(ptr @.str2343) + call void @fn_emit(ptr @.str2344) %t382 = load ptr, ptr %t354 call void @fn_emit(ptr %t382) - call void @fn_emit(ptr @.str2040) + call void @fn_emit(ptr @.str2345) %t383 = load ptr, ptr %t354 call void @fn_emit(ptr %t383) - call void @fn_emit(ptr @.str2041) - call void @fn_emit(ptr @.str2042) + call void @fn_emit(ptr @.str2346) + call void @fn_emit(ptr @.str2347) %t384 = load ptr, ptr %t354 call void @fn_emit(ptr %t384) - call void @fn_emit(ptr @.str2043) - call void @fn_emit(ptr @.str2044) + call void @fn_emit(ptr @.str2348) + call void @fn_emit(ptr @.str2349) %t385 = load ptr, ptr %t354 call void @fn_emit(ptr %t385) - call void @fn_emit(ptr @.str2045) + call void @fn_emit(ptr @.str2350) %t386 = load ptr, ptr %t354 call void @fn_emit(ptr %t386) - call void @fn_emit(ptr @.str2046) + call void @fn_emit(ptr @.str2351) %t387 = load ptr, ptr %t354 call void @fn_emit(ptr %t387) - call void @fn_emit(ptr @.str2047) + call void @fn_emit(ptr @.str2352) %t388 = load ptr, ptr %t354 call void @fn_emit(ptr %t388) - call void @fn_emit(ptr @.str2048) - call void @fn_emit(ptr @.str2049) + call void @fn_emit(ptr @.str2353) + call void @fn_emit(ptr @.str2354) %t389 = load ptr, ptr %t354 call void @fn_emit(ptr %t389) - call void @fn_emit(ptr @.str2050) + call void @fn_emit(ptr @.str2355) %t390 = load i32, ptr %t335 %t391 = add i32 %t390, 1 %t392 = load ptr, ptr @g_g_events @@ -26140,15 +29942,15 @@ wbody46: %t397 = icmp ne i32 %t396, 0 br i1 %t397, label %then48, label %else49 then48: - call void @fn_emit(ptr @.str2051) + call void @fn_emit(ptr @.str2356) %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 @.str2052) + call void @fn_emit(ptr @.str2357) br label %ifend50 else49: - call void @fn_emit(ptr @.str2053) + call void @fn_emit(ptr @.str2358) br label %ifend50 ifend50: %t401 = load i32, ptr %t335 @@ -26156,7 +29958,7 @@ ifend50: store i32 %t402, ptr %t335 br label %wcond45 wend47: - call void @fn_emit(ptr @.str2054) + call void @fn_emit(ptr @.str2359) br label %ret ret: ret void @@ -26202,7 +30004,7 @@ entry: %t565 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emith(ptr @.str2055) + call void @fn_emith(ptr @.str2360) store i32 0, ptr %t2 store i32 0, ptr %t3 br label %wcond0 @@ -26242,12 +30044,12 @@ wend2: %t26 = load i32, ptr %t2 %t27 = call ptr @fn_itoa(i32 %t26) store ptr %t27, ptr %t28 - call void @fn_emith(ptr @.str2056) - call void @fn_emith(ptr @.str2057) - call void @fn_emith(ptr @.str2058) - call void @fn_emith(ptr @.str2059) - call void @fn_emith(ptr @.str2060) - call void @fn_emit(ptr @.str2061) + call void @fn_emith(ptr @.str2361) + call void @fn_emith(ptr @.str2362) + call void @fn_emith(ptr @.str2363) + call void @fn_emith(ptr @.str2364) + call void @fn_emith(ptr @.str2365) + call void @fn_emit(ptr @.str2366) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond6 @@ -26287,41 +30089,41 @@ then9: %t59 = load i32, ptr %t29 %t60 = call ptr @fn_itoa(i32 %t59) store ptr %t60, ptr %t61 - call void @fn_emit(ptr @.str2062) + call void @fn_emit(ptr @.str2367) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) - call void @fn_emit(ptr @.str2063) + call void @fn_emit(ptr @.str2368) %t63 = load ptr, ptr %t58 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str2064) - call void @fn_emit(ptr @.str2065) + call void @fn_emit(ptr @.str2369) + call void @fn_emit(ptr @.str2370) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str2066) + call void @fn_emit(ptr @.str2371) %t65 = load ptr, ptr %t61 call void @fn_emit(ptr %t65) - call void @fn_emit(ptr @.str2067) - call void @fn_emit(ptr @.str2068) + call void @fn_emit(ptr @.str2372) + call void @fn_emit(ptr @.str2373) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str2069) + call void @fn_emit(ptr @.str2374) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str2070) + call void @fn_emit(ptr @.str2375) %t68 = load ptr, ptr %t61 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str2071) - call void @fn_emit(ptr @.str2072) + call void @fn_emit(ptr @.str2376) + call void @fn_emit(ptr @.str2377) %t69 = load ptr, ptr %t61 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str2073) + call void @fn_emit(ptr @.str2378) %t70 = load ptr, ptr %t61 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str2074) - call void @fn_emit(ptr @.str2075) + call void @fn_emit(ptr @.str2379) + call void @fn_emit(ptr @.str2380) %t71 = load ptr, ptr %t61 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str2076) + call void @fn_emit(ptr @.str2381) %t72 = load i32, ptr %t29 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t29 @@ -26332,16 +30134,16 @@ ifend11: store i32 %t75, ptr %t30 br label %wcond6 wend8: - call void @fn_emit(ptr @.str2077) - call void @fn_emit(ptr @.str2078) - call void @fn_emit(ptr @.str2079) - call void @fn_emit(ptr @.str2080) + call void @fn_emit(ptr @.str2382) + call void @fn_emit(ptr @.str2383) + call void @fn_emit(ptr @.str2384) + call void @fn_emit(ptr @.str2385) %t76 = load ptr, ptr %t28 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str2081) - call void @fn_emit(ptr @.str2082) - call void @fn_emit(ptr @.str2083) - call void @fn_emit(ptr @.str2084) + call void @fn_emit(ptr @.str2386) + call void @fn_emit(ptr @.str2387) + call void @fn_emit(ptr @.str2388) + call void @fn_emit(ptr @.str2389) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond12 @@ -26378,27 +30180,27 @@ then15: %t102 = load i32, ptr %t29 %t103 = call ptr @fn_itoa(i32 %t102) store ptr %t103, ptr %t104 - call void @fn_emit(ptr @.str2085) + call void @fn_emit(ptr @.str2390) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) - call void @fn_emit(ptr @.str2086) + call void @fn_emit(ptr @.str2391) %t106 = load ptr, ptr %t104 call void @fn_emit(ptr %t106) - call void @fn_emit(ptr @.str2087) - call void @fn_emit(ptr @.str2088) + call void @fn_emit(ptr @.str2392) + call void @fn_emit(ptr @.str2393) %t107 = load ptr, ptr %t104 call void @fn_emit(ptr %t107) - call void @fn_emit(ptr @.str2089) + call void @fn_emit(ptr @.str2394) %t108 = load ptr, ptr %t104 call void @fn_emit(ptr %t108) - call void @fn_emit(ptr @.str2090) + call void @fn_emit(ptr @.str2395) %t109 = load ptr, ptr %t104 call void @fn_emit(ptr %t109) - call void @fn_emit(ptr @.str2091) - call void @fn_emit(ptr @.str2092) + call void @fn_emit(ptr @.str2396) + call void @fn_emit(ptr @.str2397) %t110 = load ptr, ptr %t104 call void @fn_emit(ptr %t110) - call void @fn_emit(ptr @.str2093) + call void @fn_emit(ptr @.str2398) store i32 0, ptr %t111 br label %wcond18 wcond18: @@ -26426,57 +30228,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 @.str2094) + %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str2399) %t135 = load i32, ptr %t111 %t136 = call ptr @fn_itoa(i32 %t135) %t137 = call ptr @fn_str_concat(ptr %t134, ptr %t136) store ptr %t137, ptr %t138 - call void @fn_emit(ptr @.str2095) + call void @fn_emit(ptr @.str2400) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str2096) + call void @fn_emit(ptr @.str2401) %t140 = load ptr, ptr %t132 call void @fn_emit(ptr %t140) - call void @fn_emit(ptr @.str2097) - call void @fn_emit(ptr @.str2098) + call void @fn_emit(ptr @.str2402) + call void @fn_emit(ptr @.str2403) %t141 = load ptr, ptr %t138 call void @fn_emit(ptr %t141) - call void @fn_emit(ptr @.str2099) + call void @fn_emit(ptr @.str2404) %t142 = load ptr, ptr %t138 call void @fn_emit(ptr %t142) - call void @fn_emit(ptr @.str2100) - call void @fn_emit(ptr @.str2101) + call void @fn_emit(ptr @.str2405) + call void @fn_emit(ptr @.str2406) %t143 = load ptr, ptr %t138 call void @fn_emit(ptr %t143) - call void @fn_emit(ptr @.str2102) + call void @fn_emit(ptr @.str2407) %t144 = load ptr, ptr %t138 call void @fn_emit(ptr %t144) - call void @fn_emit(ptr @.str2103) + call void @fn_emit(ptr @.str2408) %t145 = load ptr, ptr %t138 call void @fn_emit(ptr %t145) - call void @fn_emit(ptr @.str2104) - call void @fn_emit(ptr @.str2105) + call void @fn_emit(ptr @.str2409) + call void @fn_emit(ptr @.str2410) %t146 = load ptr, ptr %t138 call void @fn_emit(ptr %t146) - call void @fn_emit(ptr @.str2106) + call void @fn_emit(ptr @.str2411) %t147 = load i32, ptr %t111 %t148 = call ptr @fn_itoa(i32 %t147) call void @fn_emit(ptr %t148) - call void @fn_emit(ptr @.str2107) - call void @fn_emit(ptr @.str2108) + call void @fn_emit(ptr @.str2412) + call void @fn_emit(ptr @.str2413) %t149 = load ptr, ptr %t138 call void @fn_emit(ptr %t149) - call void @fn_emit(ptr @.str2109) + call void @fn_emit(ptr @.str2414) %t150 = load i32, ptr %t111 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t111 br label %wcond18 wend20: - call void @fn_emit(ptr @.str2110) - call void @fn_emit(ptr @.str2111) + call void @fn_emit(ptr @.str2415) + call void @fn_emit(ptr @.str2416) %t152 = load ptr, ptr %t104 call void @fn_emit(ptr %t152) - call void @fn_emit(ptr @.str2112) + call void @fn_emit(ptr @.str2417) %t153 = load i32, ptr %t29 %t154 = add i32 %t153, 1 store i32 %t154, ptr %t29 @@ -26487,8 +30289,8 @@ ifend17: store i32 %t156, ptr %t30 br label %wcond12 wend14: - call void @fn_emit(ptr @.str2113) - call void @fn_emit(ptr @.str2114) + call void @fn_emit(ptr @.str2418) + call void @fn_emit(ptr @.str2419) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond21 @@ -26529,40 +30331,40 @@ then24: %t186 = load i32, ptr %t29 %t187 = call ptr @fn_itoa(i32 %t186) store ptr %t187, ptr %t188 - call void @fn_emit(ptr @.str2115) + call void @fn_emit(ptr @.str2420) %t189 = load ptr, ptr %t188 call void @fn_emit(ptr %t189) - call void @fn_emit(ptr @.str2116) + call void @fn_emit(ptr @.str2421) %t190 = load ptr, ptr %t188 call void @fn_emit(ptr %t190) - call void @fn_emit(ptr @.str2117) - call void @fn_emit(ptr @.str2118) + call void @fn_emit(ptr @.str2422) + call void @fn_emit(ptr @.str2423) %t191 = load ptr, ptr %t188 call void @fn_emit(ptr %t191) - call void @fn_emit(ptr @.str2119) + call void @fn_emit(ptr @.str2424) %t192 = load ptr, ptr %t188 call void @fn_emit(ptr %t192) - call void @fn_emit(ptr @.str2120) + call void @fn_emit(ptr @.str2425) %t193 = load ptr, ptr %t188 call void @fn_emit(ptr %t193) - call void @fn_emit(ptr @.str2121) - call void @fn_emit(ptr @.str2122) + call void @fn_emit(ptr @.str2426) + call void @fn_emit(ptr @.str2427) %t194 = load ptr, ptr %t188 call void @fn_emit(ptr %t194) - call void @fn_emit(ptr @.str2123) - call void @fn_emit(ptr @.str2124) + call void @fn_emit(ptr @.str2428) + call void @fn_emit(ptr @.str2429) %t195 = load ptr, ptr %t188 call void @fn_emit(ptr %t195) - call void @fn_emit(ptr @.str2125) + call void @fn_emit(ptr @.str2430) %t196 = load ptr, ptr %t1 call void @fn_emit(ptr %t196) - call void @fn_emit(ptr @.str2126) + call void @fn_emit(ptr @.str2431) %t197 = load ptr, ptr %t185 call void @fn_emit(ptr %t197) - call void @fn_emit(ptr @.str2127) + call void @fn_emit(ptr @.str2432) %t198 = load ptr, ptr %t185 call void @fn_emit(ptr %t198) - call void @fn_emit(ptr @.str2128) + call void @fn_emit(ptr @.str2433) store i32 0, ptr %t199 br label %wcond27 wcond27: @@ -26590,130 +30392,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 @.str2129) + %t222 = call ptr @fn_str_concat(ptr %t221, ptr @.str2434) %t223 = load i32, ptr %t199 %t224 = call ptr @fn_itoa(i32 %t223) %t225 = call ptr @fn_str_concat(ptr %t222, ptr %t224) store ptr %t225, ptr %t226 - call void @fn_emit(ptr @.str2130) + call void @fn_emit(ptr @.str2435) %t227 = load ptr, ptr %t226 call void @fn_emit(ptr %t227) - call void @fn_emit(ptr @.str2131) + call void @fn_emit(ptr @.str2436) %t228 = load i32, ptr %t199 %t229 = call ptr @fn_itoa(i32 %t228) call void @fn_emit(ptr %t229) - call void @fn_emit(ptr @.str2132) - call void @fn_emit(ptr @.str2133) + call void @fn_emit(ptr @.str2437) + call void @fn_emit(ptr @.str2438) %t230 = load ptr, ptr %t226 call void @fn_emit(ptr %t230) - call void @fn_emit(ptr @.str2134) + call void @fn_emit(ptr @.str2439) %t231 = load ptr, ptr %t226 call void @fn_emit(ptr %t231) - call void @fn_emit(ptr @.str2135) + call void @fn_emit(ptr @.str2440) %t232 = load ptr, ptr %t226 call void @fn_emit(ptr %t232) - call void @fn_emit(ptr @.str2136) - call void @fn_emit(ptr @.str2137) + call void @fn_emit(ptr @.str2441) + call void @fn_emit(ptr @.str2442) %t233 = load ptr, ptr %t226 call void @fn_emit(ptr %t233) - call void @fn_emit(ptr @.str2138) - call void @fn_emit(ptr @.str2139) + call void @fn_emit(ptr @.str2443) + call void @fn_emit(ptr @.str2444) %t234 = load ptr, ptr %t226 call void @fn_emit(ptr %t234) - call void @fn_emit(ptr @.str2140) + call void @fn_emit(ptr @.str2445) %t235 = load ptr, ptr %t185 call void @fn_emit(ptr %t235) - call void @fn_emit(ptr @.str2141) + call void @fn_emit(ptr @.str2446) %t236 = load ptr, ptr %t188 call void @fn_emit(ptr %t236) - call void @fn_emit(ptr @.str2142) + call void @fn_emit(ptr @.str2447) %t237 = load i32, ptr %t199 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) - call void @fn_emit(ptr @.str2143) + call void @fn_emit(ptr @.str2448) %t239 = load ptr, ptr %t220 - %t240 = call i32 @fn_str_eq(ptr %t239, ptr @.str2144) + %t240 = call i32 @fn_str_eq(ptr %t239, ptr @.str2449) %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then30, label %else31 then30: - call void @fn_emit(ptr @.str2145) + call void @fn_emit(ptr @.str2450) %t242 = load ptr, ptr %t226 call void @fn_emit(ptr %t242) - call void @fn_emit(ptr @.str2146) + call void @fn_emit(ptr @.str2451) %t243 = load ptr, ptr %t226 call void @fn_emit(ptr %t243) - call void @fn_emit(ptr @.str2147) - call void @fn_emit(ptr @.str2148) + call void @fn_emit(ptr @.str2452) + call void @fn_emit(ptr @.str2453) %t244 = load ptr, ptr %t226 call void @fn_emit(ptr %t244) - call void @fn_emit(ptr @.str2149) + call void @fn_emit(ptr @.str2454) %t245 = load ptr, ptr %t226 call void @fn_emit(ptr %t245) - call void @fn_emit(ptr @.str2150) + call void @fn_emit(ptr @.str2455) %t246 = load ptr, ptr %t226 call void @fn_emit(ptr %t246) - call void @fn_emit(ptr @.str2151) + call void @fn_emit(ptr @.str2456) br label %ifend32 else31: %t247 = load ptr, ptr %t220 - %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str2152) + %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str2457) %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then33, label %else34 then33: - call void @fn_emit(ptr @.str2153) + call void @fn_emit(ptr @.str2458) %t250 = load ptr, ptr %t226 call void @fn_emit(ptr %t250) - call void @fn_emit(ptr @.str2154) + call void @fn_emit(ptr @.str2459) %t251 = load ptr, ptr %t226 call void @fn_emit(ptr %t251) - call void @fn_emit(ptr @.str2155) - call void @fn_emit(ptr @.str2156) + call void @fn_emit(ptr @.str2460) + call void @fn_emit(ptr @.str2461) %t252 = load ptr, ptr %t226 call void @fn_emit(ptr %t252) - call void @fn_emit(ptr @.str2157) + call void @fn_emit(ptr @.str2462) %t253 = load ptr, ptr %t226 call void @fn_emit(ptr %t253) - call void @fn_emit(ptr @.str2158) + call void @fn_emit(ptr @.str2463) %t254 = load ptr, ptr %t226 call void @fn_emit(ptr %t254) - call void @fn_emit(ptr @.str2159) + call void @fn_emit(ptr @.str2464) br label %ifend35 else34: - call void @fn_emit(ptr @.str2160) + call void @fn_emit(ptr @.str2465) %t255 = load ptr, ptr %t226 call void @fn_emit(ptr %t255) - call void @fn_emit(ptr @.str2161) + call void @fn_emit(ptr @.str2466) %t256 = load ptr, ptr %t226 call void @fn_emit(ptr %t256) - call void @fn_emit(ptr @.str2162) - call void @fn_emit(ptr @.str2163) + call void @fn_emit(ptr @.str2467) + call void @fn_emit(ptr @.str2468) %t257 = load ptr, ptr %t226 call void @fn_emit(ptr %t257) - call void @fn_emit(ptr @.str2164) + call void @fn_emit(ptr @.str2469) %t258 = load ptr, ptr %t226 call void @fn_emit(ptr %t258) - call void @fn_emit(ptr @.str2165) + call void @fn_emit(ptr @.str2470) %t259 = load ptr, ptr %t226 call void @fn_emit(ptr %t259) - call void @fn_emit(ptr @.str2166) + call void @fn_emit(ptr @.str2471) br label %ifend35 ifend35: br label %ifend32 ifend32: - call void @fn_emit(ptr @.str2167) + call void @fn_emit(ptr @.str2472) %t260 = load ptr, ptr %t226 call void @fn_emit(ptr %t260) - call void @fn_emit(ptr @.str2168) + call void @fn_emit(ptr @.str2473) %t261 = load i32, ptr %t199 %t262 = add i32 %t261, 1 store i32 %t262, ptr %t199 br label %wcond27 wend29: - call void @fn_emit(ptr @.str2169) - call void @fn_emit(ptr @.str2170) + call void @fn_emit(ptr @.str2474) + call void @fn_emit(ptr @.str2475) %t263 = load ptr, ptr %t188 call void @fn_emit(ptr %t263) - call void @fn_emit(ptr @.str2171) + call void @fn_emit(ptr @.str2476) %t264 = load i32, ptr %t29 %t265 = add i32 %t264, 1 store i32 %t265, ptr %t29 @@ -26724,16 +30526,16 @@ ifend26: store i32 %t267, ptr %t30 br label %wcond21 wend23: - call void @fn_emit(ptr @.str2172) + call void @fn_emit(ptr @.str2477) %t268 = load ptr, ptr %t28 call void @fn_emit(ptr %t268) - call void @fn_emit(ptr @.str2173) - call void @fn_emit(ptr @.str2174) - call void @fn_emit(ptr @.str2175) - call void @fn_emit(ptr @.str2176) - call void @fn_emit(ptr @.str2177) - call void @fn_emit(ptr @.str2178) - call void @fn_emit(ptr @.str2179) + call void @fn_emit(ptr @.str2478) + call void @fn_emit(ptr @.str2479) + call void @fn_emit(ptr @.str2480) + call void @fn_emit(ptr @.str2481) + call void @fn_emit(ptr @.str2482) + call void @fn_emit(ptr @.str2483) + call void @fn_emit(ptr @.str2484) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond36 @@ -26774,40 +30576,40 @@ then39: %t298 = load i32, ptr %t29 %t299 = call ptr @fn_itoa(i32 %t298) store ptr %t299, ptr %t300 - call void @fn_emit(ptr @.str2180) + call void @fn_emit(ptr @.str2485) %t301 = load ptr, ptr %t300 call void @fn_emit(ptr %t301) - call void @fn_emit(ptr @.str2181) + call void @fn_emit(ptr @.str2486) %t302 = load ptr, ptr %t300 call void @fn_emit(ptr %t302) - call void @fn_emit(ptr @.str2182) - call void @fn_emit(ptr @.str2183) + call void @fn_emit(ptr @.str2487) + call void @fn_emit(ptr @.str2488) %t303 = load ptr, ptr %t300 call void @fn_emit(ptr %t303) - call void @fn_emit(ptr @.str2184) + call void @fn_emit(ptr @.str2489) %t304 = load ptr, ptr %t300 call void @fn_emit(ptr %t304) - call void @fn_emit(ptr @.str2185) + call void @fn_emit(ptr @.str2490) %t305 = load ptr, ptr %t300 call void @fn_emit(ptr %t305) - call void @fn_emit(ptr @.str2186) - call void @fn_emit(ptr @.str2187) + call void @fn_emit(ptr @.str2491) + call void @fn_emit(ptr @.str2492) %t306 = load ptr, ptr %t300 call void @fn_emit(ptr %t306) - call void @fn_emit(ptr @.str2188) - call void @fn_emit(ptr @.str2189) + call void @fn_emit(ptr @.str2493) + call void @fn_emit(ptr @.str2494) %t307 = load ptr, ptr %t300 call void @fn_emit(ptr %t307) - call void @fn_emit(ptr @.str2190) + call void @fn_emit(ptr @.str2495) %t308 = load ptr, ptr %t1 call void @fn_emit(ptr %t308) - call void @fn_emit(ptr @.str2191) + call void @fn_emit(ptr @.str2496) %t309 = load ptr, ptr %t297 call void @fn_emit(ptr %t309) - call void @fn_emit(ptr @.str2192) + call void @fn_emit(ptr @.str2497) %t310 = load ptr, ptr %t297 call void @fn_emit(ptr %t310) - call void @fn_emit(ptr @.str2193) + call void @fn_emit(ptr @.str2498) store i32 0, ptr %t311 br label %wcond42 wcond42: @@ -26835,112 +30637,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 @.str2194) + %t334 = call ptr @fn_str_concat(ptr %t333, ptr @.str2499) %t335 = load i32, ptr %t311 %t336 = call ptr @fn_itoa(i32 %t335) %t337 = call ptr @fn_str_concat(ptr %t334, ptr %t336) store ptr %t337, ptr %t338 - call void @fn_emit(ptr @.str2195) + call void @fn_emit(ptr @.str2500) %t339 = load ptr, ptr %t338 call void @fn_emit(ptr %t339) - call void @fn_emit(ptr @.str2196) + call void @fn_emit(ptr @.str2501) %t340 = load i32, ptr %t311 %t341 = call ptr @fn_itoa(i32 %t340) call void @fn_emit(ptr %t341) - call void @fn_emit(ptr @.str2197) - call void @fn_emit(ptr @.str2198) + call void @fn_emit(ptr @.str2502) + call void @fn_emit(ptr @.str2503) %t342 = load ptr, ptr %t338 call void @fn_emit(ptr %t342) - call void @fn_emit(ptr @.str2199) + call void @fn_emit(ptr @.str2504) %t343 = load ptr, ptr %t338 call void @fn_emit(ptr %t343) - call void @fn_emit(ptr @.str2200) + call void @fn_emit(ptr @.str2505) %t344 = load ptr, ptr %t338 call void @fn_emit(ptr %t344) - call void @fn_emit(ptr @.str2201) - call void @fn_emit(ptr @.str2202) + call void @fn_emit(ptr @.str2506) + call void @fn_emit(ptr @.str2507) %t345 = load ptr, ptr %t338 call void @fn_emit(ptr %t345) - call void @fn_emit(ptr @.str2203) - call void @fn_emit(ptr @.str2204) + call void @fn_emit(ptr @.str2508) + call void @fn_emit(ptr @.str2509) %t346 = load ptr, ptr %t338 call void @fn_emit(ptr %t346) - call void @fn_emit(ptr @.str2205) + call void @fn_emit(ptr @.str2510) %t347 = load ptr, ptr %t297 call void @fn_emit(ptr %t347) - call void @fn_emit(ptr @.str2206) + call void @fn_emit(ptr @.str2511) %t348 = load ptr, ptr %t300 call void @fn_emit(ptr %t348) - call void @fn_emit(ptr @.str2207) + call void @fn_emit(ptr @.str2512) %t349 = load i32, ptr %t311 %t350 = call ptr @fn_itoa(i32 %t349) call void @fn_emit(ptr %t350) - call void @fn_emit(ptr @.str2208) + call void @fn_emit(ptr @.str2513) %t351 = load ptr, ptr %t332 - %t352 = call i32 @fn_str_eq(ptr %t351, ptr @.str2209) + %t352 = call i32 @fn_str_eq(ptr %t351, ptr @.str2514) %t353 = icmp ne i32 %t352, 0 br i1 %t353, label %then45, label %else46 then45: - call void @fn_emit(ptr @.str2210) + call void @fn_emit(ptr @.str2515) %t354 = load ptr, ptr %t338 call void @fn_emit(ptr %t354) - call void @fn_emit(ptr @.str2211) - call void @fn_emit(ptr @.str2212) + call void @fn_emit(ptr @.str2516) + call void @fn_emit(ptr @.str2517) %t355 = load ptr, ptr %t338 call void @fn_emit(ptr %t355) - call void @fn_emit(ptr @.str2213) + call void @fn_emit(ptr @.str2518) %t356 = load ptr, ptr %t338 call void @fn_emit(ptr %t356) - call void @fn_emit(ptr @.str2214) + call void @fn_emit(ptr @.str2519) br label %ifend47 else46: %t357 = load ptr, ptr %t332 - %t358 = call i32 @fn_str_eq(ptr %t357, ptr @.str2215) + %t358 = call i32 @fn_str_eq(ptr %t357, ptr @.str2520) %t359 = icmp ne i32 %t358, 0 br i1 %t359, label %then48, label %else49 then48: - call void @fn_emit(ptr @.str2216) + call void @fn_emit(ptr @.str2521) %t360 = load ptr, ptr %t338 call void @fn_emit(ptr %t360) - call void @fn_emit(ptr @.str2217) - call void @fn_emit(ptr @.str2218) + call void @fn_emit(ptr @.str2522) + call void @fn_emit(ptr @.str2523) %t361 = load ptr, ptr %t338 call void @fn_emit(ptr %t361) - call void @fn_emit(ptr @.str2219) + call void @fn_emit(ptr @.str2524) %t362 = load ptr, ptr %t338 call void @fn_emit(ptr %t362) - call void @fn_emit(ptr @.str2220) + call void @fn_emit(ptr @.str2525) br label %ifend50 else49: - call void @fn_emit(ptr @.str2221) + call void @fn_emit(ptr @.str2526) %t363 = load ptr, ptr %t338 call void @fn_emit(ptr %t363) - call void @fn_emit(ptr @.str2222) - call void @fn_emit(ptr @.str2223) + call void @fn_emit(ptr @.str2527) + call void @fn_emit(ptr @.str2528) %t364 = load ptr, ptr %t338 call void @fn_emit(ptr %t364) - call void @fn_emit(ptr @.str2224) + call void @fn_emit(ptr @.str2529) %t365 = load ptr, ptr %t338 call void @fn_emit(ptr %t365) - call void @fn_emit(ptr @.str2225) + call void @fn_emit(ptr @.str2530) br label %ifend50 ifend50: br label %ifend47 ifend47: - call void @fn_emit(ptr @.str2226) + call void @fn_emit(ptr @.str2531) %t366 = load ptr, ptr %t338 call void @fn_emit(ptr %t366) - call void @fn_emit(ptr @.str2227) + call void @fn_emit(ptr @.str2532) %t367 = load i32, ptr %t311 %t368 = add i32 %t367, 1 store i32 %t368, ptr %t311 br label %wcond42 wend44: - call void @fn_emit(ptr @.str2228) - call void @fn_emit(ptr @.str2229) + call void @fn_emit(ptr @.str2533) + call void @fn_emit(ptr @.str2534) %t369 = load ptr, ptr %t300 call void @fn_emit(ptr %t369) - call void @fn_emit(ptr @.str2230) + call void @fn_emit(ptr @.str2535) %t370 = load i32, ptr %t29 %t371 = add i32 %t370, 1 store i32 %t371, ptr %t29 @@ -26951,16 +30753,16 @@ ifend41: store i32 %t373, ptr %t30 br label %wcond36 wend38: - call void @fn_emit(ptr @.str2231) + call void @fn_emit(ptr @.str2536) %t374 = load ptr, ptr %t28 call void @fn_emit(ptr %t374) - call void @fn_emit(ptr @.str2232) - call void @fn_emit(ptr @.str2233) - call void @fn_emit(ptr @.str2234) - call void @fn_emit(ptr @.str2235) - call void @fn_emit(ptr @.str2236) - call void @fn_emit(ptr @.str2237) - call void @fn_emit(ptr @.str2238) + call void @fn_emit(ptr @.str2537) + call void @fn_emit(ptr @.str2538) + call void @fn_emit(ptr @.str2539) + call void @fn_emit(ptr @.str2540) + call void @fn_emit(ptr @.str2541) + call void @fn_emit(ptr @.str2542) + call void @fn_emit(ptr @.str2543) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond51 @@ -26999,58 +30801,58 @@ then54: %t402 = load i32, ptr %t29 %t403 = call ptr @fn_itoa(i32 %t402) store ptr %t403, ptr %t404 - call void @fn_emit(ptr @.str2239) + call void @fn_emit(ptr @.str2544) %t405 = load ptr, ptr %t404 call void @fn_emit(ptr %t405) - call void @fn_emit(ptr @.str2240) + call void @fn_emit(ptr @.str2545) %t406 = load ptr, ptr %t404 call void @fn_emit(ptr %t406) - call void @fn_emit(ptr @.str2241) - call void @fn_emit(ptr @.str2242) + call void @fn_emit(ptr @.str2546) + call void @fn_emit(ptr @.str2547) %t407 = load ptr, ptr %t404 call void @fn_emit(ptr %t407) - call void @fn_emit(ptr @.str2243) + call void @fn_emit(ptr @.str2548) %t408 = load ptr, ptr %t404 call void @fn_emit(ptr %t408) - call void @fn_emit(ptr @.str2244) + call void @fn_emit(ptr @.str2549) %t409 = load ptr, ptr %t404 call void @fn_emit(ptr %t409) - call void @fn_emit(ptr @.str2245) - call void @fn_emit(ptr @.str2246) + call void @fn_emit(ptr @.str2550) + call void @fn_emit(ptr @.str2551) %t410 = load ptr, ptr %t404 call void @fn_emit(ptr %t410) - call void @fn_emit(ptr @.str2247) - call void @fn_emit(ptr @.str2248) + call void @fn_emit(ptr @.str2552) + call void @fn_emit(ptr @.str2553) %t411 = load ptr, ptr %t404 call void @fn_emit(ptr %t411) - call void @fn_emit(ptr @.str2249) + call void @fn_emit(ptr @.str2554) %t412 = load ptr, ptr %t1 call void @fn_emit(ptr %t412) - call void @fn_emit(ptr @.str2250) + call void @fn_emit(ptr @.str2555) %t413 = load ptr, ptr %t401 call void @fn_emit(ptr %t413) - call void @fn_emit(ptr @.str2251) - call void @fn_emit(ptr @.str2252) + call void @fn_emit(ptr @.str2556) + call void @fn_emit(ptr @.str2557) %t414 = load ptr, ptr %t404 call void @fn_emit(ptr %t414) - call void @fn_emit(ptr @.str2253) + call void @fn_emit(ptr @.str2558) %t415 = load ptr, ptr %t404 call void @fn_emit(ptr %t415) - call void @fn_emit(ptr @.str2254) - call void @fn_emit(ptr @.str2255) + call void @fn_emit(ptr @.str2559) + call void @fn_emit(ptr @.str2560) %t416 = load ptr, ptr %t404 call void @fn_emit(ptr %t416) - call void @fn_emit(ptr @.str2256) + call void @fn_emit(ptr @.str2561) %t417 = load ptr, ptr %t404 call void @fn_emit(ptr %t417) - call void @fn_emit(ptr @.str2257) + call void @fn_emit(ptr @.str2562) %t418 = load ptr, ptr %t404 call void @fn_emit(ptr %t418) - call void @fn_emit(ptr @.str2258) - call void @fn_emit(ptr @.str2259) + call void @fn_emit(ptr @.str2563) + call void @fn_emit(ptr @.str2564) %t419 = load ptr, ptr %t404 call void @fn_emit(ptr %t419) - call void @fn_emit(ptr @.str2260) + call void @fn_emit(ptr @.str2565) %t420 = load i32, ptr %t29 %t421 = add i32 %t420, 1 store i32 %t421, ptr %t29 @@ -27061,54 +30863,54 @@ ifend56: store i32 %t423, ptr %t30 br label %wcond51 wend53: - call void @fn_emit(ptr @.str2261) + call void @fn_emit(ptr @.str2566) %t424 = load ptr, ptr %t28 call void @fn_emit(ptr %t424) - call void @fn_emit(ptr @.str2262) - call void @fn_emit(ptr @.str2263) - call void @fn_emit(ptr @.str2264) - call void @fn_emit(ptr @.str2265) - call void @fn_emit(ptr @.str2266) - call void @fn_emit(ptr @.str2267) - call void @fn_emit(ptr @.str2268) + call void @fn_emit(ptr @.str2567) + call void @fn_emit(ptr @.str2568) + call void @fn_emit(ptr @.str2569) + call void @fn_emit(ptr @.str2570) + call void @fn_emit(ptr @.str2571) + call void @fn_emit(ptr @.str2572) + call void @fn_emit(ptr @.str2573) %t425 = load ptr, ptr %t1 call void @fn_emit(ptr %t425) - call void @fn_emit(ptr @.str2269) - call void @fn_emit(ptr @.str2270) - call void @fn_emit(ptr @.str2271) - call void @fn_emit(ptr @.str2272) + call void @fn_emit(ptr @.str2574) + call void @fn_emit(ptr @.str2575) + call void @fn_emit(ptr @.str2576) + call void @fn_emit(ptr @.str2577) %t426 = load ptr, ptr %t1 call void @fn_emit(ptr %t426) - call void @fn_emit(ptr @.str2273) + call void @fn_emit(ptr @.str2578) %t427 = load ptr, ptr %t1 call void @fn_emit(ptr %t427) - call void @fn_emit(ptr @.str2274) - call void @fn_emit(ptr @.str2275) - call void @fn_emit(ptr @.str2276) - call void @fn_emit(ptr @.str2277) - call void @fn_emit(ptr @.str2278) + call void @fn_emit(ptr @.str2579) + call void @fn_emit(ptr @.str2580) + call void @fn_emit(ptr @.str2581) + call void @fn_emit(ptr @.str2582) + call void @fn_emit(ptr @.str2583) %t428 = load ptr, ptr %t28 call void @fn_emit(ptr %t428) - call void @fn_emit(ptr @.str2279) - call void @fn_emit(ptr @.str2280) - call void @fn_emit(ptr @.str2281) - call void @fn_emit(ptr @.str2282) + call void @fn_emit(ptr @.str2584) + call void @fn_emit(ptr @.str2585) + call void @fn_emit(ptr @.str2586) + call void @fn_emit(ptr @.str2587) %t429 = load ptr, ptr %t28 call void @fn_emit(ptr %t429) - call void @fn_emit(ptr @.str2283) - call void @fn_emit(ptr @.str2284) - call void @fn_emit(ptr @.str2285) + call void @fn_emit(ptr @.str2588) + call void @fn_emit(ptr @.str2589) + call void @fn_emit(ptr @.str2590) %t430 = load ptr, ptr %t28 call void @fn_emit(ptr %t430) - call void @fn_emit(ptr @.str2286) - call void @fn_emit(ptr @.str2287) - call void @fn_emit(ptr @.str2288) - call void @fn_emit(ptr @.str2289) + call void @fn_emit(ptr @.str2591) + call void @fn_emit(ptr @.str2592) + call void @fn_emit(ptr @.str2593) + call void @fn_emit(ptr @.str2594) %t431 = load ptr, ptr %t1 call void @fn_emit(ptr %t431) - call void @fn_emit(ptr @.str2290) - call void @fn_emit(ptr @.str2291) - call void @fn_emit(ptr @.str2292) + call void @fn_emit(ptr @.str2595) + call void @fn_emit(ptr @.str2596) + call void @fn_emit(ptr @.str2597) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond57 @@ -27148,34 +30950,34 @@ then60: %t460 = load i32, ptr %t29 %t461 = call ptr @fn_itoa(i32 %t460) store ptr %t461, ptr %t462 - call void @fn_emit(ptr @.str2293) + call void @fn_emit(ptr @.str2598) %t463 = load ptr, ptr %t462 call void @fn_emit(ptr %t463) - call void @fn_emit(ptr @.str2294) + call void @fn_emit(ptr @.str2599) %t464 = load ptr, ptr %t459 call void @fn_emit(ptr %t464) - call void @fn_emit(ptr @.str2295) - call void @fn_emit(ptr @.str2296) + call void @fn_emit(ptr @.str2600) + call void @fn_emit(ptr @.str2601) %t465 = load ptr, ptr %t462 call void @fn_emit(ptr %t465) - call void @fn_emit(ptr @.str2297) + call void @fn_emit(ptr @.str2602) %t466 = load ptr, ptr %t462 call void @fn_emit(ptr %t466) - call void @fn_emit(ptr @.str2298) - call void @fn_emit(ptr @.str2299) + call void @fn_emit(ptr @.str2603) + call void @fn_emit(ptr @.str2604) %t467 = load ptr, ptr %t462 call void @fn_emit(ptr %t467) - call void @fn_emit(ptr @.str2300) + call void @fn_emit(ptr @.str2605) %t468 = load ptr, ptr %t462 call void @fn_emit(ptr %t468) - call void @fn_emit(ptr @.str2301) + call void @fn_emit(ptr @.str2606) %t469 = load ptr, ptr %t462 call void @fn_emit(ptr %t469) - call void @fn_emit(ptr @.str2302) - call void @fn_emit(ptr @.str2303) + call void @fn_emit(ptr @.str2607) + call void @fn_emit(ptr @.str2608) %t470 = load ptr, ptr %t462 call void @fn_emit(ptr %t470) - call void @fn_emit(ptr @.str2304) + call void @fn_emit(ptr @.str2609) %t471 = load ptr, ptr @g_prog %t472 = getelementptr inbounds %LSlice, ptr %t471, i32 0, i32 0 %t473 = load ptr, ptr %t472 @@ -27187,11 +30989,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 @.str2305) - call void @fn_emit(ptr @.str2306) + call void @fn_emit(ptr @.str2610) + call void @fn_emit(ptr @.str2611) %t481 = load ptr, ptr %t462 call void @fn_emit(ptr %t481) - call void @fn_emit(ptr @.str2307) + call void @fn_emit(ptr @.str2612) %t482 = load i32, ptr %t29 %t483 = add i32 %t482, 1 store i32 %t483, ptr %t29 @@ -27202,7 +31004,7 @@ ifend62: store i32 %t485, ptr %t30 br label %wcond57 wend59: - call void @fn_emit(ptr @.str2308) + call void @fn_emit(ptr @.str2613) store i32 0, ptr %t30 br label %wcond63 wcond63: @@ -27243,7 +31045,7 @@ then66: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str2309, ptr @g_ret_ty + store ptr @.str2614, ptr @g_ret_ty %t513 = call ptr @fn_buf_new() store ptr %t513, ptr %t514 %t515 = call ptr @fn_buf_new() @@ -27261,23 +31063,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 @.str2310) + call void @fn_emit(ptr @.str2615) %t527 = load ptr, ptr %t526 call void @fn_emit(ptr %t527) - call void @fn_emit(ptr @.str2311) + call void @fn_emit(ptr @.str2616) %t528 = load ptr, ptr %t517 store ptr %t528, ptr @g_code - call void @fn_emit(ptr @.str2312) + call void @fn_emit(ptr @.str2617) %t529 = load ptr, ptr %t512 call void @fn_emit(ptr %t529) - call void @fn_emit(ptr @.str2313) + call void @fn_emit(ptr @.str2618) %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 @.str2314) + call void @fn_emit(ptr @.str2619) br label %ifend68 ifend68: %t534 = load i32, ptr %t30 @@ -27285,7 +31087,7 @@ ifend68: store i32 %t535, ptr %t30 br label %wcond63 wend65: - call void @fn_emit(ptr @.str2315) + call void @fn_emit(ptr @.str2620) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond69 @@ -27324,42 +31126,42 @@ then72: %t563 = load i32, ptr %t29 %t564 = call ptr @fn_itoa(i32 %t563) store ptr %t564, ptr %t565 - call void @fn_emit(ptr @.str2316) + call void @fn_emit(ptr @.str2621) %t566 = load ptr, ptr %t565 call void @fn_emit(ptr %t566) - call void @fn_emit(ptr @.str2317) + call void @fn_emit(ptr @.str2622) %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 @.str2318) - call void @fn_emit(ptr @.str2319) + call void @fn_emit(ptr @.str2623) + call void @fn_emit(ptr @.str2624) %t570 = load ptr, ptr %t565 call void @fn_emit(ptr %t570) - call void @fn_emit(ptr @.str2320) + call void @fn_emit(ptr @.str2625) %t571 = load ptr, ptr %t565 call void @fn_emit(ptr %t571) - call void @fn_emit(ptr @.str2321) + call void @fn_emit(ptr @.str2626) %t572 = load ptr, ptr %t565 call void @fn_emit(ptr %t572) - call void @fn_emit(ptr @.str2322) - call void @fn_emit(ptr @.str2323) + call void @fn_emit(ptr @.str2627) + call void @fn_emit(ptr @.str2628) %t573 = load ptr, ptr %t565 call void @fn_emit(ptr %t573) - call void @fn_emit(ptr @.str2324) + call void @fn_emit(ptr @.str2629) %t574 = load ptr, ptr %t565 call void @fn_emit(ptr %t574) - call void @fn_emit(ptr @.str2325) + call void @fn_emit(ptr @.str2630) %t575 = load ptr, ptr %t562 call void @fn_emit(ptr %t575) - call void @fn_emit(ptr @.str2326) + call void @fn_emit(ptr @.str2631) %t576 = load ptr, ptr %t565 call void @fn_emit(ptr %t576) - call void @fn_emit(ptr @.str2327) - call void @fn_emit(ptr @.str2328) + call void @fn_emit(ptr @.str2632) + call void @fn_emit(ptr @.str2633) %t577 = load ptr, ptr %t565 call void @fn_emit(ptr %t577) - call void @fn_emit(ptr @.str2329) + call void @fn_emit(ptr @.str2634) %t578 = load i32, ptr %t29 %t579 = add i32 %t578, 1 store i32 %t579, ptr %t29 @@ -27370,20 +31172,20 @@ ifend74: store i32 %t581, ptr %t30 br label %wcond69 wend71: - call void @fn_emit(ptr @.str2330) - call void @fn_emit(ptr @.str2331) - call void @fn_emit(ptr @.str2332) - call void @fn_emit(ptr @.str2333) - call void @fn_emit(ptr @.str2334) - call void @fn_emit(ptr @.str2335) + call void @fn_emit(ptr @.str2635) + call void @fn_emit(ptr @.str2636) + call void @fn_emit(ptr @.str2637) + call void @fn_emit(ptr @.str2638) + call void @fn_emit(ptr @.str2639) + call void @fn_emit(ptr @.str2640) %t582 = load ptr, ptr %t1 call void @fn_emit(ptr %t582) - call void @fn_emit(ptr @.str2336) - call void @fn_emit(ptr @.str2337) - call void @fn_emit(ptr @.str2338) - call void @fn_emit(ptr @.str2339) - call void @fn_emit(ptr @.str2340) - call void @fn_emit(ptr @.str2341) + call void @fn_emit(ptr @.str2641) + call void @fn_emit(ptr @.str2642) + call void @fn_emit(ptr @.str2643) + call void @fn_emit(ptr @.str2644) + call void @fn_emit(ptr @.str2645) + call void @fn_emit(ptr @.str2646) br label %ret ret: ret void @@ -27391,19 +31193,19 @@ ret: define void @fn_emit_tick_helpers() { entry: - call void @fn_emit(ptr @.str2342) + call void @fn_emit(ptr @.str2647) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl - call void @fn_emit_calls_for_phase(ptr @.str2343) - call void @fn_emit_calls_for_phase(ptr @.str2344) - call void @fn_emit_calls_for_phase(ptr @.str2345) - call void @fn_emit_calls_for_phase(ptr @.str2346) - call void @fn_emit(ptr @.str2347) - call void @fn_emit(ptr @.str2348) + call void @fn_emit_calls_for_phase(ptr @.str2648) + call void @fn_emit_calls_for_phase(ptr @.str2649) + call void @fn_emit_calls_for_phase(ptr @.str2650) + call void @fn_emit_calls_for_phase(ptr @.str2651) + call void @fn_emit(ptr @.str2652) + call void @fn_emit(ptr @.str2653) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl - call void @fn_emit_calls_for_phase(ptr @.str2349) - call void @fn_emit(ptr @.str2350) + call void @fn_emit_calls_for_phase(ptr @.str2654) + call void @fn_emit(ptr @.str2655) br label %ret ret: ret void @@ -27469,19 +31271,19 @@ entry: %t70 = alloca ptr %t78 = alloca ptr call void @fn_emit_game_defs() - call void @fn_emit(ptr @.str2351) - call void @fn_emit(ptr @.str2352) - call void @fn_emit(ptr @.str2353) - %t0 = call ptr @fn_find_fn(ptr @.str2354) + call void @fn_emit(ptr @.str2656) + call void @fn_emit(ptr @.str2657) + call void @fn_emit(ptr @.str2658) + %t0 = call ptr @fn_find_fn(ptr @.str2659) %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 @.str2355) + call void @fn_emit(ptr @.str2660) br label %ifend2 ifend2: - call void @fn_emit_calls_for_phase(ptr @.str2356) + call void @fn_emit_calls_for_phase(ptr @.str2661) %t4 = load ptr, ptr @g_g_scenes %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 @@ -27490,11 +31292,11 @@ ifend2: %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str2357) + call void @fn_emit(ptr @.str2662) %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 @.str2358) + call void @fn_emit(ptr @.str2663) store i32 0, ptr %t12 br label %wcond6 wcond6: @@ -27521,7 +31323,7 @@ wbody7: %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then9, label %ifend11 then9: - call void @fn_emit(ptr @.str2359) + call void @fn_emit(ptr @.str2664) %t32 = load ptr, ptr @g_g_scenes %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 @@ -27531,7 +31333,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 @.str2360) + call void @fn_emit(ptr @.str2665) br label %ifend11 ifend11: %t40 = load i32, ptr %t12 @@ -27541,78 +31343,78 @@ ifend11: wend8: br label %ifend5 ifend5: - %t42 = call ptr @fn_find_event(ptr @.str2361) + %t42 = call ptr @fn_find_event(ptr @.str2666) %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 @.str2362) + call void @fn_emit(ptr @.str2667) br label %ifend14 ifend14: - call void @fn_emit(ptr @.str2363) - call void @fn_emit(ptr @.str2364) - %t46 = call ptr @fn_emit_bind(ptr @.str2365) + call void @fn_emit(ptr @.str2668) + call void @fn_emit(ptr @.str2669) + %t46 = call ptr @fn_emit_bind(ptr @.str2670) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 - %t49 = call ptr @fn_str_concat(ptr @.str2366, ptr %t48) - %t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str2367) + %t49 = call ptr @fn_str_concat(ptr @.str2671, ptr %t48) + %t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str2672) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 - %t53 = call ptr @fn_find_fn(ptr @.str2368) + %t53 = call ptr @fn_find_fn(ptr @.str2673) %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 @.str2369) + %t57 = call ptr @fn_emit_bind(ptr @.str2674) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 - %t60 = call ptr @fn_str_concat(ptr @.str2370, ptr %t59) - %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str2371) + %t60 = call ptr @fn_str_concat(ptr @.str2675, ptr %t59) + %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str2676) %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 @.str2372, ptr %t64) - %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str2373) + %t65 = call ptr @fn_str_concat(ptr @.str2677, ptr %t64) + %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str2678) %t67 = load ptr, ptr %t63 %t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67) %t69 = call ptr @fn_emit_bind(ptr %t68) store ptr %t69, ptr %t70 - call void @fn_emit(ptr @.str2374) + call void @fn_emit(ptr @.str2679) %t71 = load ptr, ptr %t70 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str2375) + call void @fn_emit(ptr @.str2680) br label %ifend17 else16: - call void @fn_emit(ptr @.str2376) + call void @fn_emit(ptr @.str2681) %t72 = load ptr, ptr %t52 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str2377) + call void @fn_emit(ptr @.str2682) br label %ifend17 ifend17: - call void @fn_emit(ptr @.str2378) - %t73 = call ptr @fn_find_fn(ptr @.str2379) + call void @fn_emit(ptr @.str2683) + %t73 = call ptr @fn_find_fn(ptr @.str2684) %t74 = icmp ne ptr %t73, null %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then18, label %ifend20 then18: - %t77 = call ptr @fn_emit_bind(ptr @.str2380) + %t77 = call ptr @fn_emit_bind(ptr @.str2685) store ptr %t77, ptr %t78 - call void @fn_emit(ptr @.str2381) + call void @fn_emit(ptr @.str2686) %t79 = load ptr, ptr %t78 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str2382) + call void @fn_emit(ptr @.str2687) br label %ifend20 ifend20: - call void @fn_emit_calls_for_phase(ptr @.str2383) - call void @fn_emit_calls_for_phase(ptr @.str2384) - call void @fn_emit_calls_for_phase(ptr @.str2385) - call void @fn_emit_calls_for_phase(ptr @.str2386) - call void @fn_emit_calls_for_phase(ptr @.str2387) - call void @fn_emit(ptr @.str2388) - call void @fn_emit(ptr @.str2389) + call void @fn_emit_calls_for_phase(ptr @.str2688) + call void @fn_emit_calls_for_phase(ptr @.str2689) + call void @fn_emit_calls_for_phase(ptr @.str2690) + call void @fn_emit_calls_for_phase(ptr @.str2691) + call void @fn_emit_calls_for_phase(ptr @.str2692) + call void @fn_emit(ptr @.str2693) + call void @fn_emit(ptr @.str2694) %t80 = load ptr, ptr @g_g_ondespawn %t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t82 = load i32, ptr %t81 @@ -27621,211 +31423,284 @@ ifend20: %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then21, label %ifend23 then21: - call void @fn_emit(ptr @.str2390) + call void @fn_emit(ptr @.str2695) br label %ifend23 ifend23: - call void @fn_emit_calls_for_phase(ptr @.str2391) - %t86 = call ptr @fn_find_event(ptr @.str2392) + call void @fn_emit_calls_for_phase(ptr @.str2696) + %t86 = call ptr @fn_find_event(ptr @.str2697) %t87 = icmp ne ptr %t86, null %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then24, label %ifend26 then24: - call void @fn_emit(ptr @.str2393) + call void @fn_emit(ptr @.str2698) br label %ifend26 ifend26: - %t90 = call ptr @fn_find_fn(ptr @.str2394) + %t90 = call ptr @fn_find_fn(ptr @.str2699) %t91 = icmp ne ptr %t90, null %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then27, label %ifend29 then27: - call void @fn_emit(ptr @.str2395) + call void @fn_emit(ptr @.str2700) br label %ifend29 ifend29: - call void @fn_emit(ptr @.str2396) + call void @fn_emit(ptr @.str2701) br label %ret ret: ret void } +define ptr @fn_machine_var(ptr %arg_a) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t11 = alloca ptr + store ptr %arg_a, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0 + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 33 + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 + %t9 = load ptr, ptr %t8 + %t10 = call ptr @fn_find_global(ptr %t9) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t11 + %t13 = icmp ne ptr %t12, null + %t14 = zext i1 %t13 to i32 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then3, label %ifend5 +then3: + %t16 = load ptr, ptr %t11 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 + %t18 = load i32, ptr %t17 + %t19 = icmp eq i32 %t18, 2 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then6, label %ifend8 +then6: + %t22 = load ptr, ptr %t11 + store ptr %t22, ptr %retval + br label %ret +ifend8: + br label %ifend5 +ifend5: + br label %ifend2 +ifend2: + store ptr null, ptr %retval + br label %ret +ret: + %t23 = load ptr, ptr %retval + ret ptr %t23 +} + define void @fn_emit_machine(ptr %arg_st) { entry: %t0 = alloca ptr %t5 = alloca ptr - %t12 = alloca ptr - %t49 = alloca ptr - %t50 = alloca i32 - %t68 = alloca ptr - %t73 = alloca ptr - %t82 = alloca ptr + %t6 = alloca ptr + %t22 = alloca ptr + %t65 = alloca ptr + %t66 = alloca i32 %t84 = alloca ptr - %t86 = alloca ptr + %t89 = alloca ptr + %t98 = alloca ptr + %t100 = alloca ptr + %t102 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 - %t4 = call ptr @fn_emit_expr(ptr %t3) + %t4 = call ptr @fn_machine_var(ptr %t3) store ptr %t4, ptr %t5 - %t6 = load ptr, ptr %t5 - %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0 - %t8 = load ptr, ptr %t7 - %t9 = call ptr @fn_str_concat(ptr @.str2397, ptr %t8) - %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str2398) - %t11 = call ptr @fn_emit_bind(ptr %t10) - store ptr %t11, ptr %t12 - %t13 = load i32, ptr @g_nmach - %t14 = load ptr, ptr @g_mach_stk - %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 - %t16 = load i32, ptr %t15 - %t17 = icmp slt i32 %t13, %t16 - %t18 = zext i1 %t17 to i32 - %t19 = icmp ne i32 %t18, 0 - br i1 %t19, label %then0, label %else1 + store ptr @.str2702, ptr %t6 + %t7 = load ptr, ptr %t5 + %t8 = icmp ne ptr %t7, null + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %then0, label %else1 then0: - %t20 = load ptr, ptr @g_mach_stk - %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 - %t22 = load ptr, ptr %t21 - %t23 = load i32, ptr @g_nmach - %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 - %t25 = load ptr, ptr %t0 - store ptr %t25, ptr %t24 + %t11 = load ptr, ptr %t0 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 + %t15 = load ptr, ptr %t14 + %t16 = call ptr @fn_str_concat(ptr @.str2703, ptr %t15) + %t17 = call ptr @fn_emit_bind(ptr %t16) + store ptr %t17, ptr %t6 br label %ifend2 else1: - %t26 = load ptr, ptr @g_mach_stk - %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 %grow3, label %put4 -grow3: - %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 - br label %put4 -put4: - %t42 = load ptr, ptr %t0 - %t43 = load ptr, ptr %t29 - %t44 = getelementptr inbounds ptr, ptr %t43, i32 %t30 - store ptr %t42, ptr %t44 - %t45 = add i32 %t30, 1 - store i32 %t45, ptr %t27 + %t18 = load ptr, ptr %t0 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @fn_emit_expr(ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t22 + %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @fn_str_concat(ptr @.str2704, ptr %t25) + %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str2705) + %t28 = call ptr @fn_emit_bind(ptr %t27) + store ptr %t28, ptr %t6 br label %ifend2 ifend2: - %t46 = load i32, ptr @g_nmach - %t47 = add i32 %t46, 1 - store i32 %t47, ptr @g_nmach - %t48 = call ptr @fn_lbl(ptr @.str2399) - store ptr %t48, ptr %t49 - store i32 0, ptr %t50 - br label %wcond5 -wcond5: - %t51 = load i32, ptr %t50 - %t52 = load ptr, ptr %t0 - %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 7 - %t54 = load ptr, ptr %t53 - %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 - %t56 = load i32, ptr %t55 - %t57 = icmp slt i32 %t51, %t56 - %t58 = zext i1 %t57 to i32 - %t59 = icmp ne i32 %t58, 0 - br i1 %t59, label %wbody6, label %wend7 -wbody6: - %t60 = load ptr, ptr %t0 - %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 7 - %t62 = load ptr, ptr %t61 - %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 - %t64 = load ptr, ptr %t63 - %t65 = load i32, ptr %t50 - %t66 = getelementptr inbounds ptr, ptr %t64, i32 %t65 - %t67 = load ptr, ptr %t66 - store ptr %t67, ptr %t68 - %t69 = load ptr, ptr %t68 - %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 5 - %t71 = load ptr, ptr %t70 - %t72 = call ptr @fn_emit_expr(ptr %t71) - store ptr %t72, ptr %t73 - %t74 = load ptr, ptr %t12 - %t75 = call ptr @fn_str_concat(ptr @.str2400, ptr %t74) - %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str2401) - %t77 = load ptr, ptr %t73 - %t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0 - %t79 = load ptr, ptr %t78 - %t80 = call ptr @fn_str_concat(ptr %t76, ptr %t79) - %t81 = call ptr @fn_emit_bind(ptr %t80) - store ptr %t81, ptr %t82 - %t83 = call ptr @fn_lbl(ptr @.str2402) + %t29 = load i32, ptr @g_nmach + %t30 = load ptr, ptr @g_mach_stk + %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 + %t32 = load i32, ptr %t31 + %t33 = icmp slt i32 %t29, %t32 + %t34 = zext i1 %t33 to i32 + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then3, label %else4 +then3: + %t36 = load ptr, ptr @g_mach_stk + %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 + %t38 = load ptr, ptr %t37 + %t39 = load i32, ptr @g_nmach + %t40 = getelementptr inbounds ptr, ptr %t38, i32 %t39 + %t41 = load ptr, ptr %t0 + store ptr %t41, ptr %t40 + br label %ifend5 +else4: + %t42 = load ptr, ptr @g_mach_stk + %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 + %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 2 + %t45 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 + %t46 = load i32, ptr %t43 + %t47 = load i32, ptr %t44 + %t48 = icmp sge i32 %t46, %t47 + br i1 %t48, label %grow6, label %put7 +grow6: + %t49 = mul i32 %t47, 2 + %t50 = icmp eq i32 %t47, 0 + %t51 = select i1 %t50, i32 8, i32 %t49 + %t52 = getelementptr ptr, ptr null, i32 1 + %t53 = ptrtoint ptr %t52 to i64 + %t54 = zext i32 %t51 to i64 + %t55 = mul i64 %t54, %t53 + %t56 = load ptr, ptr %t45 + %t57 = call ptr @realloc(ptr %t56, i64 %t55) + store ptr %t57, ptr %t45 + store i32 %t51, ptr %t44 + br label %put7 +put7: + %t58 = load ptr, ptr %t0 + %t59 = load ptr, ptr %t45 + %t60 = getelementptr inbounds ptr, ptr %t59, i32 %t46 + store ptr %t58, ptr %t60 + %t61 = add i32 %t46, 1 + store i32 %t61, ptr %t43 + br label %ifend5 +ifend5: + %t62 = load i32, ptr @g_nmach + %t63 = add i32 %t62, 1 + store i32 %t63, ptr @g_nmach + %t64 = call ptr @fn_lbl(ptr @.str2706) + store ptr %t64, ptr %t65 + store i32 0, ptr %t66 + br label %wcond8 +wcond8: + %t67 = load i32, ptr %t66 + %t68 = load ptr, ptr %t0 + %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7 + %t70 = load ptr, ptr %t69 + %t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 + %t72 = load i32, ptr %t71 + %t73 = icmp slt i32 %t67, %t72 + %t74 = zext i1 %t73 to i32 + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %wbody9, label %wend10 +wbody9: + %t76 = load ptr, ptr %t0 + %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 + %t78 = load ptr, ptr %t77 + %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 + %t80 = load ptr, ptr %t79 + %t81 = load i32, ptr %t66 + %t82 = getelementptr inbounds ptr, ptr %t80, i32 %t81 + %t83 = load ptr, ptr %t82 store ptr %t83, ptr %t84 - %t85 = call ptr @fn_lbl(ptr @.str2403) - store ptr %t85, ptr %t86 - call void @fn_emit(ptr @.str2404) - %t87 = load ptr, ptr %t82 - call void @fn_emit(ptr %t87) - call void @fn_emit(ptr @.str2405) - %t88 = load ptr, ptr %t84 - call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str2406) - %t89 = load ptr, ptr %t86 - call void @fn_emit(ptr %t89) - call void @fn_emit(ptr @.str2407) - %t90 = load ptr, ptr %t84 - call void @fn_emit(ptr %t90) - call void @fn_emit(ptr @.str2408) - store i32 0, ptr @g_g_term - %t91 = load ptr, ptr %t68 - %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 4 - %t93 = load ptr, ptr %t92 - call void @fn_emit_block(ptr %t93) - %t94 = load i32, ptr @g_g_term - %t95 = icmp eq i32 %t94, 0 - %t96 = zext i1 %t95 to i32 - %t97 = icmp ne i32 %t96, 0 - br i1 %t97, label %then8, label %ifend10 -then8: - call void @fn_emit(ptr @.str2409) - %t98 = load ptr, ptr %t49 - call void @fn_emit(ptr %t98) - call void @fn_emit(ptr @.str2410) - br label %ifend10 -ifend10: - %t99 = load ptr, ptr %t86 - call void @fn_emit(ptr %t99) - call void @fn_emit(ptr @.str2411) - store i32 0, ptr @g_g_term - %t100 = load i32, ptr %t50 - %t101 = add i32 %t100, 1 - store i32 %t101, ptr %t50 - br label %wcond5 -wend7: - %t102 = load i32, ptr @g_g_term - %t103 = icmp eq i32 %t102, 0 - %t104 = zext i1 %t103 to i32 - %t105 = icmp ne i32 %t104, 0 - br i1 %t105, label %then11, label %ifend13 -then11: - call void @fn_emit(ptr @.str2412) - %t106 = load ptr, ptr %t49 + %t85 = load ptr, ptr %t84 + %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 5 + %t87 = load ptr, ptr %t86 + %t88 = call ptr @fn_emit_expr(ptr %t87) + store ptr %t88, ptr %t89 + %t90 = load ptr, ptr %t6 + %t91 = call ptr @fn_str_concat(ptr @.str2707, ptr %t90) + %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str2708) + %t93 = load ptr, ptr %t89 + %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 + %t95 = load ptr, ptr %t94 + %t96 = call ptr @fn_str_concat(ptr %t92, ptr %t95) + %t97 = call ptr @fn_emit_bind(ptr %t96) + store ptr %t97, ptr %t98 + %t99 = call ptr @fn_lbl(ptr @.str2709) + store ptr %t99, ptr %t100 + %t101 = call ptr @fn_lbl(ptr @.str2710) + store ptr %t101, ptr %t102 + call void @fn_emit(ptr @.str2711) + %t103 = load ptr, ptr %t98 + call void @fn_emit(ptr %t103) + call void @fn_emit(ptr @.str2712) + %t104 = load ptr, ptr %t100 + call void @fn_emit(ptr %t104) + call void @fn_emit(ptr @.str2713) + %t105 = load ptr, ptr %t102 + call void @fn_emit(ptr %t105) + call void @fn_emit(ptr @.str2714) + %t106 = load ptr, ptr %t100 call void @fn_emit(ptr %t106) - call void @fn_emit(ptr @.str2413) + call void @fn_emit(ptr @.str2715) + store i32 0, ptr @g_g_term + %t107 = load ptr, ptr %t84 + %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 4 + %t109 = load ptr, ptr %t108 + call void @fn_emit_block(ptr %t109) + %t110 = load i32, ptr @g_g_term + %t111 = icmp eq i32 %t110, 0 + %t112 = zext i1 %t111 to i32 + %t113 = icmp ne i32 %t112, 0 + br i1 %t113, label %then11, label %ifend13 +then11: + call void @fn_emit(ptr @.str2716) + %t114 = load ptr, ptr %t65 + call void @fn_emit(ptr %t114) + call void @fn_emit(ptr @.str2717) br label %ifend13 ifend13: - %t107 = load ptr, ptr %t49 - call void @fn_emit(ptr %t107) - call void @fn_emit(ptr @.str2414) + %t115 = load ptr, ptr %t102 + call void @fn_emit(ptr %t115) + call void @fn_emit(ptr @.str2718) store i32 0, ptr @g_g_term - %t108 = load i32, ptr @g_nmach - %t109 = sub i32 %t108, 1 - store i32 %t109, ptr @g_nmach + %t116 = load i32, ptr %t66 + %t117 = add i32 %t116, 1 + store i32 %t117, ptr %t66 + br label %wcond8 +wend10: + %t118 = load i32, ptr @g_g_term + %t119 = icmp eq i32 %t118, 0 + %t120 = zext i1 %t119 to i32 + %t121 = icmp ne i32 %t120, 0 + br i1 %t121, label %then14, label %ifend16 +then14: + call void @fn_emit(ptr @.str2719) + %t122 = load ptr, ptr %t65 + call void @fn_emit(ptr %t122) + call void @fn_emit(ptr @.str2720) + br label %ifend16 +ifend16: + %t123 = load ptr, ptr %t65 + call void @fn_emit(ptr %t123) + call void @fn_emit(ptr @.str2721) + store i32 0, ptr @g_g_term + %t124 = load i32, ptr @g_nmach + %t125 = sub i32 %t124, 1 + store i32 %t125, ptr @g_nmach br label %ret ret: ret void @@ -27839,7 +31714,8 @@ entry: %t14 = alloca i32 %t57 = alloca ptr %t62 = alloca ptr - %t73 = alloca ptr + %t79 = alloca ptr + %t90 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load i32, ptr @g_nmach %t2 = icmp sgt i32 %t1, 0 @@ -27912,73 +31788,101 @@ then9: %t53 = load ptr, ptr %t12 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 4 %t55 = load ptr, ptr %t54 - %t56 = call ptr @fn_emit_expr(ptr %t55) + %t56 = call ptr @fn_machine_var(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t13 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 5 %t60 = load ptr, ptr %t59 %t61 = call ptr @fn_emit_expr(ptr %t60) store ptr %t61, ptr %t62 - call void @fn_emit(ptr @.str2415) %t63 = load ptr, ptr %t57 - %t64 = getelementptr inbounds %Cmp_Val, ptr %t63, i32 0, i32 0 - %t65 = load ptr, ptr %t64 - call void @fn_emit(ptr %t65) - call void @fn_emit(ptr @.str2416) - %t66 = load ptr, ptr %t62 - %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 - %t68 = load ptr, ptr %t67 - call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str2417) + %t64 = icmp ne ptr %t63, null + %t65 = zext i1 %t64 to i32 + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then12, label %else13 +then12: + call void @fn_emit(ptr @.str2722) + %t67 = load ptr, ptr %t62 + %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0 + %t69 = load ptr, ptr %t68 + call void @fn_emit(ptr %t69) + call void @fn_emit(ptr @.str2723) + %t70 = load ptr, ptr %t12 + %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 4 + %t72 = load ptr, ptr %t71 + %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 + %t74 = load ptr, ptr %t73 + call void @fn_emit(ptr %t74) + call void @fn_emit(ptr @.str2724) + br label %ifend14 +else13: + %t75 = load ptr, ptr %t12 + %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 4 + %t77 = load ptr, ptr %t76 + %t78 = call ptr @fn_emit_expr(ptr %t77) + store ptr %t78, ptr %t79 + call void @fn_emit(ptr @.str2725) + %t80 = load ptr, ptr %t79 + %t81 = getelementptr inbounds %Cmp_Val, ptr %t80, i32 0, i32 0 + %t82 = load ptr, ptr %t81 + call void @fn_emit(ptr %t82) + call void @fn_emit(ptr @.str2726) + %t83 = load ptr, ptr %t62 + %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 + %t85 = load ptr, ptr %t84 + call void @fn_emit(ptr %t85) + call void @fn_emit(ptr @.str2727) + br label %ifend14 +ifend14: br label %ret ifend11: br label %ifend2 ifend2: - %t69 = load ptr, ptr %t0 - %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 - %t71 = load ptr, ptr %t70 - %t72 = call ptr @fn_find_scene(ptr %t71) - store ptr %t72, ptr %t73 - %t74 = load ptr, ptr %t73 - %t75 = icmp eq ptr %t74, null - %t76 = zext i1 %t75 to i32 - %t77 = icmp ne i32 %t76, 0 - br i1 %t77, label %then12, label %ifend14 -then12: - %t78 = load ptr, ptr %t0 - %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 1 - %t80 = load ptr, ptr %t79 - %t81 = call ptr @fn_str_concat(ptr @.str2418, ptr %t80) - call void @fn_perr(ptr %t81) - br label %ifend14 -ifend14: - %t82 = load ptr, ptr @g_g_cur_scene - %t83 = icmp ne ptr %t82, null - %t84 = zext i1 %t83 to i32 - %t85 = icmp ne i32 %t84, 0 - br i1 %t85, label %then15, label %ifend17 -then15: - call void @fn_emit(ptr @.str2419) - %t86 = load ptr, ptr @g_g_cur_scene + %t86 = load ptr, ptr %t0 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 - call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str2420) + %t89 = call ptr @fn_find_scene(ptr %t88) + store ptr %t89, ptr %t90 + %t91 = load ptr, ptr %t90 + %t92 = icmp eq ptr %t91, null + %t93 = zext i1 %t92 to i32 + %t94 = icmp ne i32 %t93, 0 + br i1 %t94, label %then15, label %ifend17 +then15: + %t95 = load ptr, ptr %t0 + %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 + %t97 = load ptr, ptr %t96 + %t98 = call ptr @fn_str_concat(ptr @.str2728, ptr %t97) + call void @fn_perr(ptr %t98) br label %ifend17 ifend17: - call void @fn_emit(ptr @.str2421) - %t89 = load ptr, ptr %t73 - %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 2 - %t91 = load i32, ptr %t90 - %t92 = call ptr @fn_itoa(i32 %t91) - call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str2422) - call void @fn_emit(ptr @.str2423) - %t93 = load ptr, ptr %t73 - %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 1 - %t95 = load ptr, ptr %t94 - call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str2424) + %t99 = load ptr, ptr @g_g_cur_scene + %t100 = icmp ne ptr %t99, null + %t101 = zext i1 %t100 to i32 + %t102 = icmp ne i32 %t101, 0 + br i1 %t102, label %then18, label %ifend20 +then18: + call void @fn_emit(ptr @.str2729) + %t103 = load ptr, ptr @g_g_cur_scene + %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1 + %t105 = load ptr, ptr %t104 + call void @fn_emit(ptr %t105) + call void @fn_emit(ptr @.str2730) + br label %ifend20 +ifend20: + call void @fn_emit(ptr @.str2731) + %t106 = load ptr, ptr %t90 + %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 2 + %t108 = load i32, ptr %t107 + %t109 = call ptr @fn_itoa(i32 %t108) + call void @fn_emit(ptr %t109) + call void @fn_emit(ptr @.str2732) + call void @fn_emit(ptr @.str2733) + %t110 = load ptr, ptr %t90 + %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1 + %t112 = load ptr, ptr %t111 + call void @fn_emit(ptr %t112) + call void @fn_emit(ptr @.str2734) br label %ret ret: ret void @@ -27997,51 +31901,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 @.str2425) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2735) %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 @.str2426, ptr %t7) + %t8 = call ptr @fn_str_concat(ptr @.str2736, 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 @.str2427) + call void @fn_emit(ptr @.str2737) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) - call void @fn_emit(ptr @.str2428) + call void @fn_emit(ptr @.str2738) %t13 = load ptr, ptr %t0 call void @fn_emit(ptr %t13) - call void @fn_emit(ptr @.str2429) + call void @fn_emit(ptr @.str2739) %t14 = load ptr, ptr %t1 call void @fn_emit(ptr %t14) - call void @fn_emit(ptr @.str2430) + call void @fn_emit(ptr @.str2740) %t15 = load ptr, ptr %t2 call void @fn_emit(ptr %t15) - call void @fn_emit(ptr @.str2431) + call void @fn_emit(ptr @.str2741) br label %ret ifend2: %t16 = load ptr, ptr @g_g_snap_mode - %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str2432) + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str2742) %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 @.str2433, ptr %t20) + %t21 = call ptr @fn_str_concat(ptr @.str2743, ptr %t20) store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str2434) + call void @fn_emit(ptr @.str2744) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str2435) + call void @fn_emit(ptr @.str2745) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str2436) + call void @fn_emit(ptr @.str2746) %t25 = load ptr, ptr %t2 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str2437) + call void @fn_emit(ptr @.str2747) %t26 = load ptr, ptr %t22 store ptr %t26, ptr @g_g_off %t27 = load i32, ptr @g_g_iok @@ -28051,58 +31955,58 @@ then3: ifend5: %t29 = load i32, ptr @g_g_iok %t30 = call ptr @fn_itoa(i32 %t29) - %t31 = call ptr @fn_str_concat(ptr @.str2438, ptr %t30) + %t31 = call ptr @fn_str_concat(ptr @.str2748, ptr %t30) store ptr %t31, ptr %t32 - call void @fn_emit(ptr @.str2439) + call void @fn_emit(ptr @.str2749) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str2440) + call void @fn_emit(ptr @.str2750) %t34 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str2441) + call void @fn_emit(ptr @.str2751) %t35 = load ptr, ptr @g_g_snap_mode - %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str2442) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str2752) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %else7 then6: - call void @fn_emit(ptr @.str2443) + call void @fn_emit(ptr @.str2753) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str2444) + call void @fn_emit(ptr @.str2754) %t39 = load ptr, ptr %t1 call void @fn_emit(ptr %t39) - call void @fn_emit(ptr @.str2445) + call void @fn_emit(ptr @.str2755) %t40 = load ptr, ptr %t2 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str2446) + call void @fn_emit(ptr @.str2756) br label %ifend8 else7: - call void @fn_emit(ptr @.str2447) + call void @fn_emit(ptr @.str2757) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str2448) + call void @fn_emit(ptr @.str2758) %t42 = load ptr, ptr %t32 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str2449) + call void @fn_emit(ptr @.str2759) %t43 = load ptr, ptr %t2 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str2450) + call void @fn_emit(ptr @.str2760) 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 @.str2451, ptr %t45) + %t46 = call ptr @fn_str_concat(ptr @.str2761, ptr %t45) store ptr %t46, ptr %t47 - call void @fn_emit(ptr @.str2452) + call void @fn_emit(ptr @.str2762) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str2453) + call void @fn_emit(ptr @.str2763) %t49 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str2454) + call void @fn_emit(ptr @.str2764) %t50 = load ptr, ptr %t2 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str2455) + call void @fn_emit(ptr @.str2765) %t51 = load ptr, ptr %t47 store ptr %t51, ptr @g_g_off %t52 = load i32, ptr @g_g_iok @@ -28123,29 +32027,29 @@ entry: %t74 = alloca ptr store ptr %arg_fn2, ptr %t0 store i32 0, ptr @g_g_iok - store ptr @.str2456, ptr @g_g_off + store ptr @.str2766, 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 @.str2457, ptr @.str2458) + call void @fn_emit_io(ptr %t3, ptr @.str2767, ptr @.str2768) %t4 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t4, ptr @.str2459, ptr @.str2460) - call void @fn_emit(ptr @.str2461) + call void @fn_emit_io(ptr %t4, ptr @.str2769, ptr @.str2770) + call void @fn_emit(ptr @.str2771) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str2462) + call void @fn_emit(ptr @.str2772) %t6 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t6, ptr @.str2463, ptr @.str2464) + call void @fn_emit_io(ptr %t6, ptr @.str2773, ptr @.str2774) %t7 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t7, ptr @.str2465, ptr @.str2466) + call void @fn_emit_io(ptr %t7, ptr @.str2775, ptr @.str2776) %t8 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t8, ptr @.str2467, ptr @.str2468) + call void @fn_emit_io(ptr %t8, ptr @.str2777, ptr @.str2778) %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 @.str2469, ptr @.str2470) + call void @fn_emit_io(ptr %t11, ptr @.str2779, ptr @.str2780) br label %ifend2 ifend2: store i32 0, ptr %t12 @@ -28182,8 +32086,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 @.str2471, ptr %t39) - call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str2472) + %t40 = call ptr @fn_str_concat(ptr @.str2781, ptr %t39) + call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str2782) br label %ifend8 ifend8: %t41 = load i32, ptr %t12 @@ -28228,26 +32132,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 @.str2473, ptr %t72) + %t73 = call ptr @fn_str_concat(ptr @.str2783, ptr %t72) store ptr %t73, ptr %t74 - call void @fn_emit(ptr @.str2474) + call void @fn_emit(ptr @.str2784) %t75 = load ptr, ptr %t74 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str2475) + call void @fn_emit(ptr @.str2785) %t76 = load ptr, ptr %t70 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str2476) + call void @fn_emit(ptr @.str2786) %t77 = load ptr, ptr %t2 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str2477) + call void @fn_emit(ptr @.str2787) %t78 = load ptr, ptr %t0 %t79 = load ptr, ptr %t70 - %t80 = call ptr @fn_str_concat(ptr @.str2478, ptr %t79) + %t80 = call ptr @fn_str_concat(ptr @.str2788, 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 @.str2479, ptr %t83) + %t84 = call ptr @fn_str_concat(ptr @.str2789, ptr %t83) %t85 = load ptr, ptr %t2 call void @fn_emit_io(ptr %t82, ptr %t84, ptr %t85) %t86 = load i32, ptr %t43 @@ -28271,85 +32175,85 @@ entry: %t7 = alloca i32 %t15 = alloca ptr %t22 = alloca ptr - store ptr @.str2480, ptr @g_g_snap_mode - call void @fn_emith(ptr @.str2481) - call void @fn_emith(ptr @.str2482) - call void @fn_emith(ptr @.str2483) - %t0 = call ptr @fn_find_fn(ptr @.str2484) + store ptr @.str2790, ptr @g_g_snap_mode + call void @fn_emith(ptr @.str2791) + call void @fn_emith(ptr @.str2792) + call void @fn_emith(ptr @.str2793) + %t0 = call ptr @fn_find_fn(ptr @.str2794) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 store i32 %t2, ptr %t3 - %t4 = call ptr @fn_find_fn(ptr @.str2485) + %t4 = call ptr @fn_find_fn(ptr @.str2795) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t7 - call void @fn_emit(ptr @.str2486) - call void @fn_emit(ptr @.str2487) - call void @fn_emit(ptr @.str2488) - call void @fn_emit(ptr @.str2489) - call void @fn_emit_snapshot_blocks(ptr @.str2490) + call void @fn_emit(ptr @.str2796) + call void @fn_emit(ptr @.str2797) + call void @fn_emit(ptr @.str2798) + call void @fn_emit(ptr @.str2799) + call void @fn_emit_snapshot_blocks(ptr @.str2800) %t8 = load i32, ptr %t3 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str2491) + call void @fn_emit(ptr @.str2801) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str2492) - call void @fn_emit(ptr @.str2493) - call void @fn_emit(ptr @.str2494) - call void @fn_emit(ptr @.str2495) - call void @fn_emit(ptr @.str2496) - call void @fn_emit_snapshot_blocks(ptr @.str2497) + call void @fn_emit(ptr @.str2802) + call void @fn_emit(ptr @.str2803) + call void @fn_emit(ptr @.str2804) + call void @fn_emit(ptr @.str2805) + call void @fn_emit(ptr @.str2806) + call void @fn_emit_snapshot_blocks(ptr @.str2807) %t10 = load i32, ptr %t7 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str2498) + call void @fn_emit(ptr @.str2808) br label %ifend5 ifend5: - call void @fn_emit(ptr @.str2499) - call void @fn_emit(ptr @.str2500) - store ptr @.str2501, ptr @g_g_snap_mode - call void @fn_emit_snapshot_blocks(ptr @.str2502) + call void @fn_emit(ptr @.str2809) + call void @fn_emit(ptr @.str2810) + store ptr @.str2811, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str2812) %t12 = load i32, ptr @g_g_iok %t13 = call ptr @fn_itoa(i32 %t12) - %t14 = call ptr @fn_str_concat(ptr @.str2503, ptr %t13) + %t14 = call ptr @fn_str_concat(ptr @.str2813, ptr %t13) store ptr %t14, ptr %t15 - call void @fn_emit(ptr @.str2504) + call void @fn_emit(ptr @.str2814) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str2505) + call void @fn_emit(ptr @.str2815) %t17 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str2506) - call void @fn_emit(ptr @.str2507) + call void @fn_emit(ptr @.str2816) + call void @fn_emit(ptr @.str2817) %t18 = load ptr, ptr %t15 call void @fn_emit(ptr %t18) - call void @fn_emit(ptr @.str2508) - call void @fn_emit(ptr @.str2509) - store ptr @.str2510, ptr @g_g_snap_mode - call void @fn_emit_snapshot_blocks(ptr @.str2511) - call void @fn_emit(ptr @.str2512) - call void @fn_emit(ptr @.str2513) - store ptr @.str2514, ptr @g_g_snap_mode - call void @fn_emit_snapshot_blocks(ptr @.str2515) + call void @fn_emit(ptr @.str2818) + call void @fn_emit(ptr @.str2819) + store ptr @.str2820, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str2821) + call void @fn_emit(ptr @.str2822) + call void @fn_emit(ptr @.str2823) + store ptr @.str2824, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str2825) %t19 = load i32, ptr @g_g_iok %t20 = call ptr @fn_itoa(i32 %t19) - %t21 = call ptr @fn_str_concat(ptr @.str2516, ptr %t20) + %t21 = call ptr @fn_str_concat(ptr @.str2826, ptr %t20) store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str2517) + call void @fn_emit(ptr @.str2827) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str2518) + call void @fn_emit(ptr @.str2828) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str2519) - call void @fn_emit(ptr @.str2520) + call void @fn_emit(ptr @.str2829) + call void @fn_emit(ptr @.str2830) %t25 = load ptr, ptr %t22 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str2521) - store ptr @.str2522, ptr @g_g_snap_mode + call void @fn_emit(ptr @.str2831) + store ptr @.str2832, ptr @g_g_snap_mode br label %ret ret: ret void @@ -28362,7 +32266,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 @.str2523) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2833) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -28383,14 +32287,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 @.str2524) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2834) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: - store ptr @.str2525, ptr %retval + store ptr @.str2835, ptr %retval br label %ret ifend2: - store ptr @.str2526, ptr %retval + store ptr @.str2836, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval @@ -28771,7 +32675,7 @@ entry: store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = zext i32 23 to i64 - %t5 = call i64 @fwrite(ptr @.str2527, i64 1, i64 %t4, ptr %t3) + %t5 = call i64 @fwrite(ptr @.str2837, i64 1, i64 %t4, ptr %t3) %t6 = trunc i64 %t5 to i32 %t7 = load ptr, ptr %t2 %t8 = load ptr, ptr %t0 @@ -28783,7 +32687,7 @@ entry: %t14 = trunc i64 %t13 to i32 %t15 = load ptr, ptr %t2 %t16 = zext i32 1 to i64 - %t17 = call i64 @fwrite(ptr @.str2528, i64 1, i64 %t16, ptr %t15) + %t17 = call i64 @fwrite(ptr @.str2838, i64 1, i64 %t16, ptr %t15) %t18 = trunc i64 %t17 to i32 br label %ret ret: @@ -28922,13 +32826,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 @.str2529) + %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str2839) %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 @.str2530, ptr %t104) - %t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str2531) + %t105 = call ptr @fn_str_concat(ptr @.str2840, ptr %t104) + %t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str2841) %t107 = load ptr, ptr %t62 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 7 %t109 = load ptr, ptr %t108 @@ -28940,7 +32844,7 @@ then21: %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 @.str2532) + %t118 = call ptr @fn_str_concat(ptr %t117, ptr @.str2842) call void @fn_perr(ptr %t118) br label %ifend23 ifend23: @@ -28960,11 +32864,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 @.str2533, ptr %t127) - %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str2534) + %t128 = call ptr @fn_str_concat(ptr @.str2843, ptr %t127) + %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str2844) %t130 = load ptr, ptr %t59 %t131 = call ptr @fn_str_concat(ptr %t129, ptr %t130) - %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str2535) + %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str2845) call void @fn_net_warn(ptr %t132) br label %ifend26 ifend26: @@ -29006,12 +32910,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 @.str2536) + call void @fn_emit(ptr @.str2846) %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 @.str2537) + call void @fn_emit(ptr @.str2847) store i32 0, ptr %t6 store i32 0, ptr %t7 br label %wcond0 @@ -29064,19 +32968,19 @@ then3: then6: %t48 = call ptr @fn_nreg() store ptr %t48, ptr %t49 - call void @fn_emit(ptr @.str2538) + call void @fn_emit(ptr @.str2848) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str2539) + call void @fn_emit(ptr @.str2849) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str2540) + call void @fn_emit(ptr @.str2850) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str2541) + call void @fn_emit(ptr @.str2851) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str2542) + call void @fn_emit(ptr @.str2852) store i32 0, ptr %t54 br label %wcond9 wcond9: @@ -29120,40 +33024,40 @@ then12: store ptr %t87, ptr %t88 %t89 = call ptr @fn_nreg() store ptr %t89, ptr %t90 - call void @fn_emit(ptr @.str2543) + call void @fn_emit(ptr @.str2853) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str2544) + call void @fn_emit(ptr @.str2854) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str2545) + call void @fn_emit(ptr @.str2855) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str2546) + call void @fn_emit(ptr @.str2856) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str2547) + call void @fn_emit(ptr @.str2857) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 - call void @fn_emit(ptr @.str2548) + call void @fn_emit(ptr @.str2858) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) - call void @fn_emit(ptr @.str2549) + call void @fn_emit(ptr @.str2859) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) - call void @fn_emit(ptr @.str2550) - call void @fn_emit(ptr @.str2551) + call void @fn_emit(ptr @.str2860) + call void @fn_emit(ptr @.str2861) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) - call void @fn_emit(ptr @.str2552) + call void @fn_emit(ptr @.str2862) %t102 = load ptr, ptr %t90 call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str2553) + call void @fn_emit(ptr @.str2863) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str2554) + call void @fn_emit(ptr @.str2864) %t104 = load i32, ptr %t6 %t105 = load ptr, ptr %t43 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7 @@ -29184,11 +33088,11 @@ ifend5: store i32 %t120, ptr %t7 br label %wcond0 wend2: - call void @fn_emit(ptr @.str2555) + call void @fn_emit(ptr @.str2865) %t121 = load i32, ptr %t6 %t122 = call ptr @fn_itoa(i32 %t121) call void @fn_emit(ptr %t122) - call void @fn_emit(ptr @.str2556) + call void @fn_emit(ptr @.str2866) br label %ret ret: ret void @@ -29211,12 +33115,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 @.str2557) + call void @fn_emit(ptr @.str2867) %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 @.str2558) + call void @fn_emit(ptr @.str2868) store i32 0, ptr %t6 store i32 0, ptr %t7 br label %wcond0 @@ -29269,19 +33173,19 @@ then3: then6: %t48 = call ptr @fn_nreg() store ptr %t48, ptr %t49 - call void @fn_emit(ptr @.str2559) + call void @fn_emit(ptr @.str2869) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str2560) + call void @fn_emit(ptr @.str2870) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str2561) + call void @fn_emit(ptr @.str2871) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str2562) + call void @fn_emit(ptr @.str2872) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str2563) + call void @fn_emit(ptr @.str2873) store i32 0, ptr %t54 br label %wcond9 wcond9: @@ -29325,40 +33229,40 @@ then12: store ptr %t87, ptr %t88 %t89 = call ptr @fn_nreg() store ptr %t89, ptr %t90 - call void @fn_emit(ptr @.str2564) + call void @fn_emit(ptr @.str2874) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str2565) + call void @fn_emit(ptr @.str2875) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str2566) + call void @fn_emit(ptr @.str2876) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str2567) + call void @fn_emit(ptr @.str2877) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str2568) + call void @fn_emit(ptr @.str2878) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 - call void @fn_emit(ptr @.str2569) + call void @fn_emit(ptr @.str2879) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) - call void @fn_emit(ptr @.str2570) + call void @fn_emit(ptr @.str2880) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) - call void @fn_emit(ptr @.str2571) - call void @fn_emit(ptr @.str2572) + call void @fn_emit(ptr @.str2881) + call void @fn_emit(ptr @.str2882) %t101 = load ptr, ptr %t90 call void @fn_emit(ptr %t101) - call void @fn_emit(ptr @.str2573) + call void @fn_emit(ptr @.str2883) %t102 = load ptr, ptr %t97 call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str2574) + call void @fn_emit(ptr @.str2884) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str2575) + call void @fn_emit(ptr @.str2885) %t104 = load i32, ptr %t6 %t105 = load ptr, ptr %t43 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7 @@ -29389,7 +33293,7 @@ ifend5: store i32 %t120, ptr %t7 br label %wcond0 wend2: - call void @fn_emit(ptr @.str2576) + call void @fn_emit(ptr @.str2886) br label %ret ret: ret void @@ -29411,11 +33315,11 @@ entry: %t165 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str2577) - call void @fn_emit(ptr @.str2578) + call void @fn_emit(ptr @.str2887) + call void @fn_emit(ptr @.str2888) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) - call void @fn_emit(ptr @.str2579) + call void @fn_emit(ptr @.str2889) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond0 @@ -29472,42 +33376,42 @@ then5: %t45 = load i32, ptr %t3 %t46 = call ptr @fn_itoa(i32 %t45) store ptr %t46, ptr %t47 - call void @fn_emit(ptr @.str2580) + call void @fn_emit(ptr @.str2890) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str2581) + call void @fn_emit(ptr @.str2891) %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 @.str2582) - call void @fn_emit(ptr @.str2583) + call void @fn_emit(ptr @.str2892) + call void @fn_emit(ptr @.str2893) %t52 = load ptr, ptr %t47 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str2584) + call void @fn_emit(ptr @.str2894) %t53 = load ptr, ptr %t47 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str2585) + call void @fn_emit(ptr @.str2895) %t54 = load ptr, ptr %t47 call void @fn_emit(ptr %t54) - call void @fn_emit(ptr @.str2586) - call void @fn_emit(ptr @.str2587) + call void @fn_emit(ptr @.str2896) + call void @fn_emit(ptr @.str2897) %t55 = load ptr, ptr %t47 call void @fn_emit(ptr %t55) - call void @fn_emit(ptr @.str2588) + call void @fn_emit(ptr @.str2898) %t56 = load ptr, ptr %t47 call void @fn_emit(ptr %t56) - call void @fn_emit(ptr @.str2589) + call void @fn_emit(ptr @.str2899) %t57 = load ptr, ptr %t44 call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str2590) + call void @fn_emit(ptr @.str2900) %t58 = load ptr, ptr %t47 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str2591) - call void @fn_emit(ptr @.str2592) + call void @fn_emit(ptr @.str2901) + call void @fn_emit(ptr @.str2902) %t59 = load ptr, ptr %t47 call void @fn_emit(ptr %t59) - call void @fn_emit(ptr @.str2593) + call void @fn_emit(ptr @.str2903) %t60 = load i32, ptr %t3 %t61 = add i32 %t60, 1 store i32 %t61, ptr %t3 @@ -29518,12 +33422,12 @@ ifend7: store i32 %t63, ptr %t4 br label %wcond0 wend2: - call void @fn_emit(ptr @.str2594) - call void @fn_emit(ptr @.str2595) - call void @fn_emit(ptr @.str2596) + call void @fn_emit(ptr @.str2904) + call void @fn_emit(ptr @.str2905) + call void @fn_emit(ptr @.str2906) %t64 = load ptr, ptr %t1 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str2597) + call void @fn_emit(ptr @.str2907) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond8 @@ -29580,36 +33484,36 @@ then13: %t105 = load i32, ptr %t3 %t106 = call ptr @fn_itoa(i32 %t105) store ptr %t106, ptr %t107 - call void @fn_emit(ptr @.str2598) + call void @fn_emit(ptr @.str2908) %t108 = load ptr, ptr %t107 call void @fn_emit(ptr %t108) - call void @fn_emit(ptr @.str2599) + call void @fn_emit(ptr @.str2909) %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 @.str2600) - call void @fn_emit(ptr @.str2601) + call void @fn_emit(ptr @.str2910) + call void @fn_emit(ptr @.str2911) %t112 = load ptr, ptr %t107 call void @fn_emit(ptr %t112) - call void @fn_emit(ptr @.str2602) + call void @fn_emit(ptr @.str2912) %t113 = load ptr, ptr %t107 call void @fn_emit(ptr %t113) - call void @fn_emit(ptr @.str2603) + call void @fn_emit(ptr @.str2913) %t114 = load ptr, ptr %t107 call void @fn_emit(ptr %t114) - call void @fn_emit(ptr @.str2604) - call void @fn_emit(ptr @.str2605) + call void @fn_emit(ptr @.str2914) + call void @fn_emit(ptr @.str2915) %t115 = load ptr, ptr %t107 call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str2606) + call void @fn_emit(ptr @.str2916) %t116 = load ptr, ptr %t104 call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str2607) - call void @fn_emit(ptr @.str2608) + call void @fn_emit(ptr @.str2917) + call void @fn_emit(ptr @.str2918) %t117 = load ptr, ptr %t107 call void @fn_emit(ptr %t117) - call void @fn_emit(ptr @.str2609) + call void @fn_emit(ptr @.str2919) %t118 = load i32, ptr %t3 %t119 = add i32 %t118, 1 store i32 %t119, ptr %t3 @@ -29620,12 +33524,12 @@ ifend15: store i32 %t121, ptr %t4 br label %wcond8 wend10: - call void @fn_emit(ptr @.str2610) - call void @fn_emit(ptr @.str2611) - call void @fn_emit(ptr @.str2612) + call void @fn_emit(ptr @.str2920) + call void @fn_emit(ptr @.str2921) + call void @fn_emit(ptr @.str2922) %t122 = load ptr, ptr %t1 call void @fn_emit(ptr %t122) - call void @fn_emit(ptr @.str2613) + call void @fn_emit(ptr @.str2923) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond16 @@ -29682,29 +33586,29 @@ then21: %t163 = load i32, ptr %t3 %t164 = call ptr @fn_itoa(i32 %t163) store ptr %t164, ptr %t165 - call void @fn_emit(ptr @.str2614) + call void @fn_emit(ptr @.str2924) %t166 = load ptr, ptr %t165 call void @fn_emit(ptr %t166) - call void @fn_emit(ptr @.str2615) + call void @fn_emit(ptr @.str2925) %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 @.str2616) - call void @fn_emit(ptr @.str2617) + call void @fn_emit(ptr @.str2926) + call void @fn_emit(ptr @.str2927) %t170 = load ptr, ptr %t165 call void @fn_emit(ptr %t170) - call void @fn_emit(ptr @.str2618) + call void @fn_emit(ptr @.str2928) %t171 = load ptr, ptr %t165 call void @fn_emit(ptr %t171) - call void @fn_emit(ptr @.str2619) + call void @fn_emit(ptr @.str2929) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) - call void @fn_emit(ptr @.str2620) - call void @fn_emit(ptr @.str2621) + call void @fn_emit(ptr @.str2930) + call void @fn_emit(ptr @.str2931) %t173 = load ptr, ptr %t165 call void @fn_emit(ptr %t173) - call void @fn_emit(ptr @.str2622) + call void @fn_emit(ptr @.str2932) %t174 = load ptr, ptr @g_prog %t175 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 0 %t176 = load ptr, ptr %t175 @@ -29714,11 +33618,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 @.str2623) - call void @fn_emit(ptr @.str2624) + call void @fn_emit(ptr @.str2933) + call void @fn_emit(ptr @.str2934) %t182 = load ptr, ptr %t165 call void @fn_emit(ptr %t182) - call void @fn_emit(ptr @.str2625) + call void @fn_emit(ptr @.str2935) %t183 = load i32, ptr %t3 %t184 = add i32 %t183, 1 store i32 %t184, ptr %t3 @@ -29729,7 +33633,7 @@ ifend23: store i32 %t186, ptr %t4 br label %wcond16 wend18: - call void @fn_emit(ptr @.str2626) + call void @fn_emit(ptr @.str2936) br label %ret ret: ret void @@ -29740,22 +33644,22 @@ entry: %t1 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str2627) - call void @fn_emit(ptr @.str2628) + call void @fn_emit(ptr @.str2937) + call void @fn_emit(ptr @.str2938) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) - call void @fn_emit(ptr @.str2629) - call void @fn_emit(ptr @.str2630) - call void @fn_emit(ptr @.str2631) + call void @fn_emit(ptr @.str2939) + call void @fn_emit(ptr @.str2940) + call void @fn_emit(ptr @.str2941) %t3 = load ptr, ptr %t1 call void @fn_emit(ptr %t3) - call void @fn_emit(ptr @.str2632) - call void @fn_emit(ptr @.str2633) - call void @fn_emit(ptr @.str2634) + call void @fn_emit(ptr @.str2942) + call void @fn_emit(ptr @.str2943) + call void @fn_emit(ptr @.str2944) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str2635) - call void @fn_emit(ptr @.str2636) + call void @fn_emit(ptr @.str2945) + call void @fn_emit(ptr @.str2946) br label %ret ret: ret void @@ -29763,32 +33667,32 @@ ret: define void @fn_emit_loopback() { entry: - 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_emit(ptr @.str2641) - call void @fn_emit(ptr @.str2642) - call void @fn_emit(ptr @.str2643) - call void @fn_emit(ptr @.str2644) - call void @fn_emit(ptr @.str2645) - call void @fn_emit(ptr @.str2646) - call void @fn_emit(ptr @.str2647) - call void @fn_emit(ptr @.str2648) - call void @fn_emit(ptr @.str2649) - call void @fn_emit(ptr @.str2650) - call void @fn_emit(ptr @.str2651) - call void @fn_emit(ptr @.str2652) - call void @fn_emit(ptr @.str2653) - call void @fn_emit(ptr @.str2654) - call void @fn_emit(ptr @.str2655) - call void @fn_emit(ptr @.str2656) - call void @fn_emit(ptr @.str2657) - call void @fn_emit(ptr @.str2658) - call void @fn_emit(ptr @.str2659) - call void @fn_emit(ptr @.str2660) - call void @fn_emit(ptr @.str2661) - call void @fn_emit(ptr @.str2662) + call void @fn_emith(ptr @.str2947) + call void @fn_emith(ptr @.str2948) + call void @fn_emith(ptr @.str2949) + call void @fn_emith(ptr @.str2950) + call void @fn_emit(ptr @.str2951) + call void @fn_emit(ptr @.str2952) + call void @fn_emit(ptr @.str2953) + call void @fn_emit(ptr @.str2954) + call void @fn_emit(ptr @.str2955) + call void @fn_emit(ptr @.str2956) + call void @fn_emit(ptr @.str2957) + call void @fn_emit(ptr @.str2958) + call void @fn_emit(ptr @.str2959) + call void @fn_emit(ptr @.str2960) + call void @fn_emit(ptr @.str2961) + call void @fn_emit(ptr @.str2962) + call void @fn_emit(ptr @.str2963) + call void @fn_emit(ptr @.str2964) + call void @fn_emit(ptr @.str2965) + call void @fn_emit(ptr @.str2966) + call void @fn_emit(ptr @.str2967) + call void @fn_emit(ptr @.str2968) + call void @fn_emit(ptr @.str2969) + call void @fn_emit(ptr @.str2970) + call void @fn_emit(ptr @.str2971) + call void @fn_emit(ptr @.str2972) br label %ret ret: ret void @@ -29890,7 +33794,7 @@ define ptr @fn_net_send_sym() { entry: %retval = alloca ptr %t1 = alloca ptr - %t0 = call ptr @fn_find_extern(ptr @.str2663) + %t0 = call ptr @fn_find_extern(ptr @.str2973) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null @@ -29906,7 +33810,7 @@ then0: store ptr %t10, ptr %retval br label %ret ifend2: - store ptr @.str2664, ptr %retval + store ptr @.str2974, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval @@ -29917,7 +33821,7 @@ define ptr @fn_net_poll_sym() { entry: %retval = alloca ptr %t1 = alloca ptr - %t0 = call ptr @fn_find_extern(ptr @.str2665) + %t0 = call ptr @fn_find_extern(ptr @.str2975) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null @@ -29933,7 +33837,7 @@ then0: store ptr %t10, ptr %retval br label %ret ifend2: - store ptr @.str2666, ptr %retval + store ptr @.str2976, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval @@ -29951,8 +33855,8 @@ entry: %t44 = alloca ptr %t65 = alloca ptr %t71 = alloca ptr - call void @fn_emith(ptr @.str2667) - %t0 = call ptr @fn_find_extern(ptr @.str2668) + call void @fn_emith(ptr @.str2977) + %t0 = call ptr @fn_find_extern(ptr @.str2978) %t1 = icmp eq ptr %t0, null %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 @@ -29963,13 +33867,13 @@ then0: ifend2: %t4 = call ptr @fn_net_poll_sym() store ptr %t4, ptr %t5 - call void @fn_emit(ptr @.str2669) - call void @fn_emit(ptr @.str2670) + call void @fn_emit(ptr @.str2979) + call void @fn_emit(ptr @.str2980) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) - call void @fn_emit(ptr @.str2671) - call void @fn_emit(ptr @.str2672) - call void @fn_emit(ptr @.str2673) + call void @fn_emit(ptr @.str2981) + call void @fn_emit(ptr @.str2982) + call void @fn_emit(ptr @.str2983) store i32 0, ptr %t7 br label %wcond3 wcond3: @@ -30000,31 +33904,31 @@ then6: %t28 = load i32, ptr %t7 %t29 = call ptr @fn_itoa(i32 %t28) store ptr %t29, ptr %t30 - call void @fn_emit(ptr @.str2674) + call void @fn_emit(ptr @.str2984) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str2675) + call void @fn_emit(ptr @.str2985) %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 @.str2676) - call void @fn_emit(ptr @.str2677) + call void @fn_emit(ptr @.str2986) + call void @fn_emit(ptr @.str2987) %t37 = load ptr, ptr %t30 call void @fn_emit(ptr %t37) - call void @fn_emit(ptr @.str2678) + call void @fn_emit(ptr @.str2988) %t38 = load ptr, ptr %t30 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str2679) + call void @fn_emit(ptr @.str2989) %t39 = load ptr, ptr %t30 call void @fn_emit(ptr %t39) - call void @fn_emit(ptr @.str2680) - call void @fn_emit(ptr @.str2681) + call void @fn_emit(ptr @.str2990) + call void @fn_emit(ptr @.str2991) %t40 = load ptr, ptr %t30 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str2682) + call void @fn_emit(ptr @.str2992) store i32 4, ptr %t41 store i32 0, ptr %t42 %t43 = call ptr @fn_buf_new() @@ -30055,29 +33959,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 @.str2683) + %t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str2993) %t68 = load i32, ptr %t42 %t69 = call ptr @fn_itoa(i32 %t68) %t70 = call ptr @fn_str_concat(ptr %t67, ptr %t69) store ptr %t70, ptr %t71 - call void @fn_emit(ptr @.str2684) + call void @fn_emit(ptr @.str2994) %t72 = load ptr, ptr %t71 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str2685) + call void @fn_emit(ptr @.str2995) %t73 = load i32, ptr %t41 %t74 = call ptr @fn_itoa(i32 %t73) call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str2686) - call void @fn_emit(ptr @.str2687) + call void @fn_emit(ptr @.str2996) + call void @fn_emit(ptr @.str2997) %t75 = load ptr, ptr %t71 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str2688) + call void @fn_emit(ptr @.str2998) %t76 = load ptr, ptr %t65 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str2689) + call void @fn_emit(ptr @.str2999) %t77 = load ptr, ptr %t71 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str2690) + call void @fn_emit(ptr @.str3000) %t78 = load i32, ptr %t42 %t79 = icmp sgt i32 %t78, 0 %t80 = zext i1 %t79 to i32 @@ -30085,14 +33989,14 @@ wbody10: br i1 %t81, label %then12, label %ifend14 then12: %t82 = load ptr, ptr %t44 - call void @fn_buf_puts(ptr %t82, ptr @.str2691) + call void @fn_buf_puts(ptr %t82, ptr @.str3001) 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 @.str2692) + call void @fn_buf_puts(ptr %t85, ptr @.str3002) %t86 = load ptr, ptr %t44 %t87 = load ptr, ptr %t71 call void @fn_buf_puts(ptr %t86, ptr %t87) @@ -30115,21 +34019,21 @@ ifend14: store i32 %t102, ptr %t42 br label %wcond9 wend11: - call void @fn_emit(ptr @.str2693) + call void @fn_emit(ptr @.str3003) %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 @.str2694) + call void @fn_emit(ptr @.str3004) %t106 = load ptr, ptr %t44 %t107 = call ptr @fn_buf_str(ptr %t106) call void @fn_emit(ptr %t107) - call void @fn_emit(ptr @.str2695) - call void @fn_emit(ptr @.str2696) - call void @fn_emit(ptr @.str2697) + call void @fn_emit(ptr @.str3005) + call void @fn_emit(ptr @.str3006) + call void @fn_emit(ptr @.str3007) %t108 = load ptr, ptr %t30 call void @fn_emit(ptr %t108) - call void @fn_emit(ptr @.str2698) + call void @fn_emit(ptr @.str3008) br label %ifend8 ifend8: %t109 = load i32, ptr %t7 @@ -30137,8 +34041,8 @@ ifend8: store i32 %t110, ptr %t7 br label %wcond3 wend5: - call void @fn_emit(ptr @.str2699) - call void @fn_emit(ptr @.str2700) + call void @fn_emit(ptr @.str3009) + call void @fn_emit(ptr @.str3010) br label %ret ret: ret void @@ -30231,7 +34135,7 @@ ifend13: %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then14, label %ifend16 then14: - call void @fn_emith(ptr @.str2701) + call void @fn_emith(ptr @.str3011) call void @fn_emit_net_pump() br label %ifend16 ifend16: @@ -30251,7 +34155,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 @.str2702) + %t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str3012) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: @@ -30259,7 +34163,7 @@ then0: br label %ret ifend2: %t8 = load ptr, ptr %t4 - %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str2703) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str3013) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: @@ -30267,7 +34171,7 @@ then3: br label %ret ifend5: %t11 = load ptr, ptr %t4 - %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str2704) + %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3014) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: @@ -30275,7 +34179,7 @@ then6: br label %ret ifend8: %t14 = load ptr, ptr %t4 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str2705) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3015) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then9, label %ifend11 then9: @@ -30283,7 +34187,7 @@ then9: br label %ret ifend11: %t17 = load ptr, ptr %t4 - %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str2706) + %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str3016) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then12, label %ifend14 then12: @@ -30291,7 +34195,7 @@ then12: br label %ret ifend14: %t20 = load ptr, ptr %t4 - %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str2707) + %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str3017) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then15, label %ifend17 then15: @@ -30299,7 +34203,7 @@ then15: br label %ret ifend17: %t23 = load ptr, ptr %t4 - %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str2708) + %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str3018) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then18, label %ifend20 then18: @@ -30797,7 +34701,7 @@ wbody12: %t75 = load i32, ptr %t9 %t76 = getelementptr inbounds ptr, ptr %t74, i32 %t75 %t77 = load ptr, ptr %t76 - %t78 = call ptr @fn_ui_prop(ptr %t77, ptr @.str2709) + %t78 = call ptr @fn_ui_prop(ptr %t77, ptr @.str3019) store ptr %t78, ptr %t79 %t80 = load ptr, ptr %t79 %t81 = icmp ne ptr %t80, null @@ -30926,18 +34830,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 @.str2710) + call void @fn_emit(ptr @.str3020) %t3 = load i32, ptr %t0 %t4 = call ptr @fn_itoa(i32 %t3) call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str2711) + call void @fn_emit(ptr @.str3021) %t5 = load i32, ptr %t1 %t6 = call ptr @fn_itoa(i32 %t5) call void @fn_emit(ptr %t6) - call void @fn_emit(ptr @.str2712) + call void @fn_emit(ptr @.str3022) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) - call void @fn_emit(ptr @.str2713) + call void @fn_emit(ptr @.str3023) br label %ret ret: ret void @@ -30949,7 +34853,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 @.str2714) + %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str3024) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: @@ -30957,7 +34861,7 @@ then0: br label %ret ifend2: %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str2715) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str3025) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: @@ -30965,7 +34869,7 @@ then3: br label %ret ifend5: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2716) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3026) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: @@ -30973,7 +34877,7 @@ then6: br label %ret ifend8: %t10 = load ptr, ptr %t0 - %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str2717) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str3027) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: @@ -30981,7 +34885,7 @@ then9: br label %ret ifend11: %t13 = load ptr, ptr %t0 - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str2718) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str3028) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: @@ -30989,7 +34893,7 @@ then12: br label %ret ifend14: %t16 = load ptr, ptr %t0 - %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str2719) + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str3029) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: @@ -30997,7 +34901,7 @@ then15: br label %ret ifend17: %t19 = load ptr, ptr %t0 - %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str2720) + %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str3030) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: @@ -31005,7 +34909,7 @@ then18: br label %ret ifend20: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str2721) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3031) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: @@ -31013,7 +34917,7 @@ then21: br label %ret ifend23: %t25 = load ptr, ptr %t0 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str2722) + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str3032) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: @@ -31021,7 +34925,7 @@ then24: br label %ret ifend26: %t28 = load ptr, ptr %t0 - %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str2723) + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str3033) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then27, label %ifend29 then27: @@ -31029,7 +34933,7 @@ then27: br label %ret ifend29: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str2724) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str3034) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then30, label %ifend32 then30: @@ -31037,7 +34941,7 @@ then30: br label %ret ifend32: %t34 = load ptr, ptr %t0 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str2725) + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str3035) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then33, label %ifend35 then33: @@ -31045,7 +34949,7 @@ then33: br label %ret ifend35: %t37 = load ptr, ptr %t0 - %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str2726) + %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str3036) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then36, label %ifend38 then36: @@ -31053,7 +34957,7 @@ then36: br label %ret ifend38: %t40 = load ptr, ptr %t0 - %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str2727) + %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str3037) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then39, label %ifend41 then39: @@ -31102,13 +35006,13 @@ entry: store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t1 store ptr %t5, ptr @g_code - call void @fn_emit(ptr @.str2728) + call void @fn_emit(ptr @.str3038) %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 @.str2729) + call void @fn_emit(ptr @.str3039) store i32 0, ptr %t10 br label %wcond0 wcond0: @@ -31151,7 +35055,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 @.str2730) + call void @fn_ll_ui_set(i32 %t43, i32 17, ptr @.str3040) br label %ifend5 ifend5: store i32 0, ptr %t44 @@ -31190,7 +35094,7 @@ wbody7: %t73 = load ptr, ptr %t72 store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t70 - %t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str2731) + %t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str3041) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then9, label %ifend11 then9: @@ -31200,34 +35104,34 @@ then9: br label %wcond6 ifend11: %t80 = load ptr, ptr %t70 - %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str2732) + %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str3042) %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then12, label %else13 then12: %t83 = load ptr, ptr %t74 %t84 = call ptr @fn_emit_expr(ptr %t83) store ptr %t84, ptr %t85 - call void @fn_emit(ptr @.str2733) + call void @fn_emit(ptr @.str3043) %t86 = load i32, ptr %t10 %t87 = call ptr @fn_itoa(i32 %t86) call void @fn_emit(ptr %t87) - call void @fn_emit(ptr @.str2734) + call void @fn_emit(ptr @.str3044) %t88 = load ptr, ptr %t85 %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 %t90 = load ptr, ptr %t89 call void @fn_emit(ptr %t90) - call void @fn_emit(ptr @.str2735) + call void @fn_emit(ptr @.str3045) br label %ifend14 else13: %t92 = load ptr, ptr %t70 - %t93 = call i32 @fn_str_eq(ptr %t92, ptr @.str2736) + %t93 = call i32 @fn_str_eq(ptr %t92, ptr @.str3046) %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t91 br i1 %t94, label %scend16, label %sc15 sc15: %t96 = load ptr, ptr %t70 - %t97 = call i32 @fn_str_eq(ptr %t96, ptr @.str2737) + %t97 = call i32 @fn_str_eq(ptr %t96, ptr @.str3047) %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t91 @@ -31243,12 +35147,12 @@ then17: %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0 %t107 = load ptr, ptr %t106 - %t108 = call ptr @fn_str_concat(ptr @.str2738, ptr %t107) - %t109 = call ptr @fn_str_concat(ptr %t108, ptr @.str2739) + %t108 = call ptr @fn_str_concat(ptr @.str3048, ptr %t107) + %t109 = call ptr @fn_str_concat(ptr %t108, ptr @.str3049) %t110 = call ptr @fn_emit_bind(ptr %t109) store ptr %t110, ptr %t111 %t112 = load ptr, ptr %t70 - %t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str2740) + %t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str3050) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then20, label %else21 then20: @@ -31265,7 +35169,7 @@ ifend22: br label %ifend19 else18: %t119 = load ptr, ptr %t70 - %t120 = call i32 @fn_str_eq(ptr %t119, ptr @.str2741) + %t120 = call i32 @fn_str_eq(ptr %t119, ptr @.str3051) %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then23, label %else24 then23: @@ -31281,7 +35185,7 @@ then26: %t129 = load ptr, ptr %t74 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 1 %t131 = load ptr, ptr %t130 - %t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str2742) + %t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str3052) %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then29, label %ifend31 then29: @@ -31291,7 +35195,7 @@ ifend31: %t134 = load ptr, ptr %t74 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1 %t136 = load ptr, ptr %t135 - %t137 = call i32 @fn_str_eq(ptr %t136, ptr @.str2743) + %t137 = call i32 @fn_str_eq(ptr %t136, ptr @.str3053) %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then32, label %ifend34 then32: @@ -31355,7 +35259,7 @@ scend39: br i1 %t176, label %then40, label %ifend42 then40: %t177 = load i32, ptr %t10 - call void @fn_ll_ui_set(i32 %t177, i32 6, ptr @.str2744) + call void @fn_ll_ui_set(i32 %t177, i32 6, ptr @.str3054) br label %ifend42 ifend42: br label %ifend37 @@ -31378,14 +35282,14 @@ wend8: wend2: %t182 = load ptr, ptr %t4 store ptr %t182, ptr @g_code - call void @fn_emit(ptr @.str2745) + call void @fn_emit(ptr @.str3055) %t183 = load ptr, ptr @g_falloc %t184 = call ptr @fn_buf_str(ptr %t183) call void @fn_emit(ptr %t184) %t185 = load ptr, ptr %t1 %t186 = call ptr @fn_buf_str(ptr %t185) call void @fn_emit(ptr %t186) - call void @fn_emit(ptr @.str2746) + call void @fn_emit(ptr @.str3056) br label %ret ret: ret void @@ -31416,7 +35320,7 @@ wbody1: %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str2747) + call void @fn_emit(ptr @.str3057) br label %ifend5 ifend5: %t15 = load ptr, ptr %t0 @@ -31431,7 +35335,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 @.str2748) + call void @fn_emit(ptr @.str3058) %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7 %t28 = load ptr, ptr %t27 @@ -31485,19 +35389,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 @.str2749) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str3059) %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 @.str2750) + call void @fn_buf_puts(ptr %t18, ptr @.str3060) %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 @.str2751) + call void @fn_buf_puts(ptr %t21, ptr @.str3061) br label %ifend2 ifend2: store i32 0, ptr %t22 @@ -31529,21 +35433,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 @.str2752) + call void @fn_emit(ptr @.str3062) %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 @.str2753) + call void @fn_emit(ptr @.str3063) %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 @.str2754) + call void @fn_emit(ptr @.str3064) %t54 = load ptr, ptr %t46 call void @fn_emit(ptr %t54) - call void @fn_emit(ptr @.str2755) + call void @fn_emit(ptr @.str3065) %t55 = load ptr, ptr %t40 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t56 @@ -31567,53 +35471,53 @@ wend5: %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str2756) + call void @fn_emit(ptr @.str3066) br label %ifend8 ifend8: - call void @fn_emit(ptr @.str2757) + call void @fn_emit(ptr @.str3067) %t71 = load ptr, ptr %t12 - %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str2758) + %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str3068) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then9, label %else10 then9: - call void @fn_emit(ptr @.str2759) + call void @fn_emit(ptr @.str3069) br label %ifend11 else10: %t74 = load ptr, ptr %t12 - %t75 = call ptr @fn_str_concat(ptr @.str2760, ptr %t74) - %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str2761) + %t75 = call ptr @fn_str_concat(ptr @.str3070, ptr %t74) + %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str3071) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 - call void @fn_emit(ptr @.str2762) + call void @fn_emit(ptr @.str3072) %t79 = load ptr, ptr %t12 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str2763) + call void @fn_emit(ptr @.str3073) %t80 = load ptr, ptr %t78 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str2764) + call void @fn_emit(ptr @.str3074) br label %ifend11 ifend11: %t81 = load ptr, ptr %t8 store ptr %t81, ptr @g_code - call void @fn_emit(ptr @.str2765) + call void @fn_emit(ptr @.str3075) %t82 = load ptr, ptr %t12 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str2766) + call void @fn_emit(ptr @.str3076) %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 @.str2767) + call void @fn_emit(ptr @.str3077) %t86 = load ptr, ptr %t0 call void @fn_emit_params_sig(ptr %t86) - call void @fn_emit(ptr @.str2768) + call void @fn_emit(ptr @.str3078) %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 @.str2769) + call void @fn_emit(ptr @.str3079) br label %ret ret: ret void @@ -31631,7 +35535,7 @@ entry: store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop - store ptr @.str2770, ptr @g_ret_ty + store ptr @.str3080, ptr @g_ret_ty %t1 = call ptr @fn_buf_new() store ptr %t1, ptr %t2 %t3 = call ptr @fn_buf_new() @@ -31641,10 +35545,10 @@ 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 @.str2771) - call void @fn_emit(ptr @.str2772) - call void @fn_emit(ptr @.str2773) - call void @fn_emit(ptr @.str2774) + call void @fn_buf_puts(ptr %t7, ptr @.str3081) + call void @fn_emit(ptr @.str3082) + call void @fn_emit(ptr @.str3083) + call void @fn_emit(ptr @.str3084) %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4 %t10 = load ptr, ptr %t9 @@ -31655,26 +35559,26 @@ entry: %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str2775) + call void @fn_emit(ptr @.str3085) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str2776) - %t15 = call ptr @fn_emit_bind(ptr @.str2777) + call void @fn_emit(ptr @.str3086) + %t15 = call ptr @fn_emit_bind(ptr @.str3087) store ptr %t15, ptr %t16 - call void @fn_emit(ptr @.str2778) + call void @fn_emit(ptr @.str3088) %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str2779) + call void @fn_emit(ptr @.str3089) %t18 = load ptr, ptr %t5 store ptr %t18, ptr @g_code - call void @fn_emit(ptr @.str2780) + call void @fn_emit(ptr @.str3090) %t19 = load ptr, ptr @g_falloc %t20 = call ptr @fn_buf_str(ptr %t19) call void @fn_emit(ptr %t20) %t21 = load ptr, ptr %t2 %t22 = call ptr @fn_buf_str(ptr %t21) call void @fn_emit(ptr %t22) - call void @fn_emit(ptr @.str2781) + call void @fn_emit(ptr @.str3091) br label %ret ret: ret void @@ -32061,7 +35965,7 @@ then0: br label %ret ifend2: %t29 = load ptr, ptr %t0 - %t30 = call ptr @fopen(ptr %t29, ptr @.str2782) + %t30 = call ptr @fopen(ptr %t29, ptr @.str3092) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t31 %t33 = icmp eq ptr %t32, null @@ -32171,7 +36075,7 @@ then0: %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 @.str2783) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str3093) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: @@ -32257,7 +36161,7 @@ then3: br label %ret ifend5: %t20 = load ptr, ptr %t0 - %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str2784) + %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str3094) store ptr %t21, ptr %retval br label %ret ret: @@ -32323,7 +36227,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 @.str2785) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str3095) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: @@ -32346,7 +36250,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 @.str2786) + %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str3096) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then6, label %else7 then6: @@ -32354,7 +36258,7 @@ then6: br label %ifend8 else7: %t27 = load ptr, ptr %t23 - %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str2787) + %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str3097) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then9, label %else10 then9: @@ -32362,7 +36266,7 @@ then9: br label %ifend11 else10: %t30 = load ptr, ptr %t23 - %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str2788) + %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str3098) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then12, label %else13 then12: @@ -32370,7 +36274,7 @@ then12: br label %ifend14 else13: %t33 = load ptr, ptr %t23 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2789) + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3099) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then15, label %else16 then15: @@ -32378,7 +36282,7 @@ then15: br label %ifend17 else16: %t36 = load ptr, ptr %t23 - %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str2790) + %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str3100) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then18, label %else19 then18: @@ -32386,7 +36290,7 @@ then18: br label %ifend20 else19: %t39 = load ptr, ptr %t23 - %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str2791) + %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str3101) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then21, label %else22 then21: @@ -32394,7 +36298,7 @@ then21: br label %ifend23 else22: %t42 = load ptr, ptr %t23 - %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str2792) + %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str3102) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then24, label %else25 then24: @@ -32427,8 +36331,8 @@ else25: br i1 %t62, label %then30, label %else31 then30: %t63 = load ptr, ptr %t23 - %t64 = call ptr @fn_str_concat(ptr @.str2793, ptr %t63) - %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str2794) + %t64 = call ptr @fn_str_concat(ptr @.str3103, ptr %t63) + %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str3104) store ptr %t65, ptr %t66 %t67 = load ptr, ptr @__stderrp %t68 = load ptr, ptr %t66 @@ -32469,7 +36373,7 @@ wend5: %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then33, label %ifend35 then33: - call void @fn_die(ptr @.str2795) + call void @fn_die(ptr @.str3105) br label %ifend35 ifend35: %t82 = load ptr, ptr %t0 @@ -32481,7 +36385,7 @@ ifend35: %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then36, label %ifend38 then36: - call void @fn_die(ptr @.str2796) + call void @fn_die(ptr @.str3106) br label %ifend38 ifend38: %t89 = load ptr, ptr %t0 @@ -32589,7 +36493,7 @@ then60: %t141 = load ptr, ptr %t0 %t142 = call ptr @fn_base_name(ptr %t141) %t143 = call ptr @fn_strip_ludic(ptr %t142) - %t144 = call ptr @fn_str_concat(ptr @.str2797, ptr %t143) + %t144 = call ptr @fn_str_concat(ptr @.str3107, ptr %t143) store ptr %t144, ptr %t1 br label %ifend62 ifend62: @@ -32605,12 +36509,12 @@ ifend62: br i1 %t153, label %then63, label %ifend65 then63: %t154 = load ptr, ptr %t147 - %t155 = call ptr @fn_str_concat(ptr @.str2798, ptr %t154) + %t155 = call ptr @fn_str_concat(ptr @.str3108, ptr %t154) %t156 = call i32 @system(ptr %t155) br label %ifend65 ifend65: %t157 = load ptr, ptr %t1 - %t158 = call ptr @fn_str_concat(ptr %t157, ptr @.str2799) + %t158 = call ptr @fn_str_concat(ptr %t157, ptr @.str3109) store ptr %t158, ptr %t159 %t160 = load ptr, ptr %t159 %t161 = call i32 @fn_ir_flush(ptr %t160) @@ -32619,20 +36523,20 @@ ifend65: %t164 = icmp ne i32 %t163, 0 br i1 %t164, label %then66, label %ifend68 then66: - call void @fn_die(ptr @.str2800) + call void @fn_die(ptr @.str3110) br label %ifend68 ifend68: - %t165 = call ptr @fn_getenv_or(ptr @.str2801, ptr @.str2802) + %t165 = call ptr @fn_getenv_or(ptr @.str3111, ptr @.str3112) store ptr %t165, ptr %t166 %t167 = load ptr, ptr @L_argv %t168 = getelementptr ptr, ptr %t167, i32 0 %t169 = load ptr, ptr %t168 %t170 = call ptr @fn_dir_of(ptr %t169) - %t171 = call ptr @fn_getenv_or(ptr @.str2803, ptr %t170) + %t171 = call ptr @fn_getenv_or(ptr @.str3113, ptr %t170) %t172 = call ptr @fn_ensure_slash(ptr %t171) store ptr %t172, ptr %t173 %t174 = load ptr, ptr %t166 - %t175 = call ptr @fn_str_concat(ptr %t174, ptr @.str2804) + %t175 = call ptr @fn_str_concat(ptr %t174, ptr @.str3114) %t176 = load ptr, ptr %t159 %t177 = call ptr @fn_str_concat(ptr %t175, ptr %t176) store ptr %t177, ptr %t178 @@ -32641,18 +36545,18 @@ ifend68: br i1 %t180, label %then69, label %ifend71 then69: %t181 = load ptr, ptr %t173 - %t182 = call ptr @fn_path_join(ptr %t181, ptr @.str2805) + %t182 = call ptr @fn_path_join(ptr %t181, ptr @.str3115) store ptr %t182, ptr %t183 %t184 = load ptr, ptr %t178 - %t185 = call ptr @fn_str_concat(ptr %t184, ptr @.str2806) + %t185 = call ptr @fn_str_concat(ptr %t184, ptr @.str3116) %t186 = load ptr, ptr %t183 %t187 = call ptr @fn_str_concat(ptr %t185, ptr %t186) - %t188 = call ptr @fn_str_concat(ptr %t187, ptr @.str2807) + %t188 = call ptr @fn_str_concat(ptr %t187, ptr @.str3117) store ptr %t188, ptr %t178 br label %ifend71 ifend71: %t189 = load ptr, ptr %t178 - %t190 = call ptr @fn_str_concat(ptr %t189, ptr @.str2808) + %t190 = call ptr @fn_str_concat(ptr %t189, ptr @.str3118) %t191 = load ptr, ptr %t1 %t192 = call ptr @fn_str_concat(ptr %t190, ptr %t191) store ptr %t192, ptr %t178 @@ -32666,7 +36570,7 @@ ifend71: br i1 %t199, label %then72, label %ifend74 then72: %t200 = load ptr, ptr %t159 - %t201 = call ptr @fn_str_concat(ptr @.str2809, ptr %t200) + %t201 = call ptr @fn_str_concat(ptr @.str3119, ptr %t200) %t202 = call i32 @system(ptr %t201) br label %ifend74 ifend74: @@ -32676,7 +36580,7 @@ ifend74: %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then75, label %ifend77 then75: - call void @fn_die(ptr @.str2810) + call void @fn_die(ptr @.str3120) br label %ifend77 ifend77: %t207 = load i32, ptr %t6 diff --git a/selfhost/parse.ludic b/selfhost/parse.ludic index 560e462f..14593057 100644 --- a/selfhost/parse.ludic +++ b/selfhost/parse.ludic @@ -48,9 +48,22 @@ fn ptype() -> ptr { # ---- expressions ----------------------------------------------------------- fn expr() -> Node { return p_or() } +# Call arguments. Each argument is either positional (`expr`) or named +# (`name: expr`) — a named argument is an identifier immediately followed by a +# colon, which is unambiguous inside a call. Named args are stored as E_FINIT +# (s=label, a=value) and reordered to the callee's parameter order at emit time. fn args_call(call: Node) -> void { eat_op("("); skipnl() - while not is_op(")") { push(call.kids, expr()); skipnl(); if is_op(",") { pi = pi + 1; skipnl() } } + while not is_op(")") { + let t = toks[pi] + let nx = toks[pi + 1] + if t.kind == TK_ID and nx.kind == TK_OP and (nx.text == ":") { + let fi = node(E_FINIT); fi.s = eat_id(); eat_op(":"); skipnl(); fi.a = expr(); push(call.kids, fi) + } else { + push(call.kids, expr()) + } + skipnl(); if is_op(",") { pi = pi + 1; skipnl() } + } eat_op(")") }